voyager-ionic-core 8.4.3 → 8.5.0

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 (605) hide show
  1. package/components/alert.js +30 -4
  2. package/components/checkbox.js +40 -6
  3. package/components/helpers.js +17 -29
  4. package/components/index6.js +11 -3
  5. package/components/index9.js +1 -1
  6. package/components/ion-input.js +22 -9
  7. package/components/ion-item-divider.js +2 -2
  8. package/components/ion-item-group.js +1 -1
  9. package/components/ion-item-option.js +2 -2
  10. package/components/ion-item-options.js +1 -1
  11. package/components/ion-item-sliding.js +1 -1
  12. package/components/ion-loading.js +2 -2
  13. package/components/ion-menu-button.js +2 -2
  14. package/components/ion-menu-toggle.js +2 -2
  15. package/components/ion-menu.js +2 -2
  16. package/components/ion-nav-link.js +1 -1
  17. package/components/ion-nav.js +1 -1
  18. package/components/ion-note.js +2 -2
  19. package/components/ion-picker-legacy.js +2 -2
  20. package/components/ion-progress-bar.js +1 -1
  21. package/components/ion-range.js +28 -6
  22. package/components/ion-refresher-content.js +1 -1
  23. package/components/ion-refresher.js +1 -1
  24. package/components/ion-reorder-group.js +1 -1
  25. package/components/ion-reorder.js +1 -1
  26. package/components/ion-router-link.js +2 -2
  27. package/components/ion-router-outlet.js +1 -1
  28. package/components/ion-router.js +1 -1
  29. package/components/ion-row.js +1 -1
  30. package/components/ion-searchbar.js +4 -4
  31. package/components/ion-segment-button.js +40 -9
  32. package/components/ion-segment-content.js +1 -1
  33. package/components/ion-segment-view.js +2 -2
  34. package/components/ion-segment.js +2 -2
  35. package/components/ion-select-option.js +1 -1
  36. package/components/ion-select.js +87 -16
  37. package/components/ion-skeleton-text.js +2 -2
  38. package/components/ion-split-pane.js +2 -2
  39. package/components/ion-tab-bar.js +2 -2
  40. package/components/ion-tab-button.js +2 -2
  41. package/components/ion-tab.js +2 -2
  42. package/components/ion-tabs.js +1 -1
  43. package/components/ion-text.js +2 -2
  44. package/components/ion-textarea.js +21 -8
  45. package/components/ion-thumbnail.js +1 -1
  46. package/components/ion-toast.js +2 -2
  47. package/components/ion-toggle.js +41 -6
  48. package/components/ionic-global.js +3 -13
  49. package/components/label.js +2 -2
  50. package/components/list-header.js +2 -2
  51. package/components/modal.js +267 -35
  52. package/components/picker-column-option.js +2 -2
  53. package/components/picker-column2.js +2 -2
  54. package/components/popover.js +2 -2
  55. package/components/radio-group.js +39 -2
  56. package/components/radio.js +3 -3
  57. package/components/ripple-effect.js +1 -1
  58. package/components/select-modal.js +1 -1
  59. package/components/select-popover.js +1 -1
  60. package/components/spinner.js +1 -1
  61. package/components/title.js +2 -2
  62. package/components/toolbar.js +2 -2
  63. package/css/core.css.map +1 -1
  64. package/css/ionic.bundle.css.map +1 -1
  65. package/dist/cjs/{app-globals-21afee77.js → app-globals-dd592863.js} +1 -1
  66. package/dist/cjs/{button-active-3f2f60b4.js → button-active-43e2b419.js} +1 -1
  67. package/dist/cjs/{data-21dc0f81.js → data-27cc2c9c.js} +1 -1
  68. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-11b0ba2f.js} +1 -1
  69. package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-5a99001f.js} +2 -2
  70. package/dist/cjs/{helpers-afaa9001.js → helpers-d0dfbb50.js} +18 -28
  71. package/dist/cjs/{index-73f75efb.js → index-2e236a04.js} +0 -4
  72. package/dist/cjs/{index-9509ecad.js → index-363fe6b2.js} +1 -1
  73. package/dist/cjs/{index-5915f9b3.js → index-48b2a28e.js} +11 -3
  74. package/dist/cjs/{index-5b6a7459.js → index-9b945a2d.js} +2 -2
  75. package/dist/cjs/{index-f05acd21.js → index-f68a486a.js} +6 -6
  76. package/dist/cjs/{index-8e789962.js → index-fd6383b6.js} +4 -4
  77. package/dist/cjs/index.cjs.js +11 -11
  78. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-2d27a5be.js} +5 -3
  79. package/dist/cjs/{input.utils-611cde0b.js → input.utils-2f642324.js} +2 -2
  80. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  81. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  82. package/dist/cjs/ion-alert.cjs.entry.js +38 -12
  83. package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
  84. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  88. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  89. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  90. package/dist/cjs/ion-checkbox.cjs.entry.js +40 -9
  91. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -5
  94. package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
  95. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  98. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  99. package/dist/cjs/ion-input.cjs.entry.js +25 -13
  100. package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
  101. package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
  102. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  103. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
  104. package/dist/cjs/ion-modal.cjs.entry.js +275 -44
  105. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -9
  106. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  107. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-popover.cjs.entry.js +10 -10
  110. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-radio_2.cjs.entry.js +42 -7
  112. package/dist/cjs/ion-range.cjs.entry.js +31 -10
  113. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  114. package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
  115. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  117. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
  118. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
  120. package/dist/cjs/ion-segment_2.cjs.entry.js +44 -13
  121. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
  122. package/dist/cjs/ion-select_3.cjs.entry.js +93 -25
  123. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  124. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  125. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  126. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  127. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  128. package/dist/cjs/ion-textarea.cjs.entry.js +24 -12
  129. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  130. package/dist/cjs/ion-toggle.cjs.entry.js +41 -9
  131. package/dist/cjs/{ionic-global-d9a8bb5b.js → ionic-global-acb665ad.js} +3 -13
  132. package/dist/cjs/ionic.cjs.js +4 -4
  133. package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-f970164c.js} +5 -5
  134. package/dist/cjs/loader.cjs.js +4 -4
  135. package/dist/cjs/{md.transition-ededf99f.js → md.transition-aa8820dd.js} +5 -5
  136. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-58d2e557.js} +1 -1
  137. package/dist/cjs/{overlays-aa669eb8.js → overlays-737576a2.js} +5 -5
  138. package/dist/cjs/{status-tap-37681226.js → status-tap-08d1ac81.js} +5 -4
  139. package/dist/cjs/{swipe-back-f38a434a.js → swipe-back-5c0003bd.js} +1 -1
  140. package/dist/collection/components/alert/alert.js +34 -4
  141. package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
  142. package/dist/collection/components/checkbox/checkbox.js +90 -4
  143. package/dist/collection/components/checkbox/checkbox.md.css +52 -15
  144. package/dist/collection/components/input/input.ios.css +3 -2
  145. package/dist/collection/components/input/input.js +18 -4
  146. package/dist/collection/components/input/input.md.css +7 -2
  147. package/dist/collection/components/item-divider/item-divider.js +2 -2
  148. package/dist/collection/components/item-group/item-group.js +1 -1
  149. package/dist/collection/components/item-option/item-option.js +2 -2
  150. package/dist/collection/components/item-options/item-options.js +1 -1
  151. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  152. package/dist/collection/components/label/label.js +2 -2
  153. package/dist/collection/components/list-header/list-header.js +2 -2
  154. package/dist/collection/components/loading/loading.js +2 -2
  155. package/dist/collection/components/menu/menu.js +2 -2
  156. package/dist/collection/components/menu-button/menu-button.js +2 -2
  157. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  158. package/dist/collection/components/modal/animations/ios.enter.js +50 -4
  159. package/dist/collection/components/modal/animations/ios.leave.js +24 -2
  160. package/dist/collection/components/modal/animations/md.enter.js +52 -5
  161. package/dist/collection/components/modal/animations/md.leave.js +26 -3
  162. package/dist/collection/components/modal/animations/sheet.js +11 -2
  163. package/dist/collection/components/modal/gestures/sheet.js +87 -10
  164. package/dist/collection/components/modal/modal.ios.css +16 -0
  165. package/dist/collection/components/modal/modal.js +32 -7
  166. package/dist/collection/components/modal/modal.md.css +6 -0
  167. package/dist/collection/components/nav/nav.js +1 -1
  168. package/dist/collection/components/nav-link/nav-link.js +1 -1
  169. package/dist/collection/components/note/note.js +2 -2
  170. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  171. package/dist/collection/components/picker-legacy/picker.js +2 -2
  172. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  173. package/dist/collection/components/popover/popover.js +2 -2
  174. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  175. package/dist/collection/components/radio/radio.js +3 -3
  176. package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
  177. package/dist/collection/components/radio-group/radio-group.js +72 -1
  178. package/dist/collection/components/radio-group/radio-group.md.css +205 -0
  179. package/dist/collection/components/range/range.js +25 -6
  180. package/dist/collection/components/refresher/refresher.js +1 -1
  181. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  182. package/dist/collection/components/reorder/reorder.js +1 -1
  183. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  184. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  185. package/dist/collection/components/router-link/router-link.js +2 -2
  186. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  187. package/dist/collection/components/row/row.js +1 -1
  188. package/dist/collection/components/searchbar/searchbar.js +4 -4
  189. package/dist/collection/components/segment/segment.js +2 -2
  190. package/dist/collection/components/segment-button/segment-button.js +40 -9
  191. package/dist/collection/components/segment-content/segment-content.js +1 -1
  192. package/dist/collection/components/segment-view/segment-view.js +2 -2
  193. package/dist/collection/components/select/select.ios.css +59 -0
  194. package/dist/collection/components/select/select.js +136 -13
  195. package/dist/collection/components/select/select.md.css +61 -0
  196. package/dist/collection/components/select-modal/select-modal.js +1 -1
  197. package/dist/collection/components/select-option/select-option.js +1 -1
  198. package/dist/collection/components/select-popover/select-popover.js +1 -1
  199. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  200. package/dist/collection/components/spinner/spinner.js +1 -1
  201. package/dist/collection/components/split-pane/split-pane.js +2 -2
  202. package/dist/collection/components/tab/tab.js +2 -2
  203. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  204. package/dist/collection/components/tab-button/tab-button.js +2 -2
  205. package/dist/collection/components/tabs/tabs.js +1 -1
  206. package/dist/collection/components/text/text.js +2 -2
  207. package/dist/collection/components/textarea/textarea.ios.css +3 -2
  208. package/dist/collection/components/textarea/textarea.js +17 -3
  209. package/dist/collection/components/textarea/textarea.md.css +7 -2
  210. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  211. package/dist/collection/components/title/title.js +2 -2
  212. package/dist/collection/components/toast/toast.js +2 -2
  213. package/dist/collection/components/toggle/toggle.ios.css +52 -15
  214. package/dist/collection/components/toggle/toggle.js +91 -4
  215. package/dist/collection/components/toggle/toggle.md.css +52 -15
  216. package/dist/collection/components/toolbar/toolbar.js +6 -2
  217. package/dist/collection/global/ionic-global.js +1 -12
  218. package/dist/collection/utils/floating-point/index.js +5 -0
  219. package/dist/collection/utils/helpers.js +16 -28
  220. package/dist/collection/utils/logging/index.js +10 -3
  221. package/dist/collection/utils/platform.js +2 -1
  222. package/dist/collection/utils/test/platform.utils.js +1 -1
  223. package/dist/docs.json +383 -2
  224. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-7b6cbf1a.js} +1 -1
  225. package/dist/esm/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
  226. package/dist/esm/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
  227. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
  228. package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +2 -2
  229. package/dist/esm/{helpers-da915de8.js → helpers-e48b0397.js} +17 -29
  230. package/dist/esm/{index-28849c61.js → index-527b9e34.js} +1 -4
  231. package/dist/esm/{index-9b0d46f4.js → index-738d7504.js} +11 -3
  232. package/dist/esm/{index-79b30591.js → index-8222b29f.js} +1 -1
  233. package/dist/esm/{index-5cc724f3.js → index-933ca126.js} +2 -2
  234. package/dist/esm/{index-3ad7f18b.js → index-a313df53.js} +6 -6
  235. package/dist/esm/{index-24b48b06.js → index-c63afbe6.js} +4 -4
  236. package/dist/esm/index.js +11 -11
  237. package/dist/esm/{input-shims-0314bbe5.js → input-shims-3070628a.js} +5 -3
  238. package/dist/esm/{input.utils-09c71bc7.js → input.utils-926c04a8.js} +2 -2
  239. package/dist/esm/ion-accordion_2.entry.js +4 -4
  240. package/dist/esm/ion-action-sheet.entry.js +8 -8
  241. package/dist/esm/ion-alert.entry.js +38 -12
  242. package/dist/esm/ion-app_8.entry.js +18 -18
  243. package/dist/esm/ion-avatar_3.entry.js +3 -3
  244. package/dist/esm/ion-back-button.entry.js +3 -3
  245. package/dist/esm/ion-backdrop.entry.js +2 -2
  246. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  247. package/dist/esm/ion-button_2.entry.js +4 -4
  248. package/dist/esm/ion-card_5.entry.js +3 -3
  249. package/dist/esm/ion-checkbox.entry.js +40 -9
  250. package/dist/esm/ion-chip.entry.js +2 -2
  251. package/dist/esm/ion-col_3.entry.js +3 -3
  252. package/dist/esm/ion-datetime-button.entry.js +5 -5
  253. package/dist/esm/ion-datetime_3.entry.js +12 -12
  254. package/dist/esm/ion-fab_3.entry.js +3 -3
  255. package/dist/esm/ion-img.entry.js +3 -3
  256. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  257. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  258. package/dist/esm/ion-input.entry.js +25 -13
  259. package/dist/esm/ion-item-option_3.entry.js +9 -9
  260. package/dist/esm/ion-item_8.entry.js +14 -14
  261. package/dist/esm/ion-loading.entry.js +9 -9
  262. package/dist/esm/ion-menu_3.entry.js +14 -14
  263. package/dist/esm/ion-modal.entry.js +275 -44
  264. package/dist/esm/ion-nav_2.entry.js +9 -9
  265. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  266. package/dist/esm/ion-picker-column.entry.js +3 -3
  267. package/dist/esm/ion-picker.entry.js +2 -2
  268. package/dist/esm/ion-popover.entry.js +10 -10
  269. package/dist/esm/ion-progress-bar.entry.js +4 -4
  270. package/dist/esm/ion-radio_2.entry.js +42 -7
  271. package/dist/esm/ion-range.entry.js +31 -10
  272. package/dist/esm/ion-refresher_2.entry.js +7 -7
  273. package/dist/esm/ion-reorder_2.entry.js +7 -7
  274. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  275. package/dist/esm/ion-route_4.entry.js +5 -5
  276. package/dist/esm/ion-searchbar.entry.js +7 -7
  277. package/dist/esm/ion-segment-content.entry.js +2 -2
  278. package/dist/esm/ion-segment-view.entry.js +3 -3
  279. package/dist/esm/ion-segment_2.entry.js +44 -13
  280. package/dist/esm/ion-select-modal.entry.js +8 -8
  281. package/dist/esm/ion-select_3.entry.js +93 -25
  282. package/dist/esm/ion-spinner.entry.js +3 -3
  283. package/dist/esm/ion-split-pane.entry.js +4 -4
  284. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  285. package/dist/esm/ion-tab_2.entry.js +6 -6
  286. package/dist/esm/ion-text.entry.js +4 -4
  287. package/dist/esm/ion-textarea.entry.js +24 -12
  288. package/dist/esm/ion-toast.entry.js +9 -9
  289. package/dist/esm/ion-toggle.entry.js +41 -9
  290. package/dist/esm/{ionic-global-c81d82ab.js → ionic-global-ca86cf32.js} +3 -13
  291. package/dist/esm/ionic.js +5 -5
  292. package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +5 -5
  293. package/dist/esm/loader.js +5 -5
  294. package/dist/esm/{md.transition-5106a0d2.js → md.transition-3d0d3730.js} +5 -5
  295. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
  296. package/dist/esm/{overlays-e7b9d6d9.js → overlays-7579a420.js} +5 -5
  297. package/dist/esm/{status-tap-f472b09f.js → status-tap-6367b913.js} +5 -4
  298. package/dist/esm/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
  299. package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
  300. package/dist/esm-es5/{button-active-f6503382.js → button-active-90f1dbc4.js} +1 -1
  301. package/dist/esm-es5/{data-ae11fd43.js → data-174ad5e0.js} +1 -1
  302. package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-c7d92b77.js} +1 -1
  303. package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-864101a3.js} +1 -1
  304. package/dist/esm-es5/helpers-e48b0397.js +4 -0
  305. package/dist/esm-es5/index-527b9e34.js +5 -0
  306. package/dist/esm-es5/index-738d7504.js +4 -0
  307. package/dist/esm-es5/{index-79b30591.js → index-8222b29f.js} +1 -1
  308. package/dist/esm-es5/{index-5cc724f3.js → index-933ca126.js} +1 -1
  309. package/dist/esm-es5/{index-3ad7f18b.js → index-a313df53.js} +1 -1
  310. package/dist/esm-es5/{index-24b48b06.js → index-c63afbe6.js} +1 -1
  311. package/dist/esm-es5/index.js +1 -1
  312. package/dist/esm-es5/input-shims-3070628a.js +4 -0
  313. package/dist/esm-es5/{input.utils-09c71bc7.js → input.utils-926c04a8.js} +1 -1
  314. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  315. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  316. package/dist/esm-es5/ion-alert.entry.js +1 -1
  317. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  318. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  319. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  320. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  321. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  323. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  324. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  325. package/dist/esm-es5/ion-chip.entry.js +1 -1
  326. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  327. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  328. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  329. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  330. package/dist/esm-es5/ion-img.entry.js +1 -1
  331. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  332. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  333. package/dist/esm-es5/ion-input.entry.js +1 -1
  334. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  335. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  336. package/dist/esm-es5/ion-loading.entry.js +1 -1
  337. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  338. package/dist/esm-es5/ion-modal.entry.js +1 -1
  339. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  340. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  341. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  342. package/dist/esm-es5/ion-picker.entry.js +1 -1
  343. package/dist/esm-es5/ion-popover.entry.js +1 -1
  344. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  345. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  346. package/dist/esm-es5/ion-range.entry.js +1 -1
  347. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  348. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  349. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  350. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  351. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  352. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  353. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  354. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  355. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  356. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  357. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  358. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  359. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  360. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  361. package/dist/esm-es5/ion-text.entry.js +1 -1
  362. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  363. package/dist/esm-es5/ion-toast.entry.js +1 -1
  364. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  365. package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
  366. package/dist/esm-es5/ionic.js +1 -1
  367. package/dist/esm-es5/{ios.transition-4ee1a3af.js → ios.transition-5fe4d6c8.js} +1 -1
  368. package/dist/esm-es5/loader.js +1 -1
  369. package/dist/esm-es5/md.transition-3d0d3730.js +4 -0
  370. package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-381a5334.js} +1 -1
  371. package/dist/esm-es5/{overlays-e7b9d6d9.js → overlays-7579a420.js} +1 -1
  372. package/dist/esm-es5/status-tap-6367b913.js +4 -0
  373. package/dist/esm-es5/{swipe-back-b613d7db.js → swipe-back-326faa1c.js} +1 -1
  374. package/dist/html.html-data.json +48 -0
  375. package/dist/ionic/index.esm.js +1 -1
  376. package/dist/ionic/ionic.esm.js +1 -1
  377. package/dist/ionic/ionic.js +1 -1
  378. package/dist/ionic/{p-58d5df0c.system.entry.js → p-023e8017.system.entry.js} +1 -1
  379. package/dist/ionic/{p-f9a53abb.system.js → p-042d5353.system.js} +1 -1
  380. package/dist/ionic/p-060e4551.js +4 -0
  381. package/dist/ionic/p-0749768d.entry.js +4 -0
  382. package/dist/ionic/p-094c82d7.entry.js +4 -0
  383. package/dist/ionic/{p-7458862e.system.entry.js → p-0adb6909.system.entry.js} +1 -1
  384. package/dist/ionic/{p-508d024a.entry.js → p-0be8a0b5.entry.js} +1 -1
  385. package/dist/ionic/{p-2507278c.system.entry.js → p-0bedc891.system.entry.js} +2 -2
  386. package/dist/ionic/{p-63b0abde.system.entry.js → p-0c9b8240.system.entry.js} +1 -1
  387. package/dist/ionic/p-0ec5b7cf.system.js +4 -0
  388. package/dist/ionic/{p-7ed1657c.system.entry.js → p-1164ff6b.system.entry.js} +1 -1
  389. package/dist/ionic/p-13886789.entry.js +4 -0
  390. package/dist/ionic/p-143ff664.system.entry.js +4 -0
  391. package/dist/ionic/p-18f9b6d5.entry.js +4 -0
  392. package/dist/ionic/{p-62af944c.entry.js → p-19c32a76.entry.js} +1 -1
  393. package/dist/ionic/{p-e4f69534.system.entry.js → p-1a9613bf.system.entry.js} +1 -1
  394. package/dist/ionic/{p-f687573e.system.js → p-1bf5ec17.system.js} +1 -1
  395. package/dist/ionic/{p-5fce0c0b.system.entry.js → p-1c1d781d.system.entry.js} +1 -1
  396. package/dist/ionic/p-1d2844a5.system.entry.js +4 -0
  397. package/dist/ionic/p-1d98a7f1.entry.js +4 -0
  398. package/dist/ionic/p-1f837356.entry.js +4 -0
  399. package/dist/ionic/p-2027221d.js +4 -0
  400. package/dist/ionic/{p-69066a53.js → p-21891ead.js} +1 -1
  401. package/dist/ionic/{p-d743e981.js → p-22bc235f.js} +1 -1
  402. package/dist/ionic/{p-a4565eb5.system.js → p-24ae7b33.system.js} +1 -1
  403. package/dist/ionic/{p-184fbc9e.system.js → p-294271c7.system.js} +1 -1
  404. package/dist/ionic/p-297d6806.system.js +4 -0
  405. package/dist/ionic/p-29a5b4e4.entry.js +4 -0
  406. package/dist/ionic/{p-01186920.system.entry.js → p-2ab4a324.system.entry.js} +1 -1
  407. package/dist/ionic/{p-ffd131f9.system.entry.js → p-2b59470f.system.entry.js} +1 -1
  408. package/dist/ionic/{p-9e33104d.entry.js → p-2ee9a2c6.entry.js} +1 -1
  409. package/dist/ionic/p-2fa5a4b1.entry.js +4 -0
  410. package/dist/ionic/{p-e7ed4a7f.system.js → p-3479f51b.system.js} +1 -1
  411. package/dist/ionic/{p-afecb188.entry.js → p-35f14792.entry.js} +1 -1
  412. package/dist/ionic/{p-7ddc46c3.system.entry.js → p-37a438ad.system.entry.js} +2 -2
  413. package/dist/ionic/{p-937a7e21.entry.js → p-3af7b907.entry.js} +1 -1
  414. package/dist/ionic/{p-c449820c.system.js → p-3bd5fedc.system.js} +1 -1
  415. package/dist/ionic/{p-d18ab582.system.entry.js → p-3be7cdeb.system.entry.js} +2 -2
  416. package/dist/ionic/{p-a15ddedb.system.js → p-3e86b4fa.system.js} +1 -1
  417. package/dist/ionic/p-3f4327f7.js +4 -0
  418. package/dist/ionic/{p-982315a6.entry.js → p-42f6e75c.entry.js} +1 -1
  419. package/dist/ionic/{p-5823babc.system.entry.js → p-4470f87b.system.entry.js} +2 -2
  420. package/dist/ionic/p-4493c1ac.entry.js +4 -0
  421. package/dist/ionic/{p-8635f5e6.system.js → p-44e168f3.system.js} +1 -1
  422. package/dist/ionic/{p-c29f8157.system.entry.js → p-4630688e.system.entry.js} +1 -1
  423. package/dist/ionic/{p-98231c01.system.entry.js → p-472c7e08.system.entry.js} +1 -1
  424. package/dist/ionic/{p-2e46590d.system.entry.js → p-491de063.system.entry.js} +1 -1
  425. package/dist/ionic/{p-985a7e17.system.entry.js → p-49cb79a1.system.entry.js} +1 -1
  426. package/dist/ionic/{p-d6841eac.js → p-4c44d04c.js} +1 -1
  427. package/dist/ionic/p-4c94580e.js +4 -0
  428. package/dist/ionic/{p-1e010627.system.entry.js → p-4d0190ad.system.entry.js} +2 -2
  429. package/dist/ionic/{p-bb0db172.entry.js → p-50f38461.entry.js} +1 -1
  430. package/dist/ionic/{p-0c06e09b.system.js → p-51c363e7.system.js} +1 -1
  431. package/dist/ionic/{p-f1acf541.system.entry.js → p-524ad57e.system.entry.js} +1 -1
  432. package/dist/ionic/{p-a61cba41.entry.js → p-54893ae3.entry.js} +1 -1
  433. package/dist/ionic/p-54e9620f.js +4 -0
  434. package/dist/ionic/p-58c482af.entry.js +4 -0
  435. package/dist/ionic/p-597ff9af.js +4 -0
  436. package/dist/ionic/{p-5da94421.system.js → p-5eb6f582.system.js} +1 -1
  437. package/dist/ionic/{p-15e76dd1.entry.js → p-5f4ff20a.entry.js} +1 -1
  438. package/dist/ionic/{p-fbf284c7.entry.js → p-5f8cd560.entry.js} +1 -1
  439. package/dist/ionic/p-606887b7.system.entry.js +4 -0
  440. package/dist/ionic/{p-bdad26e3.entry.js → p-61e794fb.entry.js} +1 -1
  441. package/dist/ionic/p-66a5d6a8.js +5 -0
  442. package/dist/ionic/p-67163d4a.entry.js +4 -0
  443. package/dist/ionic/p-6797c66e.system.js +4 -0
  444. package/dist/ionic/p-6bb846d3.entry.js +4 -0
  445. package/dist/ionic/{p-d7aa6b00.entry.js → p-6e24cf82.entry.js} +1 -1
  446. package/dist/ionic/p-72e6a9c6.entry.js +4 -0
  447. package/dist/ionic/{p-5b932840.entry.js → p-747f9517.entry.js} +1 -1
  448. package/dist/ionic/{p-9ea607bd.system.js → p-77991411.system.js} +2 -2
  449. package/dist/ionic/{p-9f3008d4.system.js → p-7cc33a9a.system.js} +1 -1
  450. package/dist/ionic/{p-f3102647.system.entry.js → p-7e3b5638.system.entry.js} +1 -1
  451. package/dist/ionic/p-7f39653f.entry.js +4 -0
  452. package/dist/ionic/{p-98ff6b32.entry.js → p-7ff4f502.entry.js} +1 -1
  453. package/dist/ionic/p-81474833.system.entry.js +4 -0
  454. package/dist/ionic/{p-4439fc2a.entry.js → p-838cc359.entry.js} +1 -1
  455. package/dist/ionic/{p-52d7a191.entry.js → p-85f6070f.entry.js} +1 -1
  456. package/dist/ionic/{p-e4ee80be.system.entry.js → p-888d383b.system.entry.js} +1 -1
  457. package/dist/ionic/{p-da074ff7.entry.js → p-8b1c1fd7.entry.js} +1 -1
  458. package/dist/ionic/{p-32d44024.system.entry.js → p-8deac7df.system.entry.js} +1 -1
  459. package/dist/ionic/p-8fc426e2.entry.js +4 -0
  460. package/dist/ionic/p-959cf042.system.entry.js +4 -0
  461. package/dist/ionic/{p-17a9ca63.system.entry.js → p-96450929.system.entry.js} +2 -2
  462. package/dist/ionic/{p-19ea7bff.system.js → p-9a2ff5ea.system.js} +1 -1
  463. package/dist/ionic/p-9a5420dd.js +4 -0
  464. package/dist/ionic/{p-ecceeb90.js → p-9af7f110.js} +1 -1
  465. package/dist/ionic/{p-6d32975a.entry.js → p-9b069739.entry.js} +1 -1
  466. package/dist/ionic/{p-ca065903.system.entry.js → p-9df36075.system.entry.js} +1 -1
  467. package/dist/ionic/p-9e51f822.js +4 -0
  468. package/dist/ionic/{p-372ae7f4.system.js → p-a4866e3e.system.js} +1 -1
  469. package/dist/ionic/{p-95775830.entry.js → p-a520973b.entry.js} +1 -1
  470. package/dist/ionic/{p-17474161.system.js → p-a587b2ae.system.js} +1 -1
  471. package/dist/ionic/{p-cac0e0b3.system.entry.js → p-a63b345e.system.entry.js} +1 -1
  472. package/dist/ionic/{p-3c8e5c23.system.js → p-a6625de8.system.js} +1 -1
  473. package/dist/ionic/{p-6416c34c.system.entry.js → p-a6df5168.system.entry.js} +1 -1
  474. package/dist/ionic/p-a9f2c0a7.entry.js +4 -0
  475. package/dist/ionic/{p-73dc4950.entry.js → p-ab7337e1.entry.js} +1 -1
  476. package/dist/ionic/{p-ed75fcfb.system.entry.js → p-ac58d726.system.entry.js} +1 -1
  477. package/dist/ionic/p-ace2d2be.entry.js +4 -0
  478. package/dist/ionic/{p-efaffe74.entry.js → p-ada878ce.entry.js} +1 -1
  479. package/dist/ionic/p-b055d618.entry.js +4 -0
  480. package/dist/ionic/{p-2799c6d3.system.entry.js → p-b2296998.system.entry.js} +1 -1
  481. package/dist/ionic/{p-fca6ef5f.system.entry.js → p-b2ee0628.system.entry.js} +1 -1
  482. package/dist/ionic/{p-9fa07aec.entry.js → p-b6174297.entry.js} +1 -1
  483. package/dist/ionic/{p-c41ac815.entry.js → p-b85d199c.entry.js} +1 -1
  484. package/dist/ionic/p-b9ea58ef.js +4 -0
  485. package/dist/ionic/{p-14e159ea.system.entry.js → p-b9eb1465.system.entry.js} +1 -1
  486. package/dist/ionic/p-b9f2e353.entry.js +4 -0
  487. package/dist/ionic/p-bbc6db8c.entry.js +4 -0
  488. package/dist/ionic/p-bdd6102f.system.entry.js +4 -0
  489. package/dist/ionic/p-bf64af90.system.js +4 -0
  490. package/dist/ionic/p-bf77d6fa.entry.js +4 -0
  491. package/dist/ionic/{p-33a8a71b.entry.js → p-c005cc37.entry.js} +1 -1
  492. package/dist/ionic/{p-45693d7e.entry.js → p-c25c0ba4.entry.js} +1 -1
  493. package/dist/ionic/p-c5b5f44a.entry.js +4 -0
  494. package/dist/ionic/{p-2172893e.system.entry.js → p-c6a20407.system.entry.js} +1 -1
  495. package/dist/ionic/{p-1046866e.system.entry.js → p-c8331397.system.entry.js} +1 -1
  496. package/dist/ionic/{p-34b11c24.js → p-c8402249.js} +1 -1
  497. package/dist/ionic/{p-61e3f887.entry.js → p-c8bf9ba7.entry.js} +1 -1
  498. package/dist/ionic/{p-72812e99.js → p-ceaea4ce.js} +1 -1
  499. package/dist/ionic/{p-1e67b266.system.entry.js → p-d37fdc68.system.entry.js} +1 -1
  500. package/dist/ionic/{p-0aa833fb.system.js → p-d7032956.system.js} +1 -1
  501. package/dist/ionic/p-d8c9d5ac.system.entry.js +4 -0
  502. package/dist/ionic/{p-2b838f86.system.entry.js → p-daf1e8ec.system.entry.js} +1 -1
  503. package/dist/ionic/{p-2bd0ae94.system.entry.js → p-def7a8bd.system.entry.js} +1 -1
  504. package/dist/ionic/p-e00b72ce.js +4 -0
  505. package/dist/ionic/{p-96cc4814.js → p-e0a05506.js} +1 -1
  506. package/dist/ionic/p-e0c0218f.system.entry.js +4 -0
  507. package/dist/ionic/{p-6499df44.system.entry.js → p-e0c43e11.system.entry.js} +1 -1
  508. package/dist/ionic/{p-2abae1cc.system.entry.js → p-e4683bfd.system.entry.js} +1 -1
  509. package/dist/ionic/{p-567de071.system.entry.js → p-e5708e5d.system.entry.js} +1 -1
  510. package/dist/ionic/{p-12a722b8.system.entry.js → p-e5c27d9f.system.entry.js} +1 -1
  511. package/dist/ionic/{p-06e58c4e.js → p-e7309bfa.js} +1 -1
  512. package/dist/ionic/p-ed768b77.entry.js +4 -0
  513. package/dist/ionic/p-eec4b772.entry.js +4 -0
  514. package/dist/ionic/p-eeee3990.system.entry.js +4 -0
  515. package/dist/ionic/p-efa0f3f5.entry.js +4 -0
  516. package/dist/ionic/p-f02e9382.system.entry.js +4 -0
  517. package/dist/ionic/p-f11a9436.system.js +5 -0
  518. package/dist/ionic/p-f201b53a.system.js +4 -0
  519. package/dist/ionic/{p-3cc276f4.js → p-f554845e.js} +1 -1
  520. package/dist/ionic/{p-424eb140.system.entry.js → p-f6bb9be7.system.entry.js} +1 -1
  521. package/dist/ionic/{p-d60342e3.js → p-f7ce606e.js} +1 -1
  522. package/dist/ionic/{p-1fe02220.system.entry.js → p-f94b2f2f.system.entry.js} +1 -1
  523. package/dist/ionic/{p-797eeea8.system.entry.js → p-ff4a1ba0.system.entry.js} +1 -1
  524. package/dist/types/components/checkbox/checkbox.d.ts +25 -0
  525. package/dist/types/components/input/input.d.ts +8 -0
  526. package/dist/types/components/modal/animations/sheet.d.ts +1 -0
  527. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  528. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  529. package/dist/types/components/modal/modal.d.ts +14 -0
  530. package/dist/types/components/radio-group/radio-group.d.ts +15 -0
  531. package/dist/types/components/range/range.d.ts +3 -2
  532. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  533. package/dist/types/components/select/select.d.ts +29 -0
  534. package/dist/types/components/textarea/textarea.d.ts +8 -0
  535. package/dist/types/components/toggle/toggle.d.ts +25 -0
  536. package/dist/types/components/toolbar/toolbar.d.ts +4 -0
  537. package/dist/types/components.d.ts +96 -0
  538. package/dist/types/utils/config.d.ts +9 -3
  539. package/dist/types/utils/helpers.d.ts +5 -0
  540. package/dist/types/utils/logging/index.d.ts +13 -1
  541. package/dist/types/utils/native/capacitor.d.ts +7 -1
  542. package/dist/types/utils/test/platform.utils.d.ts +1 -1
  543. package/hydrate/index.js +720 -203
  544. package/hydrate/index.mjs +720 -203
  545. package/package.json +7 -7
  546. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  547. package/dist/esm-es5/helpers-da915de8.js +0 -4
  548. package/dist/esm-es5/index-28849c61.js +0 -5
  549. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  550. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  551. package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
  552. package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
  553. package/dist/esm-es5/status-tap-f472b09f.js +0 -4
  554. package/dist/ionic/p-0303d0f8.js +0 -4
  555. package/dist/ionic/p-04909654.entry.js +0 -4
  556. package/dist/ionic/p-0574e87e.js +0 -4
  557. package/dist/ionic/p-06fee233.js +0 -4
  558. package/dist/ionic/p-081a4ce4.entry.js +0 -4
  559. package/dist/ionic/p-12c45a7c.entry.js +0 -4
  560. package/dist/ionic/p-14be4015.entry.js +0 -4
  561. package/dist/ionic/p-16188af7.entry.js +0 -4
  562. package/dist/ionic/p-16799667.system.entry.js +0 -4
  563. package/dist/ionic/p-16bfb979.system.entry.js +0 -4
  564. package/dist/ionic/p-19ec4f42.entry.js +0 -4
  565. package/dist/ionic/p-21e5e7e4.js +0 -4
  566. package/dist/ionic/p-25180df3.system.js +0 -5
  567. package/dist/ionic/p-2690b1de.js +0 -4
  568. package/dist/ionic/p-2b9b78c7.entry.js +0 -4
  569. package/dist/ionic/p-2fc0dafe.entry.js +0 -4
  570. package/dist/ionic/p-322c5fb4.system.js +0 -4
  571. package/dist/ionic/p-37cb43bd.system.entry.js +0 -4
  572. package/dist/ionic/p-3ad285e3.system.js +0 -4
  573. package/dist/ionic/p-404aede0.system.entry.js +0 -4
  574. package/dist/ionic/p-49a0e74c.entry.js +0 -4
  575. package/dist/ionic/p-4ec778aa.entry.js +0 -4
  576. package/dist/ionic/p-51796b2d.entry.js +0 -4
  577. package/dist/ionic/p-5ab1b709.entry.js +0 -4
  578. package/dist/ionic/p-69666e8a.system.entry.js +0 -4
  579. package/dist/ionic/p-6b280620.entry.js +0 -4
  580. package/dist/ionic/p-6d6cedc5.entry.js +0 -4
  581. package/dist/ionic/p-7b9a2b23.entry.js +0 -4
  582. package/dist/ionic/p-88e63c7d.js +0 -4
  583. package/dist/ionic/p-908d6080.entry.js +0 -4
  584. package/dist/ionic/p-942b5e13.entry.js +0 -4
  585. package/dist/ionic/p-9df2c6fb.entry.js +0 -4
  586. package/dist/ionic/p-a43467d8.entry.js +0 -4
  587. package/dist/ionic/p-a69b9fc5.system.js +0 -4
  588. package/dist/ionic/p-b2272f51.system.entry.js +0 -4
  589. package/dist/ionic/p-b335ffed.system.entry.js +0 -4
  590. package/dist/ionic/p-b51e4004.js +0 -4
  591. package/dist/ionic/p-b79ba17c.entry.js +0 -4
  592. package/dist/ionic/p-b7af48c0.js +0 -4
  593. package/dist/ionic/p-b82d4cab.js +0 -4
  594. package/dist/ionic/p-b9d7015f.entry.js +0 -4
  595. package/dist/ionic/p-bc36ad98.system.entry.js +0 -4
  596. package/dist/ionic/p-c4b53b16.system.entry.js +0 -4
  597. package/dist/ionic/p-c9f3a539.entry.js +0 -4
  598. package/dist/ionic/p-cdc83025.entry.js +0 -4
  599. package/dist/ionic/p-d836d43e.js +0 -5
  600. package/dist/ionic/p-de930745.entry.js +0 -4
  601. package/dist/ionic/p-dfb78785.system.js +0 -4
  602. package/dist/ionic/p-e563a35c.entry.js +0 -4
  603. package/dist/ionic/p-e6635685.js +0 -4
  604. package/dist/ionic/p-ebf042e0.system.entry.js +0 -4
  605. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -189,32 +189,39 @@ input {
189
189
  opacity: 0;
190
190
  }
