@ionic/core 8.4.4-dev.11741357957.1558bd4c → 8.4.4-dev.11741376313.1cb1887d

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 (454) hide show
  1. package/components/alert.js +30 -4
  2. package/components/checkbox.js +4 -6
  3. package/components/helpers.js +7 -1
  4. package/components/index6.js +3 -11
  5. package/components/index9.js +1 -1
  6. package/components/ion-input.js +2 -2
  7. package/components/ion-range.js +14 -4
  8. package/components/ion-router.js +1 -1
  9. package/components/ion-segment-button.js +1 -1
  10. package/components/ion-select.js +4 -6
  11. package/components/ion-textarea.js +2 -2
  12. package/components/ion-toggle.js +4 -6
  13. package/components/ionic-global.js +2 -1
  14. package/components/modal.js +35 -259
  15. package/components/radio.js +5 -37
  16. package/components/toolbar.js +2 -2
  17. package/css/core.css.map +1 -1
  18. package/css/ionic.bundle.css.map +1 -1
  19. package/dist/cjs/{app-globals-21afee77.js → app-globals-4283fe37.js} +1 -1
  20. package/dist/cjs/{data-108e531d.js → data-21dc0f81.js} +1 -1
  21. package/dist/cjs/{framework-delegate-05579976.js → framework-delegate-c4f2ba04.js} +1 -1
  22. package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-f2cbbdce.js} +1 -1
  23. package/dist/cjs/{helpers-4be3f90d.js → helpers-b14a0f09.js} +7 -0
  24. package/dist/cjs/{index-0ff61d0b.js → index-1248dbd7.js} +4 -4
  25. package/dist/cjs/{index-26bb7e42.js → index-4e37257d.js} +5 -5
  26. package/dist/cjs/{index-2a46a047.js → index-5915f9b3.js} +3 -11
  27. package/dist/cjs/{index-ad7a712e.js → index-786364c7.js} +1 -1
  28. package/dist/cjs/{index-6770fc00.js → index-a4a74252.js} +2 -2
  29. package/dist/cjs/index.cjs.js +10 -10
  30. package/dist/cjs/{input-shims-fd997b01.js → input-shims-b4c0eee7.js} +3 -5
  31. package/dist/cjs/{input.utils-c15a1814.js → input.utils-4af208ab.js} +2 -2
  32. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  33. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  34. package/dist/cjs/ion-alert.cjs.entry.js +36 -10
  35. package/dist/cjs/ion-app_8.cjs.entry.js +14 -14
  36. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-checkbox.cjs.entry.js +6 -7
  43. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  45. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  46. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  47. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-input.cjs.entry.js +7 -7
  52. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  53. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  55. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  56. package/dist/cjs/ion-modal.cjs.entry.js +43 -266
  57. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  58. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  62. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -37
  64. package/dist/cjs/ion-range.cjs.entry.js +17 -7
  65. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  66. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  67. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  68. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  72. package/dist/cjs/ion-select_3.cjs.entry.js +11 -12
  73. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-textarea.cjs.entry.js +7 -7
  79. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  80. package/dist/cjs/ion-toggle.cjs.entry.js +6 -7
  81. package/dist/cjs/{ionic-global-d9a8bb5b.js → ionic-global-96da1b2e.js} +2 -1
  82. package/dist/cjs/ionic.cjs.js +3 -3
  83. package/dist/cjs/{ios.transition-a4f35c55.js → ios.transition-8d363d77.js} +4 -4
  84. package/dist/cjs/loader.cjs.js +3 -3
  85. package/dist/cjs/{md.transition-cdf904e6.js → md.transition-57d695fa.js} +4 -4
  86. package/dist/cjs/{notch-controller-a0c464d1.js → notch-controller-bd07748b.js} +1 -1
  87. package/dist/cjs/{overlays-86695cf1.js → overlays-27703a30.js} +5 -5
  88. package/dist/cjs/{status-tap-1a2485c1.js → status-tap-654077ee.js} +3 -4
  89. package/dist/cjs/{swipe-back-47a52b83.js → swipe-back-b70cd52e.js} +1 -1
  90. package/dist/collection/components/alert/alert.js +34 -4
  91. package/dist/collection/components/checkbox/checkbox.js +4 -23
  92. package/dist/collection/components/input/input.ios.css +2 -3
  93. package/dist/collection/components/input/input.md.css +2 -7
  94. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  95. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  96. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  97. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  98. package/dist/collection/components/modal/animations/sheet.js +2 -11
  99. package/dist/collection/components/modal/gestures/sheet.js +10 -79
  100. package/dist/collection/components/modal/modal.ios.css +0 -16
  101. package/dist/collection/components/modal/modal.js +7 -32
  102. package/dist/collection/components/modal/modal.md.css +0 -6
  103. package/dist/collection/components/radio/radio.ios.css +15 -52
  104. package/dist/collection/components/radio/radio.js +3 -70
  105. package/dist/collection/components/radio/radio.md.css +15 -52
  106. package/dist/collection/components/range/range.js +10 -4
  107. package/dist/collection/components/select/select.js +4 -23
  108. package/dist/collection/components/textarea/textarea.ios.css +2 -3
  109. package/dist/collection/components/textarea/textarea.md.css +2 -7
  110. package/dist/collection/components/toggle/toggle.js +4 -23
  111. package/dist/collection/components/toolbar/toolbar.js +2 -6
  112. package/dist/collection/utils/floating-point/index.js +5 -0
  113. package/dist/collection/utils/helpers.js +6 -0
  114. package/dist/collection/utils/logging/index.js +3 -10
  115. package/dist/collection/utils/platform.js +2 -1
  116. package/dist/collection/utils/test/platform.utils.js +1 -1
  117. package/dist/docs.json +6 -187
  118. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-c10a1137.js} +1 -1
  119. package/dist/esm/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  120. package/dist/esm/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  121. package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-44195e92.js} +1 -1
  122. package/dist/esm/{helpers-9b49d7d2.js → helpers-13b816c6.js} +7 -1
  123. package/dist/esm/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  124. package/dist/esm/{index-6a5baab0.js → index-4b39521b.js} +5 -5
  125. package/dist/esm/{index-7105cd59.js → index-6b548278.js} +4 -4
  126. package/dist/esm/{index-6ad967f3.js → index-9b0d46f4.js} +3 -11
  127. package/dist/esm/{index-dd0f7395.js → index-edf58462.js} +2 -2
  128. package/dist/esm/index.js +10 -10
  129. package/dist/esm/{input-shims-dff819a9.js → input-shims-5e5e47e8.js} +3 -5
  130. package/dist/esm/{input.utils-2f1029cf.js → input.utils-d3717b00.js} +2 -2
  131. package/dist/esm/ion-accordion_2.entry.js +3 -3
  132. package/dist/esm/ion-action-sheet.entry.js +6 -6
  133. package/dist/esm/ion-alert.entry.js +36 -10
  134. package/dist/esm/ion-app_8.entry.js +14 -14
  135. package/dist/esm/ion-avatar_3.entry.js +1 -1
  136. package/dist/esm/ion-back-button.entry.js +2 -2
  137. package/dist/esm/ion-backdrop.entry.js +1 -1
  138. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  139. package/dist/esm/ion-button_2.entry.js +3 -3
  140. package/dist/esm/ion-card_5.entry.js +2 -2
  141. package/dist/esm/ion-checkbox.entry.js +6 -7
  142. package/dist/esm/ion-chip.entry.js +1 -1
  143. package/dist/esm/ion-col_3.entry.js +1 -1
  144. package/dist/esm/ion-datetime-button.entry.js +4 -4
  145. package/dist/esm/ion-datetime_3.entry.js +7 -7
  146. package/dist/esm/ion-fab_3.entry.js +2 -2
  147. package/dist/esm/ion-img.entry.js +2 -2
  148. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
  149. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  150. package/dist/esm/ion-input.entry.js +7 -7
  151. package/dist/esm/ion-item-option_3.entry.js +4 -4
  152. package/dist/esm/ion-item_8.entry.js +2 -2
  153. package/dist/esm/ion-loading.entry.js +6 -6
  154. package/dist/esm/ion-menu_3.entry.js +7 -7
  155. package/dist/esm/ion-modal.entry.js +43 -266
  156. package/dist/esm/ion-nav_2.entry.js +6 -6
  157. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  158. package/dist/esm/ion-picker-column.entry.js +2 -2
  159. package/dist/esm/ion-picker.entry.js +1 -1
  160. package/dist/esm/ion-popover.entry.js +7 -7
  161. package/dist/esm/ion-progress-bar.entry.js +2 -2
  162. package/dist/esm/ion-radio_2.entry.js +7 -37
  163. package/dist/esm/ion-range.entry.js +17 -7
  164. package/dist/esm/ion-refresher_2.entry.js +4 -4
  165. package/dist/esm/ion-reorder_2.entry.js +4 -4
  166. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  167. package/dist/esm/ion-route_4.entry.js +2 -2
  168. package/dist/esm/ion-searchbar.entry.js +2 -2
  169. package/dist/esm/ion-segment_2.entry.js +2 -2
  170. package/dist/esm/ion-select-modal.entry.js +6 -6
  171. package/dist/esm/ion-select_3.entry.js +11 -12
  172. package/dist/esm/ion-spinner.entry.js +1 -1
  173. package/dist/esm/ion-split-pane.entry.js +1 -1
  174. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  175. package/dist/esm/ion-tab_2.entry.js +2 -2
  176. package/dist/esm/ion-text.entry.js +1 -1
  177. package/dist/esm/ion-textarea.entry.js +7 -7
  178. package/dist/esm/ion-toast.entry.js +6 -6
  179. package/dist/esm/ion-toggle.entry.js +6 -7
  180. package/dist/esm/{ionic-global-c81d82ab.js → ionic-global-bf78a847.js} +2 -1
  181. package/dist/esm/ionic.js +3 -3
  182. package/dist/esm/{ios.transition-314468a2.js → ios.transition-e7a4de4f.js} +4 -4
  183. package/dist/esm/loader.js +3 -3
  184. package/dist/esm/{md.transition-a560e0e2.js → md.transition-290d8802.js} +4 -4
  185. package/dist/esm/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  186. package/dist/esm/{overlays-9a81f230.js → overlays-4ff6e618.js} +5 -5
  187. package/dist/esm/{status-tap-d07dbc82.js → status-tap-ba401484.js} +3 -4
  188. package/dist/esm/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  189. package/dist/esm-es5/app-globals-c10a1137.js +4 -0
  190. package/dist/esm-es5/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  191. package/dist/esm-es5/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  192. package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-44195e92.js} +1 -1
  193. package/dist/esm-es5/{helpers-9b49d7d2.js → helpers-13b816c6.js} +1 -1
  194. package/dist/esm-es5/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  195. package/dist/esm-es5/{index-6a5baab0.js → index-4b39521b.js} +1 -1
  196. package/dist/esm-es5/{index-7105cd59.js → index-6b548278.js} +1 -1
  197. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  198. package/dist/esm-es5/{index-dd0f7395.js → index-edf58462.js} +1 -1
  199. package/dist/esm-es5/index.js +1 -1
  200. package/dist/esm-es5/input-shims-5e5e47e8.js +4 -0
  201. package/dist/esm-es5/{input.utils-2f1029cf.js → input.utils-d3717b00.js} +1 -1
  202. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  203. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  204. package/dist/esm-es5/ion-alert.entry.js +1 -1
  205. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  206. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  207. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  208. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  209. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  210. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  211. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  212. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  213. package/dist/esm-es5/ion-chip.entry.js +1 -1
  214. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  215. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  216. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  217. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  218. package/dist/esm-es5/ion-img.entry.js +1 -1
  219. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  221. package/dist/esm-es5/ion-input.entry.js +1 -1
  222. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  223. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  224. package/dist/esm-es5/ion-loading.entry.js +1 -1
  225. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  226. package/dist/esm-es5/ion-modal.entry.js +1 -1
  227. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  228. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  229. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  230. package/dist/esm-es5/ion-picker.entry.js +1 -1
  231. package/dist/esm-es5/ion-popover.entry.js +1 -1
  232. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  233. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  234. package/dist/esm-es5/ion-range.entry.js +1 -1
  235. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  236. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  237. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  238. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  239. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  240. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  241. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  242. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  243. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  244. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  245. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  246. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  247. package/dist/esm-es5/ion-text.entry.js +1 -1
  248. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  249. package/dist/esm-es5/ion-toast.entry.js +1 -1
  250. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  251. package/dist/esm-es5/{ionic-global-c81d82ab.js → ionic-global-bf78a847.js} +1 -1
  252. package/dist/esm-es5/ionic.js +1 -1
  253. package/dist/esm-es5/{ios.transition-314468a2.js → ios.transition-e7a4de4f.js} +1 -1
  254. package/dist/esm-es5/loader.js +1 -1
  255. package/dist/esm-es5/md.transition-290d8802.js +4 -0
  256. package/dist/esm-es5/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  257. package/dist/esm-es5/{overlays-9a81f230.js → overlays-4ff6e618.js} +1 -1
  258. package/dist/esm-es5/status-tap-ba401484.js +4 -0
  259. package/dist/esm-es5/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  260. package/dist/html.html-data.json +0 -24
  261. package/dist/ionic/index.esm.js +1 -1
  262. package/dist/ionic/ionic.esm.js +1 -1
  263. package/dist/ionic/ionic.js +1 -1
  264. package/dist/ionic/{p-bb2a6761.entry.js → p-00d5ab83.entry.js} +1 -1
  265. package/dist/ionic/{p-73897169.system.js → p-0116e7d7.system.js} +1 -1
  266. package/dist/ionic/{p-5b932840.entry.js → p-026517fb.entry.js} +1 -1
  267. package/dist/ionic/{p-da8ef548.system.entry.js → p-05f90810.system.entry.js} +1 -1
  268. package/dist/ionic/p-06fee233.js +4 -0
  269. package/dist/ionic/{p-e32557bb.system.entry.js → p-0793353d.system.entry.js} +1 -1
  270. package/dist/ionic/{p-c935cfc9.js → p-07d0478c.js} +1 -1
  271. package/dist/ionic/{p-70af0afb.entry.js → p-13637707.entry.js} +1 -1
  272. package/dist/ionic/{p-df862603.entry.js → p-136ff13e.entry.js} +1 -1
  273. package/dist/ionic/{p-76446a85.entry.js → p-166f4ba0.entry.js} +1 -1
  274. package/dist/ionic/{p-fca17935.entry.js → p-16dd9c9b.entry.js} +1 -1
  275. package/dist/ionic/{p-a5b31c0f.entry.js → p-17c772fb.entry.js} +1 -1
  276. package/dist/ionic/{p-0bfffa34.system.entry.js → p-1b2657c9.system.entry.js} +1 -1
  277. package/dist/ionic/{p-4ad78edc.entry.js → p-1f62c30b.entry.js} +1 -1
  278. package/dist/ionic/{p-eeb5cb45.system.entry.js → p-213b12ce.system.entry.js} +2 -2
  279. package/dist/ionic/{p-990630ca.js → p-230af7f2.js} +1 -1
  280. package/dist/ionic/{p-dd0c9350.system.entry.js → p-25580c85.system.entry.js} +1 -1
  281. package/dist/ionic/p-30ec5574.entry.js +4 -0
  282. package/dist/ionic/{p-8818edd8.entry.js → p-31918ee1.entry.js} +1 -1
  283. package/dist/ionic/{p-bc616455.entry.js → p-327b452e.entry.js} +1 -1
  284. package/dist/ionic/{p-9b3bb24e.entry.js → p-34182275.entry.js} +1 -1
  285. package/dist/ionic/{p-2bc73fb5.js → p-3559bd4f.js} +1 -1
  286. package/dist/ionic/{p-acc8399c.system.entry.js → p-361ab803.system.entry.js} +2 -2
  287. package/dist/ionic/{p-d821466d.system.entry.js → p-364ed29d.system.entry.js} +1 -1
  288. package/dist/ionic/{p-265939f0.entry.js → p-37264dcc.entry.js} +1 -1
  289. package/dist/ionic/{p-f5d6624d.entry.js → p-379d9002.entry.js} +1 -1
  290. package/dist/ionic/{p-02e23f26.entry.js → p-37a21d70.entry.js} +1 -1
  291. package/dist/ionic/{p-77e7b7b6.system.entry.js → p-3fe95571.system.entry.js} +1 -1
  292. package/dist/ionic/p-4075165f.js +4 -0
  293. package/dist/ionic/p-4133f9ec.entry.js +4 -0
  294. package/dist/ionic/{p-afecb188.entry.js → p-42a9bb35.entry.js} +1 -1
  295. package/dist/ionic/{p-5010643d.system.entry.js → p-43df2d06.system.entry.js} +1 -1
  296. package/dist/ionic/{p-e8f34871.entry.js → p-441c2c8c.entry.js} +1 -1
  297. package/dist/ionic/{p-9962f63f.entry.js → p-4429e8c5.entry.js} +1 -1
  298. package/dist/ionic/{p-d1172fe3.system.entry.js → p-45109533.system.entry.js} +1 -1
  299. package/dist/ionic/{p-f3102647.system.entry.js → p-478dfa8c.system.entry.js} +1 -1
  300. package/dist/ionic/p-47ed8b64.entry.js +4 -0
  301. package/dist/ionic/{p-7ae680ba.system.entry.js → p-486dc46d.system.entry.js} +1 -1
  302. package/dist/ionic/{p-92365bc1.system.entry.js → p-48e13807.system.entry.js} +1 -1
  303. package/dist/ionic/{p-0eb2553a.system.entry.js → p-4a98a017.system.entry.js} +1 -1
  304. package/dist/ionic/p-4e8946f7.js +4 -0
  305. package/dist/ionic/{p-2abae1cc.system.entry.js → p-4eed0eb2.system.entry.js} +1 -1
  306. package/dist/ionic/p-51d4cdba.system.js +4 -0
  307. package/dist/ionic/{p-5126cf1e.system.js → p-52b61cba.system.js} +1 -1
  308. package/dist/ionic/{p-95775830.entry.js → p-56a8aa85.entry.js} +1 -1
  309. package/dist/ionic/{p-2515cb4d.system.entry.js → p-5996d3ad.system.entry.js} +1 -1
  310. package/dist/ionic/{p-346b2baf.js → p-5ae70860.js} +1 -1
  311. package/dist/ionic/{p-39dd4f62.js → p-5d1be985.js} +1 -1
  312. package/dist/ionic/{p-f78af648.system.entry.js → p-5d3dc32b.system.entry.js} +1 -1
  313. package/dist/ionic/{p-155c2bb0.entry.js → p-5e9733d0.entry.js} +1 -1
  314. package/dist/ionic/{p-f301a694.system.entry.js → p-6347c733.system.entry.js} +1 -1
  315. package/dist/ionic/{p-058e61eb.system.js → p-64bb1da1.system.js} +1 -1
  316. package/dist/ionic/p-665f9987.entry.js +4 -0
  317. package/dist/ionic/{p-578efda4.system.js → p-6a649fcd.system.js} +2 -2
  318. package/dist/ionic/p-6c85db7e.system.entry.js +4 -0
  319. package/dist/ionic/{p-bb11d9fb.js → p-6eb35904.js} +1 -1
  320. package/dist/ionic/{p-ecceeb90.js → p-6f3d8334.js} +1 -1
  321. package/dist/ionic/{p-fca6ef5f.system.entry.js → p-712b57f9.system.entry.js} +1 -1
  322. package/dist/ionic/p-71d528e6.entry.js +4 -0
  323. package/dist/ionic/{p-d99e8644.system.js → p-733f53f8.system.js} +1 -1
  324. package/dist/ionic/{p-18e101b7.system.entry.js → p-7a9407cc.system.entry.js} +2 -2
  325. package/dist/ionic/{p-d7bb5325.entry.js → p-80f2a47b.entry.js} +1 -1
  326. package/dist/ionic/{p-8cfba7e9.system.entry.js → p-830f1a37.system.entry.js} +1 -1
  327. package/dist/ionic/{p-62af944c.entry.js → p-85b1ffae.entry.js} +1 -1
  328. package/dist/ionic/{p-3c8e5c23.system.js → p-8911101b.system.js} +1 -1
  329. package/dist/ionic/{p-7a1766d6.js → p-89e678fa.js} +1 -1
  330. package/dist/ionic/{p-b3680e2f.system.js → p-8aa290af.system.js} +1 -1
  331. package/dist/ionic/p-8b367303.entry.js +4 -0
  332. package/dist/ionic/{p-41780810.entry.js → p-8c0d81a9.entry.js} +1 -1
  333. package/dist/ionic/p-8f3d6be8.entry.js +4 -0
  334. package/dist/ionic/{p-955c3eb8.entry.js → p-8f89c8e3.entry.js} +1 -1
  335. package/dist/ionic/{p-c32644d7.entry.js → p-91b944fa.entry.js} +1 -1
  336. package/dist/ionic/{p-af452fa4.system.js → p-953d9cf5.system.js} +1 -1
  337. package/dist/ionic/{p-5fce0c0b.system.entry.js → p-9c7efe25.system.entry.js} +1 -1
  338. package/dist/ionic/{p-bdad26e3.entry.js → p-9d4a8059.entry.js} +1 -1
  339. package/dist/ionic/p-9e23592d.system.js +4 -0
  340. package/dist/ionic/{p-c8d645b3.entry.js → p-a4b108a7.entry.js} +1 -1
  341. package/dist/ionic/{p-9de5c787.entry.js → p-a69cf9ea.entry.js} +1 -1
  342. package/dist/ionic/p-a749d4a9.entry.js +4 -0
  343. package/dist/ionic/{p-2507278c.system.entry.js → p-a873feda.system.entry.js} +1 -1
  344. package/dist/ionic/{p-2cbe5399.entry.js → p-a8d31cd5.entry.js} +1 -1
  345. package/dist/ionic/{p-655723eb.system.entry.js → p-ac2c154f.system.entry.js} +1 -1
  346. package/dist/ionic/p-acb5a6e4.entry.js +4 -0
  347. package/dist/ionic/{p-4d413973.system.entry.js → p-ae02a7ea.system.entry.js} +1 -1
  348. package/dist/ionic/p-afd6183a.system.entry.js +4 -0
  349. package/dist/ionic/p-b1c4a9db.js +4 -0
  350. package/dist/ionic/{p-af744710.system.entry.js → p-b533b7ab.system.entry.js} +1 -1
  351. package/dist/ionic/{p-d4ca0475.js → p-b566749e.js} +1 -1
  352. package/dist/ionic/p-b58057d4.js +4 -0
  353. package/dist/ionic/p-b5a10c8b.system.entry.js +4 -0
  354. package/dist/ionic/p-b6ee3fc7.system.entry.js +4 -0
  355. package/dist/ionic/{p-8e407469.system.js → p-bba0bc47.system.js} +1 -1
  356. package/dist/ionic/{p-10327ad2.system.entry.js → p-bc148b43.system.entry.js} +1 -1
  357. package/dist/ionic/{p-fec13c57.entry.js → p-c06312bf.entry.js} +1 -1
  358. package/dist/ionic/{p-860eb968.system.js → p-c09a2f58.system.js} +1 -1
  359. package/dist/ionic/{p-6d32975a.entry.js → p-c2583512.entry.js} +1 -1
  360. package/dist/ionic/p-c312ea08.entry.js +4 -0
  361. package/dist/ionic/{p-2ef3c7ee.system.entry.js → p-c3a51c19.system.entry.js} +1 -1
  362. package/dist/ionic/{p-f89cf011.system.entry.js → p-c3de6cd1.system.entry.js} +1 -1
  363. package/dist/ionic/p-c42a4dad.system.entry.js +4 -0
  364. package/dist/ionic/{p-a9e24ae2.system.entry.js → p-c55254f0.system.entry.js} +1 -1
  365. package/dist/ionic/{p-33a8a71b.entry.js → p-c66604e4.entry.js} +1 -1
  366. package/dist/ionic/{p-72ec9a26.entry.js → p-ca5eef42.entry.js} +1 -1
  367. package/dist/ionic/{p-037fc3f3.entry.js → p-cc991f05.entry.js} +1 -1
  368. package/dist/ionic/{p-7458862e.system.entry.js → p-d4896d36.system.entry.js} +1 -1
  369. package/dist/ionic/{p-1a5bc5f7.js → p-d60342e3.js} +1 -1
  370. package/dist/ionic/{p-5882bffa.system.entry.js → p-d6b3e734.system.entry.js} +1 -1
  371. package/dist/ionic/{p-acb30a5c.system.js → p-d7607262.system.js} +1 -1
  372. package/dist/ionic/{p-31a6efce.system.entry.js → p-d785235b.system.entry.js} +1 -1
  373. package/dist/ionic/{p-ed75fcfb.system.entry.js → p-d7fef52e.system.entry.js} +1 -1
  374. package/dist/ionic/{p-65346408.system.entry.js → p-d854f4bc.system.entry.js} +1 -1
  375. package/dist/ionic/{p-a69b9fc5.system.js → p-d86d7845.system.js} +1 -1
  376. package/dist/ionic/{p-dc146a2a.system.entry.js → p-de4fef3c.system.entry.js} +1 -1
  377. package/dist/ionic/p-e03cd18a.system.entry.js +4 -0
  378. package/dist/ionic/p-e03d645e.entry.js +4 -0
  379. package/dist/ionic/{p-84d08aae.system.entry.js → p-e0a2abde.system.entry.js} +1 -1
  380. package/dist/ionic/{p-d743e981.js → p-e25cd3c7.js} +1 -1
  381. package/dist/ionic/{p-484d855b.system.entry.js → p-e3be9fa8.system.entry.js} +2 -2
  382. package/dist/ionic/{p-56da53ad.system.entry.js → p-e4c1fd74.system.entry.js} +1 -1
  383. package/dist/ionic/{p-e2e19375.system.entry.js → p-e84da6cb.system.entry.js} +1 -1
  384. package/dist/ionic/{p-36c448fe.entry.js → p-eab9414f.entry.js} +1 -1
  385. package/dist/ionic/{p-9f3008d4.system.js → p-eb4ac14d.system.js} +1 -1
  386. package/dist/ionic/p-ebb85488.entry.js +4 -0
  387. package/dist/ionic/{p-89bf08c7.entry.js → p-ebd0a280.entry.js} +1 -1
  388. package/dist/ionic/{p-93e3654c.system.entry.js → p-ee41045b.system.entry.js} +1 -1
  389. package/dist/ionic/p-efa8edbc.system.js +4 -0
  390. package/dist/ionic/p-f1bbc785.js +4 -0
  391. package/dist/ionic/p-f4f255cb.system.js +4 -0
  392. package/dist/ionic/{p-4452a8ac.system.js → p-f5a536e1.system.js} +1 -1
  393. package/dist/ionic/{p-343b6b1d.system.js → p-f687573e.system.js} +1 -1
  394. package/dist/ionic/{p-95da3ae2.system.js → p-f6e7870b.system.js} +1 -1
  395. package/dist/ionic/p-f6fe87c1.js +4 -0
  396. package/dist/ionic/{p-f56752be.system.entry.js → p-f8ef15ba.system.entry.js} +1 -1
  397. package/dist/ionic/{p-e5849f8d.entry.js → p-fced06e0.entry.js} +1 -1
  398. package/dist/ionic/{p-7b98cebe.entry.js → p-fd2c0aa6.entry.js} +1 -1
  399. package/dist/ionic/{p-63c09585.system.entry.js → p-feab8373.system.entry.js} +1 -1
  400. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  401. package/dist/ionic/{p-4d3a5f86.js → p-ffb6d30e.js} +1 -1
  402. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  403. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  404. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  405. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  406. package/dist/types/components/modal/modal.d.ts +0 -11
  407. package/dist/types/components/radio/radio.d.ts +0 -19
  408. package/dist/types/components/select/select.d.ts +0 -6
  409. package/dist/types/components/toggle/toggle.d.ts +0 -6
  410. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  411. package/dist/types/components.d.ts +0 -48
  412. package/dist/types/utils/config.d.ts +0 -9
  413. package/dist/types/utils/helpers.d.ts +4 -0
  414. package/dist/types/utils/logging/index.d.ts +1 -13
  415. package/dist/types/utils/native/capacitor.d.ts +7 -1
  416. package/dist/types/utils/test/platform.utils.d.ts +1 -1
  417. package/hydrate/index.js +112 -344
  418. package/hydrate/index.mjs +112 -344
  419. package/package.json +5 -5
  420. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  421. package/dist/esm-es5/index-6ad967f3.js +0 -4
  422. package/dist/esm-es5/input-shims-dff819a9.js +0 -4
  423. package/dist/esm-es5/md.transition-a560e0e2.js +0 -4
  424. package/dist/esm-es5/status-tap-d07dbc82.js +0 -4
  425. package/dist/ionic/p-04e08129.entry.js +0 -4
  426. package/dist/ionic/p-0574e87e.js +0 -4
  427. package/dist/ionic/p-155f4d90.entry.js +0 -4
  428. package/dist/ionic/p-16bfb979.system.entry.js +0 -4
  429. package/dist/ionic/p-1f405274.js +0 -4
  430. package/dist/ionic/p-21227121.js +0 -4
  431. package/dist/ionic/p-22149a4f.js +0 -4
  432. package/dist/ionic/p-2c9eb774.system.js +0 -4
  433. package/dist/ionic/p-322c5fb4.system.js +0 -4
  434. package/dist/ionic/p-34479cfb.entry.js +0 -4
  435. package/dist/ionic/p-3e99e3e0.entry.js +0 -4
  436. package/dist/ionic/p-4129228f.system.entry.js +0 -4
  437. package/dist/ionic/p-42c9deb1.entry.js +0 -4
  438. package/dist/ionic/p-49a0e74c.entry.js +0 -4
  439. package/dist/ionic/p-52245809.js +0 -4
  440. package/dist/ionic/p-5375091b.system.entry.js +0 -4
  441. package/dist/ionic/p-5c9324c6.js +0 -4
  442. package/dist/ionic/p-67222c16.system.js +0 -4
  443. package/dist/ionic/p-712fedc9.entry.js +0 -4
  444. package/dist/ionic/p-80c6d619.entry.js +0 -4
  445. package/dist/ionic/p-8f51281f.entry.js +0 -4
  446. package/dist/ionic/p-9a100adc.entry.js +0 -4
  447. package/dist/ionic/p-a18470c6.entry.js +0 -4
  448. package/dist/ionic/p-af09741c.entry.js +0 -4
  449. package/dist/ionic/p-b936eb7e.system.entry.js +0 -4
  450. package/dist/ionic/p-c3802319.system.js +0 -4
  451. package/dist/ionic/p-e8d56122.js +0 -4
  452. package/dist/ionic/p-efbf5af5.system.entry.js +0 -4
  453. package/dist/ionic/p-f2613334.system.entry.js +0 -4
  454. package/dist/ionic/p-fbf86e62.system.js +0 -4
