@ionic/core 8.4.4-dev.11741632207.1cb10db6 → 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 (419) hide show
  1. package/components/alert.js +30 -4
  2. package/components/checkbox.js +37 -5
  3. package/components/helpers.js +7 -1
  4. package/components/index9.js +1 -1
  5. package/components/ion-range.js +28 -6
  6. package/components/ion-router.js +1 -1
  7. package/components/ion-segment-button.js +1 -1
  8. package/components/ion-select.js +47 -5
  9. package/components/ion-toggle.js +38 -5
  10. package/components/ionic-global.js +2 -1
  11. package/components/modal.js +15 -7
  12. package/dist/cjs/{app-globals-21afee77.js → app-globals-4283fe37.js} +1 -1
  13. package/dist/cjs/{data-108e531d.js → data-26456291.js} +1 -1
  14. package/dist/cjs/{framework-delegate-05579976.js → framework-delegate-c4f2ba04.js} +1 -1
  15. package/dist/cjs/{hardware-back-button-9e8a2c4f.js → hardware-back-button-f2cbbdce.js} +1 -1
  16. package/dist/cjs/{helpers-4be3f90d.js → helpers-b14a0f09.js} +7 -0
  17. package/dist/cjs/{index-0ff61d0b.js → index-0d2610b6.js} +4 -4
  18. package/dist/cjs/{index-2a46a047.js → index-275c982e.js} +1 -1
  19. package/dist/cjs/{index-6770fc00.js → index-608fc5fd.js} +2 -2
  20. package/dist/cjs/{index-26bb7e42.js → index-6ad4725f.js} +5 -5
  21. package/dist/cjs/{index-ad7a712e.js → index-786364c7.js} +1 -1
  22. package/dist/cjs/index.cjs.js +10 -10
  23. package/dist/cjs/{input-shims-fd997b01.js → input-shims-a2cf9d15.js} +4 -4
  24. package/dist/cjs/{input.utils-c15a1814.js → input.utils-18725f61.js} +2 -2
  25. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  26. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  27. package/dist/cjs/ion-alert.cjs.entry.js +36 -10
  28. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  29. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-checkbox.cjs.entry.js +37 -7
  36. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  39. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  40. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
  43. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  45. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  46. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  48. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  49. package/dist/cjs/ion-modal.cjs.entry.js +23 -15
  50. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  51. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  54. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  55. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-range.cjs.entry.js +30 -9
  58. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  59. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  60. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  65. package/dist/cjs/ion-select_3.cjs.entry.js +52 -12
  66. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  67. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  68. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  71. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  72. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  73. package/dist/cjs/ion-toggle.cjs.entry.js +38 -7
  74. package/dist/cjs/{ionic-global-d9a8bb5b.js → ionic-global-96da1b2e.js} +2 -1
  75. package/dist/cjs/ionic.cjs.js +3 -3
  76. package/dist/cjs/{ios.transition-a4f35c55.js → ios.transition-e188169d.js} +4 -4
  77. package/dist/cjs/loader.cjs.js +3 -3
  78. package/dist/cjs/{md.transition-cdf904e6.js → md.transition-b66da2a1.js} +4 -4
  79. package/dist/cjs/{notch-controller-a0c464d1.js → notch-controller-bd07748b.js} +1 -1
  80. package/dist/cjs/{overlays-86695cf1.js → overlays-b0b07774.js} +5 -5
  81. package/dist/cjs/{status-tap-1a2485c1.js → status-tap-3b633cba.js} +4 -4
  82. package/dist/cjs/{swipe-back-47a52b83.js → swipe-back-b70cd52e.js} +1 -1
  83. package/dist/collection/components/alert/alert.js +34 -4
  84. package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
  85. package/dist/collection/components/checkbox/checkbox.js +70 -3
  86. package/dist/collection/components/checkbox/checkbox.md.css +52 -15
  87. package/dist/collection/components/modal/gestures/sheet.js +11 -3
  88. package/dist/collection/components/modal/modal.js +5 -5
  89. package/dist/collection/components/range/range.js +25 -6
  90. package/dist/collection/components/select/select.ios.css +59 -0
  91. package/dist/collection/components/select/select.js +80 -3
  92. package/dist/collection/components/select/select.md.css +61 -0
  93. package/dist/collection/components/toggle/toggle.ios.css +52 -15
  94. package/dist/collection/components/toggle/toggle.js +71 -3
  95. package/dist/collection/components/toggle/toggle.md.css +52 -15
  96. package/dist/collection/utils/floating-point/index.js +5 -0
  97. package/dist/collection/utils/helpers.js +6 -0
  98. package/dist/collection/utils/platform.js +2 -1
  99. package/dist/collection/utils/test/platform.utils.js +1 -1
  100. package/dist/docs.json +222 -2
  101. package/dist/esm/{app-globals-5dbb61a5.js → app-globals-c10a1137.js} +1 -1
  102. package/dist/esm/{data-b3284b5e.js → data-bf516e75.js} +1 -1
  103. package/dist/esm/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  104. package/dist/esm/{hardware-back-button-06ef3c3e.js → hardware-back-button-44195e92.js} +1 -1
  105. package/dist/esm/{helpers-9b49d7d2.js → helpers-13b816c6.js} +7 -1
  106. package/dist/esm/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  107. package/dist/esm/{index-6a5baab0.js → index-879a2080.js} +5 -5
  108. package/dist/esm/{index-7105cd59.js → index-b4ac4019.js} +4 -4
  109. package/dist/esm/{index-6ad967f3.js → index-ce8d38d0.js} +1 -1
  110. package/dist/esm/{index-dd0f7395.js → index-ec2140bf.js} +2 -2
  111. package/dist/esm/index.js +10 -10
  112. package/dist/esm/{input-shims-dff819a9.js → input-shims-4c3d7279.js} +4 -4
  113. package/dist/esm/{input.utils-2f1029cf.js → input.utils-b4805900.js} +2 -2
  114. package/dist/esm/ion-accordion_2.entry.js +3 -3
  115. package/dist/esm/ion-action-sheet.entry.js +6 -6
  116. package/dist/esm/ion-alert.entry.js +36 -10
  117. package/dist/esm/ion-app_8.entry.js +12 -12
  118. package/dist/esm/ion-avatar_3.entry.js +1 -1
  119. package/dist/esm/ion-back-button.entry.js +2 -2
  120. package/dist/esm/ion-backdrop.entry.js +1 -1
  121. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  122. package/dist/esm/ion-button_2.entry.js +3 -3
  123. package/dist/esm/ion-card_5.entry.js +2 -2
  124. package/dist/esm/ion-checkbox.entry.js +37 -7
  125. package/dist/esm/ion-chip.entry.js +1 -1
  126. package/dist/esm/ion-col_3.entry.js +1 -1
  127. package/dist/esm/ion-datetime-button.entry.js +4 -4
  128. package/dist/esm/ion-datetime_3.entry.js +7 -7
  129. package/dist/esm/ion-fab_3.entry.js +2 -2
  130. package/dist/esm/ion-img.entry.js +2 -2
  131. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
  132. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  133. package/dist/esm/ion-input.entry.js +5 -5
  134. package/dist/esm/ion-item-option_3.entry.js +4 -4
  135. package/dist/esm/ion-item_8.entry.js +2 -2
  136. package/dist/esm/ion-loading.entry.js +6 -6
  137. package/dist/esm/ion-menu_3.entry.js +7 -7
  138. package/dist/esm/ion-modal.entry.js +23 -15
  139. package/dist/esm/ion-nav_2.entry.js +6 -6
  140. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  141. package/dist/esm/ion-picker-column.entry.js +2 -2
  142. package/dist/esm/ion-picker.entry.js +1 -1
  143. package/dist/esm/ion-popover.entry.js +7 -7
  144. package/dist/esm/ion-progress-bar.entry.js +2 -2
  145. package/dist/esm/ion-radio_2.entry.js +2 -2
  146. package/dist/esm/ion-range.entry.js +30 -9
  147. package/dist/esm/ion-refresher_2.entry.js +4 -4
  148. package/dist/esm/ion-reorder_2.entry.js +4 -4
  149. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  150. package/dist/esm/ion-route_4.entry.js +2 -2
  151. package/dist/esm/ion-searchbar.entry.js +2 -2
  152. package/dist/esm/ion-segment_2.entry.js +2 -2
  153. package/dist/esm/ion-select-modal.entry.js +6 -6
  154. package/dist/esm/ion-select_3.entry.js +52 -12
  155. package/dist/esm/ion-spinner.entry.js +1 -1
  156. package/dist/esm/ion-split-pane.entry.js +1 -1
  157. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  158. package/dist/esm/ion-tab_2.entry.js +2 -2
  159. package/dist/esm/ion-text.entry.js +1 -1
  160. package/dist/esm/ion-textarea.entry.js +5 -5
  161. package/dist/esm/ion-toast.entry.js +6 -6
  162. package/dist/esm/ion-toggle.entry.js +38 -7
  163. package/dist/esm/{ionic-global-c81d82ab.js → ionic-global-bf78a847.js} +2 -1
  164. package/dist/esm/ionic.js +3 -3
  165. package/dist/esm/{ios.transition-314468a2.js → ios.transition-ffee637f.js} +4 -4
  166. package/dist/esm/loader.js +3 -3
  167. package/dist/esm/{md.transition-a560e0e2.js → md.transition-3a4f9709.js} +4 -4
  168. package/dist/esm/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  169. package/dist/esm/{overlays-9a81f230.js → overlays-36f5880e.js} +5 -5
  170. package/dist/esm/{status-tap-d07dbc82.js → status-tap-2ce7841e.js} +4 -4
  171. package/dist/esm/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  172. package/dist/esm-es5/app-globals-c10a1137.js +4 -0
  173. package/dist/esm-es5/{data-b3284b5e.js → data-bf516e75.js} +1 -1
  174. package/dist/esm-es5/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  175. package/dist/esm-es5/{hardware-back-button-06ef3c3e.js → hardware-back-button-44195e92.js} +1 -1
  176. package/dist/esm-es5/{helpers-9b49d7d2.js → helpers-13b816c6.js} +1 -1
  177. package/dist/esm-es5/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  178. package/dist/esm-es5/{index-6a5baab0.js → index-879a2080.js} +1 -1
  179. package/dist/esm-es5/{index-7105cd59.js → index-b4ac4019.js} +1 -1
  180. package/dist/esm-es5/{index-6ad967f3.js → index-ce8d38d0.js} +1 -1
  181. package/dist/esm-es5/{index-dd0f7395.js → index-ec2140bf.js} +1 -1
  182. package/dist/esm-es5/index.js +1 -1
  183. package/dist/esm-es5/{input-shims-dff819a9.js → input-shims-4c3d7279.js} +1 -1
  184. package/dist/esm-es5/{input.utils-2f1029cf.js → input.utils-b4805900.js} +1 -1
  185. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  186. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  187. package/dist/esm-es5/ion-alert.entry.js +1 -1
  188. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  189. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  190. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  191. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  192. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  193. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  194. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  195. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  196. package/dist/esm-es5/ion-chip.entry.js +1 -1
  197. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  198. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  199. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  200. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  201. package/dist/esm-es5/ion-img.entry.js +1 -1
  202. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  203. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  204. package/dist/esm-es5/ion-input.entry.js +1 -1
  205. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  207. package/dist/esm-es5/ion-loading.entry.js +1 -1
  208. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  209. package/dist/esm-es5/ion-modal.entry.js +1 -1
  210. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  211. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  212. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  213. package/dist/esm-es5/ion-picker.entry.js +1 -1
  214. package/dist/esm-es5/ion-popover.entry.js +1 -1
  215. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  216. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  217. package/dist/esm-es5/ion-range.entry.js +1 -1
  218. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  219. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  221. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  222. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  223. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  224. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  225. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  226. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  227. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  228. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  229. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  230. package/dist/esm-es5/ion-text.entry.js +1 -1
  231. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  232. package/dist/esm-es5/ion-toast.entry.js +1 -1
  233. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  234. package/dist/esm-es5/{ionic-global-c81d82ab.js → ionic-global-bf78a847.js} +1 -1
  235. package/dist/esm-es5/ionic.js +1 -1
  236. package/dist/esm-es5/{ios.transition-314468a2.js → ios.transition-ffee637f.js} +1 -1
  237. package/dist/esm-es5/loader.js +1 -1
  238. package/dist/esm-es5/md.transition-3a4f9709.js +4 -0
  239. package/dist/esm-es5/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  240. package/dist/esm-es5/{overlays-9a81f230.js → overlays-36f5880e.js} +1 -1
  241. package/dist/esm-es5/{status-tap-d07dbc82.js → status-tap-2ce7841e.js} +1 -1
  242. package/dist/esm-es5/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  243. package/dist/html.html-data.json +25 -1
  244. package/dist/ionic/index.esm.js +1 -1
  245. package/dist/ionic/ionic.esm.js +1 -1
  246. package/dist/ionic/ionic.js +1 -1
  247. package/dist/ionic/{p-bb2a6761.entry.js → p-00d5ab83.entry.js} +1 -1
  248. package/dist/ionic/{p-b1f885df.entry.js → p-020df11a.entry.js} +1 -1
  249. package/dist/ionic/{p-1a5bc5f7.js → p-03940ae5.js} +1 -1
  250. package/dist/ionic/p-0412232d.js +4 -0
  251. package/dist/ionic/{p-a309ca1c.entry.js → p-0434c94c.entry.js} +1 -1
  252. package/dist/ionic/{p-da8ef548.system.entry.js → p-05f90810.system.entry.js} +1 -1
  253. package/dist/ionic/{p-89bf08c7.entry.js → p-09e4bf0d.entry.js} +1 -1
  254. package/dist/ionic/p-0ab8caf8.system.entry.js +4 -0
  255. package/dist/ionic/{p-6ca64f4e.entry.js → p-0eab6979.entry.js} +1 -1
  256. package/dist/ionic/p-0f138cf3.entry.js +4 -0
  257. package/dist/ionic/{p-78c884a1.system.entry.js → p-166a794f.system.entry.js} +1 -1
  258. package/dist/ionic/{p-fca17935.entry.js → p-16dd9c9b.entry.js} +1 -1
  259. package/dist/ionic/{p-acb30a5c.system.js → p-187396b1.system.js} +1 -1
  260. package/dist/ionic/{p-fa210a45.system.entry.js → p-1cf593cf.system.entry.js} +1 -1
  261. package/dist/ionic/{p-4ad78edc.entry.js → p-1f62c30b.entry.js} +1 -1
  262. package/dist/ionic/p-21780245.entry.js +4 -0
  263. package/dist/ionic/{p-b936eb7e.system.entry.js → p-21ee4f71.system.entry.js} +1 -1
  264. package/dist/ionic/{p-04b4ee62.entry.js → p-221fbdf5.entry.js} +1 -1
  265. package/dist/ionic/{p-dd0c9350.system.entry.js → p-25580c85.system.entry.js} +1 -1
  266. package/dist/ionic/{p-dde1e5b8.entry.js → p-2840743b.entry.js} +1 -1
  267. package/dist/ionic/{p-3624eb4f.entry.js → p-29cccf08.entry.js} +1 -1
  268. package/dist/ionic/{p-343b6b1d.system.js → p-2c1d4963.system.js} +1 -1
  269. package/dist/ionic/{p-b93144e1.entry.js → p-2f429536.entry.js} +1 -1
  270. package/dist/ionic/{p-9b3bb24e.entry.js → p-34182275.entry.js} +1 -1
  271. package/dist/ionic/{p-2bc73fb5.js → p-3559bd4f.js} +1 -1
  272. package/dist/ionic/p-38df41a6.system.js +4 -0
  273. package/dist/ionic/{p-8e407469.system.js → p-3a4d77b9.system.js} +1 -1
  274. package/dist/ionic/{p-3731296e.entry.js → p-3b872754.entry.js} +1 -1
  275. package/dist/ionic/{p-16960598.entry.js → p-41d7ca3c.entry.js} +1 -1
  276. package/dist/ionic/{p-f2fb9a7b.system.entry.js → p-4200e056.system.entry.js} +1 -1
  277. package/dist/ionic/{p-bf63d4b2.entry.js → p-43bfbfd7.entry.js} +1 -1
  278. package/dist/ionic/{p-e8f34871.entry.js → p-441c2c8c.entry.js} +1 -1
  279. package/dist/ionic/{p-1f9fa897.system.entry.js → p-47026941.system.entry.js} +1 -1
  280. package/dist/ionic/{p-f3102647.system.entry.js → p-478dfa8c.system.entry.js} +1 -1
  281. package/dist/ionic/{p-ba3f918e.entry.js → p-48e9eedb.entry.js} +1 -1
  282. package/dist/ionic/{p-0eb2553a.system.entry.js → p-4a98a017.system.entry.js} +1 -1
  283. package/dist/ionic/{p-990630ca.js → p-4e0643a3.js} +1 -1
  284. package/dist/ionic/p-4e8946f7.js +4 -0
  285. package/dist/ionic/{p-c59abcb6.system.entry.js → p-506f2664.system.entry.js} +1 -1
  286. package/dist/ionic/p-51d4cdba.system.js +4 -0
  287. package/dist/ionic/{p-5126cf1e.system.js → p-52b61cba.system.js} +1 -1
  288. package/dist/ionic/p-541b5191.entry.js +4 -0
  289. package/dist/ionic/{p-f5d6624d.entry.js → p-5a1017f3.entry.js} +1 -1
  290. package/dist/ionic/{p-36c448fe.entry.js → p-5bc47f96.entry.js} +1 -1
  291. package/dist/ionic/p-5c364a5b.entry.js +4 -0
  292. package/dist/ionic/{p-ca7b5bec.system.entry.js → p-5f10138c.system.entry.js} +1 -1
  293. package/dist/ionic/{p-ad10b555.system.entry.js → p-5f7a9125.system.entry.js} +2 -2
  294. package/dist/ionic/p-60f7c85d.entry.js +4 -0
  295. package/dist/ionic/p-62151078.system.entry.js +4 -0
  296. package/dist/ionic/p-623b4fa6.system.entry.js +4 -0
  297. package/dist/ionic/{p-78604c34.entry.js → p-62d2e17d.entry.js} +1 -1
  298. package/dist/ionic/{p-4f8e2c0a.system.entry.js → p-6321783a.system.entry.js} +1 -1
  299. package/dist/ionic/{p-d99e8644.system.js → p-6579f457.system.js} +1 -1
  300. package/dist/ionic/{p-73262d9e.system.entry.js → p-66425a02.system.entry.js} +1 -1
  301. package/dist/ionic/{p-8f2fe279.system.entry.js → p-6703c724.system.entry.js} +1 -1
  302. package/dist/ionic/{p-bb11d9fb.js → p-6eb35904.js} +1 -1
  303. package/dist/ionic/{p-ecceeb90.js → p-6f3d8334.js} +1 -1
  304. package/dist/ionic/{p-462ddb40.entry.js → p-6f6dd24f.entry.js} +1 -1
  305. package/dist/ionic/p-717520d6.system.entry.js +4 -0
  306. package/dist/ionic/{p-655723eb.system.entry.js → p-72210f2a.system.entry.js} +1 -1
  307. package/dist/ionic/{p-73897169.system.js → p-74e328cf.system.js} +1 -1
  308. package/dist/ionic/{p-39dd4f62.js → p-761c42da.js} +1 -1
  309. package/dist/ionic/{p-484d855b.system.entry.js → p-7d1cbf97.system.entry.js} +2 -2
  310. package/dist/ionic/{p-5c9324c6.js → p-7e70835f.js} +1 -1
  311. package/dist/ionic/{p-c1dbc8b6.system.entry.js → p-7ef62ef9.system.entry.js} +1 -1
  312. package/dist/ionic/{p-af452fa4.system.js → p-80d837dd.system.js} +1 -1
  313. package/dist/ionic/{p-744b2484.system.entry.js → p-826c4d67.system.entry.js} +1 -1
  314. package/dist/ionic/{p-4a1d747d.entry.js → p-82afe775.entry.js} +1 -1
  315. package/dist/ionic/{p-4d3a5f86.js → p-845f8d16.js} +1 -1
  316. package/dist/ionic/{p-af744710.system.entry.js → p-84fb742d.system.entry.js} +1 -1
  317. package/dist/ionic/{p-29c6c783.entry.js → p-85d6d07c.entry.js} +1 -1
  318. package/dist/ionic/{p-860eb968.system.js → p-86a9a4ca.system.js} +1 -1
  319. package/dist/ionic/{p-3c8e5c23.system.js → p-8911101b.system.js} +1 -1
  320. package/dist/ionic/{p-c3802319.system.js → p-8973b827.system.js} +1 -1
  321. package/dist/ionic/{p-7a1766d6.js → p-89e678fa.js} +1 -1
  322. package/dist/ionic/p-8a3509b8.js +4 -0
  323. package/dist/ionic/{p-b3680e2f.system.js → p-8aa290af.system.js} +1 -1
  324. package/dist/ionic/{p-fd6cff12.entry.js → p-8eee812a.entry.js} +1 -1
  325. package/dist/ionic/{p-955c3eb8.entry.js → p-8f89c8e3.entry.js} +1 -1
  326. package/dist/ionic/{p-21c7f006.entry.js → p-8fa80de0.entry.js} +1 -1
  327. package/dist/ionic/{p-18e101b7.system.entry.js → p-9104d662.system.entry.js} +1 -1
  328. package/dist/ionic/{p-2cd35dd9.entry.js → p-95a11fc4.entry.js} +1 -1
  329. package/dist/ionic/{p-e32557bb.system.entry.js → p-97542341.system.entry.js} +1 -1
  330. package/dist/ionic/{p-60e2b91f.system.entry.js → p-986a98d9.system.entry.js} +2 -2
  331. package/dist/ionic/{p-88d323cd.system.entry.js → p-98aefaa1.system.entry.js} +1 -1
  332. package/dist/ionic/{p-d821466d.system.entry.js → p-9994c82e.system.entry.js} +1 -1
  333. package/dist/ionic/{p-e06861a9.system.entry.js → p-99b4160f.system.entry.js} +1 -1
  334. package/dist/ionic/p-9a950d3c.entry.js +4 -0
  335. package/dist/ionic/{p-75cc5913.system.entry.js → p-9aaaff17.system.entry.js} +1 -1
  336. package/dist/ionic/{p-5fce0c0b.system.entry.js → p-9c7efe25.system.entry.js} +1 -1
  337. package/dist/ionic/{p-bdad26e3.entry.js → p-9d4a8059.entry.js} +1 -1
  338. package/dist/ionic/{p-70af0afb.entry.js → p-a17a1fb9.entry.js} +1 -1
  339. package/dist/ionic/{p-e8d56122.js → p-a3e60403.js} +1 -1
  340. package/dist/ionic/{p-c8d645b3.entry.js → p-a4b108a7.entry.js} +1 -1
  341. package/dist/ionic/{p-fd4e25b5.system.entry.js → p-a4e7eaf6.system.entry.js} +1 -1
  342. package/dist/ionic/{p-b3c4ddc2.system.entry.js → p-aae5907a.system.entry.js} +1 -1
  343. package/dist/ionic/p-afba4c00.system.entry.js +4 -0
  344. package/dist/ionic/p-b1c4a9db.js +4 -0
  345. package/dist/ionic/{p-826a2aaf.entry.js → p-b1dbfc12.entry.js} +1 -1
  346. package/dist/ionic/{p-d4ca0475.js → p-b566749e.js} +1 -1
  347. package/dist/ionic/{p-bc616455.entry.js → p-bbfa740f.entry.js} +1 -1
  348. package/dist/ionic/{p-0609cf64.entry.js → p-bd1c99cb.entry.js} +1 -1
  349. package/dist/ionic/p-be8ecfc1.js +4 -0
  350. package/dist/ionic/p-c1ad8eb0.system.js +4 -0
  351. package/dist/ionic/{p-c935cfc9.js → p-c30c10af.js} +1 -1
  352. package/dist/ionic/{p-f89cf011.system.entry.js → p-c3de6cd1.system.entry.js} +1 -1
  353. package/dist/ionic/{p-6e077659.entry.js → p-c43872df.entry.js} +1 -1
  354. package/dist/ionic/{p-e75b0c87.entry.js → p-c4f9367a.entry.js} +1 -1
  355. package/dist/ionic/{p-648f5e38.system.entry.js → p-c52ca485.system.entry.js} +1 -1
  356. package/dist/ionic/{p-a9e24ae2.system.entry.js → p-c55254f0.system.entry.js} +1 -1
  357. package/dist/ionic/{p-33a8a71b.entry.js → p-c66604e4.entry.js} +1 -1
  358. package/dist/ionic/{p-f8e37d24.system.entry.js → p-cad0b874.system.entry.js} +1 -1
  359. package/dist/ionic/{p-a69b9fc5.system.js → p-d86d7845.system.js} +1 -1
  360. package/dist/ionic/{p-058e61eb.system.js → p-d8c1ac0d.system.js} +1 -1
  361. package/dist/ionic/{p-75544514.system.entry.js → p-d9162cf7.system.entry.js} +1 -1
  362. package/dist/ionic/{p-e5ed3da9.entry.js → p-dbe534f5.entry.js} +1 -1
  363. package/dist/ionic/{p-2d1d8a25.entry.js → p-dde5afee.entry.js} +1 -1
  364. package/dist/ionic/{p-2abc5389.entry.js → p-de0b8503.entry.js} +1 -1
  365. package/dist/ionic/{p-dc146a2a.system.entry.js → p-de4fef3c.system.entry.js} +1 -1
  366. package/dist/ionic/{p-84d08aae.system.entry.js → p-e0a2abde.system.entry.js} +1 -1
  367. package/dist/ionic/{p-d743e981.js → p-e25cd3c7.js} +1 -1
  368. package/dist/ionic/{p-665c22ee.entry.js → p-e3bd1070.entry.js} +1 -1
  369. package/dist/ionic/{p-8cfba7e9.system.entry.js → p-e56b4e0f.system.entry.js} +1 -1
  370. package/dist/ionic/{p-9a100adc.entry.js → p-e824ffe7.entry.js} +1 -1
  371. package/dist/ionic/{p-9f3008d4.system.js → p-eb4ac14d.system.js} +1 -1
  372. package/dist/ionic/{p-1c934892.entry.js → p-ebceb0ac.entry.js} +1 -1
  373. package/dist/ionic/{p-e0a6dc45.system.entry.js → p-ec92cc52.system.entry.js} +1 -1
  374. package/dist/ionic/{p-1283c4fa.system.entry.js → p-ee70a913.system.entry.js} +1 -1
  375. package/dist/ionic/{p-d7bb5325.entry.js → p-f4cddcd0.entry.js} +1 -1
  376. package/dist/ionic/p-f4f255cb.system.js +4 -0
  377. package/dist/ionic/{p-4452a8ac.system.js → p-f5a536e1.system.js} +1 -1
  378. package/dist/ionic/{p-a6cf686b.system.entry.js → p-f5f52b6d.system.entry.js} +1 -1
  379. package/dist/ionic/{p-578efda4.system.js → p-f6d066b4.system.js} +1 -1
  380. package/dist/ionic/{p-95da3ae2.system.js → p-f6e7870b.system.js} +1 -1
  381. package/dist/ionic/{p-e9ddf8fe.system.entry.js → p-fa5a45cd.system.entry.js} +1 -1
  382. package/dist/ionic/{p-a9eda6d0.system.entry.js → p-fb048d4d.system.entry.js} +1 -1
  383. package/dist/ionic/p-fe00ac05.system.entry.js +4 -0
  384. package/dist/ionic/{p-346b2baf.js → p-fe7be7b4.js} +1 -1
  385. package/dist/types/components/checkbox/checkbox.d.ts +19 -0
  386. package/dist/types/components/modal/modal.d.ts +6 -3
  387. package/dist/types/components/range/range.d.ts +3 -2
  388. package/dist/types/components/select/select.d.ts +23 -0
  389. package/dist/types/components/toggle/toggle.d.ts +19 -0
  390. package/dist/types/components.d.ts +50 -2
  391. package/dist/types/utils/helpers.d.ts +4 -0
  392. package/dist/types/utils/native/capacitor.d.ts +7 -1
  393. package/dist/types/utils/test/platform.utils.d.ts +1 -1
  394. package/hydrate/index.js +210 -32
  395. package/hydrate/index.mjs +210 -32
  396. package/package.json +5 -5
  397. package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
  398. package/dist/esm-es5/md.transition-a560e0e2.js +0 -4
  399. package/dist/ionic/p-0574e87e.js +0 -4
  400. package/dist/ionic/p-155f4d90.entry.js +0 -4
  401. package/dist/ionic/p-1f405274.js +0 -4
  402. package/dist/ionic/p-21227121.js +0 -4
  403. package/dist/ionic/p-22149a4f.js +0 -4
  404. package/dist/ionic/p-2c9eb774.system.js +0 -4
  405. package/dist/ionic/p-322c5fb4.system.js +0 -4
  406. package/dist/ionic/p-4a25618e.system.entry.js +0 -4
  407. package/dist/ionic/p-52245809.js +0 -4
  408. package/dist/ionic/p-5733b3de.system.entry.js +0 -4
  409. package/dist/ionic/p-67222c16.system.js +0 -4
  410. package/dist/ionic/p-68c5fcd6.system.entry.js +0 -4
  411. package/dist/ionic/p-712fedc9.entry.js +0 -4
  412. package/dist/ionic/p-7b02a0e4.entry.js +0 -4
  413. package/dist/ionic/p-7c3b0a9b.system.entry.js +0 -4
  414. package/dist/ionic/p-8f4361a8.system.entry.js +0 -4
  415. package/dist/ionic/p-9f763f14.entry.js +0 -4
  416. package/dist/ionic/p-a43ad5b5.entry.js +0 -4
  417. package/dist/ionic/p-acc8399c.system.entry.js +0 -4
  418. package/dist/ionic/p-c67ded77.entry.js +0 -4
  419. package/dist/ionic/p-fbf86e62.system.js +0 -4
