@ionic/core 7.7.2-dev.11707932366.16baf005 → 7.7.2-dev.11708036667.1fa730de

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 (522) hide show
  1. package/components/checkbox.js +8 -80
  2. package/components/helpers.js +1 -1
  3. package/components/index2.js +107 -1
  4. package/components/index9.js +1 -1
  5. package/components/ion-chip.js +2 -2
  6. package/components/ion-col.js +2 -2
  7. package/components/ion-content.js +4 -4
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +2 -2
  11. package/components/ion-fab-list.js +2 -2
  12. package/components/ion-fab.js +2 -2
  13. package/components/ion-footer.js +3 -3
  14. package/components/ion-grid.js +2 -2
  15. package/components/ion-header.js +3 -3
  16. package/components/ion-img.js +1 -1
  17. package/components/ion-infinite-scroll-content.js +2 -2
  18. package/components/ion-infinite-scroll.js +1 -1
  19. package/components/ion-input.js +4 -4
  20. package/components/ion-item-divider.js +2 -2
  21. package/components/ion-item-group.js +1 -1
  22. package/components/ion-item-option.js +2 -2
  23. package/components/ion-item-options.js +2 -2
  24. package/components/ion-item-sliding.js +2 -2
  25. package/components/ion-loading.js +2 -2
  26. package/components/ion-menu-button.js +2 -2
  27. package/components/ion-menu-toggle.js +2 -2
  28. package/components/ion-menu.js +3 -3
  29. package/components/ion-modal.js +4 -4
  30. package/components/ion-nav-link.js +1 -1
  31. package/components/ion-nav.js +2 -2
  32. package/components/ion-picker-legacy.js +2 -2
  33. package/components/ion-progress-bar.js +2 -2
  34. package/components/ion-range.js +34 -88
  35. package/components/ion-refresher-content.js +1 -1
  36. package/components/ion-refresher.js +2 -2
  37. package/components/ion-reorder-group.js +1 -1
  38. package/components/ion-reorder.js +1 -1
  39. package/components/ion-router-link.js +2 -2
  40. package/components/ion-router-outlet.js +2 -2
  41. package/components/ion-router.js +1 -1
  42. package/components/ion-row.js +1 -1
  43. package/components/ion-searchbar.js +5 -5
  44. package/components/ion-segment-button.js +3 -3
  45. package/components/ion-segment.js +2 -2
  46. package/components/ion-select-option.js +1 -1
  47. package/components/ion-select.js +3 -3
  48. package/components/ion-skeleton-text.js +2 -2
  49. package/components/ion-split-pane.js +2 -2
  50. package/components/ion-tab-bar.js +2 -2
  51. package/components/ion-tab-button.js +2 -2
  52. package/components/ion-tab.js +2 -2
  53. package/components/ion-tabs.js +1 -1
  54. package/components/ion-text.js +2 -2
  55. package/components/ion-textarea.js +3 -3
  56. package/components/ion-thumbnail.js +1 -1
  57. package/components/ion-title.js +2 -2
  58. package/components/ion-toast.js +2 -2
  59. package/components/ion-toggle.js +3 -3
  60. package/components/ion-toolbar.js +2 -2
  61. package/components/label.js +1 -1
  62. package/components/list-header.js +2 -2
  63. package/components/list.js +1 -1
  64. package/components/note.js +2 -2
  65. package/components/picker-column-option.js +2 -2
  66. package/components/picker-column.js +3 -3
  67. package/components/picker-column2.js +3 -3
  68. package/components/picker.js +2 -2
  69. package/components/popover.js +3 -3
  70. package/components/radio-group.js +1 -1
  71. package/components/radio.js +3 -3
  72. package/components/refresher.utils.js +1 -1
  73. package/components/ripple-effect.js +1 -1
  74. package/components/select-popover.js +1 -1
  75. package/components/spinner.js +1 -1
  76. package/components/swipe-back.js +1 -1
  77. package/css/core.css +10 -0
  78. package/css/core.css.map +1 -1
  79. package/css/ionic.bundle.css +1 -1
  80. package/css/ionic.bundle.css.map +1 -1
  81. package/dist/cjs/{animation-fdab9de5.js → animation-52066ac7.js} +1 -1
  82. package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-0aa2f151.js} +1 -1
  83. package/dist/cjs/{helpers-2e1028fa.js → helpers-3b96a6b0.js} +0 -1
  84. package/dist/cjs/{index-84351d21.js → index-199dfe7c.js} +110 -4
  85. package/dist/cjs/{index-8c679cbf.js → index-8a307f4a.js} +2 -2
  86. package/dist/cjs/{index-10da82ce.js → index-a31d3404.js} +1 -1
  87. package/dist/cjs/{index-53d162b2.js → index-e8a56f40.js} +1 -1
  88. package/dist/cjs/index.cjs.js +9 -9
  89. package/dist/cjs/{input-shims-6f804705.js → input-shims-49caf259.js} +2 -2
  90. package/dist/cjs/{input.utils-d693d18a.js → input.utils-ca76d6e6.js} +1 -1
  91. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  93. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-app_8.cjs.entry.js +20 -20
  95. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -75
  101. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  105. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -7
  106. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  108. package/dist/cjs/ion-input.cjs.entry.js +6 -6
  109. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  110. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  111. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  112. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  113. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  114. package/dist/cjs/ion-nav_2.cjs.entry.js +7 -6
  115. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
  117. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  119. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  120. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  121. package/dist/cjs/ion-range.cjs.entry.js +34 -87
  122. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  123. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  124. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  125. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  126. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  127. package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
  128. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  129. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  130. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  132. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  133. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  135. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  136. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  137. package/dist/cjs/ionic.cjs.js +1 -1
  138. package/dist/cjs/{ios.transition-8e40c54e.js → ios.transition-523565cb.js} +5 -3
  139. package/dist/cjs/loader.cjs.js +1 -1
  140. package/dist/cjs/{md.transition-597a2479.js → md.transition-7e3cde49.js} +5 -3
  141. package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-0b7bc5d8.js} +1 -1
  142. package/dist/cjs/{overlays-8f32c4ca.js → overlays-5a110990.js} +2 -2
  143. package/dist/cjs/{status-tap-b0bfea34.js → status-tap-8e84a16d.js} +2 -2
  144. package/dist/cjs/{swipe-back-f93021d8.js → swipe-back-766b4f1c.js} +1 -1
  145. package/dist/collection/components/checkbox/checkbox.ios.css +5 -65
  146. package/dist/collection/components/checkbox/checkbox.js +5 -118
  147. package/dist/collection/components/checkbox/checkbox.md.css +5 -64
  148. package/dist/collection/components/chip/chip.js +2 -2
  149. package/dist/collection/components/col/col.js +2 -2
  150. package/dist/collection/components/content/content.js +3 -3
  151. package/dist/collection/components/datetime/datetime.js +1 -1
  152. package/dist/collection/components/datetime-button/datetime-button.js +1 -1
  153. package/dist/collection/components/fab/fab.js +2 -2
  154. package/dist/collection/components/fab-button/fab-button.js +2 -2
  155. package/dist/collection/components/fab-list/fab-list.js +2 -2
  156. package/dist/collection/components/footer/footer.js +2 -2
  157. package/dist/collection/components/grid/grid.js +2 -2
  158. package/dist/collection/components/header/header.js +2 -2
  159. package/dist/collection/components/img/img.js +1 -1
  160. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  161. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  162. package/dist/collection/components/input/input.js +3 -3
  163. package/dist/collection/components/item-divider/item-divider.js +2 -2
  164. package/dist/collection/components/item-group/item-group.js +1 -1
  165. package/dist/collection/components/item-option/item-option.js +2 -2
  166. package/dist/collection/components/item-options/item-options.js +1 -1
  167. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  168. package/dist/collection/components/label/label.js +1 -1
  169. package/dist/collection/components/list/list.js +1 -1
  170. package/dist/collection/components/list-header/list-header.js +2 -2
  171. package/dist/collection/components/loading/loading.js +2 -2
  172. package/dist/collection/components/menu/menu.js +2 -2
  173. package/dist/collection/components/menu-button/menu-button.js +2 -2
  174. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  175. package/dist/collection/components/modal/modal.js +3 -3
  176. package/dist/collection/components/nav/nav.js +1 -1
  177. package/dist/collection/components/nav-link/nav-link.js +1 -1
  178. package/dist/collection/components/note/note.js +2 -2
  179. package/dist/collection/components/picker/picker.js +2 -2
  180. package/dist/collection/components/picker-column/picker-column.js +3 -3
  181. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  182. package/dist/collection/components/picker-legacy/picker.js +2 -2
  183. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  184. package/dist/collection/components/popover/popover.js +2 -2
  185. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  186. package/dist/collection/components/radio/radio.js +3 -3
  187. package/dist/collection/components/radio-group/radio-group.js +1 -1
  188. package/dist/collection/components/range/range.ios.css +0 -9
  189. package/dist/collection/components/range/range.js +30 -123
  190. package/dist/collection/components/range/range.md.css +3 -17
  191. package/dist/collection/components/range/test/a11y/range.e2e.js +2 -2
  192. package/dist/collection/components/range/test/range-events.e2e.js +1 -1
  193. package/dist/collection/components/range/test/range.spec.js +0 -12
  194. package/dist/collection/components/refresher/refresher.js +1 -1
  195. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  196. package/dist/collection/components/reorder/reorder.js +1 -1
  197. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  198. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  199. package/dist/collection/components/router-link/router-link.js +2 -2
  200. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  201. package/dist/collection/components/row/row.js +1 -1
  202. package/dist/collection/components/searchbar/searchbar.js +4 -4
  203. package/dist/collection/components/segment/segment.js +2 -2
  204. package/dist/collection/components/segment-button/segment-button.js +3 -3
  205. package/dist/collection/components/select/select.js +2 -2
  206. package/dist/collection/components/select-option/select-option.js +1 -1
  207. package/dist/collection/components/select-popover/select-popover.js +1 -1
  208. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  209. package/dist/collection/components/spinner/spinner.js +1 -1
  210. package/dist/collection/components/split-pane/split-pane.js +2 -2
  211. package/dist/collection/components/tab/tab.js +2 -2
  212. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  213. package/dist/collection/components/tab-button/tab-button.js +2 -2
  214. package/dist/collection/components/tabs/tabs.js +1 -1
  215. package/dist/collection/components/text/text.js +2 -2
  216. package/dist/collection/components/textarea/textarea.js +2 -2
  217. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  218. package/dist/collection/components/title/title.js +2 -2
  219. package/dist/collection/components/toast/toast.js +2 -2
  220. package/dist/collection/components/toggle/toggle.js +3 -3
  221. package/dist/collection/components/toolbar/toolbar.js +2 -2
  222. package/dist/collection/utils/transition/index.js +107 -1
  223. package/dist/docs.json +6 -54
  224. package/dist/esm/{animation-60dbdd13.js → animation-2b6dd235.js} +1 -1
  225. package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-e8bffeeb.js} +1 -1
  226. package/dist/esm/{helpers-c0b9ca37.js → helpers-6f6a912f.js} +1 -1
  227. package/dist/esm/{index-48209844.js → index-02ec07ff.js} +2 -2
  228. package/dist/esm/{index-d64f34ea.js → index-1496c7cd.js} +1 -1
  229. package/dist/esm/{index-4b98143d.js → index-361e1f35.js} +110 -4
  230. package/dist/esm/{index-eb12ef92.js → index-c14233e6.js} +1 -1
  231. package/dist/esm/index.js +9 -9
  232. package/dist/esm/{input-shims-b90ca55f.js → input-shims-dd1a9a98.js} +2 -2
  233. package/dist/esm/{input.utils-6e9b0046.js → input.utils-5fee9f22.js} +1 -1
  234. package/dist/esm/ion-accordion_2.entry.js +1 -1
  235. package/dist/esm/ion-action-sheet.entry.js +4 -4
  236. package/dist/esm/ion-alert.entry.js +4 -4
  237. package/dist/esm/ion-app_8.entry.js +20 -20
  238. package/dist/esm/ion-avatar_3.entry.js +1 -1
  239. package/dist/esm/ion-back-button.entry.js +1 -1
  240. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  241. package/dist/esm/ion-button_2.entry.js +1 -1
  242. package/dist/esm/ion-card_5.entry.js +1 -1
  243. package/dist/esm/ion-checkbox.entry.js +7 -75
  244. package/dist/esm/ion-chip.entry.js +2 -2
  245. package/dist/esm/ion-col_3.entry.js +5 -5
  246. package/dist/esm/ion-datetime-button.entry.js +2 -2
  247. package/dist/esm/ion-datetime_3.entry.js +9 -9
  248. package/dist/esm/ion-fab_3.entry.js +7 -7
  249. package/dist/esm/ion-img.entry.js +2 -2
  250. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  251. package/dist/esm/ion-input.entry.js +6 -6
  252. package/dist/esm/ion-item-option_3.entry.js +6 -6
  253. package/dist/esm/ion-item_8.entry.js +12 -12
  254. package/dist/esm/ion-loading.entry.js +6 -6
  255. package/dist/esm/ion-menu_3.entry.js +11 -11
  256. package/dist/esm/ion-modal.entry.js +9 -9
  257. package/dist/esm/ion-nav_2.entry.js +7 -6
  258. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  259. package/dist/esm/ion-picker-column.entry.js +4 -4
  260. package/dist/esm/ion-picker.entry.js +3 -3
  261. package/dist/esm/ion-popover.entry.js +7 -7
  262. package/dist/esm/ion-progress-bar.entry.js +2 -2
  263. package/dist/esm/ion-radio_2.entry.js +5 -5
  264. package/dist/esm/ion-range.entry.js +35 -88
  265. package/dist/esm/ion-refresher_2.entry.js +5 -5
  266. package/dist/esm/ion-reorder_2.entry.js +4 -4
  267. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  268. package/dist/esm/ion-route_4.entry.js +3 -3
  269. package/dist/esm/ion-searchbar.entry.js +5 -5
  270. package/dist/esm/ion-segment_2.entry.js +6 -6
  271. package/dist/esm/ion-select_3.entry.js +8 -8
  272. package/dist/esm/ion-spinner.entry.js +1 -1
  273. package/dist/esm/ion-split-pane.entry.js +2 -2
  274. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  275. package/dist/esm/ion-tab_2.entry.js +5 -5
  276. package/dist/esm/ion-text.entry.js +2 -2
  277. package/dist/esm/ion-textarea.entry.js +5 -5
  278. package/dist/esm/ion-toast.entry.js +6 -6
  279. package/dist/esm/ion-toggle.entry.js +4 -4
  280. package/dist/esm/ionic.js +1 -1
  281. package/dist/esm/{ios.transition-7ff7381d.js → ios.transition-8853da89.js} +5 -3
  282. package/dist/esm/loader.js +1 -1
  283. package/dist/esm/{md.transition-28a9a26b.js → md.transition-e0cb5ce0.js} +5 -3
  284. package/dist/esm/{notch-controller-15d281a4.js → notch-controller-164523aa.js} +1 -1
  285. package/dist/esm/{overlays-2d8629c6.js → overlays-0552e35b.js} +2 -2
  286. package/dist/esm/{status-tap-2b335fb7.js → status-tap-11f4b446.js} +2 -2
  287. package/dist/esm/{swipe-back-7f7620ca.js → swipe-back-8f9b1f85.js} +1 -1
  288. package/dist/esm-es5/{animation-60dbdd13.js → animation-2b6dd235.js} +1 -1
  289. package/dist/esm-es5/{framework-delegate-fed7fe7c.js → framework-delegate-e8bffeeb.js} +1 -1
  290. package/dist/esm-es5/{helpers-c0b9ca37.js → helpers-6f6a912f.js} +1 -1
  291. package/dist/esm-es5/{index-48209844.js → index-02ec07ff.js} +1 -1
  292. package/dist/esm-es5/{index-d64f34ea.js → index-1496c7cd.js} +1 -1
  293. package/dist/esm-es5/index-361e1f35.js +4 -0
  294. package/dist/esm-es5/{index-eb12ef92.js → index-c14233e6.js} +1 -1
  295. package/dist/esm-es5/index.js +1 -1
  296. package/dist/esm-es5/{input-shims-b90ca55f.js → input-shims-dd1a9a98.js} +1 -1
  297. package/dist/esm-es5/{input.utils-6e9b0046.js → input.utils-5fee9f22.js} +1 -1
  298. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  299. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  300. package/dist/esm-es5/ion-alert.entry.js +1 -1
  301. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  302. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  303. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  304. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  305. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  306. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  307. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  308. package/dist/esm-es5/ion-chip.entry.js +1 -1
  309. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  310. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  311. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  312. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  313. package/dist/esm-es5/ion-img.entry.js +1 -1
  314. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  315. package/dist/esm-es5/ion-input.entry.js +1 -1
  316. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  317. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  318. package/dist/esm-es5/ion-loading.entry.js +1 -1
  319. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  320. package/dist/esm-es5/ion-modal.entry.js +1 -1
  321. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  323. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  324. package/dist/esm-es5/ion-picker.entry.js +1 -1
  325. package/dist/esm-es5/ion-popover.entry.js +1 -1
  326. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  327. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  328. package/dist/esm-es5/ion-range.entry.js +1 -1
  329. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  330. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  331. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  332. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  333. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  334. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  335. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  336. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  337. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  338. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  340. package/dist/esm-es5/ion-text.entry.js +1 -1
  341. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  342. package/dist/esm-es5/ion-toast.entry.js +1 -1
  343. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  344. package/dist/esm-es5/ionic.js +1 -1
  345. package/dist/esm-es5/ios.transition-8853da89.js +4 -0
  346. package/dist/esm-es5/loader.js +1 -1
  347. package/dist/esm-es5/md.transition-e0cb5ce0.js +4 -0
  348. package/dist/esm-es5/{notch-controller-15d281a4.js → notch-controller-164523aa.js} +1 -1
  349. package/dist/esm-es5/{overlays-2d8629c6.js → overlays-0552e35b.js} +1 -1
  350. package/dist/esm-es5/{status-tap-2b335fb7.js → status-tap-11f4b446.js} +1 -1
  351. package/dist/esm-es5/swipe-back-8f9b1f85.js +4 -0
  352. package/dist/html.html-data.json +0 -8
  353. package/dist/ionic/index.esm.js +1 -1
  354. package/dist/ionic/ionic.esm.js +1 -1
  355. package/dist/ionic/{p-90fcbf72.js → p-012136be.js} +1 -1
  356. package/dist/ionic/{p-94be3ad7.js → p-023a5686.js} +1 -1
  357. package/dist/ionic/{p-6f5c2ebd.system.entry.js → p-04625eab.system.entry.js} +1 -1
  358. package/dist/ionic/{p-229d211f.entry.js → p-060ab03e.entry.js} +1 -1
  359. package/dist/ionic/{p-7e230af6.entry.js → p-06d1a11d.entry.js} +1 -1
  360. package/dist/ionic/{p-b46bdb73.system.entry.js → p-07d854da.system.entry.js} +1 -1
  361. package/dist/ionic/p-0b955124.system.js +1 -1
  362. package/dist/ionic/{p-c994c528.system.entry.js → p-0be9430d.system.entry.js} +1 -1
  363. package/dist/ionic/{p-6e8d0527.system.entry.js → p-0ccc3e49.system.entry.js} +1 -1
  364. package/dist/ionic/{p-02bf61be.entry.js → p-11cce714.entry.js} +1 -1
  365. package/dist/ionic/p-12c0fd06.system.entry.js +4 -0
  366. package/dist/ionic/{p-c80c7e90.system.js → p-17907fef.system.js} +1 -1
  367. package/dist/ionic/{p-ab782835.system.entry.js → p-19280211.system.entry.js} +1 -1
  368. package/dist/ionic/{p-814aa0b4.system.entry.js → p-1aa383c4.system.entry.js} +1 -1
  369. package/dist/ionic/{p-3db5b566.system.entry.js → p-1e68eb2d.system.entry.js} +2 -2
  370. package/dist/ionic/{p-2203ea50.system.entry.js → p-20a899d6.system.entry.js} +1 -1
  371. package/dist/ionic/p-217cfd24.entry.js +4 -0
  372. package/dist/ionic/{p-b8e465da.system.entry.js → p-285f83fb.system.entry.js} +1 -1
  373. package/dist/ionic/{p-dd79d499.system.entry.js → p-2a99d6a2.system.entry.js} +1 -1
  374. package/dist/ionic/p-316b88f6.system.entry.js +4 -0
  375. package/dist/ionic/{p-61ba2137.system.js → p-31aad1b8.system.js} +1 -1
  376. package/dist/ionic/{p-5642acf7.system.entry.js → p-32173330.system.entry.js} +1 -1
  377. package/dist/ionic/p-328ca978.system.js +4 -0
  378. package/dist/ionic/{p-aeb2bfc4.entry.js → p-32d31724.entry.js} +1 -1
  379. package/dist/ionic/{p-a6a15217.system.entry.js → p-381d53fe.system.entry.js} +1 -1
  380. package/dist/ionic/{p-3348d9b6.entry.js → p-3bce3d27.entry.js} +1 -1
  381. package/dist/ionic/{p-49cbf8ca.entry.js → p-3f06f873.entry.js} +1 -1
  382. package/dist/ionic/{p-fd8ced99.system.js → p-41fe384b.system.js} +1 -1
  383. package/dist/ionic/{p-e3c13a24.system.entry.js → p-4340cc94.system.entry.js} +1 -1
  384. package/dist/ionic/p-435cdd08.js +4 -0
  385. package/dist/ionic/{p-c8f93816.system.entry.js → p-437a54c3.system.entry.js} +1 -1
  386. package/dist/ionic/p-46cc595c.js +4 -0
  387. package/dist/ionic/{p-8aecc954.system.entry.js → p-487a1d0e.system.entry.js} +1 -1
  388. package/dist/ionic/{p-b8c685a7.system.js → p-492a99b4.system.js} +1 -1
  389. package/dist/ionic/p-4b4253b1.js +4 -0
  390. package/dist/ionic/{p-6ac84217.entry.js → p-4bd628c4.entry.js} +1 -1
  391. package/dist/ionic/p-4d957d64.system.js +4 -0
  392. package/dist/ionic/{p-2fbf97f4.system.entry.js → p-4eb51750.system.entry.js} +1 -1
  393. package/dist/ionic/{p-fd36799d.system.js → p-54325470.system.js} +1 -1
  394. package/dist/ionic/{p-ec4e0057.entry.js → p-56bb3ae7.entry.js} +1 -1
  395. package/dist/ionic/{p-c2938ad7.system.entry.js → p-582ff69e.system.entry.js} +1 -1
  396. package/dist/ionic/p-58cc3084.js +4 -0
  397. package/dist/ionic/{p-1d1ef635.entry.js → p-5998886f.entry.js} +1 -1
  398. package/dist/ionic/{p-6028d77a.entry.js → p-5ab08b08.entry.js} +1 -1
  399. package/dist/ionic/{p-f7d618b7.entry.js → p-5c439e4b.entry.js} +1 -1
  400. package/dist/ionic/{p-31c495c2.js → p-5d908b54.js} +1 -1
  401. package/dist/ionic/{p-9ff0b9d7.entry.js → p-5dde8d3f.entry.js} +1 -1
  402. package/dist/ionic/p-5fb5218b.js +4 -0
  403. package/dist/ionic/{p-37c33319.system.js → p-5fc74894.system.js} +1 -1
  404. package/dist/ionic/{p-6871553b.system.js → p-6754e438.system.js} +1 -1
  405. package/dist/ionic/{p-814129a1.system.entry.js → p-676d3d91.system.entry.js} +1 -1
  406. package/dist/ionic/{p-9c69a78d.system.entry.js → p-68197628.system.entry.js} +2 -2
  407. package/dist/ionic/p-683a7d40.entry.js +4 -0
  408. package/dist/ionic/{p-faea6b57.entry.js → p-68795208.entry.js} +1 -1
  409. package/dist/ionic/{p-46e78ed6.entry.js → p-6dbfb274.entry.js} +1 -1
  410. package/dist/ionic/p-70420d55.entry.js +4 -0
  411. package/dist/ionic/p-705e30ec.system.js +4 -0
  412. package/dist/ionic/{p-1dc24d13.system.entry.js → p-732bbcac.system.entry.js} +1 -1
  413. package/dist/ionic/{p-590ecff0.entry.js → p-7550b7cd.entry.js} +1 -1
  414. package/dist/ionic/{p-743030ee.entry.js → p-75def519.entry.js} +1 -1
  415. package/dist/ionic/{p-1c6bc252.system.entry.js → p-78f825e5.system.entry.js} +1 -1
  416. package/dist/ionic/{p-b5839dc2.js → p-7ab579e4.js} +1 -1
  417. package/dist/ionic/{p-2581c0b4.system.entry.js → p-7c5dc3c2.system.entry.js} +1 -1
  418. package/dist/ionic/{p-2aa9dbb1.entry.js → p-7f378a2a.entry.js} +1 -1
  419. package/dist/ionic/{p-ba7347c4.entry.js → p-85752011.entry.js} +1 -1
  420. package/dist/ionic/{p-73fef0c6.entry.js → p-8705efd9.entry.js} +1 -1
  421. package/dist/ionic/{p-ce1cf1e0.system.entry.js → p-874981aa.system.entry.js} +1 -1
  422. package/dist/ionic/{p-44ba1907.system.entry.js → p-878d5d3c.system.entry.js} +2 -2
  423. package/dist/ionic/p-8ae4d69b.entry.js +4 -0
  424. package/dist/ionic/{p-a3f572a7.js → p-8b213742.js} +1 -1
  425. package/dist/ionic/{p-158e5d3f.entry.js → p-8f68a594.entry.js} +1 -1
  426. package/dist/ionic/p-903305e2.entry.js +4 -0
  427. package/dist/ionic/{p-ef065e0d.system.entry.js → p-9451f3b1.system.entry.js} +2 -2
  428. package/dist/ionic/{p-f3c1bbcb.entry.js → p-945d28b0.entry.js} +1 -1
  429. package/dist/ionic/{p-364fd2ae.system.entry.js → p-95641c85.system.entry.js} +2 -2
  430. package/dist/ionic/{p-ffee8d11.system.entry.js → p-9705cb8a.system.entry.js} +1 -1
  431. package/dist/ionic/{p-50b79c48.entry.js → p-982d43c5.entry.js} +1 -1
  432. package/dist/ionic/{p-b8c4df21.entry.js → p-98d67336.entry.js} +1 -1
  433. package/dist/ionic/{p-41cd4e22.system.entry.js → p-990b12ed.system.entry.js} +1 -1
  434. package/dist/ionic/{p-aca86637.system.entry.js → p-990c4ffc.system.entry.js} +1 -1
  435. package/dist/ionic/{p-156299c1.system.entry.js → p-993e5fa8.system.entry.js} +1 -1
  436. package/dist/ionic/{p-9393a49f.js → p-9b502efc.js} +1 -1
  437. package/dist/ionic/{p-68211d11.entry.js → p-9d043a12.entry.js} +1 -1
  438. package/dist/ionic/{p-2b17eb06.entry.js → p-a1b7245f.entry.js} +1 -1
  439. package/dist/ionic/p-a1daeb4e.js +4 -0
  440. package/dist/ionic/{p-e1386ddc.system.entry.js → p-a5d14e60.system.entry.js} +1 -1
  441. package/dist/ionic/{p-115d351a.entry.js → p-a5dbbe9f.entry.js} +1 -1
  442. package/dist/ionic/{p-58e3ae88.system.entry.js → p-a9401d22.system.entry.js} +1 -1
  443. package/dist/ionic/{p-7f90cee1.entry.js → p-ad2a4aea.entry.js} +1 -1
  444. package/dist/ionic/{p-b253ad7f.js → p-ae965bbd.js} +1 -1
  445. package/dist/ionic/{p-a69ca607.system.entry.js → p-b0309b53.system.entry.js} +1 -1
  446. package/dist/ionic/{p-9d10df75.system.entry.js → p-b10f1da7.system.entry.js} +1 -1
  447. package/dist/ionic/{p-336ef060.entry.js → p-b6f61c31.entry.js} +1 -1
  448. package/dist/ionic/{p-9954f160.entry.js → p-baa8ce33.entry.js} +1 -1
  449. package/dist/ionic/{p-ab722722.system.entry.js → p-bb164152.system.entry.js} +1 -1
  450. package/dist/ionic/{p-416b7011.system.entry.js → p-bb3a4e1c.system.entry.js} +1 -1
  451. package/dist/ionic/{p-48346946.system.entry.js → p-bc5b1ee8.system.entry.js} +1 -1
  452. package/dist/ionic/{p-78aade1a.entry.js → p-beae3f98.entry.js} +1 -1
  453. package/dist/ionic/{p-8ddc00f7.js → p-c7361cf7.js} +1 -1
  454. package/dist/ionic/{p-6e7f5166.entry.js → p-c7691a0d.entry.js} +1 -1
  455. package/dist/ionic/{p-e88ae7f0.system.entry.js → p-ca169c31.system.entry.js} +1 -1
  456. package/dist/ionic/p-cd55d66b.system.js +4 -0
  457. package/dist/ionic/{p-e4162cae.entry.js → p-cdfd75f6.entry.js} +1 -1
  458. package/dist/ionic/{p-0bc978ee.entry.js → p-d59bebec.entry.js} +1 -1
  459. package/dist/ionic/{p-a53d820e.system.entry.js → p-d675b413.system.entry.js} +1 -1
  460. package/dist/ionic/{p-a0da38e6.system.js → p-d86520e8.system.js} +1 -1
  461. package/dist/ionic/{p-e2bb92ed.system.js → p-db501e46.system.js} +1 -1
  462. package/dist/ionic/p-dc0438ee.system.entry.js +4 -0
  463. package/dist/ionic/{p-23771339.entry.js → p-dd3026cb.entry.js} +1 -1
  464. package/dist/ionic/{p-dd2392f1.entry.js → p-df0033ae.entry.js} +1 -1
  465. package/dist/ionic/{p-6c48dd91.system.js → p-e2719d33.system.js} +1 -1
  466. package/dist/ionic/{p-b853d98f.system.entry.js → p-e30ca961.system.entry.js} +1 -1
  467. package/dist/ionic/{p-f83192d4.entry.js → p-e3184698.entry.js} +1 -1
  468. package/dist/ionic/p-ec1b948f.entry.js +4 -0
  469. package/dist/ionic/{p-0a90cc4d.system.entry.js → p-eddae453.system.entry.js} +1 -1
  470. package/dist/ionic/{p-77cf63b4.entry.js → p-f461bf4d.entry.js} +1 -1
  471. package/dist/ionic/{p-3c6f02cf.system.js → p-f4945d0c.system.js} +1 -1
  472. package/dist/ionic/p-f7dc1a03.entry.js +4 -0
  473. package/dist/ionic/{p-c2289cd1.js → p-f9680e94.js} +1 -1
  474. package/dist/ionic/{p-9a71fceb.system.entry.js → p-faa8c9fc.system.entry.js} +1 -1
  475. package/dist/ionic/{p-6b1b24df.entry.js → p-fb3ff439.entry.js} +1 -1
  476. package/dist/ionic/{p-62a3c609.system.js → p-fb62e0e9.system.js} +1 -1
  477. package/dist/ionic/{p-e45248be.entry.js → p-fc3aeb8f.entry.js} +1 -1
  478. package/dist/ionic/p-fd53465c.system.entry.js +4 -0
  479. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  480. package/dist/types/components/range/range.d.ts +1 -21
  481. package/dist/types/components.d.ts +0 -18
  482. package/dist/types/utils/config.d.ts +6 -0
  483. package/hydrate/index.js +532 -606
  484. package/package.json +1 -1
  485. package/components/form-controller.js +0 -64
  486. package/dist/cjs/form-controller-7b90d7b7.js +0 -66
  487. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  488. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  489. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  490. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  491. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  492. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  493. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  494. package/dist/esm/form-controller-014aa89f.js +0 -64
  495. package/dist/esm-es5/form-controller-014aa89f.js +0 -4
  496. package/dist/esm-es5/index-4b98143d.js +0 -4
  497. package/dist/esm-es5/ios.transition-7ff7381d.js +0 -4
  498. package/dist/esm-es5/md.transition-28a9a26b.js +0 -4
  499. package/dist/esm-es5/swipe-back-7f7620ca.js +0 -4
  500. package/dist/ionic/p-0d25b742.js +0 -4
  501. package/dist/ionic/p-19385313.entry.js +0 -4
  502. package/dist/ionic/p-1b8684c2.system.entry.js +0 -4
  503. package/dist/ionic/p-25b08bc4.system.js +0 -4
  504. package/dist/ionic/p-2f6b3478.system.entry.js +0 -4
  505. package/dist/ionic/p-30d77a91.system.js +0 -4
  506. package/dist/ionic/p-3eb2da31.js +0 -4
  507. package/dist/ionic/p-4f777b5e.js +0 -4
  508. package/dist/ionic/p-54908979.entry.js +0 -4
  509. package/dist/ionic/p-7d6c9121.entry.js +0 -4
  510. package/dist/ionic/p-8f1ce253.js +0 -4
  511. package/dist/ionic/p-90149377.system.entry.js +0 -4
  512. package/dist/ionic/p-95861049.entry.js +0 -4
  513. package/dist/ionic/p-95c44e02.system.js +0 -4
  514. package/dist/ionic/p-b0ba9ea5.entry.js +0 -4
  515. package/dist/ionic/p-b17f058b.system.js +0 -4
  516. package/dist/ionic/p-b4d8fe47.js +0 -4
  517. package/dist/ionic/p-c5c3710c.js +0 -4
  518. package/dist/ionic/p-c6fef62b.system.js +0 -4
  519. package/dist/ionic/p-c858f685.js +0 -4
  520. package/dist/ionic/p-d2670dd3.entry.js +0 -4
  521. package/dist/ionic/p-d9310104.entry.js +0 -4
  522. package/dist/ionic/p-fe990e42.system.entry.js +0 -4
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../utils/content/index";
6
- import { createLegacyFormController } from "../../utils/forms/index";
7
6
  import { inheritAriaAttributes, clamp, debounceEvent, getAriaLabel, renderHiddenInput } from "../../utils/helpers";