191
191
 
192
- :host(.checkbox-justify-space-between) .checkbox-wrapper {
192
+ .checkbox-bottom {
193
+ padding-top: 4px;
194
+ display: flex;
193
195
  justify-content: space-between;
196
+ font-size: 0.75rem;
197
+ white-space: normal;
194
198
  }
195
199
 
196
- :host(.checkbox-justify-start) .checkbox-wrapper {
197
- justify-content: start;
200
+ :host(.checkbox-label-placement-stacked) .checkbox-bottom {
201
+ font-size: 1rem;
198
202
  }
199
203
 
200
- :host(.checkbox-justify-end) .checkbox-wrapper {
201
- justify-content: end;
204
+ /**
205
+ * Error text should only be shown when .ion-invalid is
206
+ * present on the checkbox. Otherwise the helper text should
207
+ * be shown.
208
+ */
209
+ .checkbox-bottom .error-text {
210
+ display: none;
211
+ color: var(--ion-color-danger, #c5000f);
202
212
  }
203
213
 
204
- :host(.checkbox-alignment-start) .checkbox-wrapper {
205
- align-items: start;
214
+ .checkbox-bottom .helper-text {
215
+ display: block;
216
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
206
217
  }
207
218
 
208
- :host(.checkbox-alignment-center) .checkbox-wrapper {
209
- align-items: center;
219
+ :host(.ion-touched.ion-invalid) .checkbox-bottom .error-text {
220
+ display: block;
210
221
  }
211
222
 
212
- :host(.checkbox-justify-space-between),
213
- :host(.checkbox-justify-start),
214
- :host(.checkbox-justify-end),
215
- :host(.checkbox-alignment-start),
216
- :host(.checkbox-alignment-center) {
217
- display: block;
223
+ :host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text {
224
+ display: none;
218
225
  }
219
226
 
220
227
  /**
@@ -243,6 +250,7 @@ input {
243
250
  */
244
251
  :host(.checkbox-label-placement-end) .checkbox-wrapper {
245
252
  flex-direction: row-reverse;
253
+ justify-content: start;
246
254
  }
247
255
 
248
256
  /**
@@ -285,6 +293,7 @@ input {
285
293
  */
286
294
  :host(.checkbox-label-placement-stacked) .checkbox-wrapper {
287
295
  flex-direction: column;
296
+ text-align: center;
288
297
  }
289
298
 
290
299
  :host(.checkbox-label-placement-stacked) .label-text-wrapper {
@@ -330,6 +339,34 @@ input {
330
339
  }
331
340
  }
332
341
 
342
+ :host(.checkbox-justify-space-between) .checkbox-wrapper {
343
+ justify-content: space-between;
344
+ }
345
+
346
+ :host(.checkbox-justify-start) .checkbox-wrapper {
347
+ justify-content: start;
348
+ }
349
+
350
+ :host(.checkbox-justify-end) .checkbox-wrapper {
351
+ justify-content: end;
352
+ }
353
+
354
+ :host(.checkbox-alignment-start) .checkbox-wrapper {
355
+ align-items: start;
356
+ }
357
+
358
+ :host(.checkbox-alignment-center) .checkbox-wrapper {
359
+ align-items: center;
360
+ }
361
+
362
+ :host(.checkbox-justify-space-between),
363
+ :host(.checkbox-justify-start),
364
+ :host(.checkbox-justify-end),
365
+ :host(.checkbox-alignment-start),
366
+ :host(.checkbox-alignment-center) {
367
+ display: block;
368
+ }
369
+
333
370
  :host(.checkbox-checked) .checkbox-icon,
334
371
  :host(.checkbox-indeterminate) .checkbox-icon {
335
372
  border-color: var(--border-color-checked);
@@ -13,10 +13,15 @@ import { getIonMode } from "../../global/ionic-global";
13
13
  * @part container - The container for the checkbox mark.
14
14
  * @part label - The label text describing the checkbox.
15
15
  * @part mark - The checkmark used to indicate the checked state.
16
+ * @part supporting-text - Supporting text displayed beneath the checkbox label.
17
+ * @part helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid.
18
+ * @part error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched.
16
19
  */
17
20
  export class Checkbox {
18
21
  constructor() {
19
22
  this.inputId = `ion-cb-${checkboxIds++}`;
23
+ this.helperTextId = `${this.inputId}-helper-text`;
24
+ this.errorTextId = `${this.inputId}-error-text`;
20
25
  this.inheritedAttributes = {};
21
26
  /**
22
27
  * Sets the checked property and emits
@@ -54,10 +59,13 @@ export class Checkbox {
54
59
  this.checked = false;
55
60
  this.indeterminate = false;
56
61
  this.disabled = false;
62
+ this.errorText = undefined;
63
+ this.helperText = undefined;
57
64
  this.value = 'on';
58
65
  this.labelPlacement = 'start';
59
66
  this.justify = undefined;
60
67
  this.alignment = undefined;
68
+ this.required = false;
61
69
  }
62
70
  componentWillLoad() {
63
71
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -68,12 +76,38 @@ export class Checkbox {
68
76
  this.focusEl.focus();
69
77
  }
70
78
  }
79
+ getHintTextID() {
80
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
81
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
82
+ return errorTextId;
83
+ }
84
+ if (helperText) {
85
+ return helperTextId;
86
+ }
87
+ return undefined;
88
+ }
89
+ /**
90
+ * Responsible for rendering helper text and error text.
91
+ * This element should only be rendered if hint text is set.
92
+ */
93
+ renderHintText() {
94
+ const { helperText, errorText, helperTextId, errorTextId } = this;
95
+ /**
96
+ * undefined and empty string values should
97
+ * be treated as not having helper/error text.
98
+ */
99
+ const hasHintText = !!helperText || !!errorText;
100
+ if (!hasHintText) {
101
+ return;
102
+ }
103
+ return (h("div", { class: "checkbox-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)));
104
+ }
71
105
  render() {
72
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
106
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
73
107
  const mode = getIonMode(this);
74
108
  const path = getSVGPath(mode, indeterminate);
75
109
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
76
- return (h(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
110
+ return (h(Host, { key: '7ac31df89b07c781ddcd30a6a8c109494d0c500a', "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, class: createColorClasses(color, {
77
111
  [mode]: true,
78
112
  'in-item': hostContext('ion-item', el),
79
113
  'checkbox-checked': checked,
@@ -83,10 +117,10 @@ export class Checkbox {
83
117
  [`checkbox-justify-${justify}`]: justify !== undefined,
84
118
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
85
119
  [`checkbox-label-placement-${labelPlacement}`]: true,
86
- }), onClick: this.onClick }, h("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, h("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
120
+ }), onClick: this.onClick }, h("label", { key: '674e923fe1ec83a33c31d67b0d414d61ba8f9e4b', class: "checkbox-wrapper" }, h("input", Object.assign({ key: 'c4866e392fbdf3b76edcd1507cb67f40a213a4e7', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: '79cb96e5963b9331a760438ec8cc9e456215de91', class: {
87
121
  'label-text-wrapper': true,
88
122
  'label-text-wrapper-hidden': el.textContent === '',
89
- }, part: "label" }, h("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), h("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, h("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
123
+ }, part: "label" }, h("slot", { key: '896cb26292c9a4a6c105afb39611472b93bf5e90' }), this.renderHintText()), h("div", { key: '52cd22e79fd5db30b45d7b092aa5af3944392336', class: "native-wrapper" }, h("svg", { key: '18d862ab7cc32055eaf200eea560ff1b2b6cbde0', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
90
124
  }
91
125
  getSVGPath(mode, indeterminate) {
92
126
  let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -206,6 +240,40 @@ export class Checkbox {
206
240
  "reflect": false,
207
241
  "defaultValue": "false"
208
242
  },
243
+ "errorText": {
244
+ "type": "string",
245
+ "mutable": false,
246
+ "complexType": {
247
+ "original": "string",
248
+ "resolved": "string | undefined",
249
+ "references": {}
250
+ },
251
+ "required": false,
252
+ "optional": true,
253
+ "docs": {
254
+ "tags": [],
255
+ "text": "Text that is placed under the checkbox label and displayed when an error is detected."
256
+ },
257
+ "attribute": "error-text",
258
+ "reflect": false
259
+ },
260
+ "helperText": {
261
+ "type": "string",
262
+ "mutable": false,
263
+ "complexType": {
264
+ "original": "string",
265
+ "resolved": "string | undefined",
266
+ "references": {}
267
+ },
268
+ "required": false,
269
+ "optional": true,
270
+ "docs": {
271
+ "tags": [],
272
+ "text": "Text that is placed under the checkbox label and displayed when no error is detected."
273
+ },
274
+ "attribute": "helper-text",
275
+ "reflect": false
276
+ },
209
277
  "value": {
210
278
  "type": "any",
211
279
  "mutable": false,
@@ -275,6 +343,24 @@ export class Checkbox {
275
343
  },
276
344
  "attribute": "alignment",
277
345
  "reflect": false
346
+ },
347
+ "required": {
348
+ "type": "boolean",
349
+ "mutable": false,
350
+ "complexType": {
351
+ "original": "boolean",
352
+ "resolved": "boolean",
353
+ "references": {}
354
+ },
355
+ "required": false,
356
+ "optional": false,
357
+ "docs": {
358
+ "tags": [],
359
+ "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."
360
+ },
361
+ "attribute": "required",
362
+ "reflect": false,
363
+ "defaultValue": "false"
278
364
  }
279
365
  };
280
366
  }
@@ -189,32 +189,39 @@ input {
189
189
  opacity: 0;
190
190
  }
191
191
 
192
- :host(.checkbox-justify-space-between) .checkbox-wrapper {
192
+ .checkbox-bottom {
193
+ padding-top: 4px;
194
+ display: flex;
193
195
  justify-content: space-between;
196
+ font-size: 0.75rem;
197
+ white-space: normal;
194
198
  }
195
199
 
196
- :host(.checkbox-justify-start) .checkbox-wrapper {
197
- justify-content: start;
200
+ :host(.checkbox-label-placement-stacked) .checkbox-bottom {
201
+ font-size: 1rem;
198
202
  }
199
203
 
200
- :host(.checkbox-justify-end) .checkbox-wrapper {
201
- justify-content: end;
204
+ /**
205
+ * Error text should only be shown when .ion-invalid is
206
+ * present on the checkbox. Otherwise the helper text should
207
+ * be shown.
208
+ */
209
+ .checkbox-bottom .error-text {
210
+ display: none;
211
+ color: var(--ion-color-danger, #c5000f);
202
212
  }
203
213
 
204
- :host(.checkbox-alignment-start) .checkbox-wrapper {
205
- align-items: start;
214
+ .checkbox-bottom .helper-text {
215
+ display: block;
216
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
206
217
  }
207
218
 
208
- :host(.checkbox-alignment-center) .checkbox-wrapper {
209
- align-items: center;
219
+ :host(.ion-touched.ion-invalid) .checkbox-bottom .error-text {
220
+ display: block;
210
221
  }
211
222
 
212
- :host(.checkbox-justify-space-between),
213
- :host(.checkbox-justify-start),
214
- :host(.checkbox-justify-end),
215
- :host(.checkbox-alignment-start),
216
- :host(.checkbox-alignment-center) {
217
- display: block;
223
+ :host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text {
224
+ display: none;
218
225
  }
219
226
 
220
227
  /**
@@ -243,6 +250,7 @@ input {
243
250
  */
244
251
  :host(.checkbox-label-placement-end) .checkbox-wrapper {
245
252
  flex-direction: row-reverse;
253
+ justify-content: start;
246
254
  }
247
255
 
248
256
  /**
@@ -285,6 +293,7 @@ input {
285
293
  */
286
294
  :host(.checkbox-label-placement-stacked) .checkbox-wrapper {
287
295
  flex-direction: column;
296
+ text-align: center;
288
297
  }
289
298
 
290
299
  :host(.checkbox-label-placement-stacked) .label-text-wrapper {
@@ -330,6 +339,34 @@ input {
330
339
  }
331
340
  }
332
341
 
342
+ :host(.checkbox-justify-space-between) .checkbox-wrapper {
343
+ justify-content: space-between;
344
+ }
345
+
346
+ :host(.checkbox-justify-start) .checkbox-wrapper {
347
+ justify-content: start;
348
+ }
349
+
350
+ :host(.checkbox-justify-end) .checkbox-wrapper {
351
+ justify-content: end;
352
+ }
353
+
354
+ :host(.checkbox-alignment-start) .checkbox-wrapper {
355
+ align-items: start;
356
+ }
357
+
358
+ :host(.checkbox-alignment-center) .checkbox-wrapper {
359
+ align-items: center;
360
+ }
361
+
362
+ :host(.checkbox-justify-space-between),
363
+ :host(.checkbox-justify-start),
364
+ :host(.checkbox-justify-end),
365
+ :host(.checkbox-alignment-start),
366
+ :host(.checkbox-alignment-center) {
367
+ display: block;
368
+ }
369
+
333
370
  :host(.checkbox-checked) .checkbox-icon,
334
371
  :host(.checkbox-indeterminate) .checkbox-icon {
335
372
  border-color: var(--border-color-checked);
@@ -311,6 +311,7 @@
311
311
  justify-content: space-between;
312
312
  border-top: var(--border-width) var(--border-style) var(--border-color);
313
313
  font-size: 0.75rem;
314
+ white-space: normal;
314
315
  }
315
316
 
316
317
  /**
@@ -340,7 +341,7 @@
340
341
 
341
342
  .input-bottom .helper-text {
342
343
  display: block;
343
- color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
344
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
344
345
  }
345
346
 
346
347
  :host(.ion-touched.ion-invalid) .input-bottom .error-text {
@@ -359,7 +360,7 @@
359
360
  */
360
361
  -webkit-margin-start: auto;
361
362
  margin-inline-start: auto;
362
- color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
363
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
363
364
  white-space: nowrap;
364
365
  padding-inline-start: 16px;
365
366
  }
@@ -149,8 +149,19 @@ export class Input {
149
149
  nativeInput.value = value;
150
150
  }
151
151
  }
152
+ /**
153
+ * dir is a globally enumerated attribute.
154
+ * As a result, creating these as properties
155
+ * can have unintended side effects. Instead, we
156
+ * listen for attribute changes and inherit them
157
+ * to the inner `<input>` element.
158
+ */
159
+ onDirChanged(newValue) {
160
+ this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
161
+ forceUpdate(this);
162
+ }
152
163
  componentWillLoad() {
153
- this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type']));
164
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
154
165
  }
155
166
  connectedCallback() {
156
167
  const { el } = this;
@@ -414,7 +425,7 @@ export class Input {
414
425
  * TODO(FW-5592): Remove hasStartEndSlots condition
415
426
  */
416
427
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
417
- return (h(Host, { key: '54b5662d9a7f011a85e4119650c92b9af275bf96', class: createColorClasses(this.color, {
428
+ return (h(Host, { key: '166f7dea59931b8276bebef4d7a1fcd5ace90bad', class: createColorClasses(this.color, {
418
429
  [mode]: true,
419
430
  'has-value': hasValue,
420
431
  'has-focus': hasFocus,
@@ -425,7 +436,7 @@ export class Input {
425
436
  'in-item': inItem,
426
437
  'in-item-color': hostContext('ion-item.ion-color', this.el),
427
438
  'input-disabled': disabled,
428
- }) }, h("label", { key: '551cf8a932af3275689ecf32988b84355404e8f1', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: 'b3601dca7e0f23517748f6e7feb899c953355bc4', class: "native-wrapper" }, h("slot", { key: 'd687a9bb4c5778cfee35ce1b8d6d16ddc8eca768', name: "start" }), h("input", Object.assign({ key: 'ab927e84e43bedf8b7827bb743888a1778292deb', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '0d2ee3f7e69cee75f071f37b2e9bc174572c5a01', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
439
+ }) }, h("label", { key: 'c6da0b068f8abc0fb8ffaee1a71685b03ec837ec', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: 'cd25ec6d885bdbfdb2def51f1ad1756cc4f3e9e0', class: "native-wrapper" }, h("slot", { key: '2582b54d551c93a89d4a663a8a61b6de5fae85cc', name: "start" }), h("input", Object.assign({ key: '2b496016ba7a0c51ccd5509183e531f802701455', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '2db9987180cd4030ad63de197af838e152b47998', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
429
440
  /**
430
441
  * This prevents mobile browsers from
431
442
  * blurring the input when the clear
@@ -440,7 +451,7 @@ export class Input {
440
451
  * for screen readers as it means users would be unable to swipe past the clear button.
441
452
  */
442
453
  ev.stopPropagation();
443
- }, onClick: this.clearTextInput }, h("ion-icon", { key: 'c7715111897f43839c10d38662616edb662cd49b', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'afc44cbe1ad50f17942d5297a12509abecbd6ecd', name: "end" })), shouldRenderHighlight && h("div", { key: 'ee3af32cd9003d497f33e352e56313d43295f3a9', class: "input-highlight" })), this.renderBottomContent()));
454
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: 'ea5e1a5f61046434bf502db692a05dece19aecd9', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'db1e7452cfc25accdb518ff0cc59ae3e2e47b049', name: "end" })), shouldRenderHighlight && h("div", { key: '0daeaaa5238e0c60ccfd251dedc6a381eba2fcc8', class: "input-highlight" })), this.renderBottomContent()));
444
455
  }
445
456
  static get is() { return "ion-input"; }
446
457
  static get encapsulation() { return "scoped"; }
@@ -1211,6 +1222,9 @@ export class Input {
1211
1222
  }, {
1212
1223
  "propName": "value",
1213
1224
  "methodName": "valueChanged"
1225
+ }, {
1226
+ "propName": "dir",
1227
+ "methodName": "onDirChanged"
1214
1228
  }];
1215
1229
  }
1216
1230
  }
@@ -311,6 +311,7 @@
311
311
  justify-content: space-between;
312
312
  border-top: var(--border-width) var(--border-style) var(--border-color);
313
313
  font-size: 0.75rem;
314
+ white-space: normal;
314
315
  }
315
316
 
316
317
  /**
@@ -340,7 +341,7 @@
340
341
 
341
342
  .input-bottom .helper-text {
342
343
  display: block;
343
- color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
344
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
344
345
  }
345
346
 
346
347
  :host(.ion-touched.ion-invalid) .input-bottom .error-text {
@@ -359,7 +360,7 @@
359
360
  */
360
361
  -webkit-margin-start: auto;
361
362
  margin-inline-start: auto;
362
- color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
363
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
363
364
  white-space: nowrap;
364
365
  padding-inline-start: 16px;
365
366
  }
@@ -799,6 +800,10 @@
799
800
  --border-color: var(--highlight-color);
800
801
  }
801
802
 
803
+ /**
804
+ * The bottom content should never have
805
+ * a border with the solid style.
806
+ */
802
807
  :host(.input-fill-solid) .input-bottom {
803
808
  border-top: none;
804
809
  }
@@ -18,11 +18,11 @@ export class ItemDivider {
18
18
  }
19
19
  render() {
20
20
  const mode = getIonMode(this);
21
- return (h(Host, { key: '6cff318230a9b2a9db529df154285d3dd9822efe', class: createColorClasses(this.color, {
21
+ return (h(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses(this.color, {
22
22
  [mode]: true,
23
23
  'item-divider-sticky': this.sticky,
24
24
  item: true,
25
- }) }, h("slot", { key: 'eb50dfab74ab0fd13697db17ecd60e8fa0bf1750', name: "start" }), h("div", { key: '2806efd89d086f4fb844a479d9c095e1e0775713', class: "item-divider-inner" }, h("div", { key: '77b7d5fa987e5f1c26d8023cd1f974a8a263a3de', class: "item-divider-wrapper" }, h("slot", { key: 'dbafb0deb140a19a2a9748fd5b48760c39c6fd2e' })), h("slot", { key: 'ef9a848fe21e84ef21cd273b8a4d9f95f558175b', name: "end" }))));
25
+ }) }, h("slot", { key: '6e9d9615f475392a81177bc49b4b01dbdab67925', name: "start" }), h("div", { key: '12fe6b840ad1a1897cc34529e488207b2df448f7', class: "item-divider-inner" }, h("div", { key: '626776a8c9887dd2df5ecf3b7861beb742b41e03', class: "item-divider-wrapper" }, h("slot", { key: '90379dd99914e24ae45c9571c8d390f9b6622fd4' })), h("slot", { key: '105644332c08530155b9cd8e8c6fa9e332072a63', name: "end" }))));
26
26
  }
27
27
  static get is() { return "ion-item-divider"; }
28
28
  static get encapsulation() { return "shadow"; }
@@ -6,7 +6,7 @@ import { getIonMode } from "../../global/ionic-global";
6
6
  export class ItemGroup {
7
7
  render() {
8
8
  const mode = getIonMode(this);
9
- return (h(Host, { key: 'f9ffe0290d3fa546494fe55f952d8554f2a8abf8', role: "group", class: {
9
+ return (h(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
10
10
  [mode]: true,
11
11
  // Used internally for styling
12
12
  [`item-group-${mode}`]: true,
@@ -44,12 +44,12 @@ export class ItemOption {
44
44
  href: this.href,
45
45
  target: this.target,
46
46
  };
47
- return (h(Host, { key: '89310624997821858c1abde60c0ffb142ca466e0', onClick: this.onClick, class: createColorClasses(this.color, {
47
+ return (h(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses(this.color, {
48
48
  [mode]: true,
49
49
  'item-option-disabled': disabled,
50
50
  'item-option-expandable': expandable,
51
51
  'ion-activatable': true,
52
- }) }, h(TagType, Object.assign({ key: 'e4dfbb3048eed03a7f7e84c6f75545e0ca9b45fb' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: 'dffcf437fbdc15f2e7a19e60a015e90c73c8377d', class: "button-inner" }, h("slot", { key: '48a23512e0601e062118d8b2c46c8bb96f25509f', name: "top" }), h("div", { key: '952a9a9aa3a476aa1f4408d7e208bf9e916b8c30', class: "horizontal-wrapper" }, h("slot", { key: 'f8d18a61c1ecec4a22a55443cf72bbc51383b64f', name: "start" }), h("slot", { key: '1f9f219e6f879d2e0bf6d80cf0d3f518eb14ce0e', name: "icon-only" }), h("slot", { key: 'a55adcdbe68131e5b1855c2dd45dd9454ab544fb' }), h("slot", { key: '3c4c85a4fbb7efc797d8bc5adf6d238da022ff9f', name: "end" })), h("slot", { key: '503c7e4b306745c523f57f24399ea06ba9b1e21d', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: 'b0e270b0c4f3ff9f9b6d74bad12a9278d7633226' }))));
52
+ }) }, h(TagType, Object.assign({ key: 'd9f899f5425ad6b97071494485aa3ca90bc89d30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: 'adc2cf72b4363be9b9eeb3584723e2bfc862af20', class: "button-inner" }, h("slot", { key: 'e668fe8e655a74e6a35e979e0cd488506b962dbf', name: "top" }), h("div", { key: '2ddcdb92b6b19c3cc549a7aee2400d1a6eeb51f1', class: "horizontal-wrapper" }, h("slot", { key: '441f13df18b72e5ed6bb51b157722e065b5847d2', name: "start" }), h("slot", { key: '425d815874b49e1628880160d7175ed3ca36ca39', name: "icon-only" }), h("slot", { key: '27437d3fa3365b12bc030704e18481fdfb14aebb' }), h("slot", { key: 'bd39330771c7f85c6df10f7f9050335ee7f14ff0', name: "end" })), h("slot", { key: '440cb6dc7743d50b261d4bf61d2c24e24b89e58c', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '29632941464bbb34551cf64961187643f62bf755' }))));
53
53
  }
54
54
  static get is() { return "ion-item-option"; }
55
55
  static get encapsulation() { return "shadow"; }
@@ -17,7 +17,7 @@ export class ItemOptions {
17
17
  render() {
18
18
  const mode = getIonMode(this);
19
19
  const isEnd = isEndSide(this.side);
20
- return (h(Host, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {
20
+ return (h(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
21
21
  [mode]: true,
22
22
  // Used internally for styling
23
23
  [`item-options-${mode}`]: true,
@@ -388,7 +388,7 @@ export class ItemSliding {
388
388
  }
389
389
  render() {
390
390
  const mode = getIonMode(this);
391
- return (h(Host, { key: 'a5216b11d92a1e1afed09d139212e0df81fdab79', class: {
391
+ return (h(Host, { key: 'd7697278008dd6531c0e4f9c235b955a337e3140', class: {
392
392
  [mode]: true,
393
393
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
394
394
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -55,13 +55,13 @@ export class Label {
55
55
  render() {
56
56
  const position = this.position;
57
57
  const mode = getIonMode(this);
58
- return (h(Host, { key: '6353a70565ef6fbbbf4042b000e536c61bcf99a9', class: createColorClasses(this.color, {
58
+ return (h(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses(this.color, {
59
59
  [mode]: true,
60
60
  'in-item-color': hostContext('ion-item.ion-color', this.el),
61
61
  [`label-${position}`]: position !== undefined,
62
62
  [`label-no-animate`]: this.noAnimate,
63
63
  'label-rtl': document.dir === 'rtl',
64
- }) }, h("slot", { key: '6ef9c2758c0168442aa84941af0a6cec1ef1ec21' })));
64
+ }) }, h("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
65
65
  }
66
66
  static get is() { return "ion-label"; }
67
67
  static get encapsulation() { return "scoped"; }
@@ -15,10 +15,10 @@ export class ListHeader {
15
15
  render() {
16
16
  const { lines } = this;
17
17
  const mode = getIonMode(this);
18
- return (h(Host, { key: 'fb78bd8601cbd7b90ec84a96e0c8325be1132b1e', class: createColorClasses(this.color, {
18
+ return (h(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses(this.color, {
19
19
  [mode]: true,
20
20
  [`list-header-lines-${lines}`]: lines !== undefined,
21
- }) }, h("div", { key: '2580ad49f3a54973e15f14d645a1e55a6fa066ac', class: "list-header-inner" }, h("slot", { key: '677b2e2ec8eeb3ae6ad329e86c76451cf3ae6c2f' }))));
21
+ }) }, h("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, h("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
22
22
  }
23
23
  static get is() { return "ion-list-header"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -161,9 +161,9 @@ export class Loading {
161
161
  * Otherwise, don't set aria-labelledby.
162
162
  */
163
163
  const ariaLabelledBy = message !== undefined ? msgId : null;
164
- return (h(Host, Object.assign({ key: 'd97f536b7f443ea19a2bbf2dcbc7f546b8e0a092', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
164
+ return (h(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
165
165
  zIndex: `${40000 + this.overlayIndex}`,
166
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '6cd39bd7912fd080ab59d041644054c96d238ea9', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c14ca5a9308844f11bcb010257e15208a75b39bc', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '118bceefa8e1cf8b225a858f224e6d919cf03c26', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '490d6e8ae4433835fe273162d7b90deab944fb39', class: "loading-spinner" }, h("ion-spinner", { key: 'c5cf6549c43df4cb23814b3e62ec4d9e7ea2b64f', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '2b888362122d3b66b0492d53b0c21bd6a2a97501', tabindex: "0", "aria-hidden": "true" })));
166
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '2431eda00a2a3f510f5dfc39b7c7d47c056dfa3d', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'cf210aaf5e754e4eccdb49cf7ead4647b3f9b2d1', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'fa9375143d391656d70e181d25b952c77c2fc6ec', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '8e4a4ed994f7f62df86b03696ac95162df41f52d', class: "loading-spinner" }, h("ion-spinner", { key: 'e5b323c272d365853ba92bd211e390b4fd4751d2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'cae35ec8c34800477bff3ebcec8010e632158233', tabindex: "0", "aria-hidden": "true" })));
167
167
  }
168
168
  static get is() { return "ion-loading"; }
169
169
  static get encapsulation() { return "scoped"; }
@@ -614,14 +614,14 @@ export class Menu {
614
614
  * the ionBackButton listener in the menu controller
615
615
  * will handle closing the menu when Escape is pressed.
616
616
  */
617
- return (h(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
617
+ return (h(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
618
618
  [mode]: true,
619
619
  [`menu-type-${type}`]: true,
620
620
  'menu-enabled': !disabled,
621
621
  [`menu-side-${side}`]: true,
622
622
  'menu-pane-visible': isPaneVisible,
623
623
  'split-pane-side': hostContext('ion-split-pane', el),
624
- } }, h("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), h("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
624
+ } }, h("div", { key: '3c9bec2862b7fb9d88de66b1600be01f6735e3dd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '76283b4b2a65c78646f92c3b273eea021eda499c' })), h("ion-backdrop", { key: '121c395bc4873542a1b6ae2c9e23f2e881e75d93', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
625
625
  }
626
626
  static get is() { return "ion-menu"; }
627
627
  static get encapsulation() { return "shadow"; }
@@ -46,7 +46,7 @@ export class MenuButton {
46
46
  type: this.type,
47
47
  };
48
48
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
49
- return (h(Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
49
+ return (h(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
50
50
  [mode]: true,
51
51
  button: true, // ion-buttons target .button
52
52
  'menu-button-hidden': hidden,
@@ -55,7 +55,7 @@ export class MenuButton {
55
55
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
56
56
  'ion-activatable': true,
57
57
  'ion-focusable': true,
58
- }) }, h("button", Object.assign({ key: 'd4c5929264af3ba0328118bcc27d2ab7ef5d3809' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '7bfa6e9a93105486623d044861e879ec79ff64f1', class: "button-inner" }, h("slot", { key: '071ab58e285832fc188706166f5547d45d501ac5' }, h("ion-icon", { key: '918ec5d791921de9821c347af4f65f97dd94aabf', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '00ffdd53f635e706c1dbd01b8e7944498650fe81', type: "unbounded" }))));
58
+ }) }, h("button", Object.assign({ key: 'a02a3374288bd1759b6e352ada8eab0d45c6422f' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'ba699f2277a4e7b27ce5e42faeefc53d8805bb43', class: "button-inner" }, h("slot", { key: '829fe6cbdeb173f50d1a670389d1565baa6273e4' }, h("ion-icon", { key: 'a9a9f7b8dcffc648a8429fe0adbe766869de72fd', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '48deca9a771a249f2fc76eaa8b9741c8d66d8355', type: "unbounded" }))));
59
59
  }
60
60
  static get is() { return "ion-menu-button"; }
61
61
  static get encapsulation() { return "shadow"; }