@@ -167,6 +167,7 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
167
167
  }
168
168
  }
169
169
  onKeydown(ev) {
170
+ var _a;
170
171
  const inputTypes = new Set(this.processedInputs.map((i) => i.type));
171
172
  /**
172
173
  * Based on keyboard navigation requirements, the
@@ -176,6 +177,17 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
176
177
  ev.preventDefault();
177
178
  return;
178
179
  }
180
+ /**
181
+ * Ensure when alert container is being focused, and the user presses the tab + shift keys, the focus will be set to the last alert button.
182
+ */
183
+ if (ev.target.classList.contains('alert-wrapper')) {
184
+ if (ev.key === 'Tab' && ev.shiftKey) {
185
+ ev.preventDefault();
186
+ const lastChildBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button:last-child');
187
+ lastChildBtn.focus();
188
+ return;
189
+ }
190
+ }
179
191
  // The only inputs we want to navigate between using arrow keys are the radios
180
192
  // ignore the keydown event if it is not on a radio button
181
193
  if (!inputTypes.has('radio') ||
@@ -307,7 +319,21 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
307
319
  async present() {
308
320
  const unlock = await this.lockController.lock();
309
321
  await this.delegateController.attachViewToDom();
310
- await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);
322
+ await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation).then(() => {
323
+ var _a, _b;
324
+ /**
325
+ * Check if alert has only one button and no inputs.
326
+ * If so, then focus on the button. Otherwise, focus the alert wrapper.
327
+ * This will map to the default native alert behavior.
328
+ */
329
+ if (this.buttons.length === 1 && this.inputs.length === 0) {
330
+ const queryBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button');
331
+ queryBtn.focus();
332
+ }
333
+ else {
334
+ (_b = this.wrapperEl) === null || _b === void 0 ? void 0 : _b.focus();
335
+ }
336
+ });
311
337
  unlock();
312
338
  }
