@ionic/core 8.4.4-dev.11741630999.189d7fc2 → 8.4.4-dev.11741648084.118e26ac

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 (317) hide show
  1. package/components/checkbox.js +37 -5
  2. package/components/ion-item-divider.js +2 -2
  3. package/components/ion-item-group.js +1 -1
  4. package/components/ion-item-option.js +2 -2
  5. package/components/ion-item-options.js +1 -1
  6. package/components/ion-item-sliding.js +1 -1
  7. package/components/ion-loading.js +2 -2
  8. package/components/ion-menu-button.js +2 -2
  9. package/components/ion-menu-toggle.js +2 -2
  10. package/components/ion-menu.js +2 -2
  11. package/components/ion-nav-link.js +1 -1
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-note.js +2 -2
  14. package/components/ion-picker-legacy.js +2 -2
  15. package/components/ion-progress-bar.js +1 -1
  16. package/components/ion-range.js +3 -3
  17. package/components/ion-refresher-content.js +1 -1
  18. package/components/ion-refresher.js +1 -1
  19. package/components/ion-reorder-group.js +1 -1
  20. package/components/ion-reorder.js +1 -1
  21. package/components/ion-router-link.js +2 -2
  22. package/components/ion-router-outlet.js +1 -1
  23. package/components/ion-row.js +1 -1
  24. package/components/ion-searchbar.js +4 -4
  25. package/components/ion-segment-button.js +2 -2
  26. package/components/ion-segment-content.js +1 -1
  27. package/components/ion-segment-view.js +2 -2
  28. package/components/ion-segment.js +2 -2
  29. package/components/ion-select-option.js +1 -1
  30. package/components/ion-select.js +47 -5
  31. package/components/ion-skeleton-text.js +2 -2
  32. package/components/ion-split-pane.js +2 -2
  33. package/components/ion-tab-bar.js +2 -2
  34. package/components/ion-tab-button.js +2 -2
  35. package/components/ion-tab.js +2 -2
  36. package/components/ion-tabs.js +1 -1
  37. package/components/ion-text.js +2 -2
  38. package/components/ion-textarea.js +2 -2
  39. package/components/ion-thumbnail.js +1 -1
  40. package/components/ion-toast.js +2 -2
  41. package/components/ion-toggle.js +3 -3
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/modal.js +15 -7
  45. package/components/picker-column-option.js +2 -2
  46. package/components/picker-column2.js +2 -2
  47. package/components/popover.js +2 -2
  48. package/components/radio-group.js +39 -2
  49. package/components/radio.js +3 -3
  50. package/components/ripple-effect.js +1 -1
  51. package/components/select-modal.js +1 -1
  52. package/components/select-popover.js +1 -1
  53. package/components/spinner.js +1 -1
  54. package/components/title.js +2 -2
  55. package/components/toolbar.js +2 -2
  56. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  57. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-checkbox.cjs.entry.js +35 -5
  59. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  61. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  63. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  65. package/dist/cjs/ion-modal.cjs.entry.js +15 -7
  66. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-radio_2.cjs.entry.js +39 -4
  71. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-select_3.cjs.entry.js +47 -7
  82. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  86. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  90. package/dist/cjs/ionic.cjs.js +1 -1
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
  93. package/dist/collection/components/checkbox/checkbox.js +70 -3
  94. package/dist/collection/components/checkbox/checkbox.md.css +52 -15
  95. package/dist/collection/components/item-divider/item-divider.js +2 -2
  96. package/dist/collection/components/item-group/item-group.js +1 -1
  97. package/dist/collection/components/item-option/item-option.js +2 -2
  98. package/dist/collection/components/item-options/item-options.js +1 -1
  99. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  100. package/dist/collection/components/label/label.js +2 -2
  101. package/dist/collection/components/list-header/list-header.js +2 -2
  102. package/dist/collection/components/loading/loading.js +2 -2
  103. package/dist/collection/components/menu/menu.js +2 -2
  104. package/dist/collection/components/menu-button/menu-button.js +2 -2
  105. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  106. package/dist/collection/components/modal/gestures/sheet.js +11 -3
  107. package/dist/collection/components/modal/modal.js +5 -5
  108. package/dist/collection/components/nav/nav.js +1 -1
  109. package/dist/collection/components/nav-link/nav-link.js +1 -1
  110. package/dist/collection/components/note/note.js +2 -2
  111. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  112. package/dist/collection/components/picker-legacy/picker.js +2 -2
  113. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  114. package/dist/collection/components/popover/popover.js +2 -2
  115. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  116. package/dist/collection/components/radio/radio.js +3 -3
  117. package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
  118. package/dist/collection/components/radio-group/radio-group.js +72 -1
  119. package/dist/collection/components/radio-group/radio-group.md.css +205 -0
  120. package/dist/collection/components/range/range.js +3 -3
  121. package/dist/collection/components/refresher/refresher.js +1 -1
  122. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  123. package/dist/collection/components/reorder/reorder.js +1 -1
  124. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  125. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  126. package/dist/collection/components/router-link/router-link.js +2 -2
  127. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  128. package/dist/collection/components/row/row.js +1 -1
  129. package/dist/collection/components/searchbar/searchbar.js +4 -4
  130. package/dist/collection/components/segment/segment.js +2 -2
  131. package/dist/collection/components/segment-button/segment-button.js +2 -2
  132. package/dist/collection/components/segment-content/segment-content.js +1 -1
  133. package/dist/collection/components/segment-view/segment-view.js +2 -2
  134. package/dist/collection/components/select/select.ios.css +59 -0
  135. package/dist/collection/components/select/select.js +80 -3
  136. package/dist/collection/components/select/select.md.css +61 -0
  137. package/dist/collection/components/select-modal/select-modal.js +1 -1
  138. package/dist/collection/components/select-option/select-option.js +1 -1
  139. package/dist/collection/components/select-popover/select-popover.js +1 -1
  140. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/split-pane/split-pane.js +2 -2
  143. package/dist/collection/components/tab/tab.js +2 -2
  144. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  145. package/dist/collection/components/tab-button/tab-button.js +2 -2
  146. package/dist/collection/components/tabs/tabs.js +1 -1
  147. package/dist/collection/components/text/text.js +2 -2
  148. package/dist/collection/components/textarea/textarea.js +2 -2
  149. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  150. package/dist/collection/components/title/title.js +2 -2
  151. package/dist/collection/components/toast/toast.js +2 -2
  152. package/dist/collection/components/toggle/toggle.js +3 -3
  153. package/dist/collection/components/toolbar/toolbar.js +2 -2
  154. package/dist/docs.json +194 -2
  155. package/dist/esm/ion-app_8.entry.js +5 -5
  156. package/dist/esm/ion-avatar_3.entry.js +1 -1
  157. package/dist/esm/ion-checkbox.entry.js +35 -5
  158. package/dist/esm/ion-col_3.entry.js +1 -1
  159. package/dist/esm/ion-datetime_3.entry.js +4 -4
  160. package/dist/esm/ion-item-option_3.entry.js +4 -4
  161. package/dist/esm/ion-item_8.entry.js +11 -11
  162. package/dist/esm/ion-loading.entry.js +2 -2
  163. package/dist/esm/ion-menu_3.entry.js +6 -6
  164. package/dist/esm/ion-modal.entry.js +15 -7
  165. package/dist/esm/ion-nav_2.entry.js +2 -2
  166. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  167. package/dist/esm/ion-popover.entry.js +2 -2
  168. package/dist/esm/ion-progress-bar.entry.js +1 -1
  169. package/dist/esm/ion-radio_2.entry.js +39 -4
  170. package/dist/esm/ion-range.entry.js +3 -3
  171. package/dist/esm/ion-refresher_2.entry.js +2 -2
  172. package/dist/esm/ion-reorder_2.entry.js +2 -2
  173. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  174. package/dist/esm/ion-route_4.entry.js +2 -2
  175. package/dist/esm/ion-searchbar.entry.js +4 -4
  176. package/dist/esm/ion-segment-content.entry.js +1 -1
  177. package/dist/esm/ion-segment-view.entry.js +2 -2
  178. package/dist/esm/ion-segment_2.entry.js +4 -4
  179. package/dist/esm/ion-select-modal.entry.js +1 -1
  180. package/dist/esm/ion-select_3.entry.js +47 -7
  181. package/dist/esm/ion-spinner.entry.js +1 -1
  182. package/dist/esm/ion-split-pane.entry.js +2 -2
  183. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  184. package/dist/esm/ion-tab_2.entry.js +3 -3
  185. package/dist/esm/ion-text.entry.js +2 -2
  186. package/dist/esm/ion-textarea.entry.js +2 -2
  187. package/dist/esm/ion-toast.entry.js +2 -2
  188. package/dist/esm/ion-toggle.entry.js +3 -3
  189. package/dist/esm/ionic.js +1 -1
  190. package/dist/esm/loader.js +1 -1
  191. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  192. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  193. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  194. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  195. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  196. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  197. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  198. package/dist/esm-es5/ion-loading.entry.js +1 -1
  199. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  200. package/dist/esm-es5/ion-modal.entry.js +1 -1
  201. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  202. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  203. package/dist/esm-es5/ion-popover.entry.js +1 -1
  204. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  205. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  206. package/dist/esm-es5/ion-range.entry.js +1 -1
  207. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  209. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  210. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  211. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  212. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  213. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  214. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  216. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  217. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  218. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  219. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  221. package/dist/esm-es5/ion-text.entry.js +1 -1
  222. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  223. package/dist/esm-es5/ion-toast.entry.js +1 -1
  224. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  225. package/dist/esm-es5/ionic.js +1 -1
  226. package/dist/esm-es5/loader.js +1 -1
  227. package/dist/html.html-data.json +25 -1
  228. package/dist/ionic/ionic.esm.js +1 -1
  229. package/dist/ionic/{p-026517fb.entry.js → p-020df11a.entry.js} +1 -1
  230. package/dist/ionic/{p-dd14d988.entry.js → p-0434c94c.entry.js} +1 -1
  231. package/dist/ionic/p-0ab8caf8.system.entry.js +4 -0
  232. package/dist/ionic/{p-136ff13e.entry.js → p-0eab6979.entry.js} +1 -1
  233. package/dist/ionic/{p-ab2f4b05.entry.js → p-0f138cf3.entry.js} +1 -1
  234. package/dist/ionic/{p-d9ef8526.system.entry.js → p-166a794f.system.entry.js} +1 -1
  235. package/dist/ionic/{p-3fe95571.system.entry.js → p-1cf593cf.system.entry.js} +1 -1
  236. package/dist/ionic/p-21780245.entry.js +4 -0
  237. package/dist/ionic/p-221fbdf5.entry.js +4 -0
  238. package/dist/ionic/{p-d782ad8d.entry.js → p-2840743b.entry.js} +1 -1
  239. package/dist/ionic/{p-71e1d84d.entry.js → p-29cccf08.entry.js} +1 -1
  240. package/dist/ionic/{p-d25142f7.entry.js → p-2f429536.entry.js} +1 -1
  241. package/dist/ionic/{p-166f4ba0.entry.js → p-3b872754.entry.js} +1 -1
  242. package/dist/ionic/p-3e6be709.entry.js +4 -0
  243. package/dist/ionic/p-41d7ca3c.entry.js +4 -0
  244. package/dist/ionic/{p-323984f9.system.entry.js → p-4200e056.system.entry.js} +1 -1
  245. package/dist/ionic/{p-56a8aa85.entry.js → p-43bfbfd7.entry.js} +1 -1
  246. package/dist/ionic/{p-7112ab06.system.entry.js → p-47026941.system.entry.js} +1 -1
  247. package/dist/ionic/p-48e9eedb.entry.js +4 -0
  248. package/dist/ionic/{p-2cb33c6c.system.entry.js → p-506f2664.system.entry.js} +2 -2
  249. package/dist/ionic/p-541b5191.entry.js +4 -0
  250. package/dist/ionic/{p-3c29cb9d.entry.js → p-5c364a5b.entry.js} +1 -1
  251. package/dist/ionic/{p-424eb140.system.entry.js → p-5cc9314d.system.entry.js} +1 -1
  252. package/dist/ionic/{p-5d3dc32b.system.entry.js → p-5f10138c.system.entry.js} +1 -1
  253. package/dist/ionic/{p-98ce0c01.system.entry.js → p-5f7a9125.system.entry.js} +2 -2
  254. package/dist/ionic/p-62151078.system.entry.js +4 -0
  255. package/dist/ionic/{p-c42a4dad.system.entry.js → p-623b4fa6.system.entry.js} +1 -1
  256. package/dist/ionic/{p-37a21d70.entry.js → p-62d2e17d.entry.js} +1 -1
  257. package/dist/ionic/{p-e4c1fd74.system.entry.js → p-6321783a.system.entry.js} +1 -1
  258. package/dist/ionic/{p-b6208867.system.entry.js → p-66425a02.system.entry.js} +1 -1
  259. package/dist/ionic/{p-e84da6cb.system.entry.js → p-6703c724.system.entry.js} +1 -1
  260. package/dist/ionic/{p-fd2c0aa6.entry.js → p-6f6dd24f.entry.js} +1 -1
  261. package/dist/ionic/{p-57cca929.system.entry.js → p-717520d6.system.entry.js} +1 -1
  262. package/dist/ionic/{p-16799667.system.entry.js → p-7af3d1e8.system.entry.js} +1 -1
  263. package/dist/ionic/{p-6c85db7e.system.entry.js → p-7ef62ef9.system.entry.js} +2 -2
  264. package/dist/ionic/{p-712b57f9.system.entry.js → p-826c4d67.system.entry.js} +1 -1
  265. package/dist/ionic/{p-e18fc89c.entry.js → p-82afe775.entry.js} +1 -1
  266. package/dist/ionic/{p-8c0d81a9.entry.js → p-85d6d07c.entry.js} +1 -1
  267. package/dist/ionic/{p-c2583512.entry.js → p-8eee812a.entry.js} +1 -1
  268. package/dist/ionic/{p-badd3610.entry.js → p-8fa80de0.entry.js} +1 -1
  269. package/dist/ionic/{p-5bf080b2.entry.js → p-95a11fc4.entry.js} +1 -1
  270. package/dist/ionic/{p-8c42a26f.system.entry.js → p-986a98d9.system.entry.js} +1 -1
  271. package/dist/ionic/{p-5996d3ad.system.entry.js → p-98aefaa1.system.entry.js} +1 -1
  272. package/dist/ionic/{p-f670529f.system.entry.js → p-99b4160f.system.entry.js} +1 -1
  273. package/dist/ionic/p-9a950d3c.entry.js +4 -0
  274. package/dist/ionic/{p-48e13807.system.entry.js → p-9aaaff17.system.entry.js} +1 -1
  275. package/dist/ionic/{p-d7fef52e.system.entry.js → p-a4e7eaf6.system.entry.js} +1 -1
  276. package/dist/ionic/{p-b6849d30.system.entry.js → p-aae5907a.system.entry.js} +1 -1
  277. package/dist/ionic/{p-6f36e4c8.system.entry.js → p-afba4c00.system.entry.js} +1 -1
  278. package/dist/ionic/{p-e2f893bd.entry.js → p-b1dbfc12.entry.js} +1 -1
  279. package/dist/ionic/{p-91b944fa.entry.js → p-bd1c99cb.entry.js} +1 -1
  280. package/dist/ionic/{p-2cf956b8.entry.js → p-c43872df.entry.js} +1 -1
  281. package/dist/ionic/p-c4f9367a.entry.js +4 -0
  282. package/dist/ionic/{p-6347c733.system.entry.js → p-c52ca485.system.entry.js} +1 -1
  283. package/dist/ionic/{p-d4896d36.system.entry.js → p-cad0b874.system.entry.js} +1 -1
  284. package/dist/ionic/{p-193d447d.system.entry.js → p-d9162cf7.system.entry.js} +1 -1
  285. package/dist/ionic/{p-3c3d353b.entry.js → p-dbe534f5.entry.js} +1 -1
  286. package/dist/ionic/{p-42a9bb35.entry.js → p-dde5afee.entry.js} +1 -1
  287. package/dist/ionic/{p-d6b60875.entry.js → p-de0b8503.entry.js} +1 -1
  288. package/dist/ionic/p-e3bd1070.entry.js +4 -0
  289. package/dist/ionic/{p-85b1ffae.entry.js → p-ebceb0ac.entry.js} +1 -1
  290. package/dist/ionic/{p-a873feda.system.entry.js → p-ec92cc52.system.entry.js} +1 -1
  291. package/dist/ionic/{p-447d4981.system.entry.js → p-ee70a913.system.entry.js} +1 -1
  292. package/dist/ionic/{p-73dc4950.entry.js → p-f2a72b24.entry.js} +1 -1
  293. package/dist/ionic/p-f4f255cb.system.js +1 -1
  294. package/dist/ionic/{p-c3a51c19.system.entry.js → p-f5f52b6d.system.entry.js} +1 -1
  295. package/dist/ionic/{p-4eed0eb2.system.entry.js → p-fa5a45cd.system.entry.js} +1 -1
  296. package/dist/ionic/{p-3b8b35c7.system.entry.js → p-fb048d4d.system.entry.js} +1 -1
  297. package/dist/ionic/p-fe00ac05.system.entry.js +4 -0
  298. package/dist/types/components/checkbox/checkbox.d.ts +19 -0
  299. package/dist/types/components/modal/modal.d.ts +6 -3
  300. package/dist/types/components/radio-group/radio-group.d.ts +15 -0
  301. package/dist/types/components/select/select.d.ts +23 -0
  302. package/dist/types/components.d.ts +50 -2
  303. package/hydrate/index.js +231 -106
  304. package/hydrate/index.mjs +231 -106
  305. package/package.json +1 -1
  306. package/dist/ionic/p-14be4015.entry.js +0 -4
  307. package/dist/ionic/p-30ec5574.entry.js +0 -4
  308. package/dist/ionic/p-37264dcc.entry.js +0 -4
  309. package/dist/ionic/p-49b2653a.system.entry.js +0 -4
  310. package/dist/ionic/p-59884cc7.system.entry.js +0 -4
  311. package/dist/ionic/p-7896a440.system.entry.js +0 -4
  312. package/dist/ionic/p-8b367303.entry.js +0 -4
  313. package/dist/ionic/p-ba61193a.entry.js +0 -4
  314. package/dist/ionic/p-ebb85488.entry.js +0 -4
  315. package/dist/ionic/p-ec197876.entry.js +0 -4
  316. package/dist/ionic/p-efcb7383.entry.js +0 -4
  317. package/dist/ionic/p-fc9149bd.entry.js +0 -4
