@ionic/core 8.4.4-dev.11741206641.18dd4e91 → 8.4.4-dev.11741289071.1e8e1c3f

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 (330) hide show
  1. package/components/checkbox.js +5 -37
  2. package/components/helpers.js +11 -1
  3. package/components/index9.js +1 -1
  4. package/components/ion-input.js +2 -2
  5. package/components/ion-segment-button.js +40 -9
  6. package/components/ion-select.js +84 -15
  7. package/components/ion-textarea.js +2 -2
  8. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-05579976.js} +1 -1
  9. package/dist/cjs/{helpers-afaa9001.js → helpers-4be3f90d.js} +11 -0
  10. package/dist/cjs/{index-3652c918.js → index-0ff61d0b.js} +1 -1
  11. package/dist/cjs/{index-e975c92b.js → index-26bb7e42.js} +3 -3
  12. package/dist/cjs/{index-0d762bba.js → index-6770fc00.js} +1 -1
  13. package/dist/cjs/{index-9509ecad.js → index-ad7a712e.js} +1 -1
  14. package/dist/cjs/index.cjs.js +7 -7
  15. package/dist/cjs/{input-shims-cd05268a.js → input-shims-fd997b01.js} +2 -2
  16. package/dist/cjs/{input.utils-ffb2f81b.js → input.utils-c15a1814.js} +1 -1
  17. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  19. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  20. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  21. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  23. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  24. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-checkbox.cjs.entry.js +6 -36
  26. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  28. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  32. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  36. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  37. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  38. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  41. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  42. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  48. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  49. package/dist/cjs/ion-segment_2.cjs.entry.js +40 -9
  50. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  51. package/dist/cjs/ion-select_3.cjs.entry.js +85 -18
  52. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  53. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  55. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  56. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  57. package/dist/cjs/ionic.cjs.js +1 -1
  58. package/dist/cjs/{ios.transition-0e664e88.js → ios.transition-a4f35c55.js} +2 -2
  59. package/dist/cjs/loader.cjs.js +1 -1
  60. package/dist/cjs/{md.transition-2e8aef2c.js → md.transition-cdf904e6.js} +2 -2
  61. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-a0c464d1.js} +1 -1
  62. package/dist/cjs/{overlays-65fdaff6.js → overlays-86695cf1.js} +2 -2
  63. package/dist/cjs/{status-tap-d74f1429.js → status-tap-1a2485c1.js} +2 -2
  64. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-47a52b83.js} +1 -1
  65. package/dist/collection/components/checkbox/checkbox.ios.css +15 -52
  66. package/dist/collection/components/checkbox/checkbox.js +3 -70
  67. package/dist/collection/components/checkbox/checkbox.md.css +15 -52
  68. package/dist/collection/components/input/input.ios.css +3 -2
  69. package/dist/collection/components/input/input.md.css +7 -2
  70. package/dist/collection/components/segment-button/segment-button.js +40 -9
  71. package/dist/collection/components/select/select.ios.css +59 -0
  72. package/dist/collection/components/select/select.js +116 -12
  73. package/dist/collection/components/select/select.md.css +61 -0
  74. package/dist/collection/components/textarea/textarea.ios.css +3 -2
  75. package/dist/collection/components/textarea/textarea.md.css +7 -2
  76. package/dist/collection/utils/helpers.js +10 -0
  77. package/dist/docs.json +73 -73
  78. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
  79. package/dist/esm/{helpers-da915de8.js → helpers-9b49d7d2.js} +11 -1
  80. package/dist/esm/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
  81. package/dist/esm/{index-2f7fde3d.js → index-6a5baab0.js} +3 -3
  82. package/dist/esm/{index-cb21eccb.js → index-7105cd59.js} +1 -1
  83. package/dist/esm/{index-efb8ecdf.js → index-dd0f7395.js} +1 -1
  84. package/dist/esm/index.js +7 -7
  85. package/dist/esm/{input-shims-2fd7c6ef.js → input-shims-dff819a9.js} +2 -2
  86. package/dist/esm/{input.utils-961c9f17.js → input.utils-2f1029cf.js} +1 -1
  87. package/dist/esm/ion-accordion_2.entry.js +1 -1
  88. package/dist/esm/ion-action-sheet.entry.js +3 -3
  89. package/dist/esm/ion-alert.entry.js +3 -3
  90. package/dist/esm/ion-app_8.entry.js +8 -8
  91. package/dist/esm/ion-back-button.entry.js +1 -1
  92. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  93. package/dist/esm/ion-button_2.entry.js +1 -1
  94. package/dist/esm/ion-card_5.entry.js +1 -1
  95. package/dist/esm/ion-checkbox.entry.js +6 -36
  96. package/dist/esm/ion-datetime-button.entry.js +1 -1
  97. package/dist/esm/ion-datetime_3.entry.js +3 -3
  98. package/dist/esm/ion-fab_3.entry.js +1 -1
  99. package/dist/esm/ion-img.entry.js +1 -1
  100. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  101. package/dist/esm/ion-input.entry.js +5 -5
  102. package/dist/esm/ion-item-option_3.entry.js +2 -2
  103. package/dist/esm/ion-item_8.entry.js +1 -1
  104. package/dist/esm/ion-loading.entry.js +3 -3
  105. package/dist/esm/ion-menu_3.entry.js +4 -4
  106. package/dist/esm/ion-modal.entry.js +5 -5
  107. package/dist/esm/ion-nav_2.entry.js +4 -4
  108. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  109. package/dist/esm/ion-picker-column.entry.js +1 -1
  110. package/dist/esm/ion-picker.entry.js +1 -1
  111. package/dist/esm/ion-popover.entry.js +4 -4
  112. package/dist/esm/ion-progress-bar.entry.js +1 -1
  113. package/dist/esm/ion-radio_2.entry.js +1 -1
  114. package/dist/esm/ion-range.entry.js +2 -2
  115. package/dist/esm/ion-refresher_2.entry.js +2 -2
  116. package/dist/esm/ion-reorder_2.entry.js +2 -2
  117. package/dist/esm/ion-route_4.entry.js +1 -1
  118. package/dist/esm/ion-searchbar.entry.js +1 -1
  119. package/dist/esm/ion-segment_2.entry.js +40 -9
  120. package/dist/esm/ion-select-modal.entry.js +3 -3
  121. package/dist/esm/ion-select_3.entry.js +85 -18
  122. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  123. package/dist/esm/ion-tab_2.entry.js +2 -2
  124. package/dist/esm/ion-textarea.entry.js +5 -5
  125. package/dist/esm/ion-toast.entry.js +3 -3
  126. package/dist/esm/ion-toggle.entry.js +1 -1
  127. package/dist/esm/ionic.js +1 -1
  128. package/dist/esm/{ios.transition-b1da3753.js → ios.transition-314468a2.js} +2 -2
  129. package/dist/esm/loader.js +1 -1
  130. package/dist/esm/{md.transition-571b3859.js → md.transition-a560e0e2.js} +2 -2
  131. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
  132. package/dist/esm/{overlays-5deab4de.js → overlays-9a81f230.js} +2 -2
  133. package/dist/esm/{status-tap-79eac0ac.js → status-tap-d07dbc82.js} +2 -2
  134. package/dist/esm/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
  135. package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
  136. package/dist/esm-es5/{helpers-da915de8.js → helpers-9b49d7d2.js} +1 -1
  137. package/dist/esm-es5/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
  138. package/dist/esm-es5/{index-2f7fde3d.js → index-6a5baab0.js} +1 -1
  139. package/dist/esm-es5/{index-cb21eccb.js → index-7105cd59.js} +1 -1
  140. package/dist/esm-es5/{index-efb8ecdf.js → index-dd0f7395.js} +1 -1
  141. package/dist/esm-es5/index.js +1 -1
  142. package/dist/esm-es5/{input-shims-2fd7c6ef.js → input-shims-dff819a9.js} +1 -1
  143. package/dist/esm-es5/{input.utils-961c9f17.js → input.utils-2f1029cf.js} +1 -1
  144. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  145. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  146. package/dist/esm-es5/ion-alert.entry.js +1 -1
  147. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  148. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  149. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  150. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  151. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  152. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  153. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  154. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  155. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  156. package/dist/esm-es5/ion-img.entry.js +1 -1
  157. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  158. package/dist/esm-es5/ion-input.entry.js +1 -1
  159. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  160. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  161. package/dist/esm-es5/ion-loading.entry.js +1 -1
  162. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  163. package/dist/esm-es5/ion-modal.entry.js +1 -1
  164. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  165. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  166. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  167. package/dist/esm-es5/ion-picker.entry.js +1 -1
  168. package/dist/esm-es5/ion-popover.entry.js +1 -1
  169. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  170. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-range.entry.js +1 -1
  172. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  174. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  175. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  176. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  177. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  178. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  179. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  180. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  182. package/dist/esm-es5/ion-toast.entry.js +1 -1
  183. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  184. package/dist/esm-es5/ionic.js +1 -1
  185. package/dist/esm-es5/{ios.transition-b1da3753.js → ios.transition-314468a2.js} +1 -1
  186. package/dist/esm-es5/loader.js +1 -1
  187. package/dist/esm-es5/md.transition-a560e0e2.js +4 -0
  188. package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
  189. package/dist/esm-es5/{overlays-5deab4de.js → overlays-9a81f230.js} +1 -1
  190. package/dist/esm-es5/{status-tap-79eac0ac.js → status-tap-d07dbc82.js} +1 -1
  191. package/dist/esm-es5/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
  192. package/dist/html.html-data.json +8 -8
  193. package/dist/ionic/index.esm.js +1 -1
  194. package/dist/ionic/ionic.esm.js +1 -1
  195. package/dist/ionic/{p-937a7e21.entry.js → p-02e23f26.entry.js} +1 -1
  196. package/dist/ionic/{p-9b428d25.entry.js → p-037fc3f3.entry.js} +1 -1
  197. package/dist/ionic/p-04e08129.entry.js +4 -0
  198. package/dist/ionic/{p-b3c60433.system.js → p-058e61eb.system.js} +1 -1
  199. package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-0bfffa34.system.entry.js} +1 -1
  200. package/dist/ionic/{p-7ed1657c.system.entry.js → p-0eb2553a.system.entry.js} +1 -1
  201. package/dist/ionic/{p-9b122e3c.system.entry.js → p-10327ad2.system.entry.js} +1 -1
  202. package/dist/ionic/{p-f63c2d12.entry.js → p-155c2bb0.entry.js} +1 -1
  203. package/dist/ionic/{p-a8f2c254.entry.js → p-155f4d90.entry.js} +1 -1
  204. package/dist/ionic/{p-2346ab53.system.entry.js → p-18e101b7.system.entry.js} +1 -1
  205. package/dist/ionic/p-1f405274.js +4 -0
  206. package/dist/ionic/p-21227121.js +4 -0
  207. package/dist/ionic/{p-7513b0c4.js → p-22149a4f.js} +1 -1
  208. package/dist/ionic/{p-2b838f86.system.entry.js → p-2515cb4d.system.entry.js} +1 -1
  209. package/dist/ionic/{p-de930745.entry.js → p-265939f0.entry.js} +1 -1
  210. package/dist/ionic/{p-34b11c24.js → p-2bc73fb5.js} +1 -1
  211. package/dist/ionic/p-2c9eb774.system.js +4 -0
  212. package/dist/ionic/{p-61db139d.entry.js → p-2cbe5399.entry.js} +1 -1
  213. package/dist/ionic/{p-2e46590d.system.entry.js → p-2ef3c7ee.system.entry.js} +1 -1
  214. package/dist/ionic/{p-cba1f9bc.system.entry.js → p-31a6efce.system.entry.js} +1 -1
  215. package/dist/ionic/p-322c5fb4.system.js +1 -1
  216. package/dist/ionic/{p-0430c2e0.entry.js → p-34479cfb.entry.js} +1 -1
  217. package/dist/ionic/p-346b2baf.js +4 -0
  218. package/dist/ionic/{p-b1eb86fd.entry.js → p-36c448fe.entry.js} +1 -1
  219. package/dist/ionic/{p-1ab13b2b.js → p-39dd4f62.js} +1 -1
  220. package/dist/ionic/p-4129228f.system.entry.js +4 -0
  221. package/dist/ionic/{p-9df2c6fb.entry.js → p-41780810.entry.js} +1 -1
  222. package/dist/ionic/{p-577bc414.entry.js → p-42c9deb1.entry.js} +1 -1
  223. package/dist/ionic/{p-a15ddedb.system.js → p-4452a8ac.system.js} +1 -1
  224. package/dist/ionic/{p-933727f9.system.entry.js → p-484d855b.system.entry.js} +2 -2
  225. package/dist/ionic/{p-52d7a191.entry.js → p-4ad78edc.entry.js} +1 -1
  226. package/dist/ionic/{p-28706c6f.js → p-4d3a5f86.js} +1 -1
  227. package/dist/ionic/{p-6933c482.system.entry.js → p-4d413973.system.entry.js} +1 -1
  228. package/dist/ionic/{p-74e3f0af.system.entry.js → p-5010643d.system.entry.js} +2 -2
  229. package/dist/ionic/{p-19ea7bff.system.js → p-5126cf1e.system.js} +1 -1
  230. package/dist/ionic/p-52245809.js +4 -0
  231. package/dist/ionic/p-56da53ad.system.entry.js +4 -0
  232. package/dist/ionic/{p-a88dec0d.system.js → p-578efda4.system.js} +1 -1
  233. package/dist/ionic/{p-a0eb506c.system.entry.js → p-5882bffa.system.entry.js} +1 -1
  234. package/dist/ionic/p-5c47ebbd.system.entry.js +4 -0
  235. package/dist/ionic/{p-a3db8ee3.js → p-5c9324c6.js} +1 -1
  236. package/dist/ionic/{p-6d6cedc5.entry.js → p-6190d0d6.entry.js} +1 -1
  237. package/dist/ionic/{p-ab674093.system.entry.js → p-63c09585.system.entry.js} +1 -1
  238. package/dist/ionic/{p-585b455c.system.entry.js → p-65346408.system.entry.js} +1 -1
  239. package/dist/ionic/{p-a4a2420e.system.entry.js → p-655723eb.system.entry.js} +1 -1
  240. package/dist/ionic/{p-120fb79a.entry.js → p-70af0afb.entry.js} +1 -1
  241. package/dist/ionic/{p-7ddc46c3.system.entry.js → p-70ccc275.system.entry.js} +1 -1
  242. package/dist/ionic/p-712fedc9.entry.js +4 -0
  243. package/dist/ionic/{p-5c9eb9af.entry.js → p-72ec9a26.entry.js} +1 -1
  244. package/dist/ionic/{p-0eb35a7f.system.js → p-73897169.system.js} +1 -1
  245. package/dist/ionic/{p-98ff6b32.entry.js → p-76446a85.entry.js} +1 -1
  246. package/dist/ionic/{p-98231c01.system.entry.js → p-77e7b7b6.system.entry.js} +1 -1
  247. package/dist/ionic/{p-72812e99.js → p-7a1766d6.js} +1 -1
  248. package/dist/ionic/{p-16188af7.entry.js → p-7b98cebe.entry.js} +1 -1
  249. package/dist/ionic/{p-fceec762.entry.js → p-80c6d619.entry.js} +1 -1
  250. package/dist/ionic/{p-1e67b266.system.entry.js → p-84d08aae.system.entry.js} +1 -1
  251. package/dist/ionic/{p-7de1e42c.system.js → p-860eb968.system.js} +1 -1
  252. package/dist/ionic/{p-7a02f476.entry.js → p-8818edd8.entry.js} +1 -1
  253. package/dist/ionic/{p-c4238c12.system.js → p-8e407469.system.js} +1 -1
  254. package/dist/ionic/{p-567de071.system.entry.js → p-92365bc1.system.entry.js} +1 -1
  255. package/dist/ionic/{p-f1120724.system.entry.js → p-93e3654c.system.entry.js} +1 -1
  256. package/dist/ionic/{p-d7aa6b00.entry.js → p-955c3eb8.entry.js} +1 -1
  257. package/dist/ionic/{p-8635f5e6.system.js → p-95da3ae2.system.js} +1 -1
  258. package/dist/ionic/{p-b6efeab8.js → p-990630ca.js} +1 -1
  259. package/dist/ionic/{p-92763d3d.entry.js → p-9962f63f.entry.js} +1 -1
  260. package/dist/ionic/p-9a100adc.entry.js +4 -0
  261. package/dist/ionic/{p-b9d7015f.entry.js → p-9b3bb24e.entry.js} +1 -1
  262. package/dist/ionic/{p-f1060cd8.entry.js → p-9de5c787.entry.js} +1 -1
  263. package/dist/ionic/{p-e3171ff3.entry.js → p-a18470c6.entry.js} +1 -1
  264. package/dist/ionic/{p-e06057c9.entry.js → p-a5b31c0f.entry.js} +1 -1
  265. package/dist/ionic/{p-01186920.system.entry.js → p-a9e24ae2.system.entry.js} +1 -1
  266. package/dist/ionic/{p-5c08627a.system.js → p-acb30a5c.system.js} +1 -1
  267. package/dist/ionic/p-acc8399c.system.entry.js +4 -0
  268. package/dist/ionic/p-af09741c.entry.js +4 -0
  269. package/dist/ionic/{p-d22e2a38.system.js → p-af452fa4.system.js} +1 -1
  270. package/dist/ionic/{p-e09d6392.system.entry.js → p-af744710.system.entry.js} +1 -1
  271. package/dist/ionic/{p-3ad285e3.system.js → p-b3680e2f.system.js} +1 -1
  272. package/dist/ionic/p-b936eb7e.system.entry.js +4 -0
  273. package/dist/ionic/{p-b51e4004.js → p-bb11d9fb.js} +1 -1
  274. package/dist/ionic/{p-081a4ce4.entry.js → p-bb2a6761.entry.js} +1 -1
  275. package/dist/ionic/{p-948e6c6a.entry.js → p-bc616455.entry.js} +1 -1
  276. package/dist/ionic/{p-bb0db172.entry.js → p-c32644d7.entry.js} +1 -1
  277. package/dist/ionic/{p-4c98e2cf.system.js → p-c3802319.system.js} +1 -1
  278. package/dist/ionic/{p-c41ac815.entry.js → p-c8d645b3.entry.js} +1 -1
  279. package/dist/ionic/{p-f1c4dcd4.js → p-c935cfc9.js} +1 -1
  280. package/dist/ionic/p-d0546368.entry.js +4 -0
  281. package/dist/ionic/{p-6dfb0f39.system.entry.js → p-d1172fe3.system.entry.js} +1 -1
  282. package/dist/ionic/{p-3cc276f4.js → p-d4ca0475.js} +1 -1
  283. package/dist/ionic/{p-7a6eaf9e.entry.js → p-d7bb5325.entry.js} +1 -1
  284. package/dist/ionic/{p-a090bce8.system.entry.js → p-d821466d.system.entry.js} +1 -1
  285. package/dist/ionic/{p-ada36597.system.js → p-d99e8644.system.js} +1 -1
  286. package/dist/ionic/{p-58d5df0c.system.entry.js → p-da8ef548.system.entry.js} +1 -1
  287. package/dist/ionic/{p-985a7e17.system.entry.js → p-dc146a2a.system.entry.js} +1 -1
  288. package/dist/ionic/{p-cac0e0b3.system.entry.js → p-dd0c9350.system.entry.js} +1 -1
  289. package/dist/ionic/p-df862603.entry.js +4 -0
  290. package/dist/ionic/{p-2172893e.system.entry.js → p-e2e19375.system.entry.js} +1 -1
  291. package/dist/ionic/{p-05b74e45.system.entry.js → p-e32557bb.system.entry.js} +1 -1
  292. package/dist/ionic/{p-2da9c8a7.entry.js → p-e5849f8d.entry.js} +1 -1
  293. package/dist/ionic/{p-15e76dd1.entry.js → p-e8f34871.entry.js} +1 -1
  294. package/dist/ionic/{p-d6eaffb1.system.entry.js → p-eeb5cb45.system.entry.js} +2 -2
  295. package/dist/ionic/{p-744c8672.system.entry.js → p-efbf5af5.system.entry.js} +1 -1
  296. package/dist/ionic/{p-e6376b93.system.entry.js → p-f2613334.system.entry.js} +1 -1
  297. package/dist/ionic/{p-e4ee80be.system.entry.js → p-f301a694.system.entry.js} +1 -1
  298. package/dist/ionic/{p-fbd41a7e.system.entry.js → p-f56752be.system.entry.js} +1 -1
  299. package/dist/ionic/{p-e76dae93.entry.js → p-f5d6624d.entry.js} +1 -1
  300. package/dist/ionic/{p-797eeea8.system.entry.js → p-f78af648.system.entry.js} +1 -1
  301. package/dist/ionic/{p-63b0abde.system.entry.js → p-f89cf011.system.entry.js} +1 -1
  302. package/dist/ionic/p-fbf86e62.system.js +4 -0
  303. package/dist/ionic/{p-7b9a2b23.entry.js → p-fca17935.entry.js} +1 -1
  304. package/dist/ionic/{p-eef505e8.entry.js → p-fec13c57.entry.js} +1 -1
  305. package/dist/types/components/checkbox/checkbox.d.ts +0 -19
  306. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  307. package/dist/types/components/select/select.d.ts +23 -0
  308. package/dist/types/components.d.ts +16 -16
  309. package/dist/types/utils/helpers.d.ts +1 -0
  310. package/hydrate/index.js +144 -66
  311. package/hydrate/index.mjs +144 -66
  312. package/package.json +2 -2
  313. package/dist/esm-es5/md.transition-571b3859.js +0 -4
  314. package/dist/ionic/p-0af823e1.js +0 -4
  315. package/dist/ionic/p-1132ffee.entry.js +0 -4
  316. package/dist/ionic/p-15d18206.entry.js +0 -4
  317. package/dist/ionic/p-248318e0.system.entry.js +0 -4
  318. package/dist/ionic/p-302b50bb.system.entry.js +0 -4
  319. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  320. package/dist/ionic/p-4ec778aa.entry.js +0 -4
  321. package/dist/ionic/p-72bc8a1c.js +0 -4
  322. package/dist/ionic/p-8694928f.entry.js +0 -4
  323. package/dist/ionic/p-9343a445.js +0 -4
  324. package/dist/ionic/p-9f364443.system.entry.js +0 -4
  325. package/dist/ionic/p-c4b53b16.system.entry.js +0 -4
  326. package/dist/ionic/p-cb13696c.js +0 -4
  327. package/dist/ionic/p-cdc83025.entry.js +0 -4
  328. package/dist/ionic/p-d1c5b60e.system.js +0 -4
  329. package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
  330. package/dist/ionic/p-e4fde4fb.system.entry.js +0 -4
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import { w as writeTask, r as registerInstance, d as createEvent, e as readTask, h, i as getElement, f as Host } from './index-28849c61.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
6
- import { I as ION_CONTENT_CLASS_SELECTOR, b as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, g as getScrollElement } from './index-efb8ecdf.js';
7
- import { t as transitionEndAsync, c as componentOnReady, j as clamp, g as getElementRoot, r as raf } from './helpers-da915de8.js';
6
+ import { I as ION_CONTENT_CLASS_SELECTOR, b as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, g as getScrollElement } from './index-dd0f7395.js';
7
+ import { t as transitionEndAsync, c as componentOnReady, j as clamp, g as getElementRoot, r as raf } from './helpers-9b49d7d2.js';
8
8
  import { d as hapticImpact, I as ImpactStyle } from './haptic-ac164e4c.js';