313
339
  /**
@@ -481,8 +507,8 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
481
507
  const { overlayIndex, header, subHeader, message, htmlAttributes } = this;
482
508
  const mode = getIonMode(this);
483
509
  const hdrId = `alert-${overlayIndex}-hdr`;
484
- const subHdrId = `alert-${overlayIndex}-sub-hdr`;
485
510
  const msgId = `alert-${overlayIndex}-msg`;
511
+ const subHdrId = `alert-${overlayIndex}-sub-hdr`;
486
512
  const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
487
513
  /**
488
514
  * Use both the header and subHeader ids if they are defined.
@@ -491,9 +517,9 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
491
517
  * If neither are defined, do not set aria-labelledby.
492
518
  */
493
519
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
494
- return (h(Host, Object.assign({ key: 'ad7e14b4f92a09387aa80abfb718a755e4e889d6', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
520
+ return (h(Host, { key: '755f2398806084f16ee24d9fefce9ebc0b8f30f2', tabindex: "-1", style: {
495
521
  zIndex: `${20000 + overlayIndex}`,
496
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '4b4693dca3c910aa9a61c4d90295d785ec6cbe3d', tappable: this.backdropDismiss }), h("div", { key: '64fd19b8f1d8246dcc869053f858bc33506def4b', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e61ba6f339c3a02cecd37d8b641ee5043018eb29', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '044e00667ffcb74aa2c5e0d0b42669c4004dbb4f', class: "alert-head" }, header && (h("h2", { key: '1aaae8d58722c4cf5debb1f00415ab7ed0a52bbd', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '9c9854dc3b0ad40f1861a49b76d5636afcae9c74', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '19aaca9912f77cde4ae8079be210eda697ed8de1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: 'a85d27c516f7cdbc85b19f40d2f0bd865490b6a7', tabindex: "0", "aria-hidden": "true" })));
522
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '5965913fb076436e37f4a55cd8778cbc58449bfd', tappable: this.backdropDismiss }), h("div", { key: 'cb17e07896b6ad8c9c607261fe08437b1a3b272f', tabindex: "0", "aria-hidden": "true" }), h("div", Object.assign({ key: 'e1d43053dceab70b9392802767caa70fa7ed0518', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), h("div", { key: 'a82e0bf863971084f3a8a34d25d6cf7aae1690a8', class: "alert-head" }, header && (h("h2", { key: '36a9b4394f4b4cdcd6972ae60265ac889e2157cf', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '86008c1eb484cc69f66e42c254933ce289180785', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: 'bfaacd3b119d06273683019cddef2c42245c3101', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '0e7df4ab31a72953dcf171ebc87074603f848c06', tabindex: "0", "aria-hidden": "true" })));
497
523
  }
498
524
  get el() { return this; }
499
525
  static get watchers() { return {
@@ -6,10 +6,10 @@ import { i as inheritAriaAttributes, e as renderHiddenInput } from './helpers.js
6
6
  import { c as createColorClasses, h as hostContext } from './theme.js';
7
7
  import { b as getIonMode } from './ionic-global.js';
8
8
 
9
- const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}";
9
+ const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}";
10
10
  const IonCheckboxIosStyle0 = checkboxIosCss;
11
11
 
12
- const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled) .label-text-wrapper{opacity:0.38}:host(.checkbox-disabled) .native-wrapper{opacity:0.63}";
12
+ const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled) .label-text-wrapper{opacity:0.38}:host(.checkbox-disabled) .native-wrapper{opacity:0.63}";
13
13
  const IonCheckboxMdStyle0 = checkboxMdCss;
14
14
 
15
15
  const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLElement {
@@ -21,6 +21,8 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
21
21
  this.ionFocus = createEvent(this, "ionFocus", 7);
22
22
  this.ionBlur = createEvent(this, "ionBlur", 7);
23
23
  this.inputId = `ion-cb-${checkboxIds++}`;
24
+ this.helperTextId = `${this.inputId}-helper-text`;
25
+ this.errorTextId = `${this.inputId}-error-text`;
24
26
  this.inheritedAttributes = {};
25
27
  /**
26
28
  * Sets the checked property and emits
@@ -58,6 +60,8 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
58
60
  this.checked = false;
59
61
  this.indeterminate = false;
60
62
  this.disabled = false;
63
+ this.errorText = undefined;
64
+ this.helperText = undefined;
61
65
  this.value = 'on';
62
66
  this.labelPlacement = 'start';
63
67
  this.justify = undefined;
@@ -73,12 +77,38 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
73
77
  this.focusEl.focus();
74
78
  }
75
79
  }
80
+ getHintTextID() {
81
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
82
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
83
+ return errorTextId;
84
+ }
85
+ if (helperText) {
86
+ return helperTextId;
87
+ }
88
+ return undefined;
89
+ }
90
+ /**
91
+ * Responsible for rendering helper text and error text.
92
+ * This element should only be rendered if hint text is set.
93
+ */
94
+ renderHintText() {
95
+ const { helperText, errorText, helperTextId, errorTextId } = this;
96
+ /**
97
+ * undefined and empty string values should
98
+ * be treated as not having helper/error text.
99
+ */
100
+ const hasHintText = !!helperText || !!errorText;
101
+ if (!hasHintText) {
102
+ return;
103
+ }
104
+ 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)));
105
+ }
76
106
  render() {
77
107
  const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
78
108
  const mode = getIonMode(this);
79
109
  const path = getSVGPath(mode, indeterminate);
80
110
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
81
- return (h(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
111
+ return (h(Host, { key: '7ac31df89b07c781ddcd30a6a8c109494d0c500a', "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, class: createColorClasses(color, {
82
112
  [mode]: true,
83
113
  'in-item': hostContext('ion-item', el),
84
114
  'checkbox-checked': checked,
@@ -88,10 +118,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
88
118
  [`checkbox-justify-${justify}`]: justify !== undefined,
89
119
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
90
120
  [`checkbox-label-placement-${labelPlacement}`]: true,
91
- }), onClick: this.onClick }, h("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', 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: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
121
+ }), 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: {
92
122
  'label-text-wrapper': true,
93
123
  'label-text-wrapper-hidden': el.textContent === '',
94
- }, part: "label" }, h("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), h("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, h("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
124
+ }, 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)))));
95
125
  }