8
7
  import { printIonWarning } from "../../utils/logging/index";
9
8
  import { isRTL } from "../../utils/rtl/index";
@@ -35,8 +34,6 @@ export class Range {
35
34
  this.inheritedAttributes = {};
36
35
  this.contentEl = null;
37
36
  this.initialContentScrollY = true;
38
- // This flag ensures we log the deprecation warning at most once.
39
- this.hasLoggedDeprecationWarning = false;
40
37
  this.clampBounds = (value) => {
41
38
  return clamp(this.min, value, this.max);
42
39
  };
@@ -89,14 +86,12 @@ export class Range {
89
86
  if (this.hasFocus) {
90
87
  this.hasFocus = false;
91
88
  this.ionBlur.emit();
92
- this.emitStyle();
93
89
  }
94
90
  };
95
91
  this.onFocus = () => {
96
92
  if (!this.hasFocus) {
97
93
  this.hasFocus = true;
98
94
  this.ionFocus.emit();
99
- this.emitStyle();
100
95
  }
101
96
  };
102
97
  this.ratioA = 0;
@@ -118,7 +113,6 @@ export class Range {
118
113
  this.disabled = false;
119
114
  this.value = 0;
120
115
  this.labelPlacement = 'start';
121
- this.legacy = undefined;
122
116
  }
123
117
  debounceChanged() {
124
118
  const { ionInput, debounce, originalIonInput } = this;
@@ -155,7 +149,6 @@ export class Range {
155
149
  if (this.gesture) {
156
150
  this.gesture.enable(!this.disabled);
157
151
  }
158
- this.emitStyle();
159
152
  }
160
153
  valueChanged() {
161
154
  if (!this.noUpdate) {
@@ -179,8 +172,6 @@ export class Range {
179
172
  this.didLoad = true;
180
173
  }
181
174
  connectedCallback() {
182
- const { el } = this;
183
- this.legacyFormController = createLegacyFormController(el);
184
175
  this.updateRatio();
185
176
  this.debounceChanged();
186
177
  this.disabledChanged();
@@ -221,17 +212,6 @@ export class Range {
221
212
  return value;
222
213
  }
223
214
  }
224
- // TODO FW-2997 remove this
225
- emitStyle() {
226
- if (this.legacyFormController.hasLegacyControl()) {
227
- this.ionStyle.emit({
228
- interactive: true,
229
- 'interactive-disabled': this.disabled,
230
- // TODO(FW-2997): remove this
231
- legacy: !!this.legacy,
232
- });
233
- }
234
- }
235
215
  /**
236
216
  * Emits an `ionChange` event.
237
217
  *
@@ -348,34 +328,6 @@ export class Range {
348
328
  }
349
329
  }
350
330
  }
351
- // TODO FW-2997 remove this
352
- renderLegacyRange() {
353
- if (!this.hasLoggedDeprecationWarning) {
354
- printIonWarning(`ion-range now requires providing a label with either the label slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.
355
-
356
- Example: <ion-range><div slot="label">Volume</div></ion-range>
357
- Example with aria-label: <ion-range aria-label="Volume"></ion-range>
358
-
359
- Developers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.`, this.el);
360
- if (this.legacy) {
361
- printIonWarning(`ion-range is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.
362
-
363
- Developers can dismiss this warning by removing their usage of the "legacy" property and using the new range syntax.`, this.el);
364
- }
365
- this.hasLoggedDeprecationWarning = true;
366
- }
367
- const { el, pressedKnob, disabled, pin, rangeId } = this;
368
- const mode = getIonMode(this);
369
- renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
370
- return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
371
- [mode]: true,
372
- 'in-item': hostContext('ion-item', el),
373
- 'range-disabled': disabled,
374
- 'range-pressed': pressedKnob !== undefined,
375
- 'range-has-pin': pin,
376
- 'legacy-range': true,
377
- }) }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })));
378
- }
379
331
  /**
380
332
  * Returns true if content was passed to the "start" slot
381
333
  */
@@ -388,37 +340,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
388
340
  get hasEndSlotContent() {
389
341
  return this.el.querySelector('[slot="end"]') !== null;
390
342
  }
391
- renderRange() {
392
- const { disabled, el, hasLabel, rangeId, pin, pressedKnob, labelPlacement, label } = this;
393
- const inItem = hostContext('ion-item', el);
394
- /**
395
- * If there is no start content then the knob at
396
- * the min value will be cut off by the item margin.
397
- */
398
- const hasStartContent = (hasLabel && (labelPlacement === 'start' || labelPlacement === 'fixed')) || this.hasStartSlotContent;
399
- const needsStartAdjustment = inItem && !hasStartContent;
400
- /**
401
- * If there is no end content then the knob at
402
- * the max value will be cut off by the item margin.
403
- */
404
- const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
405
- const needsEndAdjustment = inItem && !hasEndContent;
406
- const mode = getIonMode(this);
407
- renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
408
- return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
409
- [mode]: true,
410
- 'in-item': inItem,
411
- 'range-disabled': disabled,
412
- 'range-pressed': pressedKnob !== undefined,
413
- 'range-has-pin': pin,
414
- [`range-label-placement-${labelPlacement}`]: true,
415
- 'range-item-start-adjustment': needsStartAdjustment,
416
- 'range-item-end-adjustment': needsEndAdjustment,
417
- }) }, h("label", { class: "range-wrapper", id: "range-label" }, h("div", { class: {
418
- 'label-text-wrapper': true,
419
- 'label-text-wrapper-hidden': !hasLabel,
420
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { class: "native-wrapper" }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })))));
421
- }
422
343
  get hasLabel() {
423
344
  return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
424
345
  }