9
9
  import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
10
10
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -4,8 +4,8 @@
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
5
  import { j as reorderThreeOutline, k as reorderTwoSharp } from './index-e2cf2ceb.js';
6
6
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
7
- import { f as findClosestIonContent, g as getScrollElement } from './index-efb8ecdf.js';
8
- import { r as raf } from './helpers-da915de8.js';
7
+ import { f as findClosestIonContent, g as getScrollElement } from './index-dd0f7395.js';
8
+ import { r as raf } from './helpers-9b49d7d2.js';
9
9
  import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-ac164e4c.js';
10
10
  import './index-6ad967f3.js';
11
11
  import './capacitor-59395cbd.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, i as getElement, h, f as Host } from './index-28849c61.js';
5
- import { c as componentOnReady, o as debounce } from './helpers-da915de8.js';
5
+ import { c as componentOnReady, p as debounce } from './helpers-9b49d7d2.js';
6
6
  import { o as openURL, c as createColorClasses } from './theme-01f3f29c.js';
7
7
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
8
8
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, j as forceUpdate, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { e as debounceEvent, h as inheritAttributes, c as componentOnReady, r as raf } from './helpers-da915de8.js';
5
+ import { e as debounceEvent, h as inheritAttributes, c as componentOnReady, r as raf } from './helpers-9b49d7d2.js';
6
6
  import { i as isRTL } from './dir-babeabeb.js';