96
126
  getSVGPath(mode, indeterminate) {
97
127
  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" }));
@@ -111,6 +141,8 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
111
141
  "checked": [1028],
112
142
  "indeterminate": [1028],
113
143
  "disabled": [4],
144
+ "errorText": [1, "error-text"],
145
+ "helperText": [1, "helper-text"],
114
146
  "value": [8],
115
147
  "labelPlacement": [1, "label-placement"],
116
148
  "justify": [1],
@@ -368,5 +368,11 @@ const getNextSiblingOfType = (element) => {
368
368
  }
369
369
  return null;
370
370
  };
371
+ /**
372
+ * Checks input for usable number. Not NaN and not Infinite.
373
+ */
374
+ const isSafeNumber = (input) => {
375
+ return typeof input === 'number' && !isNaN(input) && isFinite(input);
376
+ };
371
377
 
372
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, debounce as o, getNextSiblingOfType as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
378
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, isSafeNumber as o, debounce as p, getNextSiblingOfType as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, pointerCoord as u };
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index5.js';
5
- import { q as pointerCoord } from './helpers.js';
5
+ import { u as pointerCoord } from './helpers.js';
6
6
 
7
7
  const startTapClick = (config) => {
8
8
  if (doc === undefined) {
@@ -3,13 +3,15 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index8.js';
6
- import { k as clamp, l as debounceEvent, i as inheritAriaAttributes, e as renderHiddenInput } from './helpers.js';
6
+ import { o as isSafeNumber, k as clamp, l as debounceEvent, i as inheritAriaAttributes, e as renderHiddenInput } from './helpers.js';
7
7
  import { p as printIonWarning } from './index6.js';
8
8
  import { i as isRTL } from './dir.js';
9
9
  import { h as hostContext, c as createColorClasses } from './theme.js';
10
10
  import { b as getIonMode } from './ionic-global.js';
11
11
 
12
12
  function getDecimalPlaces(n) {
13
+ if (!isSafeNumber(n))
14
+ return 0;
13
15
  if (n % 1 === 0)
14
16
  return 0;
15
17
  return n.toString().split('.')[1].length;
@@ -47,6 +49,8 @@ function getDecimalPlaces(n) {
47
49
  * be used as a reference for the desired specificity.
48
50
  */
49
51
  function roundToMaxDecimalPlaces(n, ...references) {
52
+ if (!isSafeNumber(n))
53
+ return 0;
50
54
  const maxPlaces = Math.max(...references.map((r) => getDecimalPlaces(r)));
51
55
  return Number(n.toFixed(maxPlaces));
52
56
  }
@@ -169,16 +173,27 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
169
173
  */
170
174
  this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
171
175
  }
172
- minChanged() {
176
+ minChanged(newValue) {
177
+ if (!isSafeNumber(newValue)) {
178
+ this.min = 0;
179
+ }
173
180
  if (!this.noUpdate) {
174
181
  this.updateRatio();
175
182
  }
176
183
  }
177
- maxChanged() {
184
+ maxChanged(newValue) {
185
+ if (!isSafeNumber(newValue)) {
186
+ this.max = 100;
187
+ }
178
188
  if (!this.noUpdate) {
179
189
  this.updateRatio();
180
190
  }
181
191
  }
192
+ stepChanged(newValue) {
193
+ if (!isSafeNumber(newValue)) {
194
+ this.step = 1;
195
+ }
196
+ }
182
197
  activeBarStartChanged() {
183
198
  const { activeBarStart } = this;
184
199
  if (activeBarStart !== undefined) {
@@ -211,6 +226,11 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
211
226
  this.rangeId = this.el.getAttribute('id');
212
227
  }
213
228
  this.inheritedAttributes = inheritAriaAttributes(this.el);
229
+ // If min, max, or step are not safe, set them to 0, 100, and 1, respectively.
230
+ // Each watch does this, but not before the initial load.
231
+ this.min = isSafeNumber(this.min) ? this.min : 0;
232
+ this.max = isSafeNumber(this.max) ? this.max : 100;
233
+ this.step = isSafeNumber(this.step) ? this.step : 1;
214
234
  }
215
235
  componentDidLoad() {
216
236
  this.originalIonInput = this.ionInput;
@@ -605,7 +625,7 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
605
625
  const needsEndAdjustment = inItem && !hasEndContent;
606
626
  const mode = getIonMode(this);
607
627
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
608
- return (h(Host, { key: 'efb8663a61f36a9db4ef69ece3a22e1424acbc28', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
628
+ return (h(Host, { key: 'ddecc98800b9137294c8cadfbde7d07d5b3825d7', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
609
629
  [mode]: true,
610
630
  'in-item': inItem,
611
631
  'range-disabled': disabled,
@@ -614,16 +634,17 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
614
634
  [`range-label-placement-${labelPlacement}`]: true,
615
635
  'range-item-start-adjustment': needsStartAdjustment,
616
636
  'range-item-end-adjustment': needsEndAdjustment,
617
- }) }, h("label", { key: '040be16d5a2b4c1dded852d45a82e7505dc8fb30', class: "range-wrapper", id: "range-label" }, h("div", { key: 'd2ba909a1177dd27c1789f0d3f8f012a39f216c6', class: {
637
+ }) }, h("label", { key: '5afdbea21b1b82efde1126ceb0a263f85731aecf', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e47e0bbefcb931dff5b846f47b4458153b73df94', class: {
618
638
  'label-text-wrapper': true,
619
639
  'label-text-wrapper-hidden': !hasLabel,
620
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'eeaa70230c5adfac60468a8ff52a54eaf804c030', class: "native-wrapper" }, h("slot", { key: '1d78f55bb32bb05950dff7dfcc6bfdbef1cddb81', name: "start" }), this.renderRangeSlider(), h("slot", { key: '2dab4e2894ed7c036871a209419a92f1b6cf6059', name: "end" })))));
640
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '842f35cd03bb6108d1ecf0c0a07adfbdc900401c', class: "native-wrapper" }, h("slot", { key: '4a5141daaf5de5b3251bef4232ce5a27fc0395df', name: "start" }), this.renderRangeSlider(), h("slot", { key: '53ffe0a40b093c5fbcbc50d47eea6bb3f39dfdbb', name: "end" })))));
621
641
  }
622
642
  get el() { return this; }
623
643
  static get watchers() { return {
624
644
  "debounce": ["debounceChanged"],
625
645
  "min": ["minChanged"],
626
646
  "max": ["maxChanged"],
647
+ "step": ["stepChanged"],
627
648
  "activeBarStart": ["activeBarStartChanged"],
628
649
  "disabled": ["disabledChanged"],
629
650
  "value": ["valueChanged"]
@@ -656,6 +677,7 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
656
677
  "debounce": ["debounceChanged"],
657
678
  "min": ["minChanged"],
658
679
  "max": ["maxChanged"],
680
+ "step": ["stepChanged"],
659
681
  "activeBarStart": ["activeBarStartChanged"],
660
682
  "disabled": ["disabledChanged"],
661
683
  "value": ["valueChanged"]
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
5
- import { c as componentOnReady, o as debounce } from './helpers.js';
5
+ import { c as componentOnReady, p as debounce } from './helpers.js';
6
6
 
7
7
  const ROUTER_INTENT_NONE = 'root';
8
8
  const ROUTER_INTENT_FORWARD = 'forward';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
- import { a as addEventListener, b as removeEventListener, d as inheritAttributes, p as getNextSiblingOfType } from './helpers.js';
5
+ import { a as addEventListener, b as removeEventListener, d as inheritAttributes, q as getNextSiblingOfType } from './helpers.js';
6
6
  import { h as hostContext } from './theme.js';
7
7
  import { b as getIonMode } from './ionic-global.js';
8
8
  import { d as defineCustomElement$2 } from './ripple-effect.js';
@@ -33,10 +33,10 @@ import { d as defineCustomElement$4 } from './select-popover.js';
33
33
  import { d as defineCustomElement$3 } from './title.js';
34
34
  import { d as defineCustomElement$2 } from './toolbar.js';
35
35
 
36
- const selectIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}";
36
+ const selectIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}";
37
37
  const IonSelectIosStyle0 = selectIosCss;
38
38
 
39
- const selectMdCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.select-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-solid) .select-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.has-focus.select-fill-solid.ion-valid),:host(.select-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-bottom{border-top:none}@media (any-hover: hover){:host(.select-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-solid.select-expanded),:host(.select-fill-solid.ion-focused){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}:host(.select-fill-solid) .select-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.select-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.select-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-outline.select-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.select-fill-outline.ion-valid),:host(.select-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.select-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-outline.select-expanded),:host(.select-fill-outline.ion-focused){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.select-fill-outline) .select-bottom{border-top:none}:host(.select-fill-outline) .select-wrapper{border-bottom:none}:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper{position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .label-text-wrapper{position:relative;z-index:1}:host(.label-floating.select-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75)}:host(.select-fill-outline.select-label-placement-stacked) select,:host(.select-fill-outline.select-label-placement-floating) select{margin-left:0;margin-right:0;margin-top:6px;margin-bottom:6px}:host(.select-fill-outline) .select-outline-container{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-end{pointer-events:none}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-notch,:host(.select-fill-outline) .select-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.select-fill-outline) .select-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none}:host(.select-fill-outline) .select-outline-start{-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius)}:host(.select-fill-outline) .select-outline-start{width:calc(var(--padding-start) - 4px)}:host(.select-fill-outline) .select-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-end{border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px}:host(.select-fill-outline) .select-outline-end{-ms-flex-positive:1;flex-grow:1}:host(.label-floating.select-fill-outline) .select-outline-notch{border-top:none}:host{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--highlight-height:2px}.select-icon{width:0.8125rem;-webkit-transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.ion-focused) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.ion-focused) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}.select-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.select-highlight{inset-inline-start:0}:host(.select-expanded) .select-highlight,:host(.ion-focused) .select-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .select-highlight{bottom:0}:host(.in-item) .select-highlight{inset-inline-start:0}:host(.select-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.select-expanded) .select-wrapper .select-icon,:host(.has-focus.ion-valid) .select-wrapper .select-icon,:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,:host(.ion-focused) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-shape-round){--border-radius:16px}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 0.8125rem - 4px)}:host(.select-disabled){opacity:0.38}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}";
39
+ const selectMdCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;width:100%;min-height:44px;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-bottom{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}:host(.has-focus.ion-valid),:host(.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.select-fill-solid){--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-500, var(--ion-background-color-step-500, gray));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-solid) .select-wrapper{border-bottom:var(--border-width) var(--border-style) var(--border-color)}:host(.has-focus.select-fill-solid.ion-valid),:host(.select-fill-solid.ion-touched.ion-invalid){--border-color:var(--highlight-color)}:host(.select-fill-solid) .select-bottom{border-top:none}@media (any-hover: hover){:host(.select-fill-solid:hover){--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-solid.select-expanded),:host(.select-fill-solid.ion-focused){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}:host(.select-fill-solid) .select-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0px;border-end-start-radius:0px}:host(.label-floating.select-fill-solid) .label-text-wrapper{max-width:calc(100% / 0.75)}:host(.select-fill-outline){--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));--border-radius:4px;--padding-start:16px;--padding-end:16px;min-height:56px}:host(.select-fill-outline.select-shape-round){--border-radius:28px;--padding-start:32px;--padding-end:32px}:host(.has-focus.select-fill-outline.ion-valid),:host(.select-fill-outline.ion-touched.ion-invalid){--border-color:var(--highlight-color)}@media (any-hover: hover){:host(.select-fill-outline:hover){--border-color:var(--ion-color-step-750, var(--ion-background-color-step-750, #404040))}}:host(.select-fill-outline.select-expanded),:host(.select-fill-outline.ion-focused){--border-width:var(--highlight-height);--border-color:var(--highlight-color)}:host(.select-fill-outline) .select-bottom{border-top:none}:host(.select-fill-outline) .select-wrapper{border-bottom:none}:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper{position:absolute;max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .label-text-wrapper{position:relative;z-index:1}:host(.label-floating.select-fill-outline) .label-text-wrapper{-webkit-transform:translateY(-32%) scale(0.75);transform:translateY(-32%) scale(0.75);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;max-width:calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75)}:host(.select-fill-outline.select-label-placement-stacked) select,:host(.select-fill-outline.select-label-placement-floating) select{margin-left:0;margin-right:0;margin-top:6px;margin-bottom:6px}:host(.select-fill-outline) .select-outline-container{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;width:100%;height:100%}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-end{pointer-events:none}:host(.select-fill-outline) .select-outline-start,:host(.select-fill-outline) .select-outline-notch,:host(.select-fill-outline) .select-outline-end{border-top:var(--border-width) var(--border-style) var(--border-color);border-bottom:var(--border-width) var(--border-style) var(--border-color);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.select-fill-outline) .select-outline-notch{max-width:calc(100% - var(--padding-start) - var(--padding-end))}:host(.select-fill-outline) .notch-spacer{-webkit-padding-end:8px;padding-inline-end:8px;font-size:calc(1em * 0.75);opacity:0;pointer-events:none}:host(.select-fill-outline) .select-outline-start{-webkit-border-start:var(--border-width) var(--border-style) var(--border-color);border-inline-start:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-start{border-start-start-radius:var(--border-radius);border-start-end-radius:0px;border-end-end-radius:0px;border-end-start-radius:var(--border-radius)}:host(.select-fill-outline) .select-outline-start{width:calc(var(--padding-start) - 4px)}:host(.select-fill-outline) .select-outline-end{-webkit-border-end:var(--border-width) var(--border-style) var(--border-color);border-inline-end:var(--border-width) var(--border-style) var(--border-color)}:host(.select-fill-outline) .select-outline-end{border-start-start-radius:0px;border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius);border-end-start-radius:0px}:host(.select-fill-outline) .select-outline-end{-ms-flex-positive:1;flex-grow:1}:host(.label-floating.select-fill-outline) .select-outline-notch{border-top:none}:host{--border-width:1px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--highlight-height:2px}.select-icon{width:0.8125rem;-webkit-transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);transition:transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.ion-focused) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.ion-focused) .label-text-wrapper{color:var(--highlight-color)}:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper{color:var(--highlight-color)}.select-highlight{bottom:-1px;position:absolute;width:100%;height:var(--highlight-height);-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform 200ms;transition:-webkit-transform 200ms;transition:transform 200ms;transition:transform 200ms, -webkit-transform 200ms;background:var(--highlight-color)}.select-highlight{inset-inline-start:0}:host(.select-expanded) .select-highlight,:host(.ion-focused) .select-highlight{-webkit-transform:scale(1);transform:scale(1)}:host(.in-item) .select-highlight{bottom:0}:host(.in-item) .select-highlight{inset-inline-start:0}:host(.select-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.select-expanded) .select-wrapper .select-icon,:host(.has-focus.ion-valid) .select-wrapper .select-icon,:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,:host(.ion-focused) .select-wrapper .select-icon{color:var(--highlight-color)}:host(.select-shape-round){--border-radius:16px}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 0.8125rem - 4px)}:host(.select-disabled){opacity:0.38}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:8px;--padding-end:8px;--padding-top:8px;--padding-bottom:8px;aspect-ratio:1;min-height:40px}";
40
40
  const IonSelectMdStyle0 = selectMdCss;
41
41
 
42
42
  const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement {
@@ -51,6 +51,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
51
51
  this.ionBlur = createEvent(this, "ionBlur", 7);
52
52
  this.ionStyle = createEvent(this, "ionStyle", 7);
53
53
  this.inputId = `ion-sel-${selectIds++}`;
54
+ this.helperTextId = `${this.inputId}-helper-text`;
55
+ this.errorTextId = `${this.inputId}-error-text`;
54
56
  this.inheritedAttributes = {};
55
57
  this.onClick = (ev) => {
56
58
  const target = ev.target;
@@ -101,6 +103,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
101
103
  this.compareWith = undefined;
102
104
  this.disabled = false;
103
105
  this.fill = undefined;
106
+ this.errorText = undefined;
107
+ this.helperText = undefined;
104
108
  this.interface = 'alert';
105
109
  this.interfaceOptions = {};
106
110
  this.justify = undefined;
@@ -635,7 +639,43 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
635
639
  }
636
640
  renderListbox() {
637
641
  const { disabled, inputId, isExpanded, required } = this;
638
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
642
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
643
+ }
644
+ getHintTextID() {
645
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
646
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
647
+ return errorTextId;
648
+ }
649
+ if (helperText) {
650
+ return helperTextId;
651
+ }
652
+ return undefined;
653
+ }
654
+ /**
655
+ * Renders the helper text or error text values
656
+ */
657
+ renderHintText() {
658
+ const { helperText, errorText, helperTextId, errorTextId } = this;
659
+ return [
660
+ h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText),
661
+ h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText),
662
+ ];
663
+ }
664
+ /**
665
+ * Responsible for rendering helper text, and error text. This element
666
+ * should only be rendered if hint text is set.
667
+ */
668
+ renderBottomContent() {
669
+ const { helperText, errorText } = this;
670
+ /**
671
+ * undefined and empty string values should
672
+ * be treated as not having helper/error text.
673
+ */
674
+ const hasHintText = !!helperText || !!errorText;
675
+ if (!hasHintText) {
676
+ return;
677
+ }
678
+ return h("div", { class: "select-bottom" }, this.renderHintText());
639
679
  }
640
680
  render() {
641
681
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -666,7 +706,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
666
706
  * TODO(FW-5592): Remove hasStartEndSlots condition
667
707
  */
668
708
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
669
- return (h(Host, { key: 'c8733e313b58edabdc591f0ff719b5b9b438fc42', onClick: this.onClick, class: createColorClasses(this.color, {
709
+ return (h(Host, { key: 'aa7bd7fbb6479c7805486990650a406e5470fd13', onClick: this.onClick, class: createColorClasses(this.color, {
670
710
  [mode]: true,
671
711
  'in-item': inItem,
672
712
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -682,7 +722,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
682
722
  [`select-justify-${justify}`]: justifyEnabled,
683
723
  [`select-shape-${shape}`]: shape !== undefined,
684
724
  [`select-label-placement-${labelPlacement}`]: true,
685
- }) }, h("label", { key: 'eb8ae26be8337b5483ad9e8e41aacab8ccf2f903', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '9b965f9f2d8b7aa00d9d966e883effc63d2d5c59', class: "select-wrapper-inner" }, h("slot", { key: '91cf7c4f0c529f1553c2664718424695769762ee', name: "start" }), h("div", { key: 'ec3818dbc16754d3bda242959d14bdd16b002c7a', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '118f6c2ae3a80e53ddd247e6790204ec3828b565', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'cad959d69694eea98685daf6068ca2c20a961b3e', class: "select-highlight" }))));
725
+ }) }, h("label", { key: 'fde3cdfd0ef7d1a20263e35ff4358ee7f61a789f', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '6fb8deedc827b6be2f19f9e57a62efefaaba200f', class: "select-wrapper-inner" }, h("slot", { key: 'a57a204ea1cbd9c4bac338f14e196e780dab0a10', name: "start" }), h("div", { key: '78b83e1484a446537e038527d539d997e330cd69', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9fc660134e5247c4e5243c7d9d71ac6cec08705d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '7f143285efa7fd7756dfdc5517ca33e84c8a027e', class: "select-highlight" })), this.renderBottomContent()));
686
726
  }
687
727
  get el() { return this; }
688
728
  static get watchers() { return {
@@ -701,6 +741,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
701
741
  "compareWith": [1, "compare-with"],
702
742
  "disabled": [4],
703
743
  "fill": [1],
744
+ "errorText": [1, "error-text"],
745
+ "helperText": [1, "helper-text"],
704
746
  "interface": [1],
705
747
  "interfaceOptions": [8, "interface-options"],
706
748
  "justify": [1],