@@ -494,7 +415,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
494
415
  }
495
416
  }
496
417
  let labelledBy;
497
- if (!this.legacyFormController.hasLegacyControl() && this.hasLabel) {
418
+ if (this.hasLabel) {
498
419
  labelledBy = 'range-label';
499
420
  }
500
421
  return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
@@ -534,8 +455,35 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
534
455
  })));
535
456
  }
536
457
  render() {
537
- const { legacyFormController } = this;
538
- return legacyFormController.hasLegacyControl() ? this.renderLegacyRange() : this.renderRange();
458
+ const { disabled, el, hasLabel, rangeId, pin, pressedKnob, labelPlacement, label } = this;
459
+ const inItem = hostContext('ion-item', el);
460
+ /**
461
+ * If there is no start content then the knob at
462
+ * the min value will be cut off by the item margin.
463
+ */
464
+ const hasStartContent = (hasLabel && (labelPlacement === 'start' || labelPlacement === 'fixed')) || this.hasStartSlotContent;
465
+ const needsStartAdjustment = inItem && !hasStartContent;
466
+ /**
467
+ * If there is no end content then the knob at
468
+ * the max value will be cut off by the item margin.
469
+ */
470
+ const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
471
+ const needsEndAdjustment = inItem && !hasEndContent;
472
+ const mode = getIonMode(this);
473
+ renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
474
+ return (h(Host, { key: 'ff8dbbb4e0c8b9802408a40fa0d93528ec730a9f', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
475
+ [mode]: true,
476
+ 'in-item': inItem,
477
+ 'range-disabled': disabled,
478
+ 'range-pressed': pressedKnob !== undefined,
479
+ 'range-has-pin': pin,
480
+ [`range-label-placement-${labelPlacement}`]: true,
481
+ 'range-item-start-adjustment': needsStartAdjustment,
482
+ 'range-item-end-adjustment': needsEndAdjustment,
483
+ }) }, h("label", { key: '2164b0ec67215d7791d795a1f6274b595ad74d80', class: "range-wrapper", id: "range-label" }, h("div", { key: '717346e2bcfb29a3a5ef39b5fec226d484aa1f46', class: {
484
+ 'label-text-wrapper': true,
485
+ 'label-text-wrapper-hidden': !hasLabel,
486
+ }, 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" })))));
539
487
  }
540
488
  static get is() { return "ion-range"; }
541
489
  static get encapsulation() { return "shadow"; }
@@ -852,23 +800,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
852
800
  "attribute": "label-placement",
853
801
  "reflect": false,
854
802
  "defaultValue": "'start'"
855
- },
856
- "legacy": {
857
- "type": "boolean",
858
- "mutable": false,
859
- "complexType": {
860
- "original": "boolean",
861
- "resolved": "boolean | undefined",
862
- "references": {}
863
- },
864
- "required": false,
865
- "optional": true,
866
- "docs": {
867
- "tags": [],
868
- "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the `label` property. As a result,\nthe `legacy` property should only be used as an escape hatch when you want to\navoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
869
- },
870
- "attribute": "legacy",
871
- "reflect": false
872
803
  }
873
804
  };
874
805
  }