@@ -299,6 +299,63 @@ button {
299
299
  --highlight-color: var(--highlight-color-valid);
300
300
  }
301
301
 
302
+ .select-bottom {
303
+ /**
304
+ * The bottom content should take on the start and end
305
+ * padding so it is always aligned with either the label
306
+ * or the start of the text select.
307
+ */
308
+ -webkit-padding-start: var(--padding-start);
309
+ padding-inline-start: var(--padding-start);
310
+ -webkit-padding-end: var(--padding-end);
311
+ padding-inline-end: var(--padding-end);
312
+ padding-top: 5px;
313
+ padding-bottom: 0;
314
+ display: flex;
315
+ justify-content: space-between;
316
+ border-top: var(--border-width) var(--border-style) var(--border-color);
317
+ font-size: 0.75rem;
318
+ white-space: normal;
319
+ }
320
+
321
+ /**
322
+ * If the select has a validity state, the
323
+ * border and label should reflect that as a color.
324
+ * The invalid state should show if the select is
325
+ * invalid and has already been touched.
326
+ * The valid state should show if the select
327
+ * is valid, has already been touched, and
328
+ * is currently focused. Do not show the valid
329
+ * highlight when the select is blurred.
330
+ */
331
+ :host(.has-focus.ion-valid),
332
+ :host(.ion-touched.ion-invalid) {
333
+ --border-color: var(--highlight-color);
334
+ }
335
+
336
+ /**
337
+ * Error text should only be shown when .ion-invalid is
338
+ * present on the select. Otherwise the helper text should
339
+ * be shown.
340
+ */
341
+ .select-bottom .error-text {
342
+ display: none;
343
+ color: var(--highlight-color-invalid);
344
+ }
345
+
346
+ .select-bottom .helper-text {
347
+ display: block;
348
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
349
+ }
350
+
351
+ :host(.ion-touched.ion-invalid) .select-bottom .error-text {
352
+ display: block;
353
+ }
354
+
355
+ :host(.ion-touched.ion-invalid) .select-bottom .helper-text {
356
+ display: none;
357
+ }
358
+
302
359
  .label-text-wrapper {
303
360
  /**
304
361
  * This causes the label to take up
@@ -768,6 +825,10 @@ button {
768
825
  --border-color: var(--highlight-color);
769
826
  }
770
827
 
828
+ /**
829
+ * The bottom content should never have
830
+ * a border with the solid style.
831
+ */
771
832
  :host(.select-fill-solid) .select-bottom {
772
833
  border-top: none;
773
834
  }
@@ -77,7 +77,7 @@ export class SelectModal {
77
77
  } }, option.text))));