@@ -14,15 +14,10 @@ import { getIonMode } from "../../global/ionic-global";
14
14
  * @part container - The container for the radio mark.
15
15
  * @part label - The label text describing the radio.
16
16
  * @part mark - The checkmark or dot used to indicate the checked state.
17
- * @part supporting-text - Supporting text displayed beneath the radio label.
18
- * @part helper-text - Supporting text displayed beneath the radio label when the radio is valid.
19
- * @part error-text - Supporting text displayed beneath the radio label when the radio is invalid and touched.
20
17
  */
21
18
  export class Radio {
22
19
  constructor() {
23
20
  this.inputId = `ion-rb-${radioButtonIds++}`;
24
- this.helperTextId = `${this.inputId}-helper-text`;
25
- this.errorTextId = `${this.inputId}-error-text`;
26
21
  this.radioGroup = null;
27
22
  this.updateState = () => {
28
23
  if (this.radioGroup) {
@@ -62,8 +57,6 @@ export class Radio {
62
57
  this.color = undefined;
63
58
  this.name = this.inputId;
64
59
  this.disabled = false;
65
- this.errorText = undefined;
66
- this.helperText = undefined;
67
60
  this.value = undefined;
68
61
  this.labelPlacement = 'start';
69
62
  this.justify = undefined;
@@ -123,37 +116,11 @@ export class Radio {
123
116
  renderRadioControl() {
124
117
  return (h("div", { class: "radio-icon", part: "container" }, h("div", { class: "radio-inner", part: "mark" }), h("div", { class: "radio-ripple" })));
125
118
  }
126
- getHintTextID() {
127
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
128
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
129
- return errorTextId;
130
- }
131
- if (helperText) {
132
- return helperTextId;
133
- }
134
- return undefined;
135
- }
136
- /**
137
- * Responsible for rendering helper text and error text.
138
- * This element should only be rendered if hint text is set.
139
- */
140
- renderHintText() {
141
- const { helperText, errorText, helperTextId, errorTextId } = this;
142
- /**
143
- * undefined and empty string values should
144
- * be treated as not having helper/error text.
145
- */
146
- const hasHintText = !!helperText || !!errorText;
147
- if (!hasHintText) {
148
- return;
149
- }
150
- return (h("div", { class: "radio-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
151
- }
152
119
  render() {
153
120
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
154
121
  const mode = getIonMode(this);
155
122
  const inItem = hostContext('ion-item', el);
156
- return (h(Host, { key: '4f01024a74c1846438372c40519df1044f5b12b9', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
123
+ return (h(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
157
124
  [mode]: true,
158
125
  'in-item': inItem,
159
126
  'radio-checked': checked,
@@ -164,10 +131,10 @@ export class Radio {
164
131
  // Focus and active styling should not apply when the radio is in an item
165
132
  'ion-activatable': !inItem,
166
133
  'ion-focusable': !inItem,
167
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, tabindex: buttonTabindex }, h("label", { key: '59dc0343534e626692f3b71b32204c1b2b25d40a', class: "radio-wrapper" }, h("div", { key: '26d7d3faf1b02bb138fb2c46f83e824962b6b92e', class: {
134
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: 'f5673a798e6d87868339f046445f707e1d93b7b6', class: "radio-wrapper" }, h("div", { key: 'e9190c06f75a171cab63e3f74ccf771c3ed87005', class: {
168
135
  'label-text-wrapper': true,
169
136
  'label-text-wrapper-hidden': !hasLabel,
170
- }, part: "label" }, h("slot", { key: '9c3d8bb0c5cd3ce94d1e661d89587cf67c522bc0' }), this.renderHintText()), h("div", { key: '3183f79e2977ee001e69c23f73073555744281d8', class: "native-wrapper" }, this.renderRadioControl()))));
137
+ }, part: "label" }, h("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), h("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
171
138
  }
172
139
  static get is() { return "ion-radio"; }
173
140
  static get encapsulation() { return "shadow"; }
@@ -244,40 +211,6 @@ export class Radio {
244
211
  "reflect": false,
245
212
  "defaultValue": "false"
246
213
  },
247
- "errorText": {
248
- "type": "string",
249
- "mutable": false,
250
- "complexType": {
251
- "original": "string",
252
- "resolved": "string | undefined",
253
- "references": {}
254
- },
255
- "required": false,
256
- "optional": true,
257
- "docs": {
258
- "tags": [],
259
- "text": "Text that is placed under the radio label and displayed when an error is detected."
260
- },
261
- "attribute": "error-text",
262
- "reflect": false
263
- },
264
- "helperText": {
265
- "type": "string",
266
- "mutable": false,
267
- "complexType": {
268
- "original": "string",
269
- "resolved": "string | undefined",
270
- "references": {}
271
- },
272
- "required": false,
273
- "optional": true,
274
- "docs": {
275
- "tags": [],
276
- "text": "Text that is placed under the radio label and displayed when no error is detected."
277
- },
278
- "attribute": "helper-text",
279
- "reflect": false
280
- },
281
214
  "value": {
282
215
  "type": "any",
283
216
  "mutable": false,
@@ -175,39 +175,32 @@ input {
175
175
  align-items: center;
176
176
  }
177
177
 
178
- .radio-bottom {
179
- padding-top: 4px;
180
- display: flex;
178
+ :host(.radio-justify-space-between) .radio-wrapper {
181
179
  justify-content: space-between;
182
- font-size: 0.75rem;
183
- white-space: normal;
184
180
  }
185
181
 
186
- :host(.radio-label-placement-stacked) .radio-bottom {
187
- font-size: 1rem;
182
+ :host(.radio-justify-start) .radio-wrapper {
183
+ justify-content: start;
188
184
  }
189
185
 
190
- /**
191
- * Error text should only be shown when .ion-invalid is
192
- * present on the radio. Otherwise the helper text should
193
- * be shown.
194
- */
195
- .radio-bottom .error-text {
196
- display: none;
197
- color: var(--ion-color-danger, #c5000f);
186
+ :host(.radio-justify-end) .radio-wrapper {
187
+ justify-content: end;
198
188
  }
199
189
 
200
- .radio-bottom .helper-text {
201
- display: block;
202
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
190
+ :host(.radio-alignment-start) .radio-wrapper {
191
+ align-items: start;
203
192
  }
204
193
 
205
- :host(.ion-touched.ion-invalid) .radio-bottom .error-text {
206
- display: block;
194
+ :host(.radio-alignment-center) .radio-wrapper {
195
+ align-items: center;
207
196
  }
208
197
 
209
- :host(.ion-touched.ion-invalid) .radio-bottom .helper-text {
210
- display: none;
198
+ :host(.radio-justify-space-between),
199
+ :host(.radio-justify-start),
200
+ :host(.radio-justify-end),
201
+ :host(.radio-alignment-start),
202
+ :host(.radio-alignment-center) {
203
+ display: block;
211
204
  }
212
205
 
213
206
  /**
@@ -236,7 +229,6 @@ input {
236
229
  */
237
230
  :host(.radio-label-placement-end) .radio-wrapper {
238
231
  flex-direction: row-reverse;
239
- justify-content: start;
240
232
  }
241
233
 
242
234
  /**
@@ -278,7 +270,6 @@ input {
278
270
  */
279
271
  :host(.radio-label-placement-stacked) .radio-wrapper {
280
272
  flex-direction: column;
281
- text-align: center;
282
273
  }
283
274
 
284
275
  :host(.radio-label-placement-stacked) .label-text-wrapper {
@@ -324,34 +315,6 @@ input {
324
315
  }
325
316
  }
326
317
 
327
- :host(.radio-justify-space-between) .radio-wrapper {
328
- justify-content: space-between;
329
- }
330
-
331
- :host(.radio-justify-start) .radio-wrapper {
332
- justify-content: start;
333
- }
334
-
335
- :host(.radio-justify-end) .radio-wrapper {
336
- justify-content: end;
337
- }
338
-
339
- :host(.radio-alignment-start) .radio-wrapper {
340
- align-items: start;
341
- }
342
-
343
- :host(.radio-alignment-center) .radio-wrapper {
344
- align-items: center;
345
- }
346
-
347
- :host(.radio-justify-space-between),
348
- :host(.radio-justify-start),
349
- :host(.radio-justify-end),
350
- :host(.radio-alignment-start),
351
- :host(.radio-alignment-center) {
352
- display: block;
353
- }
354
-
355
318
  /**
356
319
  * Convert a font size to a dynamic font size.
357
320
  * Fonts that participate in Dynamic Type should use
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../utils/content/index";
6
- import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput } from "../../utils/helpers";
6
+ import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput, isSafeNumber } from "../../utils/helpers";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { isRTL } from "../../utils/rtl/index";
9
9
  import { createColorClasses, hostContext } from "../../utils/theme";
@@ -129,11 +129,17 @@ export class Range {
129
129
  this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
130
130
  }
131
131
  minChanged() {
132
+ if (!isSafeNumber(this.min)) {
133
+ this.min = 0;
134
+ }
132
135
  if (!this.noUpdate) {
133
136
  this.updateRatio();
134
137
  }
135
138
  }
136
139
  maxChanged() {
140
+ if (!isSafeNumber(this.max)) {
141
+ this.max = 100;
142
+ }
137
143
  if (!this.noUpdate) {
138
144
  this.updateRatio();
139
145
  }
@@ -564,7 +570,7 @@ export class Range {
564
570
  const needsEndAdjustment = inItem && !hasEndContent;
565
571
  const mode = getIonMode(this);
566
572
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
567
- return (h(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
573
+ return (h(Host, { key: '37f1c8a1f2952dcfc900d200884b3ac7a76a349c', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
568
574
  [mode]: true,
569
575
  'in-item': inItem,
570
576
  'range-disabled': disabled,
@@ -573,10 +579,10 @@ export class Range {
573
579
  [`range-label-placement-${labelPlacement}`]: true,
574
580
  'range-item-start-adjustment': needsStartAdjustment,
575
581
  'range-item-end-adjustment': needsEndAdjustment,
576
- }) }, h("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, h("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
582
+ }) }, h("label", { key: '2833c43f2f36b95ac21ca7700d85d28527c78936', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e73b0c070244ae7e1b97b4dab05e6a9da4f559a7', class: {
577
583
  'label-text-wrapper': true,
578
584
  'label-text-wrapper-hidden': !hasLabel,
579
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '87df1037b6b3337bd1fab05d33a26bf658c57914', class: "native-wrapper" }, h("slot", { key: '2cb88f101da49b70aeae29b0bf5445fac241bb2f', name: "start" }), this.renderRangeSlider(), h("slot", { key: '17b835cfb2bd9b8e1957afd425543ff02b913d83', name: "end" })))));
585
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '1a93a9e6cc9ff5b03c4d7318f36debe462ffd7ef', class: "native-wrapper" }, h("slot", { key: '976d52d2ae6d91fc872dfe0fd6a35716693af172', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'bad89f6db73b136313ed3a195e598c2c220181c0', name: "end" })))));
580
586
  }
581
587
  static get is() { return "ion-range"; }
582
588
  static get encapsulation() { return "shadow"; }
@@ -91,7 +91,6 @@ export class Select {
91
91
  this.expandedIcon = undefined;
92
92
  this.shape = undefined;
93
93
  this.value = undefined;
94
- this.required = false;
95
94
  }
96
95
  styleChanged() {
97
96
  this.emitStyle();
@@ -656,8 +655,8 @@ export class Select {
656
655
  return renderedLabel;
657
656
  }
658
657
  renderListbox() {
659
- const { disabled, inputId, isExpanded, required } = this;
660
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
658
+ const { disabled, inputId, isExpanded } = this;
659
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
661
660
  }
662
661
  render() {
663
662
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -688,7 +687,7 @@ export class Select {
688
687
  * TODO(FW-5592): Remove hasStartEndSlots condition
689
688
  */
690
689
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
691
- return (h(Host, { key: 'f7cf03de773cd85da42978e274d65cc1eb6ed8a3', onClick: this.onClick, class: createColorClasses(this.color, {
690
+ return (h(Host, { key: 'b2dca9ae25d88e4d9fdb55003041a66be5668fcf', onClick: this.onClick, class: createColorClasses(this.color, {
692
691
  [mode]: true,
693
692
  'in-item': inItem,
694
693
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -704,7 +703,7 @@ export class Select {
704
703
  [`select-justify-${justify}`]: justifyEnabled,
705
704
  [`select-shape-${shape}`]: shape !== undefined,
706
705
  [`select-label-placement-${labelPlacement}`]: true,
707
- }) }, h("label", { key: '91674f8f5cce37c87a7096d09b3f1d351cba1527', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '2229333833047db13ed2a01cb10bb6e6f774031d', class: "select-wrapper-inner" }, h("slot", { key: 'f2766bdf8bff261efa5711f72d9edef407e45189', name: "start" }), h("div", { key: '84fec020ecaaac41298a01dbffdbb2f3744170b4', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9b91237d7a1621bce1e15546abcb4f6b74cccc5f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e02aea3e8f344376013257f5261a29408e62b359', class: "select-highlight" }))));
706
+ }) }, h("label", { key: 'c22fe9aee8cd448223497ef143e89529fcef8af6', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '601972df4579f4fa6a9c2c12865593e807decb72', class: "select-wrapper-inner" }, h("slot", { key: '5f7b1261862f74b978b26f026533e3fd1cc666ba', name: "start" }), h("div", { key: '39616da89f4b4b78432f6da85116a7de2ca589e7', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '1d7b3601b73af7c05b3627cfc8e5147ea379bb03', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'b0344f0ac15003e22fee66d3d7ed03a07da7e8b7', class: "select-highlight" }))));
708
707
  }
709
708
  static get is() { return "ion-select"; }
710
709
  static get encapsulation() { return "shadow"; }
@@ -1070,24 +1069,6 @@ export class Select {
1070
1069
  },
1071
1070
  "attribute": "value",
1072
1071
  "reflect": false
1073
- },
1074
- "required": {
1075
- "type": "boolean",
1076
- "mutable": false,
1077
- "complexType": {
1078
- "original": "boolean",
1079
- "resolved": "boolean",
1080
- "references": {}
1081
- },
1082
- "required": false,
1083
- "optional": false,
1084
- "docs": {
1085
- "tags": [],
1086
- "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
1087
- },
1088
- "attribute": "required",
1089
- "reflect": false,
1090
- "defaultValue": "false"
1091
1072
  }
1092
1073
  };
1093
1074
  }
@@ -373,7 +373,6 @@
373
373
  justify-content: space-between;
374
374
  border-top: var(--border-width) var(--border-style) var(--border-color);
375
375
  font-size: 0.75rem;
376
- white-space: normal;
377
376
  }
378
377
 
379
378
  /**
@@ -397,7 +396,7 @@
397
396
 
398
397
  .textarea-bottom .helper-text {
399
398
  display: block;
400
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
399
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
401
400
  }
402
401
 
403
402
  :host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
@@ -416,7 +415,7 @@
416
415
  */
417
416
  -webkit-margin-start: auto;
418
417
  margin-inline-start: auto;
419
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
418
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
420
419
  white-space: nowrap;
421
420
  padding-inline-start: 16px;
422
421
  }
@@ -373,7 +373,6 @@
373
373
  justify-content: space-between;
374
374
  border-top: var(--border-width) var(--border-style) var(--border-color);
375
375
  font-size: 0.75rem;
376
- white-space: normal;
377
376
  }
378
377
 
379
378
  /**
@@ -397,7 +396,7 @@
397
396
 
398
397
  .textarea-bottom .helper-text {
399
398
  display: block;
400
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
399
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
401
400
  }
402
401
 
403
402
  :host(.ion-touched.ion-invalid) .textarea-bottom .error-text {
@@ -416,7 +415,7 @@
416
415
  */
417
416
  -webkit-margin-start: auto;
418
417
  margin-inline-start: auto;
419
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
418
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
420
419
  white-space: nowrap;
421
420
  padding-inline-start: 16px;
422
421
  }
@@ -929,10 +928,6 @@
929
928
  --border-color: var(--highlight-color);
930
929
  }
931
930
 
932
- /**
933
- * The bottom content should never have
934
- * a border with the solid style.
935
- */
936
931
  :host(.textarea-fill-solid) .textarea-bottom {
937
932
  border-top: none;
938
933
  }
@@ -71,7 +71,6 @@ export class Toggle {
71
71
  this.labelPlacement = 'start';
72
72
  this.justify = undefined;
73
73
  this.alignment = undefined;
74
- this.required = false;
75
74
  }
76
75
  disabledChanged() {
77
76
  if (this.gesture) {
@@ -153,12 +152,12 @@ export class Toggle {
153
152
  return this.el.textContent !== '';
154
153
  }
155
154
  render() {
156
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
155
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
157
156
  const mode = getIonMode(this);
158
157
  const value = this.getValue();
159
158
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
160
159
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
161
- return (h(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses(color, {
160
+ return (h(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses(color, {
162
161
  [mode]: true,
163
162
  'in-item': hostContext('ion-item', el),
164
163
  'toggle-activated': activated,
@@ -168,10 +167,10 @@ export class Toggle {
168
167
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
169
168
  [`toggle-label-placement-${labelPlacement}`]: true,
170
169
  [`toggle-${rtl}`]: true,
171
- }) }, h("label", { key: '484860e2a33f4d123904edb96159f0e1972d3add', class: "toggle-wrapper" }, h("input", Object.assign({ key: '360b53080aacfd99a9ff60ffb5219816bd4163ee', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, this.inheritedAttributes)), h("div", { key: 'f7239fa668fe11257239ea30cf0198e4f3274f6b', class: {
170
+ }) }, h("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, h("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
172
171
  'label-text-wrapper': true,
173
172
  'label-text-wrapper-hidden': !this.hasLabel,
174
- }, part: "label" }, h("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), h("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
173
+ }, part: "label" }, h("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), h("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
175
174
  }
176
175
  static get is() { return "ion-toggle"; }
177
176
  static get encapsulation() { return "shadow"; }
@@ -353,24 +352,6 @@ export class Toggle {
353
352
  },
354
353
  "attribute": "alignment",
355
354
  "reflect": false
356
- },
357
- "required": {
358
- "type": "boolean",
359
- "mutable": false,
360
- "complexType": {
361
- "original": "boolean",
362
- "resolved": "boolean",
363
- "references": {}
364
- },
365
- "required": false,
366
- "optional": false,
367
- "docs": {
368
- "tags": [],
369
- "text": "If true, screen readers will announce it as a required field. This property\nworks only for accessibility purposes, it will not prevent the form from\nsubmitting if the value is invalid."
370
- },
371
- "attribute": "required",
372
- "reflect": false,
373
- "defaultValue": "false"
374
355
  }
375
356
  };
376
357
  }
@@ -12,10 +12,6 @@ import { getIonMode } from "../../global/ionic-global";
12
12
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
13
13
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
14
14
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
15
- *
16
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
17
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
18
- * @part content - The container for the default slot, wrapping content provided without a named slot.
19
15
  */
20
16
  export class Toolbar {
21
17
  constructor() {
@@ -66,10 +62,10 @@ export class Toolbar {
66
62
  this.childrenStyles.forEach((value) => {
67
63
  Object.assign(childStyles, value);
68
64
  });
69
- return (h(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
65
+ return (h(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
70
66
  [mode]: true,
71
67
  'in-toolbar': hostContext('ion-toolbar', this.el),
72
- })) }, h("div", { key: '443a216362bbbf1c149ed12140d52b0f0ea2d664', class: "toolbar-background", part: "background" }), h("div", { key: '1df87f4027d605e42757a13d4828df45b90a4fdc', class: "toolbar-container", part: "container" }, h("slot", { key: 'f66f34972be8e3f4915b9c6f5808600dbaedb1ea', name: "start" }), h("slot", { key: '14f38b0975e956f404c4eb3ee56f2055c6615276', name: "secondary" }), h("div", { key: '75ba5953a25c7544793484d2b245792cb0a5af75', class: "toolbar-content", part: "content" }, h("slot", { key: '149dfa58ff7106f318fecb4134e7c69edf8bc231' })), h("slot", { key: '807ab9ad21d7f1d9d427a4086460bcb9e5e8c019', name: "primary" }), h("slot", { key: 'bd2f9da95d2fa8e74dc6e0666587ceecbba99d9f', name: "end" }))));
68
+ })) }, h("div", { key: 'c0b4415d3b2472de643a9be7cb3b13b3b628621b', class: "toolbar-background" }), h("div", { key: '0ccb8a2dbeaa28d8f9bed87629c0c097446690c2', class: "toolbar-container" }, h("slot", { key: '3e726dac359e923df21d80301651f16063a3de20', name: "start" }), h("slot", { key: 'cd799330b56a7f8833bc61bb2807aafb21846f71', name: "secondary" }), h("div", { key: '395282e6ac8c53576922dcdb5f08c25d34638c86', class: "toolbar-content" }, h("slot", { key: 'a437c60e4ba5aae65e55169ae82a6f379868ec1d' })), h("slot", { key: '711af9b9d321a7b31ede924c9bdcad767aa9a1ca', name: "primary" }), h("slot", { key: 'ecc02edeaf80a837890bcb08d5096df1e22a0b9a', name: "end" }))));
73
69
  }
74
70
  static get is() { return "ion-toolbar"; }
75
71
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { isSafeNumber } from "../helpers";
4
5
  export function getDecimalPlaces(n) {
6
+ if (!isSafeNumber(n))
7
+ return 0;
5
8
  if (n % 1 === 0)
6
9
  return 0;
7
10
  return n.toString().split('.')[1].length;
@@ -39,6 +42,8 @@ export function getDecimalPlaces(n) {
39
42
  * be used as a reference for the desired specificity.
40
43
  */
41
44
  export function roundToMaxDecimalPlaces(n, ...references) {
45
+ if (!isSafeNumber(n))
46
+ return 0;
42
47
  const maxPlaces = Math.max(...references.map((r) => getDecimalPlaces(r)));
43
48
  return Number(n.toFixed(maxPlaces));
44
49
  }
@@ -374,3 +374,9 @@ export const getNextSiblingOfType = (element) => {
374
374
  }
375
375
  return null;
376
376
  };
377
+ /**
378
+ * Checks input for usable number. Not NaN and not Infinite.
379
+ */
380
+ export const isSafeNumber = (input) => {
381
+ return typeof input === 'number' && !isNaN(input) && isFinite(input);
382
+ };
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { config } from "../../global/config";
5
4
  /**
6
5
  * Logs a warning to the console with an Ionic prefix
7
6
  * to indicate the library that is warning the developer.
@@ -9,12 +8,9 @@ import { config } from "../../global/config";
9
8
  * @param message - The string message to be logged to the console.
10
9
  */
11
10
  export const printIonWarning = (message, ...params) => {
12
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
13
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
14
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
15
- }
11
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
16
12
  };
17
- /**
13
+ /*
18
14
  * Logs an error to the console with an Ionic prefix
19
15
  * to indicate the library that is warning the developer.
20
16
  *
@@ -22,10 +18,7 @@ export const printIonWarning = (message, ...params) => {
22
18
  * @param params - Additional arguments to supply to the console.error.
23
19
  */
24
20
  export const printIonError = (message, ...params) => {
25
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
26
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
27
- return console.error(`[Ionic Error]: ${message}`, ...params);
28
- }
21
+ return console.error(`[Ionic Error]: ${message}`, ...params);
29
22
  };
30
23
  /**
31
24
  * Prints an error informing developers that an implementation requires an element to be used
@@ -67,7 +67,8 @@ const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
67
67
  const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
68
68
  const isCapacitorNative = (win) => {
69
69
  const capacitor = win['Capacitor'];
70
- return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative);
70
+ // TODO(ROU-11693): Remove when we no longer support Capacitor 2, which does not have isNativePlatform
71
+ return !!((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNative) || ((capacitor === null || capacitor === void 0 ? void 0 : capacitor.isNativePlatform) && !!capacitor.isNativePlatform()));
71
72
  };
72
73
  const isElectron = (win) => testUserAgent(win, /electron/i);
73
74
  const isPWA = (win) => { var _a; return !!(((_a = win.matchMedia) === null || _a === void 0 ? void 0 : _a.call(win, '(display-mode: standalone)').matches) || win.navigator.standalone); };
@@ -28,7 +28,7 @@ export const PlatformConfiguration = {
28
28
  },
29
29
  Capacitor: {
30
30
  Capacitor: {
31
- isNative: true,
31
+ isNativePlatform: () => true,
32
32
  },
33
33
  },
34
34
  PWA: {