@@ -922,30 +853,6 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
922
853
  }
923
854
  }
924
855
  }
925
- }, {
926
- "method": "ionStyle",
927
- "name": "ionStyle",
928
- "bubbles": true,
929
- "cancelable": true,
930
- "composed": true,
931
- "docs": {
932
- "tags": [{
933
- "name": "internal",
934
- "text": undefined
935
- }],
936
- "text": "Emitted when the styles change."
937
- },
938
- "complexType": {
939
- "original": "StyleEventDetail",
940
- "resolved": "StyleEventDetail",
941
- "references": {
942
- "StyleEventDetail": {
943
- "location": "import",
944
- "path": "../../interface",
945
- "id": "src/interface.d.ts::StyleEventDetail"
946
- }
947
- }
948
- }
949
856
  }, {
950
857
  "method": "ionFocus",
951
858
  "name": "ionFocus",
@@ -462,23 +462,9 @@
462
462
  --pin-color: var(--ion-color-primary-contrast, #fff);
463
463
  }
464
464
 
465
- :host(.legacy-range) ::slotted([slot=label]) {
466
- font-size: initial;
467
- }
468
-
469
- :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),
470
- :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),
471
- :host(:not(.legacy-range)) .native-wrapper {
472
- font-size: 0.75rem;
473
- }
474
-
475
- :host(.legacy-range) {
476
- -webkit-padding-start: 14px;
477
- padding-inline-start: 14px;
478
- -webkit-padding-end: 14px;
479
- padding-inline-end: 14px;
480
- padding-top: 8px;
481
- padding-bottom: 8px;
465
+ ::slotted(:not(ion-icon)[slot=start]),
466
+ ::slotted(:not(ion-icon)[slot=end]),
467
+ .native-wrapper {
482
468
  font-size: 0.75rem;
483
469
  }
484
470
 
@@ -29,7 +29,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
29
29
  test('should not have visual regressions', async ({ page }) => {
30
30
  await page.setContent(`<ion-app>
31
31
  <ion-content>
32
- <ion-range min="0" max="100" value="80" legacy="true"></ion-range>
32
+ <ion-range min="0" max="100" value="80" aria-label="Range"></ion-range>
33
33
  </ion-content>
34
34
  </ion-app>
35
35
  `, config);
@@ -53,7 +53,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
53
53
  test('should not have visual regressions', async ({ page }) => {
54
54
  await page.setContent(`<ion-app>
55
55
  <ion-content>
56
- <ion-range min="0" max="100" value="50" pin="true" legacy="true"></ion-range>
56
+ <ion-range min="0" max="100" value="50" pin="true" aria-label="Range"></ion-range>
57
57
  </ion-content>
58
58
  </ion-app>
59
59
  `, config);
@@ -57,7 +57,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
57
57
  // TODO FW-2873
58
58
  test.skip('should not scroll when the knob is swiped', async ({ page, skip }) => {
59
59
  skip.browser('webkit', 'mouse.wheel is not available in WebKit');
60
- await page.goto(`/src/components/range/test/legacy/basic`, config);
60
+ await page.goto(`/src/components/range/test/basic`, config);
61
61
  const knobEl = page.locator('ion-range#stacked-range .range-knob-handle');
62
62
  const scrollEl = page.locator('ion-content .inner-scroll');
63
63
  expect(await scrollEl.evaluate((el) => el.scrollTop)).toEqual(0);
@@ -164,18 +164,6 @@ describe('range: item adjustments', () => {
164
164
  expect(range.classList.contains('range-item-start-adjustment')).toBe(false);
165
165
  expect(range.classList.contains('range-item-end-adjustment')).toBe(false);
166
166
  });
167
- // TODO FW-2997 remove this
168
- it('should not add adjustment with legacy syntax', async () => {
169
- const page = await newSpecPage({
170
- components: [Item, Range],
171
- html: `
172
- <ion-range legacy="true"></ion-range>
173
- `,
174
- });
175
- const range = page.body.querySelector('ion-range');
176
- expect(range.classList.contains('range-item-start-adjustment')).toBe(false);
177
- expect(range.classList.contains('range-item-end-adjustment')).toBe(false);
178
- });
179
167
  it('should not add start adjustment when with start adornment', async () => {
180
168
  const page = await newSpecPage({
181
169
  components: [Item, Range],
@@ -594,7 +594,7 @@ export class Refresher {
594
594
  }
595
595
  render() {
596
596
  const mode = getIonMode(this);
597
- return (h(Host, { key: '611c1aaa015716565349c3f60f724ff29f77fab8', slot: "fixed", class: {
597
+ return (h(Host, { key: '460d903daa65f5549f4f75de63d185d82b9df1bc', slot: "fixed", class: {
598
598
  [mode]: true,
599
599
  // Used internally for styling
600
600
  [`refresher-${mode}`]: true,
@@ -52,7 +52,7 @@ export class RefresherContent {
52
52
  const pullingIcon = this.pullingIcon;
53
53
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
54
54
  const mode = getIonMode(this);
55
- return (h(Host, { key: '041777c4d84d60a5ad208a259da18f08ad1925e1', class: mode }, h("div", { key: 'e4e9a10b7ca06de8c200f70129c1e7453ba29bf1', 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: '10845bafc245a14164514705c9f76d7ad8287720', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
55
+ 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())));
56
56
  }
57
57
  static get is() { return "ion-refresher-content"; }
58
58
  static get properties() {
@@ -20,7 +20,7 @@ export class Reorder {
20
20
  render() {
21
21
  const mode = getIonMode(this);
22
22
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
23
- return (h(Host, { key: '960d485e6a035eef6957cf7f47bf60b596332d6c', class: mode }, h("slot", { key: '53e2b08d941c744058ffd89d4d0b10a94601c1ff' }, h("ion-icon", { key: '4847e220d738e33f6f9160e49715a7b2fa51072f', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
23
+ 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" }))));
24
24
  }
25
25
  static get is() { return "ion-reorder"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -238,7 +238,7 @@ export class ReorderGroup {
238
238
  }
239
239
  render() {
240
240
  const mode = getIonMode(this);
241
- return (h(Host, { key: '9bcdd2c0b0c412ea21ee8742ec3d6f1a2cd64413', class: {
241
+ return (h(Host, { key: '3131c13e939242f1a4e10b4fcee028440b1a04c3', class: {
242
242
  [mode]: true,
243
243
  'reorder-enabled': !this.disabled,
244
244
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -59,7 +59,7 @@ export class RippleEffect {
59
59
  }
60
60
  render() {
61
61
  const mode = getIonMode(this);
62
- return (h(Host, { key: '7c6cd289101ba3964f150fe455aecc730dfd899f', role: "presentation", class: {
62
+ return (h(Host, { key: '42d95cc2382286e3bc5d68603f8292eb57ba10f5', role: "presentation", class: {
63
63
  [mode]: true,
64
64
  unbounded: this.unbounded,
65
65
  } }));
@@ -23,10 +23,10 @@ export class RouterLink {
23
23
  rel: this.rel,
24
24
  target: this.target,
25
25
  };
26
- return (h(Host, { key: 'ea1491e4baaaafb12934cd0cb8e7344fcfbefa2a', onClick: this.onClick, class: createColorClasses(this.color, {
26
+ return (h(Host, { key: '64a8781a0e92ddc14e03a60ac3da7f21dd59a2af', onClick: this.onClick, class: createColorClasses(this.color, {
27
27
  [mode]: true,
28
28
  'ion-activatable': true,
29
- }) }, h("a", Object.assign({ key: '814e74fd1ee318937b4b9e5c56487ebc854d1ce6' }, attrs), h("slot", { key: '79c0d37d19e592684d54bcdb5c438c3d98d9632c' }))));
29
+ }) }, h("a", Object.assign({ key: 'e2da87e62410c9ada5810f95ab1b9d6c489703a0' }, attrs), h("slot", { key: '201854747f5c867c8f6fadea20ef29b1d221f9db' }))));
30
30
  }
31
31
  static get is() { return "ion-router-link"; }
32
32
  static get encapsulation() { return "shadow"; }
@@ -177,7 +177,7 @@ export class RouterOutlet {
177
177
  return true;
178
178
  }
179
179
  render() {
180
- return h("slot", { key: '7006d7db12a87150429ee768824620ba0a44ae1e' });
180
+ return h("slot", { key: 'b90c776f7924a88b1b36befe7e6f8943fc20dfe3' });
181
181
  }
182
182
  static get is() { return "ion-router-outlet"; }
183
183
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Row {
7
7
  render() {
8
- return (h(Host, { key: '0060231104a3ad08a7616f483195bab224029726', class: getIonMode(this) }, h("slot", { key: '57289b0c8106bc8ae8c4225c4a7e712d73241d9d' })));
8
+ return (h(Host, { key: 'e52c499804f7bebc1c4ab8fb69ef1b452eae58c1', class: getIonMode(this) }, h("slot", { key: '7808e8156601912e0192fe0b74bdedda2c359e1c' })));
9
9
  }
10
10
  static get is() { return "ion-row"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -356,8 +356,8 @@ export class Searchbar {
356
356
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
357
357
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
358
358
  const shouldShowCancelButton = this.shouldShowCancelButton();
359
- const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '3b4670a0e15a1b7a1adb8b17518731fb666b7007', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '0514ed9dcb4bf98ab878b0788ece339c2307d67d', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
360
- return (h(Host, { key: '6a1d77da20bd9902747b145e3f1cb1ba0b1afe5c', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
359
+ const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: 'd219b739da043f04358e5646c9d206d5f39d1b86', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: 'fa93932c72571e76d5845e15a4d96291591cec61', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
360
+ return (h(Host, { key: '72fed78006b21e3e4bc3af31a4eb4545fd3b69da', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
361
361
  [mode]: true,
362
362
  'searchbar-animated': animated,
363
363
  'searchbar-disabled': this.disabled,
@@ -367,14 +367,14 @@ export class Searchbar {
367
367
  'searchbar-has-focus': this.focused,
368
368
  'searchbar-should-show-clear': this.shouldShowClearButton(),
369
369
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
370
- }) }, h("div", { key: 'fb365cbfd23cfa047854efbf83f69efa7196ef73', class: "searchbar-input-container" }, h("input", { key: '3db178da572b2da7aed9382405358b3c8cfe1d40', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, h("ion-icon", { key: '888d67bfc0ac63e64747b28349678bd4171e85f4', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '09a64ff7f38ccb87156d234715812bb36cb288f8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
370
+ }) }, h("div", { key: 'b392694fa344f9316c5ca15560f49b03d149d9a1', class: "searchbar-input-container" }, h("input", { key: '998a7ab915a20bc952c6b4be645870b6291576b7', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, h("ion-icon", { key: 'fa6f3463a1941368e3cf4eaf7059cf5518d1daeb', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: 'e6200807543cfb4a685a6ad0481eb2dc5cab38df', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
371
371
  /**
372
372
  * This prevents mobile browsers from
373
373
  * blurring the input when the clear
374
374
  * button is activated.
375
375
  */
376
376
  ev.preventDefault();
377
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'ecf12749fba8ce387e03f2775c107456b2ca2ba3', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
377
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '983f4f65730913c5ff93baed855d694983f72e12', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
378
378
  }
379
379
  static get is() { return "ion-searchbar"; }
380
380
  static get encapsulation() { return "scoped"; }
@@ -420,14 +420,14 @@ export class Segment {
420
420
  }
421
421
  render() {
422
422
  const mode = getIonMode(this);
423
- return (h(Host, { key: '78c660f7c6182c75e01f6173c906d03d12ffc9c9', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
423
+ return (h(Host, { key: 'a0b1480e0f95ed9647871c749dbd93ef7ce5b28e', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
424
424
  [mode]: true,
425
425
  'in-toolbar': hostContext('ion-toolbar', this.el),
426
426
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
427
427
  'segment-activated': this.activated,
428
428
  'segment-disabled': this.disabled,
429
429
  'segment-scrollable': this.scrollable,
430
- }) }, h("slot", { key: '935b25eb031f16f88aae96d776d13258daea363d' })));
430
+ }) }, h("slot", { key: '01b9559e574b1b194e6010295cd9bea4b6aeab1b' })));
431
431
  }
432
432
  static get is() { return "ion-segment"; }
433
433
  static get encapsulation() { return "shadow"; }
@@ -78,7 +78,7 @@ export class SegmentButton {
78
78
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
79
79
  const mode = getIonMode(this);
80
80
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
81
- return (h(Host, { key: '441d6ce48b75fdbf636c5ef590d394d85dd5f1fb', class: {
81
+ return (h(Host, { key: 'fc2262b4b1cb0c3e38b3de672910543211779b98', class: {
82
82
  [mode]: true,
83
83
  'in-toolbar': hostContext('ion-toolbar', this.el),
84
84
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -94,10 +94,10 @@ export class SegmentButton {
94
94
  'ion-activatable': true,
95
95
  'ion-activatable-instant': true,
96
96
  'ion-focusable': true,
97
- } }, h("button", Object.assign({ key: '349d04e943613892352aa277849f8fec2e2ca0d3', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '8ce33e12fe0fc8378fd723ba861bf7b77b0dd874', class: "button-inner" }, h("slot", { key: '17eadfd6daa7d5eaeb8863e30b36558927758c61' })), mode === 'md' && h("ion-ripple-effect", null)), h("div", { key: '656a488bcae60d5aeb85846867d633ce22277aeb', part: "indicator", class: {
97
+ } }, h("button", Object.assign({ key: 'd73ffb0e52b86e41fff7aafac8bd77073b494b28', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: 'a3d76c3191a508f47782f17602d814920dc26694', class: "button-inner" }, h("slot", { key: 'ae6479c5eec1e0f4077066a6b0ca06c13af0847f' })), mode === 'md' && h("ion-ripple-effect", null)), h("div", { key: '593a4ec0d186520485073dc2fcdf23899924399b', part: "indicator", class: {
98
98
  'segment-button-indicator': true,
99
99
  'segment-button-indicator-animated': true,
100
- } }, h("div", { key: '352557a8aad38acc58e74f84b6aea8eda845650a', part: "indicator-background", class: "segment-button-indicator-background" }))));
100
+ } }, h("div", { key: 'cfbd0d89a928cce0130da46b2be406c03ab3cddb', part: "indicator-background", class: "segment-button-indicator-background" }))));
101
101
  }
102
102
  static get is() { return "ion-segment-button"; }
103
103
  static get encapsulation() { return "shadow"; }
@@ -610,7 +610,7 @@ export class Select {
610
610
  * TODO(FW-5592): Remove hasStartEndSlots condition
611
611
  */
612
612
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
613
- return (h(Host, { key: '1c6a81db77f9bd20ba9c6da5a71a3b0f36b3bb6b', onClick: this.onClick, class: createColorClasses(this.color, {
613
+ return (h(Host, { key: '55ce46dd2138cf8f964245542c780fbccb1b3a58', onClick: this.onClick, class: createColorClasses(this.color, {
614
614
  [mode]: true,
615
615
  'in-item': inItem,
616
616
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -626,7 +626,7 @@ export class Select {
626
626
  [`select-justify-${justify}`]: justifyEnabled,
627
627
  [`select-shape-${shape}`]: shape !== undefined,
628
628
  [`select-label-placement-${labelPlacement}`]: true,
629
- }) }, h("label", { key: 'a1de0296549e209659677e2838cdfdacf3228c99', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: 'e3efd9b71f1b802b7785b49573ab20efc7e87500', class: "select-wrapper-inner" }, h("slot", { key: '7b8e026aa1c7aeca549b48237c12aba2b8e307c7', name: "start" }), h("div", { key: 'e47186a1aa13d7590f5628088a4415a7b620e3c2', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '441b5076f2e2fbca46f32d1f01c403cba1934b55', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
629
+ }) }, h("label", { key: '41b640595034c59e2044a080f36edc92639fc3df', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '52cd7d7813835f77782d2205970de898ab04922f', class: "select-wrapper-inner" }, h("slot", { key: 'eca1ab2e4fcd336e4ac0a7d92cf1f9430222c603', name: "start" }), h("div", { key: '0d8ea4e0135cd9d3b066f30ab3a3b84b1c97138c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'e6959eb1c5688c8a7e54fbc78fa6823042fcc31a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
630
630
  }
631
631
  static get is() { return "ion-select"; }
632
632
  static get encapsulation() { return "shadow"; }
@@ -10,7 +10,7 @@ export class SelectOption {
10
10
  this.value = undefined;
11
11
  }
12
12
  render() {
13
- return h(Host, { key: '6edad0b52da16621ce55335d732bac1e27e485dc', role: "option", id: this.inputId, class: getIonMode(this) });
13
+ return h(Host, { key: 'e46b062b71c143792bb74527ba4980e02edc14b3', role: "option", id: this.inputId, class: getIonMode(this) });
14
14
  }
15
15
  static get is() { return "ion-select-option"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -102,7 +102,7 @@ export class SelectPopover {
102
102
  render() {
103
103
  const { header, message, options, subHeader } = this;
104
104
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
105
- return (h(Host, { key: '4ef1871f74e2ba6a5bd16d2c407d73edffb87f1f', class: getIonMode(this) }, h("ion-list", { key: '7e8e5f1e129be79f0bcd09bcaca6c09606ea0195' }, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
105
+ return (h(Host, { key: '07c094ea0b8ba353f6147a912eedc3c75719fd4e', class: getIonMode(this) }, h("ion-list", { key: '4d110e3e036bbfecc418d0e37fc9bc4ec0c18674' }, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
106
106
  }
107
107
  static get is() { return "ion-select-popover"; }
108
108
  static get encapsulation() { return "scoped"; }
@@ -25,11 +25,11 @@ export class SkeletonText {
25
25
  const animated = this.animated && config.getBoolean('animated', true);
26
26
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
27
27
  const mode = getIonMode(this);
28
- return (h(Host, { key: '8e398fb1d49ec076737c3c7cac58765fee3267b1', class: {
28
+ return (h(Host, { key: 'e0a84e5017cde072087d5580dd370bbd36106f99', class: {
29
29
  [mode]: true,
30
30
  'skeleton-text-animated': animated,
31
31
  'in-media': inMedia,
32
- } }, h("span", { key: '1fff010f1dfdc2c0985f419299a89cd4d498c340' }, "\u00A0")));
32
+ } }, h("span", { key: '3274a42e3fd4f1b9fb285f4b982416e1f68ac766' }, "\u00A0")));
33
33
  }
34
34
  static get is() { return "ion-skeleton-text"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -39,7 +39,7 @@ export class Spinner {
39
39
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
40
40
  }
41
41
  }
42
- return (h(Host, { key: '93010f0f8636c369faa896a36b47779c7f9aa363', class: createColorClasses(self.color, {
42
+ return (h(Host, { key: 'bfb8b93a58da60686f6a1e6b8a5e0d1b7dea1f5d', class: createColorClasses(self.color, {
43
43
  [mode]: true,
44
44
  [`spinner-${spinnerName}`]: true,
45
45
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -118,12 +118,12 @@ export class SplitPane {
118
118
  }
119
119
  render() {
120
120
  const mode = getIonMode(this);
121
- return (h(Host, { key: '0db6318902ee7c95d5ded58299bb07a25388bf5c', class: {
121
+ return (h(Host, { key: 'ea58eb10f1e0040f8b193684085dcf0b6fb70736', class: {
122
122
  [mode]: true,
123
123
  // Used internally for styling
124
124
  [`split-pane-${mode}`]: true,
125
125
  'split-pane-visible': this.visible,
126
- } }, h("slot", { key: '504c0e4cc42840a4349c7a59eb111844d97d0bf2' })));
126
+ } }, h("slot", { key: '568992064ae695fb4de01aef59d6f6e3359e1e0f' })));
127
127
  }
128
128
  static get is() { return "ion-split-pane"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -48,10 +48,10 @@ export class Tab {
48
48
  }
49
49
  render() {
50
50
  const { tab, active, component } = this;
51
- return (h(Host, { key: '4861b1addcdb41b9953a440bfa24b8f2c8b4e70d', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
51
+ return (h(Host, { key: 'e67484767fa4aab6bc90db390a90eb5e24e51f14', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
52
52
  'ion-page': component === undefined,
53
53
  'tab-hidden': !active,
54
- } }, h("slot", { key: 'd23c525cd5a1480ffd40542b637e673c6d0dd934' })));
54
+ } }, h("slot", { key: 'ad6523d5a128d457d09e88739f8218cdf16152de' })));
55
55
  }
56
56
  static get is() { return "ion-tab"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -51,11 +51,11 @@ export class TabBar {
51
51
  const { color, translucent, keyboardVisible } = this;
52
52
  const mode = getIonMode(this);
53
53
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
54
- return (h(Host, { key: '8173f126d617337f8b46df105d0bce9ddc68b515', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
54
+ return (h(Host, { key: '2d30e75e19d86a1eb65cff8ddab0cb059f59b224', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
55
55
  [mode]: true,
56
56
  'tab-bar-translucent': translucent,
57
57
  'tab-bar-hidden': shouldHide,
58
- }) }, h("slot", { key: '348c9126898f7403dee1fff6a63f7b8bebdea035' })));
58
+ }) }, h("slot", { key: '5b739f1bbe21c887b7810383edd2f67143ac086e' })));
59
59
  }
60
60
  static get is() { return "ion-tab-bar"; }
61
61
  static get encapsulation() { return "shadow"; }