7
7
  import { c as createColorClasses } from './theme-01f3f29c.js';
8
8
  import { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-e2cf2ceb.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, w as writeTask, h, f as Host, i as getElement, j as forceUpdate } from './index-28849c61.js';
5
- import { r as raf, a as addEventListener, b as removeEventListener, h as inheritAttributes } from './helpers-da915de8.js';
5
+ import { r as raf, a as addEventListener, b as removeEventListener, h as inheritAttributes, n as getNextSiblingOfType } from './helpers-9b49d7d2.js';
6
6
  import { i as isRTL } from './dir-babeabeb.js';
7
7
  import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
8
8
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
@@ -592,7 +592,35 @@ const SegmentButton = class {
592
592
  valueChanged() {
593
593
  this.updateState();
594
594
  }
595
- connectedCallback() {
595
+ waitForSegmentContent(ionSegment, contentId) {
596
+ return new Promise((resolve, reject) => {
597
+ let timeoutId = undefined;
598
+ let animationFrameId;
599
+ const check = () => {
600
+ if (!ionSegment) {
601
+ reject(new Error(`Segment not found when looking for Segment Content`));
602
+ return;
603
+ }
604
+ const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
605
+ const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
606
+ if (segmentContent && timeoutId) {
607
+ clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
608
+ cancelAnimationFrame(animationFrameId);
609
+ resolve(segmentContent);
610
+ }
611
+ else {
612
+ animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
613
+ }
614
+ };
615
+ check();
616
+ // Set a timeout to reject the promise
617
+ timeoutId = setTimeout(() => {
618
+ cancelAnimationFrame(animationFrameId);
619
+ reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
620
+ }, 1000);
621
+ });
622
+ }
623
+ async connectedCallback() {
596
624
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
597
625
  if (segmentEl) {
598
626
  this.updateState();
@@ -602,11 +630,14 @@ const SegmentButton = class {
602
630
  // Return if there is no contentId defined
603
631
  if (!this.contentId)
604
632
  return;
605
- // Attempt to find the Segment Content by its contentId
606
- const segmentContent = document.getElementById(this.contentId);
607
- // If no associated Segment Content exists, log an error and return
608
- if (!segmentContent) {
609
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
633
+ let segmentContent;
634
+ try {
635
+ // Attempt to find the Segment Content by its contentId
636
+ segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
637
+ }
638
+ catch (error) {
639
+ // If no associated Segment Content exists, log an error and return
640
+ console.error('Segment Button: ', error.message);
610
641
  return;
611
642
  }
612
643
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
@@ -652,7 +683,7 @@ const SegmentButton = class {
652
683
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
653
684
  const mode = getIonMode(this);
654
685
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
655
- return (h(Host, { key: 'd50a5d5e2f6206e8523598f258d8217d2903f69b', class: {
686
+ return (h(Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
656
687
  [mode]: true,
657
688
  'in-toolbar': hostContext('ion-toolbar', this.el),
658
689
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -668,7 +699,7 @@ const SegmentButton = class {
668
699
  'ion-activatable': true,
669
700
  'ion-activatable-instant': true,
670
701
  'ion-focusable': true,
671
- } }, h("button", Object.assign({ key: 'b4f6f145286ba8ab79669e11035b906daa85ae7e', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '67965996c9ffe70553875e00d3da0ae5b2b1d814', class: "button-inner" }, h("slot", { key: '5087988fe45a8fdf388ec44c395d0b745b207806' })), mode === 'md' && h("ion-ripple-effect", { key: 'b24858de0750bbc769b3183fac0077dfe817ba27' })), h("div", { key: '97b4359432acd1c9da0816360cd1df9472e183f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '0561738ea15b0986f4ed3d8276d5e6f2d13f7e51', part: "indicator-background", class: "segment-button-indicator-background" }))));
702
+ } }, h("button", Object.assign({ key: '00dbcdbd81cd74abdd39803f6840a6e477cc7b0c', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '5200c082a9c4788010c4fc33fe75e2b2ad28364a', class: "button-inner" }, h("slot", { key: 'cf3fce2b5d22436b84cd4367a5885df7d6a2715f' })), mode === 'md' && h("ion-ripple-effect", { key: 'f1a2816465f4c2c06644be07315bff2da77e2342' })), h("div", { key: 'aaf31c0ed39641fca698ee98d0773131f4eea6bd', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'fc556651361b7ac305aaedd25ea4afe3173abd20', part: "indicator-background", class: "segment-button-indicator-background" }))));
672
703
  }
673
704
  get el() { return getElement(this); }
674
705
  static get watchers() { return {
@@ -3,12 +3,12 @@
3
3
  */
4
4
  import { r as registerInstance, h, j as forceUpdate, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
6
- import { s as safeCall } from './overlays-5deab4de.js';
6
+ import { s as safeCall } from './overlays-9a81f230.js';
7
7
  import { g as getClassMap } from './theme-01f3f29c.js';
8
8
  import './index-a5d50daf.js';
9
- import './helpers-da915de8.js';
9
+ import './helpers-9b49d7d2.js';
10
10
  import './hardware-back-button-06ef3c3e.js';
11
- import './framework-delegate-63d1a679.js';
11
+ import './framework-delegate-f683816e.js';
12
12
  import './gesture-controller-314a54f6.js';
13
13
  import './index-6ad967f3.js';
14
14
 
@@ -2,10 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement, j as forceUpdate } from './index-28849c61.js';
5
- import { c as createNotchController } from './notch-controller-55b09e11.js';
5
+ import { c as createNotchController } from './notch-controller-3dc61260.js';
6
6
  import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-a96ff2ea.js';
7
- import { h as inheritAttributes, f as focusVisibleElement, d as renderHiddenInput } from './helpers-da915de8.js';
8
- import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-5deab4de.js';
7
+ import { h as inheritAttributes, d as renderHiddenInput, f as focusVisibleElement } from './helpers-9b49d7d2.js';
8
+ import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-9a81f230.js';
9
9
  import { i as isRTL } from './dir-babeabeb.js';
10
10
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { w as watchForOptions } from './watch-options-c2911ace.js';
@@ -13,14 +13,14 @@ import { w as chevronExpand, q as caretDownSharp } from './index-e2cf2ceb.js';
13
13
  import { b as getIonMode } from './ionic-global-c81d82ab.js';
14
14
  import './index-a5d50daf.js';
15
15
  import './hardware-back-button-06ef3c3e.js';
16
- import './framework-delegate-63d1a679.js';
16
+ import './framework-delegate-f683816e.js';
17
17
  import './gesture-controller-314a54f6.js';
18
18
  import './index-6ad967f3.js';
19
19
 
20
- 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}";
20
+ 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}";
21
21
  const IonSelectIosStyle0 = selectIosCss;
22
22
 
23
- 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}";
23
+ 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}";
24
24
  const IonSelectMdStyle0 = selectMdCss;
25
25
 
26
26
  const Select = class {
@@ -33,6 +33,8 @@ const Select = class {
33
33
  this.ionBlur = createEvent(this, "ionBlur", 7);
34
34
  this.ionStyle = createEvent(this, "ionStyle", 7);
35
35
  this.inputId = `ion-sel-${selectIds++}`;
36
+ this.helperTextId = `${this.inputId}-helper-text`;
37
+ this.errorTextId = `${this.inputId}-error-text`;
36
38
  this.inheritedAttributes = {};
37
39
  this.onClick = (ev) => {
38
40
  const target = ev.target;
@@ -83,6 +85,8 @@ const Select = class {
83
85
  this.compareWith = undefined;
84
86
  this.disabled = false;
85
87
  this.fill = undefined;
88
+ this.errorText = undefined;
89
+ this.helperText = undefined;
86
90
  this.interface = 'alert';
87
91
  this.interfaceOptions = {};
88
92
  this.justify = undefined;
@@ -160,15 +164,8 @@ const Select = class {
160
164
  }
161
165
  this.isExpanded = true;
162
166
  const overlay = (this.overlay = await this.createOverlay(event));
163
- overlay.onDidDismiss().then(() => {
164
- this.overlay = undefined;
165
- this.isExpanded = false;
166
- this.ionDismiss.emit();
167
- this.setFocus();
168
- });
169
- await overlay.present();
170
- // focus selected option for popovers and modals
171
- if (this.interface === 'popover' || this.interface === 'modal') {
167
+ // Add logic to scroll selected item into view before presenting
168
+ const scrollSelectedIntoView = () => {
172
169
  const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);
173
170
  if (indexOfSelected > -1) {
174
171
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
@@ -186,6 +183,7 @@ const Select = class {
186
183
  */
187
184
  const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
188
185
  if (interactiveEl) {
186
+ selectedItem.scrollIntoView({ block: 'nearest' });
189
187
  // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling
190
188
  // and removing `ion-focused` style
191
189
  interactiveEl.setFocus();
@@ -209,7 +207,40 @@ const Select = class {
209
207
  focusVisibleElement(firstEnabledOption.closest('ion-item'));
210
208
  }
211
209
  }
210
+ };
211
+ // For modals and popovers, we can scroll before they're visible
212
+ if (this.interface === 'modal') {
213
+ overlay.addEventListener('ionModalWillPresent', scrollSelectedIntoView, { once: true });
212
214
  }
215
+ else if (this.interface === 'popover') {
216
+ overlay.addEventListener('ionPopoverWillPresent', scrollSelectedIntoView, { once: true });
217
+ }
218
+ else {
219
+ /**
220
+ * For alerts and action sheets, we need to wait a frame after willPresent
221
+ * because these overlays don't have their content in the DOM immediately
222
+ * when willPresent fires. By waiting a frame, we ensure the content is
223
+ * rendered and can be properly scrolled into view.
224
+ */
225
+ const scrollAfterRender = () => {
226
+ requestAnimationFrame(() => {
227
+ scrollSelectedIntoView();
228
+ });
229
+ };
230
+ if (this.interface === 'alert') {
231
+ overlay.addEventListener('ionAlertWillPresent', scrollAfterRender, { once: true });
232
+ }
233
+ else if (this.interface === 'action-sheet') {
234
+ overlay.addEventListener('ionActionSheetWillPresent', scrollAfterRender, { once: true });
235
+ }
236
+ }
237
+ overlay.onDidDismiss().then(() => {
238
+ this.overlay = undefined;
239
+ this.isExpanded = false;
240
+ this.ionDismiss.emit();
241
+ this.setFocus();
242
+ });
243
+ await overlay.present();
213
244
  return overlay;
214
245
  }
215
246
  createOverlay(ev) {
@@ -590,7 +621,43 @@ const Select = class {
590
621
  }
591
622
  renderListbox() {
592
623
  const { disabled, inputId, isExpanded, required } = this;
593
- 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) }));
624
+ 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) }));
625
+ }
626
+ getHintTextID() {
627
+ const { el, helperText, errorText, helperTextId, errorTextId } = this;
628
+ if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
629
+ return errorTextId;
630
+ }
631
+ if (helperText) {
632
+ return helperTextId;
633
+ }
634
+ return undefined;
635
+ }
636
+ /**
637
+ * Renders the helper text or error text values
638
+ */
639
+ renderHintText() {
640
+ const { helperText, errorText, helperTextId, errorTextId } = this;
641
+ return [
642
+ h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText),
643
+ h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText),
644
+ ];
645
+ }
646
+ /**
647
+ * Responsible for rendering helper text, and error text. This element
648
+ * should only be rendered if hint text is set.
649
+ */
650
+ renderBottomContent() {
651
+ const { helperText, errorText } = this;
652
+ /**
653
+ * undefined and empty string values should
654
+ * be treated as not having helper/error text.
655
+ */
656
+ const hasHintText = !!helperText || !!errorText;
657
+ if (!hasHintText) {
658
+ return;
659
+ }
660
+ return h("div", { class: "select-bottom" }, this.renderHintText());
594
661
  }
595
662
  render() {
596
663
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -621,7 +688,7 @@ const Select = class {
621
688
  * TODO(FW-5592): Remove hasStartEndSlots condition
622
689
  */
623
690
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
624
- return (h(Host, { key: '491cf1b0e3aa31e7c9cfad3e87d83eb54272312a', onClick: this.onClick, class: createColorClasses(this.color, {
691
+ return (h(Host, { key: '6c0141f40087a1793516882641e4473a6a82a0b2', onClick: this.onClick, class: createColorClasses(this.color, {
625
692
  [mode]: true,
626
693
  'in-item': inItem,
627
694
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -637,7 +704,7 @@ const Select = class {
637
704
  [`select-justify-${justify}`]: justifyEnabled,
638
705
  [`select-shape-${shape}`]: shape !== undefined,
639
706
  [`select-label-placement-${labelPlacement}`]: true,
640
- }) }, h("label", { key: '07bf3cb57bd1121383d8c746e3ac49da38300082', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '884facd18342797576bbacc761d18d83c52762e3', class: "select-wrapper-inner" }, h("slot", { key: 'c4f2a2a7a76f52db15f9a0b806017caea443c47a', name: "start" }), h("div", { key: '235cf383f268cc74412722cd31e246cbd4c2abe5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '1481302e11c494d49dfd80a7aaf743f7e851558f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '8a45ea9280651695c8e5435f266c286f3e3f6a18', class: "select-highlight" }))));
707
+ }) }, h("label", { key: 'a0d70c7cfb6c784f200e9b0893ddcbd25b59b167', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: 'd398f85e1c3af2758cf0672ce8eab1ffa1e3e6a8', class: "select-wrapper-inner" }, h("slot", { key: 'b2ba9dbc8b944c04981b5f97975231a4b1c18768', name: "start" }), h("div", { key: '625c1029456701694f521a9b3e2199a8fd6c3331', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '54bee045845d773e11f8952b9278c97082534488', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'cf70509d4140259a41367333ca3815a427f9ad66', class: "select-highlight" })), this.renderBottomContent()));
641
708
  }
642
709
  get el() { return getElement(this); }
643
710
  static get watchers() { return {
@@ -5,7 +5,7 @@ import { r as registerInstance, d as createEvent, h, f as Host, i as getElement
5
5
  import { c as createKeyboardController } from './keyboard-controller-ec5c2bfa.js';
6
6
  import { c as createColorClasses } from './theme-01f3f29c.js';
7
7
  import { b as getIonMode, c as config } from './ionic-global-c81d82ab.js';
8
- import { h as inheritAttributes } from './helpers-da915de8.js';
8
+ import { h as inheritAttributes } from './helpers-9b49d7d2.js';
9
9
  import './index-a5d50daf.js';
10
10
  import './keyboard-73175e24.js';
11
11
  import './capacitor-59395cbd.js';
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
- import { a as attachComponent } from './framework-delegate-63d1a679.js';
6
- import './helpers-da915de8.js';
5
+ import { a as attachComponent } from './framework-delegate-f683816e.js';
6
+ import './helpers-9b49d7d2.js';
7
7
 
8
8
  const tabCss = ":host(.tab-hidden){display:none !important}";
9
9
  const IonTabStyle0 = tabCss;