78
78
  }
79
79
  render() {
80
- return (h(Host, { key: '4df42c447b4026d09d9231f09dc4bdae9a8cfe4a', class: getIonMode(this) }, h("ion-header", { key: '211c4e869b858867f3d60637e570aeb01de41de7' }, h("ion-toolbar", { key: 'dc4b151331aecbaaaafb460802ee9b689493601d' }, this.header !== undefined && h("ion-title", { key: 'ba1347a59ae0a5c6770c239b5ec02a536a445bd1' }, this.header), h("ion-buttons", { key: '43c98fd25d7e7f54b94b24e53535c6d5ba599892', slot: "end" }, h("ion-button", { key: '51b2b3f3eed42637b2cfc213c95d0bcf10e4b89d', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'fe721b09f80555856211f7e40dbfc31a533acae1' }, h("ion-list", { key: 'd0b932d137136958d896408fb2fa571023775b92' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
80
+ return (h(Host, { key: '885198a9f21884e3bfb9bf0af53e0ee3ae37b231', class: getIonMode(this) }, h("ion-header", { key: 'd8b63726869747ac711e4fda78a50ce46f72970c' }, h("ion-toolbar", { key: '9ab2a4c1480dd74eeae38d7b580a2e87fb71270e' }, this.header !== undefined && h("ion-title", { key: '87a7034385ef57f55cefdd0371dbb66a64827290' }, this.header), h("ion-buttons", { key: '0a35424ea13ca002abc9a43b6138730254f187d0', slot: "end" }, h("ion-button", { key: '238bf40b47128d9aa995d14d9ff9ebcae4f79492', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '4a256f3381f8cabbc7194337b8ae4aa1c3ab1066' }, h("ion-list", { key: 'acd38fc52024632176467ed6a84106a454021544' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
81
81
  }
82
82
  static get is() { return "ion-select-modal"; }
83
83
  static get encapsulation() { return "scoped"; }
@@ -10,7 +10,7 @@ export class SelectOption {
10
10
  this.value = undefined;
11
11
  }
12
12
  render() {
13
- return h(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode(this) });
13
+ return h(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode(this) });
14
14
  }
15
15
  static get is() { return "ion-select-option"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -102,7 +102,7 @@ export class SelectPopover {
102
102
  render() {
103
103
  const { header, message, options, subHeader } = this;
104
104
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
105
- return (h(Host, { key: 'dd0990db4de4f175b176b27f35501dd1604ca400', class: getIonMode(this) }, h("ion-list", { key: 'cea2bc3687b8b2490a2a9ff4a1e16cd34169558e' }, header !== undefined && h("ion-list-header", { key: '194aebb53453c43f913daae45a1a3066a1708c4c' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'b706b07a3c63ad8104d2db413e210c735ec1bec9' }, h("ion-label", { key: '6e52b5b4cf6b04ff3dd5671d64264233de4190d5', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '6ef4440d17f5db8c96c63b9aa5073f4fe4b8ad62' }, subHeader), message !== undefined && h("p", { key: 'c7b3b76c30ecd606c0e985a0258c13d3a75756e7' }, message)))), this.renderOptions(options))));
105
+ return (h(Host, { key: '542367ab8fb72bfebf7e65630b91017d68827fd6', class: getIonMode(this) }, h("ion-list", { key: 'f2f0f37e1365cd7780b02de1a1698700d0df48a7' }, header !== undefined && h("ion-list-header", { key: '4b8800a68e800f19277a44b7074ca24b70218daf' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '932b7903daf97d5a57d289b7ee49e868bb9b0cf5' }, h("ion-label", { key: 'fc3f1b69aa2a0bc6125d35692dcad3a8a99fd160', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'eceab2f47afa95f04b138342b0bdbfa1f50919a8' }, subHeader), message !== undefined && h("p", { key: '70f4e27ad1316318efd0c17efce31e5e45c8fa02' }, message)))), this.renderOptions(options))));
106
106
  }
107
107
  static get is() { return "ion-select-popover"; }
108
108
  static get encapsulation() { return "scoped"; }
@@ -25,11 +25,11 @@ export class SkeletonText {
25
25
  const animated = this.animated && config.getBoolean('animated', true);
26
26
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
27
27
  const mode = getIonMode(this);
28
- return (h(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
28
+ return (h(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
29
29
  [mode]: true,
30
30
  'skeleton-text-animated': animated,
31
31
  'in-media': inMedia,
32
- } }, h("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
32
+ } }, h("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
33
33
  }
34
34
  static get is() { return "ion-skeleton-text"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -39,7 +39,7 @@ export class Spinner {
39
39
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
40
40
  }
41
41
  }
42
- return (h(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses(self.color, {
42
+ return (h(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses(self.color, {
43
43
  [mode]: true,
44
44
  [`spinner-${spinnerName}`]: true,
45
45
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -118,12 +118,12 @@ export class SplitPane {
118
118
  }
119
119
  render() {
120
120
  const mode = getIonMode(this);
121
- return (h(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
121
+ return (h(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
122
122
  [mode]: true,
123
123
  // Used internally for styling
124
124
  [`split-pane-${mode}`]: true,
125
125
  'split-pane-visible': this.visible,
126
- } }, h("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
126
+ } }, h("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
127
127
  }
128
128
  static get is() { return "ion-split-pane"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -48,10 +48,10 @@ export class Tab {
48
48
  }
49
49
  render() {
50
50
  const { tab, active, component } = this;
51
- return (h(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
51
+ return (h(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
52
52
  'ion-page': component === undefined,
53
53
  'tab-hidden': !active,
54
- } }, h("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
54
+ } }, h("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
55
55
  }
56
56
  static get is() { return "ion-tab"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -51,11 +51,11 @@ export class TabBar {
51
51
  const { color, translucent, keyboardVisible } = this;
52
52
  const mode = getIonMode(this);
53
53
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
54
- return (h(Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
54
+ return (h(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
55
55
  [mode]: true,
56
56
  'tab-bar-translucent': translucent,
57
57
  'tab-bar-hidden': shouldHide,
58
- }) }, h("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
58
+ }) }, h("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
59
59
  }
60
60
  static get is() { return "ion-tab-bar"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -70,7 +70,7 @@ export class TabButton {
70
70
  rel,
71
71
  target,
72
72
  };
73
- return (h(Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
73
+ return (h(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
74
74
  [mode]: true,
75
75
  'tab-selected': selected,
76
76
  'tab-disabled': disabled,
@@ -82,7 +82,7 @@ export class TabButton {
82
82
  'ion-activatable': true,
83
83
  'ion-selectable': true,
84
84
  'ion-focusable': true,
85
- } }, h("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, h("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && h("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
85
+ } }, h("a", Object.assign({ key: '8dfe1ccff2cf21601c5aea7f7f877c0fbe384e09' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '3f557cf6e96e22b9318b4aee19ede810eb7fb720', class: "button-inner" }, h("slot", { key: '836dd090dbe3c2ea97dc263fca7d01dea6ea0eb6' })), mode === 'md' && h("ion-ripple-effect", { key: '488a924fd04602c1b23e03d1a4c84dfa0f2ca03d', type: "unbounded" }))));
86
86
  }
87
87
  static get is() { return "ion-tab-button"; }
88
88
  static get encapsulation() { return "shadow"; }
@@ -145,7 +145,7 @@ export class Tabs {
145
145
  return Array.from(this.el.querySelectorAll('ion-tab'));
146
146
  }
147
147
  render() {
148
- return (h(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), h("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, h("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), h("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
148
+ return (h(Host, { key: 'd357c4607cfc89fb88404fe12ea7ef5b397fe6bf', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '18661896589a4ab3c74164f448b928abec9b4db0', name: "top" }), h("div", { key: '3bf30ea2540a196e868a78a861824b4b5d933afd', class: "tabs-inner" }, h("slot", { key: '7cfc154d4d6c1642188ab6508a6be72c8234585e' })), h("slot", { key: '8057679c959195cbdfae156b8ae0cbfd978c5037', name: "bottom" })));
149
149
  }
150
150
  static get is() { return "ion-tabs"; }
151
151
  static get encapsulation() { return "shadow"; }
@@ -13,9 +13,9 @@ export class Text {
13
13
  }
14
14
  render() {
15
15
  const mode = getIonMode(this);
16
- return (h(Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: createColorClasses(this.color, {
16
+ return (h(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses(this.color, {
17
17
  [mode]: true,
18
- }) }, h("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
18
+ }) }, h("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
19
19
  }
20
20
  static get is() { return "ion-text"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -374,7 +374,7 @@ export class Textarea {
374
374
  * TODO(FW-5592): Remove hasStartEndSlots condition
375
375
  */
376
376
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
377
- return (h(Host, { key: 'd6e25c83d8eab8cb1a5b6ab411c9a13847f69f8d', class: createColorClasses(this.color, {
377
+ return (h(Host, { key: 'c0dabc66193c41188c817799e45b36abbf097ba1', class: createColorClasses(this.color, {
378
378
  [mode]: true,
379
379
  'has-value': hasValue,
380
380
  'has-focus': hasFocus,
@@ -383,7 +383,7 @@ export class Textarea {
383
383
  [`textarea-shape-${shape}`]: shape !== undefined,
384
384
  [`textarea-label-placement-${labelPlacement}`]: true,
385
385
  'textarea-disabled': disabled,
386
- }) }, h("label", { key: 'f840a5be2b776a4b9c18c6da24e0b7d3d4838fee', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '979461fc0d4684926d79d75759c63c6867b7622b', class: "textarea-wrapper-inner" }, h("div", { key: '88f0d5d4bac29597cc2588e5b2ed72fb4fbe153d', class: "start-slot-wrapper" }, h("slot", { key: '21dcca0e59c1260e3d0d1e126c1c590de15c4bad', name: "start" })), h("div", { key: '3c48a4bb3d763a389d3429123e7c110064b9b8d4', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: '1550599ad15b3f215c104c014e90711f073ace8b', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: '4f01ab4d2994a6de6f49eb9ed2e310d00daf21b2', class: "end-slot-wrapper" }, h("slot", { key: '501e288b6807e039972bb4f0b63906114255518a', name: "end" }))), shouldRenderHighlight && h("div", { key: 'd3008eed34494aa9f8e98a28eac3b465dc4c2bd0', class: "textarea-highlight" })), this.renderBottomContent()));
386
+ }) }, h("label", { key: 'dce1ce6794b914975d93f16f4e1a5721a5f3fc73', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '361ce31a9a22d8d87fb2bbd134fda3d6c66ba0fe', class: "textarea-wrapper-inner" }, h("div", { key: 'e7a7e439d0e723c029951f9ee67adba1694b33d2', class: "start-slot-wrapper" }, h("slot", { key: 'efe797a88b0c2d6067217f7b32fea7526beed90f', name: "start" })), h("div", { key: '21375f64876bc68e25d2de13299a9f3acde2c370', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: '3771fc6c31a61f7d9ba41f69fa12987aa2ec0c61', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: 'd81dfd5d6947c3b4ee1bff367080419b9e3ed81c', class: "end-slot-wrapper" }, h("slot", { key: '2b6ab3f6bb66652e6b31ad11bc849bd386014721', name: "end" }))), shouldRenderHighlight && h("div", { key: 'd37ad4cc35eb7fef873ab41ee164165d18703919', class: "textarea-highlight" })), this.renderBottomContent()));
387
387
  }
388
388
  static get is() { return "ion-textarea"; }
389
389
  static get encapsulation() { return "scoped"; }
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Thumbnail {
7
7
  render() {
8
- return (h(Host, { key: 'cfa9aeb1d4fd624a9732c5230d29dd887e4b7771', class: getIonMode(this) }, h("slot", { key: '29bc6e64063cba44e2643228df54394883933918' })));
8
+ return (h(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode(this) }, h("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
9
9
  }
10
10
  static get is() { return "ion-thumbnail"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -27,11 +27,11 @@ export class ToolbarTitle {
27
27
  render() {
28
28
  const mode = getIonMode(this);
29
29
  const size = this.getSize();
30
- return (h(Host, { key: '7293d2ecd6262feb0d8d769effbb208230baed89', class: createColorClasses(this.color, {
30
+ return (h(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses(this.color, {
31
31
  [mode]: true,
32
32
  [`title-${size}`]: true,
33
33
  'title-rtl': document.dir === 'rtl',
34
- }) }, h("div", { key: '086ec3a361ebdf6506846a8704b457cda3a6f897', class: "toolbar-title" }, h("slot", { key: '59add7eb92b82d6832a8f0894f897c51fdf4f214' }))));
34
+ }) }, h("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, h("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
35
35
  }
36
36
  static get is() { return "ion-title"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -391,9 +391,9 @@ export class Toast {
391
391
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
392
392
  printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
393
393
  }
394
- return (h(Host, Object.assign({ key: 'c05655ff06af8d0e48c2a85396b07ad942fa81b4', tabindex: "-1" }, this.htmlAttributes, { style: {
394
+ return (h(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
395
395
  zIndex: `${60000 + this.overlayIndex}`,
396
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '9393ead4de1bf28529661d6f64049d34e18d725c', class: wrapperClass }, h("div", { key: '3e9dd73c17c337849c3f26e8d0f395b3e5ee20a7', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '5d15b18364301ad55e44e9f601014ac33181590b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'f6dd164502637a882c5caf18445d8509b85ad6f9', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
396
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'd927e43957f47888ce4e64f1e99c935d55757af7', class: wrapperClass }, h("div", { key: 'ca43bc42478181acdf8cdea6601a85fa95d12216', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'fdd6fb8f6e947ed002bd2e63fdc8ec7e764f4a7d', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '37c16c81ee3e4304379dfbcabdffe73db73e4653', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
397
397
  }
398
398
  static get is() { return "ion-toast"; }
399
399
  static get encapsulation() { return "shadow"; }
@@ -192,7 +192,7 @@ export class Toggle {
192
192
  const value = this.getValue();
193
193
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
194
194
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
195
- return (h(Host, { key: 'd0c60711ea00ad36fe88766780cffaf9fc5dd538', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses(color, {
195
+ return (h(Host, { key: 'c6db7f5bc0b358944c0d79e24aeb4d319793422f', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses(color, {
196
196
  [mode]: true,
197
197
  'in-item': hostContext('ion-item', el),
198
198
  'toggle-activated': activated,
@@ -202,10 +202,10 @@ export class Toggle {
202
202
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
203
203
  [`toggle-label-placement-${labelPlacement}`]: true,
204
204
  [`toggle-${rtl}`]: true,
205
- }) }, h("label", { key: 'ec01cb69c55748d59e325bd3272051568d46d3c9', class: "toggle-wrapper" }, h("input", Object.assign({ key: 'beefe7f842954dd1661504f3b41b6048e8b848f7', 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: 'bbe542a0d6fe29868ff8ffba37a1e96d43ccdccb', class: {
205
+ }) }, h("label", { key: 'f49531391f4513d084061c27ebc4c4eb1dcd02ab', class: "toggle-wrapper" }, h("input", Object.assign({ key: 'f4ab2dc29eae053f54613d1304f755e151037f47', 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: '85674bfab5ec1e422c787d025c4f9f5b3aadd4f2', class: {
206
206
  'label-text-wrapper': true,
207
207
  'label-text-wrapper-hidden': !this.hasLabel,
208
- }, part: "label" }, h("slot", { key: '2c4d6ce193bba3e8cc101664cfacfdeca4c2eb01' }), this.renderHintText()), h("div", { key: 'e9a4ea4c4bb48e7bf8a58ef742b4024867e77051', class: "native-wrapper" }, this.renderToggleControl()))));
208
+ }, part: "label" }, h("slot", { key: '9bdf7e85c95dc7373f18894ebfe6ad022f098107' }), this.renderHintText()), h("div", { key: '33883642b38421a82001e37db3dd5e5c643785b0', class: "native-wrapper" }, this.renderToggleControl()))));
209
209
  }
210
210
  static get is() { return "ion-toggle"; }
211
211
  static get encapsulation() { return "shadow"; }
@@ -66,10 +66,10 @@ export class Toolbar {
66
66
  this.childrenStyles.forEach((value) => {
67
67
  Object.assign(childStyles, value);
68
68
  });
69
- return (h(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
69
+ return (h(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
70
70
  [mode]: true,
71
71
  '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" }))));
72
+ })) }, h("div", { key: '2465a6dc8d507ec650538378d1be2abd399c58ad', class: "toolbar-background", part: "background" }), h("div", { key: '6075096afd12303b961e4fe9ad345ef2887573af', class: "toolbar-container", part: "container" }, h("slot", { key: '8b7eec1148cfeb339d87cdf9273f2104703e7601', name: "start" }), h("slot", { key: 'b102d3926cade24faf78b7af78ad5e192c4c0308', name: "secondary" }), h("div", { key: 'c6ab2e978328324c6f9e7892024cbcd8b8987067', class: "toolbar-content", part: "content" }, h("slot", { key: '86f8952c4355a9df5b4bbb95e9d0cafefd272d5b' })), h("slot", { key: '501e43431da6b9dd35b47b79222f948d445f7a78', name: "primary" }), h("slot", { key: '84bf1a15a5e52e8e94df9f479c4ce18004f5ab57', name: "end" }))));
73
73
  }
74
74
  static get is() { return "ion-toolbar"; }
75
75
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-03-10T18:25:12",
2
+ "timestamp": "2025-03-10T23:09:51",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
@@ -5746,6 +5746,18 @@
5746
5746
  {
5747
5747
  "name": "part",
5748
5748
  "text": "mark - The checkmark used to indicate the checked state."
5749
+ },
5750
+ {
5751
+ "name": "part",
5752
+ "text": "supporting-text - Supporting text displayed beneath the checkbox label."
5753
+ },
5754
+ {
5755
+ "name": "part",
5756
+ "text": "helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid."
5757
+ },
5758
+ {
5759
+ "name": "part",
5760
+ "text": "error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched."
5749
5761
  }
5750
5762
  ],
5751
5763
  "usage": {},
@@ -5889,6 +5901,54 @@
5889
5901
  "optional": false,
5890
5902
  "required": false
5891
5903
  },
5904
+ {
5905
+ "name": "errorText",
5906
+ "type": "string | undefined",
5907
+ "complexType": {
5908
+ "original": "string",
5909
+ "resolved": "string | undefined",
5910
+ "references": {}
5911
+ },
5912
+ "mutable": false,
5913
+ "attr": "error-text",
5914
+ "reflectToAttr": false,
5915
+ "docs": "Text that is placed under the checkbox label and displayed when an error is detected.",
5916
+ "docsTags": [],
5917
+ "values": [
5918
+ {
5919
+ "type": "string"
5920
+ },
5921
+ {
5922
+ "type": "undefined"
5923
+ }
5924
+ ],
5925
+ "optional": true,
5926
+ "required": false
5927
+ },
5928
+ {
5929
+ "name": "helperText",
5930
+ "type": "string | undefined",
5931
+ "complexType": {
5932
+ "original": "string",
5933
+ "resolved": "string | undefined",
5934
+ "references": {}
5935
+ },
5936
+ "mutable": false,
5937
+ "attr": "helper-text",
5938
+ "reflectToAttr": false,
5939
+ "docs": "Text that is placed under the checkbox label and displayed when no error is detected.",
5940
+ "docsTags": [],
5941
+ "values": [
5942
+ {
5943
+ "type": "string"
5944
+ },
5945
+ {
5946
+ "type": "undefined"
5947
+ }
5948
+ ],
5949
+ "optional": true,
5950
+ "required": false
5951
+ },
5892
5952
  {
5893
5953
  "name": "indeterminate",
5894
5954
  "type": "boolean",
@@ -6264,6 +6324,14 @@
6264
6324
  "name": "container",
6265
6325
  "docs": "The container for the checkbox mark."
6266
6326
  },
6327
+ {
6328
+ "name": "error-text",
6329
+ "docs": "Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched."
6330
+ },
6331
+ {
6332
+ "name": "helper-text",
6333
+ "docs": "Supporting text displayed beneath the checkbox label when the checkbox is valid."
6334
+ },
6267
6335
  {
6268
6336
  "name": "label",
6269
6337
  "docs": "The label text describing the checkbox."
@@ -6271,6 +6339,10 @@
6271
6339
  {
6272
6340
  "name": "mark",
6273
6341
  "docs": "The checkmark used to indicate the checked state."
6342
+ },
6343
+ {
6344
+ "name": "supporting-text",
6345
+ "docs": "Supporting text displayed beneath the checkbox label."
6274
6346
  }
6275
6347
  ],
6276
6348
  "dependents": [
@@ -17061,7 +17133,7 @@
17061
17133
  "mutable": false,
17062
17134
  "attr": "expand-to-scroll",
17063
17135
  "reflectToAttr": false,
17064
- "docs": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the content.\nIf `false`, scrolling will always affect the content, and the modal will only expand\nwhen dragging the header or handle.",
17136
+ "docs": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the\ncontent.\nIf `false`, scrolling will always affect the content. The modal will\nonly expand when dragging the header or handle. The modal will close when\ndragging the header or handle. It can also be closed when dragging the\ncontent, but only if the content is scrolled to the top.",
17065
17137
  "docsTags": [],
17066
17138
  "default": "true",
17067
17139
  "values": [
@@ -22588,6 +22660,54 @@
22588
22660
  "optional": true,
22589
22661
  "required": false
22590
22662
  },
22663
+ {
22664
+ "name": "errorText",
22665
+ "type": "string | undefined",
22666
+ "complexType": {
22667
+ "original": "string",
22668
+ "resolved": "string | undefined",
22669
+ "references": {}
22670
+ },
22671
+ "mutable": false,
22672
+ "attr": "error-text",
22673
+ "reflectToAttr": false,
22674
+ "docs": "The error text to display at the top of the radio group.",
22675
+ "docsTags": [],
22676
+ "values": [
22677
+ {
22678
+ "type": "string"
22679
+ },
22680
+ {
22681
+ "type": "undefined"
22682
+ }
22683
+ ],
22684
+ "optional": true,
22685
+ "required": false
22686
+ },
22687
+ {
22688
+ "name": "helperText",
22689
+ "type": "string | undefined",
22690
+ "complexType": {
22691
+ "original": "string",
22692
+ "resolved": "string | undefined",
22693
+ "references": {}
22694
+ },
22695
+ "mutable": false,
22696
+ "attr": "helper-text",
22697
+ "reflectToAttr": false,
22698
+ "docs": "The helper text to display at the top of the radio group.",
22699
+ "docsTags": [],
22700
+ "values": [
22701
+ {
22702
+ "type": "string"
22703
+ },
22704
+ {
22705
+ "type": "undefined"
22706
+ }
22707
+ ],
22708
+ "optional": true,
22709
+ "required": false
22710
+ },
22591
22711
  {
22592
22712
  "name": "name",
22593
22713
  "type": "string",
@@ -27270,6 +27390,18 @@
27270
27390
  {
27271
27391
  "name": "part",
27272
27392
  "text": "label - The label text describing the select."
27393
+ },
27394
+ {
27395
+ "name": "part",
27396
+ "text": "supporting-text - Supporting text displayed beneath the select."
27397
+ },
27398
+ {
27399
+ "name": "part",
27400
+ "text": "helper-text - Supporting text displayed beneath the select when the select is valid."
27401
+ },
27402
+ {
27403
+ "name": "part",
27404
+ "text": "error-text - Supporting text displayed beneath the select when the select is invalid and touched."
27273
27405
  }
27274
27406
  ],
27275
27407
  "usage": {},
@@ -27420,6 +27552,30 @@
27420
27552
  "optional": false,
27421
27553
  "required": false
27422
27554
  },
27555
+ {
27556
+ "name": "errorText",
27557
+ "type": "string | undefined",
27558
+ "complexType": {
27559
+ "original": "string",
27560
+ "resolved": "string | undefined",
27561
+ "references": {}
27562
+ },
27563
+ "mutable": false,
27564
+ "attr": "error-text",
27565
+ "reflectToAttr": false,
27566
+ "docs": "Text that is placed under the select and displayed when an error is detected.",
27567
+ "docsTags": [],
27568
+ "values": [
27569
+ {
27570
+ "type": "string"
27571
+ },
27572
+ {
27573
+ "type": "undefined"
27574
+ }
27575
+ ],
27576
+ "optional": true,
27577
+ "required": false
27578
+ },
27423
27579
  {
27424
27580
  "name": "expandedIcon",
27425
27581
  "type": "string | undefined",
@@ -27473,6 +27629,30 @@
27473
27629
  "optional": true,
27474
27630
  "required": false
27475
27631
  },
27632
+ {
27633
+ "name": "helperText",
27634
+ "type": "string | undefined",
27635
+ "complexType": {
27636
+ "original": "string",
27637
+ "resolved": "string | undefined",
27638
+ "references": {}
27639
+ },
27640
+ "mutable": false,
27641
+ "attr": "helper-text",
27642
+ "reflectToAttr": false,
27643
+ "docs": "Text that is placed under the select and displayed when no error is detected.",
27644
+ "docsTags": [],
27645
+ "values": [
27646
+ {
27647
+ "type": "string"
27648
+ },
27649
+ {
27650
+ "type": "undefined"
27651
+ }
27652
+ ],
27653
+ "optional": true,
27654
+ "required": false
27655
+ },
27476
27656
  {
27477
27657
  "name": "interface",
27478
27658
  "type": "\"action-sheet\" | \"alert\" | \"modal\" | \"popover\"",
@@ -28215,6 +28395,14 @@
28215
28395
  "name": "container",
28216
28396
  "docs": "The container for the selected text or placeholder."
28217
28397
  },
28398
+ {
28399
+ "name": "error-text",
28400
+ "docs": "Supporting text displayed beneath the select when the select is invalid and touched."
28401
+ },
28402
+ {
28403
+ "name": "helper-text",
28404
+ "docs": "Supporting text displayed beneath the select when the select is valid."
28405
+ },
28218
28406
  {
28219
28407
  "name": "icon",
28220
28408
  "docs": "The select icon container."
@@ -28227,6 +28415,10 @@
28227
28415
  "name": "placeholder",
28228
28416
  "docs": "The text displayed in the select when there is no value."
28229
28417
  },
28418
+ {
28419
+ "name": "supporting-text",
28420
+ "docs": "Supporting text displayed beneath the select."
28421
+ },
28230
28422
  {
28231
28423
  "name": "text",
28232
28424
  "docs": "The displayed value of the select."