@ionic/core 8.8.14-dev.11783706459.1d5a7aae → 8.8.14-dev.11783969828.1f28d893

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 (370) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-infinite-scroll-content.js +1 -1
  12. package/components/ion-input-password-toggle.js +1 -1
  13. package/components/ion-input.js +1 -1
  14. package/components/ion-item-option.js +1 -1
  15. package/components/ion-item.js +1 -1
  16. package/components/ion-loading.js +1 -1
  17. package/components/ion-menu-button.js +1 -1
  18. package/components/ion-menu.js +1 -1
  19. package/components/ion-modal.js +1 -1
  20. package/components/ion-picker-column-option.js +1 -1
  21. package/components/ion-picker-column.js +1 -1
  22. package/components/ion-picker-legacy-column.d.ts +11 -0
  23. package/components/ion-picker-legacy-column.js +4 -0
  24. package/components/ion-picker-legacy.d.ts +11 -0
  25. package/components/ion-picker-legacy.js +4 -0
  26. package/components/ion-popover.js +1 -1
  27. package/components/ion-progress-bar.js +1 -1
  28. package/components/ion-radio.js +1 -1
  29. package/components/ion-range.js +1 -1
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-ripple-effect.js +1 -1
  35. package/components/ion-router-link.js +1 -1
  36. package/components/ion-router-outlet.js +1 -1
  37. package/components/ion-row.js +1 -1
  38. package/components/ion-searchbar.js +1 -1
  39. package/components/ion-segment-button.js +1 -1
  40. package/components/ion-segment-content.js +1 -1
  41. package/components/ion-segment-view.js +1 -1
  42. package/components/ion-segment.js +1 -1
  43. package/components/ion-select-modal.js +1 -1
  44. package/components/ion-select-option.js +1 -1
  45. package/components/ion-select-popover.js +1 -1
  46. package/components/ion-select.js +1 -1
  47. package/components/ion-skeleton-text.js +1 -1
  48. package/components/ion-spinner.js +1 -1
  49. package/components/ion-split-pane.js +1 -1
  50. package/components/ion-tab-bar.js +1 -1
  51. package/components/ion-tab-button.js +1 -1
  52. package/components/ion-tab.js +1 -1
  53. package/components/ion-tabs.js +1 -1
  54. package/components/ion-text.js +1 -1
  55. package/components/ion-textarea.js +1 -1
  56. package/components/ion-thumbnail.js +1 -1
  57. package/components/ion-title.js +1 -1
  58. package/components/ion-toast.js +1 -1
  59. package/components/ion-toggle.js +1 -1
  60. package/components/ion-toolbar.js +1 -1
  61. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  62. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  63. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  64. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  65. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  66. package/components/p-BUcrNuxp.js +4 -0
  67. package/components/p-BjfgFSSR.js +4 -0
  68. package/components/p-BsPelv04.js +4 -0
  69. package/components/p-BylFVz1e.js +4 -0
  70. package/components/p-CMVYv6xu.js +4 -0
  71. package/components/p-CSRA1aW0.js +4 -0
  72. package/components/p-CU5rbWAW.js +4 -0
  73. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  74. package/components/p-Ch5WJNJF.js +4 -0
  75. package/components/p-DoL_wAtc.js +4 -0
  76. package/components/p-k_E4tX5Z.js +4 -0
  77. package/components/p-qiecYdXI.js +4 -0
  78. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  79. package/dist/cjs/config-xninhj0J.js +201 -0
  80. package/dist/cjs/index.cjs.js +6 -6
  81. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  82. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  83. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  84. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -4
  87. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +656 -12
  88. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  89. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  92. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  93. package/dist/cjs/ion-modal.cjs.entry.js +31 -23
  94. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -3
  95. package/dist/cjs/ion-picker-column.cjs.entry.js +10 -4
  96. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  97. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  99. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  100. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  101. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  105. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  106. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  109. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  110. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  111. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  113. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  114. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  115. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  117. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  118. package/dist/cjs/ionic.cjs.js +1 -1
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-BeMrOwMt.js} +16 -27
  121. package/dist/collection/collection-manifest.json +10 -6
  122. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  123. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  124. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  125. package/dist/collection/components/alert/alert.ios.css +10 -280
  126. package/dist/collection/components/alert/alert.js +21 -59
  127. package/dist/collection/components/alert/alert.md.css +20 -269
  128. package/dist/collection/components/datetime/datetime.ios.css +2 -42
  129. package/dist/collection/components/datetime/datetime.js +17 -10
  130. package/dist/collection/components/datetime/datetime.md.css +1 -42
  131. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
  132. package/dist/collection/components/datetime-button/datetime-button.js +10 -3
  133. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
  134. package/dist/collection/components/input/input.js +8 -8
  135. package/dist/collection/components/loading/loading.js +3 -7
  136. package/dist/collection/components/modal/gestures/sheet.js +8 -0
  137. package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
  138. package/dist/collection/components/modal/modal.ios.css +8 -0
  139. package/dist/collection/components/modal/modal.js +15 -23
  140. package/dist/collection/components/modal/modal.md.css +8 -0
  141. package/dist/collection/components/picker-column/picker-column.css +0 -3
  142. package/dist/collection/components/picker-column/picker-column.js +11 -4
  143. package/dist/collection/components/picker-column-option/picker-column-option.js +10 -3
  144. package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
  145. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  146. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  147. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  148. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  149. package/dist/collection/components/picker-legacy/picker.js +890 -0
  150. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  151. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  152. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  153. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  154. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  155. package/dist/collection/components/popover/popover.ios.css +0 -15
  156. package/dist/collection/components/popover/popover.js +3 -7
  157. package/dist/collection/components/popover/popover.md.css +0 -15
  158. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  159. package/dist/collection/components/radio/radio.js +4 -4
  160. package/dist/collection/components/range/range.js +3 -3
  161. package/dist/collection/components/refresher/refresher.js +1 -1
  162. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  163. package/dist/collection/components/reorder/reorder.js +1 -1
  164. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  165. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  166. package/dist/collection/components/router-link/router-link.js +2 -2
  167. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  168. package/dist/collection/components/row/row.js +1 -1
  169. package/dist/collection/components/searchbar/searchbar.js +9 -9
  170. package/dist/collection/components/segment/segment.js +2 -2
  171. package/dist/collection/components/segment-button/segment-button.js +2 -2
  172. package/dist/collection/components/segment-content/segment-content.js +1 -1
  173. package/dist/collection/components/segment-view/segment-view.js +2 -2
  174. package/dist/collection/components/select/select.ios.css +0 -33
  175. package/dist/collection/components/select/select.js +16 -323
  176. package/dist/collection/components/select/select.md.css +0 -33
  177. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  178. package/dist/collection/components/select-modal/select-modal.js +26 -79
  179. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  180. package/dist/collection/components/select-option/select-option.js +3 -67
  181. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  182. package/dist/collection/components/select-popover/select-popover.js +26 -78
  183. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  184. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  185. package/dist/collection/components/spinner/spinner.js +1 -1
  186. package/dist/collection/components/split-pane/split-pane.js +2 -2
  187. package/dist/collection/components/tab/tab.js +2 -2
  188. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  189. package/dist/collection/components/tab-button/tab-button.js +2 -2
  190. package/dist/collection/components/tabs/tabs.js +1 -1
  191. package/dist/collection/components/text/text.js +2 -2
  192. package/dist/collection/components/textarea/textarea.js +2 -2
  193. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  194. package/dist/collection/components/title/title.js +2 -2
  195. package/dist/collection/components/toast/toast.js +2 -2
  196. package/dist/collection/components/toggle/toggle.js +3 -3
  197. package/dist/collection/components/toolbar/toolbar.js +2 -2
  198. package/dist/collection/index.js +1 -1
  199. package/dist/collection/utils/overlays.js +15 -26
  200. package/dist/collection/utils/sanitization/index.js +18 -274
  201. package/dist/docs.json +1160 -440
  202. package/dist/esm/config-DQCONYYp.js +195 -0
  203. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  204. package/dist/esm/index.js +2 -3
  205. package/dist/esm/ion-accordion_2.entry.js +1 -1
  206. package/dist/esm/ion-action-sheet.entry.js +7 -27
  207. package/dist/esm/ion-alert.entry.js +24 -63
  208. package/dist/esm/ion-app_8.entry.js +9 -23
  209. package/dist/esm/ion-avatar_3.entry.js +1 -1
  210. package/dist/esm/ion-back-button.entry.js +1 -1
  211. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  212. package/dist/esm/ion-col_3.entry.js +1 -1
  213. package/dist/esm/ion-datetime-button.entry.js +10 -4
  214. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +658 -16
  215. package/dist/esm/ion-fab_3.entry.js +1 -1
  216. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  217. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  218. package/dist/esm/ion-input.entry.js +5 -5
  219. package/dist/esm/ion-item_8.entry.js +3 -3
  220. package/dist/esm/ion-loading.entry.js +4 -9
  221. package/dist/esm/ion-menu_3.entry.js +2 -2
  222. package/dist/esm/ion-modal.entry.js +31 -23
  223. package/dist/esm/ion-picker-column-option.entry.js +9 -3
  224. package/dist/esm/ion-picker-column.entry.js +10 -4
  225. package/dist/esm/ion-popover.entry.js +5 -9
  226. package/dist/esm/ion-progress-bar.entry.js +1 -1
  227. package/dist/esm/ion-radio_2.entry.js +3 -3
  228. package/dist/esm/ion-range.entry.js +3 -3
  229. package/dist/esm/ion-refresher_2.entry.js +4 -5
  230. package/dist/esm/ion-reorder_2.entry.js +3 -3
  231. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  232. package/dist/esm/ion-route_4.entry.js +2 -2
  233. package/dist/esm/ion-searchbar.entry.js +6 -6
  234. package/dist/esm/ion-segment-content.entry.js +1 -1
  235. package/dist/esm/ion-segment-view.entry.js +2 -2
  236. package/dist/esm/ion-segment_2.entry.js +4 -4
  237. package/dist/esm/ion-select-modal.entry.js +30 -84
  238. package/dist/esm/ion-select_3.entry.js +52 -410
  239. package/dist/esm/ion-spinner.entry.js +1 -1
  240. package/dist/esm/ion-split-pane.entry.js +2 -2
  241. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  242. package/dist/esm/ion-tab_2.entry.js +3 -3
  243. package/dist/esm/ion-text.entry.js +2 -2
  244. package/dist/esm/ion-textarea.entry.js +2 -2
  245. package/dist/esm/ion-toast.entry.js +4 -5
  246. package/dist/esm/ion-toggle.entry.js +4 -4
  247. package/dist/esm/ionic.js +1 -1
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/{overlays-DLNOHWNc.js → overlays-DBQMGaJ9.js} +17 -28
  250. package/dist/html.html-data.json +79 -51
  251. package/dist/ionic/index.esm.js +1 -1
  252. package/dist/ionic/ionic.esm.js +1 -1
  253. package/dist/ionic/p-0124647d.entry.js +4 -0
  254. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  255. package/dist/ionic/p-06c232a4.entry.js +4 -0
  256. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  257. package/dist/ionic/p-20b1a044.entry.js +4 -0
  258. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  259. package/dist/ionic/p-27d30585.entry.js +4 -0
  260. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  261. package/dist/ionic/p-305a059a.entry.js +4 -0
  262. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  263. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  264. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  265. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  266. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  267. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  268. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  269. package/dist/ionic/p-485fda23.entry.js +4 -0
  270. package/dist/ionic/{p-c93553d2.entry.js → p-4abbd79c.entry.js} +1 -1
  271. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  272. package/dist/ionic/p-5076b325.entry.js +4 -0
  273. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  274. package/dist/ionic/p-6209ed93.entry.js +4 -0
  275. package/dist/ionic/p-6e3d2097.entry.js +4 -0
  276. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  277. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  278. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  279. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  280. package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
  281. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  282. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  283. package/dist/ionic/p-9f8cb0f3.entry.js +4 -0
  284. package/dist/ionic/p-BnzgTfDG.js +4 -0
  285. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  286. package/dist/ionic/p-DzWaWHGc.js +4 -0
  287. package/dist/ionic/p-a1b57bd4.entry.js +4 -0
  288. package/dist/ionic/p-a21add2f.entry.js +4 -0
  289. package/dist/ionic/p-c0fb8edd.entry.js +4 -0
  290. package/dist/ionic/p-c38b648e.entry.js +4 -0
  291. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  292. package/dist/ionic/p-ddb2d591.entry.js +4 -0
  293. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  294. package/dist/ionic/p-e13c6c40.entry.js +4 -0
  295. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  296. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  297. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  298. package/dist/types/components/input/input.d.ts +1 -1
  299. package/dist/types/components/modal/modal.d.ts +4 -11
  300. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  301. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  302. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  303. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  304. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  305. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  306. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  307. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  308. package/dist/types/components/select/select-interface.d.ts +0 -31
  309. package/dist/types/components/select/select.d.ts +0 -18
  310. package/dist/types/components/select-option/select-option.d.ts +1 -42
  311. package/dist/types/components.d.ts +296 -60
  312. package/dist/types/index.d.ts +1 -1
  313. package/dist/types/interface.d.ts +1 -0
  314. package/dist/types/utils/config.d.ts +8 -0
  315. package/dist/types/utils/overlays.d.ts +9 -11
  316. package/dist/types/utils/sanitization/index.d.ts +2 -58
  317. package/hydrate/index.js +1214 -1421
  318. package/hydrate/index.mjs +1214 -1421
  319. package/package.json +5 -37
  320. package/components/p-279dFMvg.js +0 -4
  321. package/components/p-B7KXos3u.js +0 -4
  322. package/components/p-BSQPZ79H.js +0 -4
  323. package/components/p-BimUi1zU.js +0 -4
  324. package/components/p-BwKpO3Is.js +0 -4
  325. package/components/p-C-Rx1zny.js +0 -4
  326. package/components/p-CHzfYZbv.js +0 -4
  327. package/components/p-D4h1H_hh.js +0 -4
  328. package/components/p-LMGfIvTf.js +0 -4
  329. package/components/p-_lHSumhG.js +0 -4
  330. package/components/p-j9Da6cYO.js +0 -4
  331. package/components/p-jOtMJMv8.js +0 -4
  332. package/components/p-uTR_dEqg.js +0 -4
  333. package/dist/cjs/config-DWdFbSNK.js +0 -35
  334. package/dist/cjs/index-Cueg3U4w.js +0 -429
  335. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  336. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  337. package/dist/collection/utils/overlay-control-label.js +0 -45
  338. package/dist/collection/utils/select-option-render.js +0 -119
  339. package/dist/esm/config-BwKpO3Is.js +0 -31
  340. package/dist/esm/index-DQSkZyOJ.js +0 -424
  341. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  342. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  343. package/dist/ionic/p-038eb991.entry.js +0 -4
  344. package/dist/ionic/p-17827b13.entry.js +0 -4
  345. package/dist/ionic/p-1ebe2739.entry.js +0 -4
  346. package/dist/ionic/p-4621c387.entry.js +0 -4
  347. package/dist/ionic/p-4ace7762.entry.js +0 -4
  348. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  349. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  350. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  351. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  352. package/dist/ionic/p-79a36078.entry.js +0 -4
  353. package/dist/ionic/p-8b3a64a5.entry.js +0 -4
  354. package/dist/ionic/p-913b218a.entry.js +0 -4
  355. package/dist/ionic/p-93a7e5a1.entry.js +0 -4
  356. package/dist/ionic/p-BDtODLZ4.js +0 -4
  357. package/dist/ionic/p-BSQPZ79H.js +0 -4
  358. package/dist/ionic/p-BwKpO3Is.js +0 -4
  359. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  360. package/dist/ionic/p-DCOvXkOm.js +0 -4
  361. package/dist/ionic/p-a9a33367.entry.js +0 -4
  362. package/dist/ionic/p-ad728198.entry.js +0 -4
  363. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  364. package/dist/ionic/p-c08e666a.entry.js +0 -4
  365. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  366. package/dist/ionic/p-ed797c72.entry.js +0 -4
  367. package/dist/ionic/p-f09f9642.entry.js +0 -4
  368. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  369. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  370. package/dist/types/utils/select-option-render.d.ts +0 -53
package/hydrate/index.mjs CHANGED
@@ -8039,7 +8039,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
8039
8039
  * Should NOT include: Toast
8040
8040
  */
8041
8041
  const trapKeyboardFocus = (ev, doc) => {
8042
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover');
8042
+ const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
8043
8043
  const target = ev.target;
8044
8044
  /**
8045
8045
  * If no active overlay, ignore this event.
@@ -8273,7 +8273,7 @@ const dismissOverlay = (doc, data, role, overlayTag, id) => {
8273
8273
  */
8274
8274
  const getOverlays = (doc, selector) => {
8275
8275
  if (selector === undefined) {
8276
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast';
8276
+ selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover,ion-toast';
8277
8277
  }
8278
8278
  return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
8279
8279
  };
@@ -8335,29 +8335,6 @@ const setRootAriaHidden = (hidden = false) => {
8335
8335
  viewContainer.removeAttribute('aria-hidden');
8336
8336
  }
8337
8337
  };
8338
- /**
8339
- * Cleans up root `aria-hidden` and `backdrop-no-scroll` when
8340
- * an overlay is removed from the DOM without going through
8341
- * the `dismiss()` flow (e.g., when a framework unmounts the
8342
- * overlay during a route change).
8343
- *
8344
- * Should be called from an overlay's `disconnectedCallback`
8345
- * when the overlay was still presented at the time of removal.
8346
- */
8347
- const cleanupRootFocusTrapAccessibility = () => {
8348
- if (typeof document === 'undefined') {
8349
- return;
8350
- }
8351
- const remainingOverlays = getPresentedOverlays(document);
8352
- const hasRemainingLocking = remainingOverlays.some((o) => {
8353
- const el = o;
8354
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
8355
- });
8356
- if (!hasRemainingLocking) {
8357
- setRootAriaHidden(false);
8358
- document.body.classList.remove(BACKDROP_NO_SCROLL);
8359
- }
8360
- };
8361
8338
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
8362
8339
  var _a, _b;
8363
8340
  if (overlay.presented) {
@@ -8423,7 +8400,15 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
8423
8400
  * to the overlay container.
8424
8401
  */
8425
8402
  if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
8426
- overlay.el.focus();
8403
+ /**
8404
+ * Some overlays (e.g. modal) put the dialog role and label on the
8405
+ * `.ion-overlay-wrapper` rather than the host. Screen readers like
8406
+ * TalkBack need focus to land there, so focus the wrapper when it is
8407
+ * focusable (has a `tabindex`); otherwise focus the host as before.
8408
+ */
8409
+ const overlayWrapper = getElementRoot(overlay.el).querySelector('.ion-overlay-wrapper');
8410
+ const focusTarget = (overlayWrapper === null || overlayWrapper === void 0 ? void 0 : overlayWrapper.hasAttribute('tabindex')) ? overlayWrapper : overlay.el;
8411
+ focusTarget.focus({ preventScroll: true });
8427
8412
  }
8428
8413
  /**
8429
8414
  * If this overlay was previously dismissed without being
@@ -8759,539 +8744,6 @@ const createTriggerController = () => {
8759
8744
  };
8760
8745
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
8761
8746
 
8762
- /**
8763
- * Sanitize an untrusted HTML string.
8764
- *
8765
- * Parses the string into a detached DOM, removes blocked tags, strips
8766
- * attributes outside the narrow `domStringAllowedAttributes` list (refer
8767
- * `sanitizeElement`), and scrubs script-scheme URLs. Returns the sanitized
8768
- * HTML string.
8769
- *
8770
- * Use this when you have an HTML string from an unknown source and need to
8771
- * render it via `innerHTML`. Use `sanitizeDOMTree` instead when you already
8772
- * have a DOM tree and want to sanitize it in place without a string round
8773
- * trip. The two apply the same dangerous-vector scrubbing but different
8774
- * attribute allowlists: this path stays narrow so existing consumers
8775
- * (toast, loading, alert message, etc.) are unaffected, while
8776
- * `sanitizeDOMTree` uses the wider rich-content allowlist.
8777
- *
8778
- * @param untrustedString - The HTML string to sanitize. Pass an
8779
- * `IonicSafeString` to bypass sanitization, or `undefined` to short-circuit.
8780
- * @returns The sanitized HTML string, or `undefined` if the input was
8781
- * `undefined`. Returns `''` if sanitization fails or the input contains
8782
- * an inline `onload=` handler.
8783
- */
8784
- const sanitizeDOMString = (untrustedString) => {
8785
- try {
8786
- if (untrustedString instanceof IonicSafeString) {
8787
- return untrustedString.value;
8788
- }
8789
- if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
8790
- return untrustedString;
8791
- }
8792
- /**
8793
- * onload is fired when appending to a document
8794
- * fragment in Chrome. If a string
8795
- * contains onload then we should not
8796
- * attempt to add this to the fragment.
8797
- */
8798
- if (untrustedString.includes('onload=')) {
8799
- return '';
8800
- }
8801
- /**
8802
- * Create a document fragment
8803
- * separate from the main DOM,
8804
- * create a div to do our work in
8805
- */
8806
- const documentFragment = document.createDocumentFragment();
8807
- const workingDiv = document.createElement('div');
8808
- documentFragment.appendChild(workingDiv);
8809
- workingDiv.innerHTML = untrustedString;
8810
- /**
8811
- * Remove any elements
8812
- * that are blocked
8813
- */
8814
- blockedTags.forEach((blockedTag) => {
8815
- const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
8816
- for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
8817
- const element = getElementsToRemove[elementIndex];
8818
- if (element.parentNode) {
8819
- element.parentNode.removeChild(element);
8820
- }
8821
- else {
8822
- documentFragment.removeChild(element);
8823
- }
8824
- /**
8825
- * We still need to sanitize
8826
- * the children of this element
8827
- * as they are left behind
8828
- */
8829
- const childElements = getElementChildren(element);
8830
- /* eslint-disable-next-line */
8831
- for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
8832
- sanitizeElement(childElements[childIndex], domStringAllowedAttributes);
8833
- }
8834
- }
8835
- });
8836
- /**
8837
- * Go through remaining elements and remove
8838
- * non-allowed attribs
8839
- */
8840
- // IE does not support .children on document fragments, only .childNodes
8841
- const dfChildren = getElementChildren(documentFragment);
8842
- /* eslint-disable-next-line */
8843
- for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
8844
- sanitizeElement(dfChildren[childIndex], domStringAllowedAttributes);
8845
- }
8846
- // Append document fragment to div
8847
- const fragmentDiv = document.createElement('div');
8848
- fragmentDiv.appendChild(documentFragment);
8849
- // First child is always the div we did our work in
8850
- const getInnerDiv = fragmentDiv.querySelector('div');
8851
- return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
8852
- }
8853
- catch (err) {
8854
- printIonError('sanitizeDOMString', err);
8855
- return '';
8856
- }
8857
- };
8858
- /**
8859
- * Sanitize an entire trusted DOM tree in place.
8860
- *
8861
- * Removes blocked tags (`script`, `iframe`, etc.) from the subtree and
8862
- * then sanitizes attributes on every remaining element using the wider
8863
- * `richContentAllowedAttributes` allowlist (refer `sanitizeElement`).
8864
- * Component presentational attributes (`size`, `color`, `shape`, inline
8865
- * SVG, `aria-*`, `data-*`) are preserved; `style`, event handlers (`on*`),
8866
- * form/navigation-hijack attributes, script-scheme URLs, and non-image
8867
- * `data:` URLs are stripped.
8868
- *
8869
- * Use this when you have a DOM tree the developer controls (e.g.
8870
- * cloned slot content from a component) and you need to render it
8871
- * elsewhere safely.
8872
- *
8873
- * @param root - The root element whose subtree will be sanitized in
8874
- * place. No-op when the sanitizer is disabled via `Ionic.config`.
8875
- */
8876
- const sanitizeDOMTree = (root) => {
8877
- if (!isSanitizerEnabled()) {
8878
- return;
8879
- }
8880
- blockedTags.forEach((tag) => {
8881
- const matches = root.querySelectorAll(tag);
8882
- for (let i = matches.length - 1; i >= 0; i--) {
8883
- matches[i].remove();
8884
- }
8885
- });
8886
- sanitizeElement(root, richContentAllowedAttributes, richContentAllowedAttributePrefixes);
8887
- };
8888
- /**
8889
- * Clean up current element based on allowed attributes
8890
- * and then recursively dig down into any child elements to
8891
- * clean those up as well
8892
- */
8893
- // TODO(FW-2832): type (using Element triggers other type errors as well)
8894
- const sanitizeElement = (element, allowedAttributes, allowedAttributePrefixes = []) => {
8895
- // IE uses childNodes, so ignore nodes that are not elements
8896
- if (element.nodeType && element.nodeType !== 1) {
8897
- return;
8898
- }
8899
- /**
8900
- * If attributes is not a NamedNodeMap
8901
- * then we should remove the element entirely.
8902
- * This helps avoid DOM Clobbering attacks where
8903
- * attributes is overridden.
8904
- */
8905
- if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
8906
- element.remove();
8907
- return;
8908
- }
8909
- /**
8910
- * Always strip `style` (CSS injection, `background:url()` beaconing, UI
8911
- * spoofing). It is never on the allowlist, but it is removed explicitly
8912
- * here because some engines (e.g. jsdom) don't enumerate the CSSOM-backed
8913
- * `style` attribute in `element.attributes`, which would let the loop
8914
- * below skip over it.
8915
- */
8916
- element.removeAttribute('style');
8917
- for (let i = element.attributes.length - 1; i >= 0; i--) {
8918
- const attribute = element.attributes.item(i);
8919
- const attributeName = attribute.name;
8920
- const lowerName = attributeName.toLowerCase();
8921
- /**
8922
- * Remove any attribute that is not on the allowlist. This drops event
8923
- * handlers (`on*`), `style`, the form/navigation-hijack attributes
8924
- * (`formaction`, `action`, `target`), namespaced attributes like
8925
- * `xlink:href`, and anything else not explicitly known to be safe.
8926
- */
8927
- if (!isAttributeAllowed(lowerName, allowedAttributes, allowedAttributePrefixes)) {
8928
- element.removeAttribute(attributeName);
8929
- continue;
8930
- }
8931
- // clean up any allowed attribs
8932
- // that attempt to do any JS funny-business
8933
- const attributeValue = attribute.value;
8934
- if (attributeValue == null) {
8935
- continue;
8936
- }
8937
- /**
8938
- * Scrub dangerous schemes from the value. The value is normalized first
8939
- * (whitespace and ASCII control characters removed) so entity-obfuscated
8940
- * payloads such as `java&#9;script:`, which the parser decodes to
8941
- * `java\tscript:`, are still caught. Normalizing the value also covers
8942
- * namespaced attributes, where the previous `element[attributeName]`
8943
- * property reflection returned `undefined` and let them slip through.
8944
- */
8945
- const normalizedValue = attributeValue.replace(controlCharactersAndWhitespace, '').toLowerCase();
8946
- // Script schemes are never allowed, on any attribute.
8947
- if (normalizedValue.includes('javascript:') || normalizedValue.includes('vbscript:')) {
8948
- element.removeAttribute(attributeName);
8949
- continue;
8950
- }
8951
- /**
8952
- * For URL-bearing attributes, allow `data:` URIs only for raster
8953
- * images. Document-bearing types (`text/html`, `image/svg+xml`,
8954
- * `application/*`, etc.) can carry markup or script when navigated to
8955
- * or rendered, so they are stripped, while safe image types are kept so
8956
- * inline images keep working.
8957
- */
8958
- if (urlAttributes.includes(lowerName) &&
8959
- normalizedValue.startsWith('data:') &&
8960
- !safeDataImageUri.test(normalizedValue)) {
8961
- element.removeAttribute(attributeName);
8962
- }
8963
- }
8964
- /**
8965
- * Sanitize any nested children
8966
- */
8967
- const childElements = getElementChildren(element);
8968
- /* eslint-disable-next-line */
8969
- for (let i = 0; i < childElements.length; i++) {
8970
- sanitizeElement(childElements[i], allowedAttributes, allowedAttributePrefixes);
8971
- }
8972
- };
8973
- /**
8974
- * IE doesn't always support .children
8975
- * so we revert to .childNodes instead
8976
- */
8977
- // TODO(FW-2832): type
8978
- const getElementChildren = (el) => {
8979
- return el.children != null ? el.children : el.childNodes;
8980
- };
8981
- const isSanitizerEnabled = () => {
8982
- var _a;
8983
- const win = window;
8984
- const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
8985
- if (config) {
8986
- if (config.get) {
8987
- return config.get('sanitizerEnabled', true);
8988
- }
8989
- else {
8990
- return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
8991
- }
8992
- }
8993
- return true;
8994
- };
8995
- /**
8996
- * Mirror known custom-element DOM properties onto attributes so they
8997
- * survive `cloneNode`. Call this on a DOM subtree before cloning it for
8998
- * rendering elsewhere (e.g. cloning slotted option content into an
8999
- * overlay).
9000
- *
9001
- * Only sets the attribute when the property holds a non-empty string
9002
- * and the attribute isn't already present, so existing attributes
9003
- * take precedence.
9004
- *
9005
- * @param root - The root element whose subtree (and itself) will be
9006
- * inspected.
9007
- */
9008
- const reflectPropertiesToAttributes = (root) => {
9009
- const candidates = [];
9010
- if (root.tagName in elementPropsToReflect) {
9011
- candidates.push(root);
9012
- }
9013
- for (const tagName of Object.keys(elementPropsToReflect)) {
9014
- candidates.push(...Array.from(root.querySelectorAll(tagName.toLowerCase())));
9015
- }
9016
- for (const el of candidates) {
9017
- if (!(el.tagName in elementPropsToReflect)) {
9018
- continue;
9019
- }
9020
- const props = elementPropsToReflect[el.tagName];
9021
- for (const prop of props) {
9022
- const value = el[prop];
9023
- if (typeof value === 'string' && value.length > 0 && !el.hasAttribute(prop)) {
9024
- el.setAttribute(prop, value);
9025
- }
9026
- }
9027
- }
9028
- };
9029
- /**
9030
- * Attribute allowlist for `sanitizeDOMString`. Intentionally narrow: this
9031
- * path sanitizes developer HTML strings rendered via `innerHTML` by
9032
- * `ion-toast`, `ion-loading`, the `ion-alert` message,
9033
- * `ion-refresher-content`, and `ion-infinite-scroll-content`, so the list
9034
- * is kept to the minimum those have always needed. Broadening it here would
9035
- * change sanitization output for all of those consumers, so the wider
9036
- * rich-content allowlist below is deliberately scoped to `sanitizeDOMTree`
9037
- * instead.
9038
- */
9039
- const domStringAllowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
9040
- /**
9041
- * Attribute allowlist for `sanitizeDOMTree` (the select rich-content path).
9042
- * Covers global HTML attributes, the Ionic component presentational props
9043
- * that cloned rich content (e.g. `ion-select-option` markup) relies on, and
9044
- * the inert SVG presentation attributes used by inline icons.
9045
- *
9046
- * `aria-*` and `data-*` are allowed separately by prefix (refer
9047
- * `richContentAllowedAttributePrefixes`) since they are inert and not worth
9048
- * enumerating. URL-bearing names (`href`, `src`) are allowed here, but
9049
- * their values are still scrubbed for script schemes in `sanitizeElement`.
9050
- *
9051
- * Notably absent: `style`, event handlers (`on*`), and the
9052
- * form/navigation-hijack attributes (`formaction`, `action`, `target`),
9053
- * which are therefore stripped.
9054
- */
9055
- const richContentAllowedAttributes = [
9056
- // Global / structural
9057
- 'class',
9058
- 'id',
9059
- 'slot',
9060
- 'name',
9061
- 'title',
9062
- 'alt',
9063
- 'lang',
9064
- 'dir',
9065
- 'role',
9066
- 'type',
9067
- 'value',
9068
- 'disabled',
9069
- 'width',
9070
- 'height',
9071
- 'href',
9072
- 'src',
9073
- // Ionic component presentational props
9074
- 'color',
9075
- 'size',
9076
- 'shape',
9077
- 'fill',
9078
- 'expand',
9079
- 'mode',
9080
- 'theme',
9081
- 'icon',
9082
- 'label',
9083
- 'label-placement',
9084
- 'justify',
9085
- 'inset',
9086
- 'lines',
9087
- 'ios',
9088
- 'md',
9089
- // SVG presentation attributes (compared lowercased, e.g. `viewBox`)
9090
- 'xmlns',
9091
- 'viewbox',
9092
- 'preserveaspectratio',
9093
- 'stroke',
9094
- 'stroke-width',
9095
- 'stroke-linecap',
9096
- 'stroke-linejoin',
9097
- 'stroke-opacity',
9098
- 'stroke-dasharray',
9099
- 'fill-rule',
9100
- 'fill-opacity',
9101
- 'clip-rule',
9102
- 'd',
9103
- 'points',
9104
- 'cx',
9105
- 'cy',
9106
- 'r',
9107
- 'rx',
9108
- 'ry',
9109
- 'x',
9110
- 'y',
9111
- 'x1',
9112
- 'y1',
9113
- 'x2',
9114
- 'y2',
9115
- 'transform',
9116
- 'opacity',
9117
- ];
9118
- /**
9119
- * Attribute-name prefixes that are always safe to keep in the rich-content
9120
- * path. `aria-*` and `data-*` attributes cannot execute script or load
9121
- * resources, so they are allowed wholesale rather than enumerated by name.
9122
- */
9123
- const richContentAllowedAttributePrefixes = ['aria-', 'data-'];
9124
- /**
9125
- * Whether an attribute name (already lowercased) is safe to keep, by exact
9126
- * match or by an allowed prefix.
9127
- */
9128
- const isAttributeAllowed = (lowerName, allowedAttributes, allowedAttributePrefixes) => {
9129
- if (allowedAttributes.includes(lowerName)) {
9130
- return true;
9131
- }
9132
- return allowedAttributePrefixes.some((prefix) => lowerName.startsWith(prefix));
9133
- };
9134
- /**
9135
- * Matches ASCII control characters and whitespace (including the
9136
- * non-breaking space). Used to normalize attribute values before matching
9137
- * a URL scheme so entity-obfuscated payloads such as `java&#9;script:`
9138
- * (decoded by the parser to `java\tscript:`) can't smuggle a scheme past
9139
- * the check.
9140
- */
9141
- // eslint-disable-next-line no-control-regex -- matching control characters is the point
9142
- const controlCharactersAndWhitespace = /[\u0000-\u0020\u007f-\u00a0]/g;
9143
- /**
9144
- * Attributes whose values are URLs. Their values are scheme-checked in
9145
- * `sanitizeElement` (e.g. `data:` filtering) beyond the script-scheme scrub
9146
- * applied to every attribute.
9147
- */
9148
- const urlAttributes = ['href', 'src'];
9149
- /**
9150
- * Matches a `data:` URI for a raster image type that cannot carry script.
9151
- * `image/svg+xml` is deliberately excluded (SVG can execute script), as are
9152
- * document types like `text/html` and `application/*`. The value is already
9153
- * lowercased and whitespace-stripped before this is tested.
9154
- */
9155
- const safeDataImageUri = /^data:image\/(?:png|jpe?g|gif|webp|bmp|avif|x-icon|vnd\.microsoft\.icon)[;,]/;
9156
- /**
9157
- * Tags removed entirely (with their subtree) before attribute sanitization.
9158
- * Exported so tests can assert the set without hardcoding it.
9159
- */
9160
- const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed', 'base'];
9161
- /**
9162
- * Properties on custom elements that frameworks (Vue, Angular) often
9163
- * set as DOM properties rather than attributes. `cloneNode` only copies
9164
- * attributes, so these values are lost when slotted content is cloned
9165
- * into an overlay. For each known custom element, we mirror the listed
9166
- * properties onto attributes so the cloned copy still has the data it
9167
- * needs to render.
9168
- *
9169
- * Keyed by uppercased tagName so the lookup matches `Element.tagName`.
9170
- */
9171
- const elementPropsToReflect = {
9172
- 'ION-ICON': ['icon', 'name', 'src', 'ios', 'md'],
9173
- };
9174
- class IonicSafeString {
9175
- constructor(value) {
9176
- this.value = value;
9177
- }
9178
- }
9179
-
9180
- /**
9181
- * Converts a DOM node into a Stencil VNode (or text string) so the
9182
- * resulting tree is rendered through the component's normal render
9183
- * path. Rendering through Stencil ensures that scoped CSS classes
9184
- * (e.g. `sc-ion-action-sheet-ionic`) are applied to every element.
9185
- *
9186
- * Highly recommended to pre-sanitize the source DOM (see
9187
- * `getOptionContent` in select.tsx). This function performs pure
9188
- * structural conversion — no security filtering.
9189
- *
9190
- * Preserves attributes only — properties set imperatively on the source
9191
- * element (e.g. `input.value` after a user types) won't carry through.
9192
- * In practice this isn't a concern: interactive controls shouldn't
9193
- * appear in select-option rich content since they'd nest inside the
9194
- * overlay's button/radio/checkbox wrapper, which is invalid HTML and
9195
- * an accessibility issue.
9196
- *
9197
- * @param node - The DOM node to convert. Text nodes become strings,
9198
- * element nodes become VNodes, and any other node types are skipped.
9199
- * @param keyPrefix - String prefix used to build a stable VNode key,
9200
- * so Stencil's diff can preserve elements across re-renders.
9201
- * @param index - Position of this node among its siblings. Combined
9202
- * with `keyPrefix` to form the final unique key.
9203
- * @returns The converted VNode, a text string, or `null` if the node
9204
- * type isn't supported.
9205
- *
9206
- * @internal Exported only so it can be unit tested; not part of the
9207
- * public API.
9208
- */
9209
- const cloneToVNode = (node, keyPrefix, index) => {
9210
- var _a;
9211
- if (node.nodeType === Node.TEXT_NODE) {
9212
- return (_a = node.textContent) !== null && _a !== void 0 ? _a : '';
9213
- }
9214
- if (node.nodeType !== Node.ELEMENT_NODE) {
9215
- return null;
9216
- }
9217
- const el = node;
9218
- const tag = el.tagName.toLowerCase();
9219
- const key = `${keyPrefix}-${index}`;
9220
- const attrs = { key };
9221
- for (let i = 0; i < el.attributes.length; i++) {
9222
- const attr = el.attributes.item(i);
9223
- attrs[attr.name] = attr.value;
9224
- }
9225
- const children = Array.from(el.childNodes)
9226
- .map((child, i) => cloneToVNode(child, key, i))
9227
- .filter((c) => c !== null);
9228
- return hAsync(tag, attrs, children);
9229
- };
9230
- /**
9231
- * Renders cloned DOM content as Stencil JSX. Walking the source DOM
9232
- * into VNodes (rather than injecting it via innerHTML) keeps the
9233
- * content inside Stencil's render path, so scoped CSS classes are
9234
- * applied automatically and component attributes like `size` or
9235
- * `color` survive intact.
9236
- *
9237
- * Span elements should be used when this content renders within buttons,
9238
- * depending on the select interface. Buttons can only have phrasing
9239
- * content to prevent accessibility issues.
9240
- *
9241
- * @param id - Unique identifier for generating stable virtual DOM keys.
9242
- * @param content - The HTMLElement container whose child nodes will be cloned.
9243
- * @param className - CSS class applied to the wrapper element.
9244
- * @param useSpan - Whether to use a span element instead of a div for the wrapper.
9245
- */
9246
- const renderClonedContent = (id, content, className, useSpan = false) => {
9247
- const Tag = useSpan ? 'span' : 'div';
9248
- const keyPrefix = `${className}-${id}`;
9249
- /**
9250
- * Do not remove. This is the only sanitization pass for callers that pass
9251
- * an `HTMLElement` straight to `renderOptionLabel` (e.g. vanilla JS)
9252
- * without going through `getOptionContent`, which sanitizes upstream.
9253
- * `cloneToVNode` does pure structural conversion and no security
9254
- * filtering, so dropping this call would reopen an XSS hole on the
9255
- * direct `HTMLElement` path.
9256
- */
9257
- sanitizeDOMTree(content);
9258
- return (hAsync(Tag, { class: className, key: keyPrefix }, Array.from(content.childNodes).map((child, i) => cloneToVNode(child, keyPrefix, i))));
9259
- };
9260
- /**
9261
- * Renders the label content for a select option within an overlay
9262
- * interface based on the presence of rich content.
9263
- *
9264
- * Span elements should be used when this content renders within buttons,
9265
- * depending on the select interface. Buttons can only have phrasing
9266
- * content to prevent accessibility issues.
9267
- *
9268
- * @param option - The content option data containing label, slots,
9269
- * and description.
9270
- * @param className - The base CSS class for the label element.
9271
- * @param useSpan - Whether to use a span element instead of a div for the label.
9272
- */
9273
- const renderOptionLabel = (option, className, useSpan = false) => {
9274
- const { id, label, startContent, endContent, description } = option;
9275
- const hasRichContent = !!startContent || !!endContent || !!description;
9276
- const Tag = useSpan ? 'span' : 'div';
9277
- // Render simple string label if there is no rich content to display
9278
- if (!hasRichContent && (typeof label === 'string' || !label)) {
9279
- return (hAsync(Tag, { class: className, key: `${className}-${id}` }, label));
9280
- }
9281
- // Render the main label
9282
- const labelEl = typeof label === 'string' || !label ? (
9283
- // Label is a simple string or undefined
9284
- hAsync(Tag, { key: `${className}-label-${id}` }, label)) : (
9285
- // Label is an HTMLElement with potential rich content
9286
- renderClonedContent(id, label, `${className}-text`, useSpan));
9287
- // No rich content, render just the label
9288
- if (!hasRichContent) {
9289
- return (hAsync(Tag, { class: className, key: `${className}-${id}` }, labelEl));
9290
- }
9291
- // Render label with rich content (start, end, description)
9292
- return (hAsync(Tag, { class: `${className} ${className}-has-rich-content`, key: `${className}-${id}` }, startContent && renderClonedContent(id, startContent, 'select-option-start', useSpan), hAsync(Tag, { class: "select-option-content", key: `${className}-content-${id}` }, labelEl, description && (hAsync(Tag, { class: "select-option-description", key: `${className}-desc-${id}` }, description))), endContent && renderClonedContent(id, endContent, 'select-option-end', useSpan)));
9293
- };
9294
-
9295
8747
  const hostContext = (selector, el) => {
9296
8748
  return el.closest(selector) !== null;
9297
8749
  };
@@ -10147,7 +9599,7 @@ const createAnimation = (animationId) => {
10147
9599
  /**
10148
9600
  * iOS Action Sheet Enter Animation
10149
9601
  */
10150
- const iosEnterAnimation$5 = (baseEl) => {
9602
+ const iosEnterAnimation$6 = (baseEl) => {
10151
9603
  const baseAnimation = createAnimation();
10152
9604
  const backdropAnimation = createAnimation();
10153
9605
  const wrapperAnimation = createAnimation();
@@ -10171,7 +9623,7 @@ const iosEnterAnimation$5 = (baseEl) => {
10171
9623
  /**
10172
9624
  * iOS Action Sheet Leave Animation
10173
9625
  */
10174
- const iosLeaveAnimation$5 = (baseEl) => {
9626
+ const iosLeaveAnimation$6 = (baseEl) => {
10175
9627
  const baseAnimation = createAnimation();
10176
9628
  const backdropAnimation = createAnimation();
10177
9629
  const wrapperAnimation = createAnimation();
@@ -10228,9 +9680,9 @@ const mdLeaveAnimation$5 = (baseEl) => {
10228
9680
  .addAnimation([backdropAnimation, wrapperAnimation]);
10229
9681
  };
10230
9682
 
10231
- const actionSheetIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-ios,.alert-radio-label-has-rich-content.sc-ion-action-sheet-ios,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-ios,.select-option-label-has-rich-content.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-ios,.alert-radio-label-has-rich-content.sc-ion-action-sheet-ios,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-ios,.select-option-content.sc-ion-action-sheet-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-action-sheet-ios,.alert-checkbox-label-text.sc-ion-action-sheet-ios,.alert-radio-label-text.sc-ion-action-sheet-ios,.select-option-label-text.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-action-sheet-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-action-sheet-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-action-sheet-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-ios [part~="label"],.select-option-content.sc-ion-action-sheet-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-action-sheet-ios>ion-avatar.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>ion-img.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>ion-thumbnail.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>img.sc-ion-action-sheet-ios,.select-option-start.sc-ion-action-sheet-ios>svg.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-avatar.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-img.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-thumbnail.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>img.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>svg.sc-ion-action-sheet-ios{width:44px;height:44px}.select-option-start.sc-ion-action-sheet-ios>ion-icon.sc-ion-action-sheet-ios,.select-option-end.sc-ion-action-sheet-ios>ion-icon.sc-ion-action-sheet-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-action-sheet-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-action-sheet-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button.sc-ion-action-sheet-ios:disabled ion-icon.sc-ion-action-sheet-ios{color:currentColor}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated){color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated)::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios:not(.ion-activated).action-sheet-selected::after{background:var(--button-background-focused, var(--button-background-selected));opacity:var(--button-background-focused-opacity, var(--button-background-selected-opacity))}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}`;
9683
+ const actionSheetIosCss = () => `.sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-ios{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-ios{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color-step-150, var(--ion-background-color, #fff)));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #0054e9);--button-color-disabled:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--color:var(--ion-color-step-400, var(--ion-text-color-step-600, #999999));text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);padding-bottom:var(--ion-safe-area-bottom, 0);-webkit-box-sizing:content-box;box-sizing:content-box}.action-sheet-container.sc-ion-action-sheet-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;-webkit-backdrop-filter:saturate(280%) blur(20px);backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8))), -webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4)), color-stop(50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;-webkit-backdrop-filter:saturate(120%);backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:-webkit-gradient(linear, left bottom, left top, from(rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08)), color-stop(50%, transparent)) bottom/100% 1px no-repeat transparent;background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-size:max(13px, 0.8125rem);font-weight:400;text-align:center}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:max(13px, 0.8125rem);font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:14px;padding-bottom:14px;min-height:56px;font-size:max(20px, 1.25rem);contain:content}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{-webkit-margin-end:0.3em;margin-inline-end:0.3em;font-size:max(28px, 1.75rem);pointer-events:none}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #c5000f)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #c5000f)}}`;
10232
9684
 
10233
- const actionSheetMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-md,.alert-radio-label-has-rich-content.sc-ion-action-sheet-md,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-md,.select-option-label-has-rich-content.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-action-sheet-md,.alert-radio-label-has-rich-content.sc-ion-action-sheet-md,.alert-checkbox-label-has-rich-content.sc-ion-action-sheet-md,.select-option-content.sc-ion-action-sheet-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-action-sheet-md,.alert-checkbox-label-text.sc-ion-action-sheet-md,.alert-radio-label-text.sc-ion-action-sheet-md,.select-option-label-text.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-action-sheet-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-action-sheet-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-action-sheet-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-action-sheet-md [part~="label"],.select-option-content.sc-ion-action-sheet-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-action-sheet-md>ion-avatar.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-avatar.sc-ion-action-sheet-md{width:40px;height:40px}.select-option-start.sc-ion-action-sheet-md>ion-icon.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-icon.sc-ion-action-sheet-md{width:24px;height:24px}.select-option-start.sc-ion-action-sheet-md>ion-img.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>img.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>svg.sc-ion-action-sheet-md,.select-option-start.sc-ion-action-sheet-md>ion-thumbnail.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-img.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>img.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>svg.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>ion-thumbnail.sc-ion-action-sheet-md{width:56px;height:56px}.select-option-start.sc-ion-action-sheet-md>video.sc-ion-action-sheet-md,.select-option-end.sc-ion-action-sheet-md>video.sc-ion-action-sheet-md{width:114px;height:56px}.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button.sc-ion-action-sheet-md:disabled ion-icon.sc-ion-action-sheet-md{color:currentColor}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated){color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated)::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md:not(.ion-activated).action-sheet-selected::after{background:var(--button-background-focused, var(--button-background-selected));opacity:var(--button-background-focused-opacity, var(--button-background-selected-opacity))}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}`;
9685
+ const actionSheetMdCss = () => `.sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:auto;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md:disabled{color:var(--button-color-disabled);opacity:0.4}.action-sheet-button-inner.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:end;justify-content:flex-end;height:100%;max-height:calc(100vh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)));max-height:calc(100dvh - (var(--ion-safe-area-top, 0) + var(--ion-safe-area-bottom, 0)))}.action-sheet-group.sc-ion-action-sheet-md{-ms-flex-negative:2;flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}@media (any-pointer: coarse){.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}}.action-sheet-group-cancel.sc-ion-action-sheet-md{-ms-flex-negative:0;flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:not(:disabled):hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--button-color-disabled:var(--button-color);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-wrapper.sc-ion-action-sheet-md{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:0}.action-sheet-title.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:1rem;text-align:start}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:0.875rem}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:var(--ion-safe-area-bottom)}.action-sheet-button.sc-ion-action-sheet-md{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;position:relative;min-height:52px;font-size:1rem;text-align:start;contain:content;overflow:hidden}.action-sheet-icon.sc-ion-action-sheet-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:1.5rem}.action-sheet-button-inner.sc-ion-action-sheet-md{-ms-flex-pack:start;justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}`;
10234
9686
 
10235
9687
  /**
10236
9688
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
@@ -10327,7 +9779,7 @@ class ActionSheet {
10327
9779
  async present() {
10328
9780
  const unlock = await this.lockController.lock();
10329
9781
  await this.delegateController.attachViewToDom();
10330
- await present(this, 'actionSheetEnter', iosEnterAnimation$5, mdEnterAnimation$5);
9782
+ await present(this, 'actionSheetEnter', iosEnterAnimation$6, mdEnterAnimation$5);
10331
9783
  unlock();
10332
9784
  }
10333
9785
  /**
@@ -10344,7 +9796,7 @@ class ActionSheet {
10344
9796
  */
10345
9797
  async dismiss(data, role) {
10346
9798
  const unlock = await this.lockController.lock();
10347
- const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$5, mdLeaveAnimation$5);
9799
+ const dismissed = await dismiss(this, data, role, 'actionSheetLeave', iosLeaveAnimation$6, mdLeaveAnimation$5);
10348
9800
  if (dismissed) {
10349
9801
  this.delegateController.removeViewFromDom();
10350
9802
  }
@@ -10513,10 +9965,6 @@ class ActionSheet {
10513
9965
  this.gesture = undefined;
10514
9966
  }
10515
9967
  this.triggerController.removeClickListener();
10516
- // Clean up aria-hidden if removed without dismiss() being called
10517
- if (this.presented) {
10518
- cleanupRootFocusTrapAccessibility();
10519
- }
10520
9968
  }
10521
9969
  componentWillLoad() {
10522
9970
  var _a;
@@ -10605,26 +10053,12 @@ class ActionSheet {
10605
10053
  if (isRadio) {
10606
10054
  htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
10607
10055
  }
10608
- /**
10609
- * Cast to `SelectActionSheetButton` to access rich content
10610
- * fields (`startContent`, `endContent`, `description`)
10611
- * that are passed through from `ion-select` but not
10612
- * part of the public `ActionSheetButton` interface.
10613
- */
10614
- const richButton = b;
10615
- const optionLabelOptions = {
10616
- id: buttonId,
10617
- label: richButton.text,
10618
- startContent: richButton.startContent,
10619
- endContent: richButton.endContent,
10620
- description: richButton.description,
10621
- };
10622
- return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$2(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
10056
+ return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$3(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
10623
10057
  if (isRadio) {
10624
10058
  this.selectRadioButton(b);
10625
10059
  }
10626
10060
  this.buttonClick(b);
10627
- }, disabled: b.disabled, tabIndex: tabIndex }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), renderOptionLabel(optionLabelOptions, 'action-sheet-button-label', true)), mode === 'md' && hAsync("ion-ripple-effect", null)));
10061
+ }, disabled: b.disabled, tabIndex: tabIndex }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null)));
10628
10062
  });
10629
10063
  }
10630
10064
  render() {
@@ -10634,12 +10068,12 @@ class ActionSheet {
10634
10068
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
10635
10069
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
10636
10070
  const headerID = `action-sheet-${overlayIndex}-header`;
10637
- return (hAsync(Host, Object.assign({ key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
10071
+ return (hAsync(Host, Object.assign({ key: '48b63b870f2816b4cad3c606f3d9956854cee79a', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
10638
10072
  zIndex: `${20000 + this.overlayIndex}`,
10639
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'c70f00e401cac99b89412d1adb867f35bc855d57', tappable: this.backdropDismiss }), hAsync("div", { key: '3332893ce3098f1435875480b1269b2821d41660', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'eb406b0a9e303d6f94c5c7aa99c6f4c089bfbd41', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '92ec855379f10e1e0bfce6ff68b45d3cda0c137c', class: "action-sheet-container" }, hAsync("div", { key: 'bc88a396d75396f574961471bf7e6c4edb513353', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '33329e0193818888bdcaa443ff5ea301802e0787', id: headerID, class: {
10073
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '41dd5781f139d26b3feea33ab387451aeafacd51', tappable: this.backdropDismiss }), hAsync("div", { key: 'f797c2657782e4e83adf90d2d796108e857a1fc0', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '8e74209321fc5e8712e3e293c91a6fa036ea45ab', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'c811860be2eed0b6c73fc2cc5a59cb94db2e8912', class: "action-sheet-container" }, hAsync("div", { key: 'd36ee14b70d73eb5cd69e0c57bc5cc31daf86ab3', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '922695de191edc86451eed2552acc4f54993ea52', id: headerID, class: {
10640
10074
  'action-sheet-title': true,
10641
10075
  'action-sheet-has-sub-title': this.subHeader !== undefined,
10642
- } }, header, this.subHeader && hAsync("div", { key: '92ac5a9217a12b7417f7aca9c4fdb7bf6b051364', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: '020463b830fa48fc3ae647ea64f2aaa4d0969305', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'cefa9c70a2233f6652a81b1a2eae6e717712144d' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$2(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '56d7e2f8bfb3644e4476895164d334445fda9b2f', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '6a4a49254ec5cd96f4e0dce9447f90d8cac81913', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '7d3c6e8d70b0922ea0f75520856285ce1005c891' })))))), hAsync("div", { key: '958fc43e603c6a7f5d1e649d3326fce0f163b5d0', tabindex: "0", "aria-hidden": "true" })));
10076
+ } }, header, this.subHeader && hAsync("div", { key: 'a119d4a93668e829f7106f11cbbdd437310f3e80', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: '1d27f36d09bedd2e4c61fea9dd9d05f8f9271aef', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'ed13658176c54cc45808a54a0331c297430d9bc6' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '5208e3e3535b775a443cef6fb1decd790db69b0c', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: 'b7ba489e1ee50524a5b4af670eef787844a16286', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b3f88898114855853259f0001def26b4bd6e4a98' })))))), hAsync("div", { key: '0dfd0fcdc633bf565990eaa06679608e749cf8f9', tabindex: "0", "aria-hidden": "true" })));
10643
10077
  }
10644
10078
  get el() { return getElement(this); }
10645
10079
  static get watchers() { return {
@@ -10688,59 +10122,178 @@ class ActionSheet {
10688
10122
  "$attrsToReflect$": []
10689
10123
  }; }
10690
10124
  }
10691
- const buttonClass$2 = (button) => {
10125
+ const buttonClass$3 = (button) => {
10692
10126
  return Object.assign({ 'action-sheet-button': true, 'ion-activatable': !button.disabled, 'ion-focusable': !button.disabled, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
10693
10127
  };
10694
10128
 
10695
10129
  const ENABLE_HTML_CONTENT_DEFAULT = false;
10696
10130
 
10697
- // TODO(FW-6886, FW-6892, FW-6891): Remove this file in favor of the Modular Ionic component config. Each overlay will be able to select its own defaults for label placement and justify based on the interface and mode, so this utility will no longer be necessary.
10698
10131
  /**
10699
- * Returns the default `labelPlacement` for a radio or checkbox option
10700
- * rendered inside an overlay. Defaults follow each mode's established
10701
- * option-row layout:
10702
- * - `ios`: `"start"` for radio in `alert` and `popover`. The `modal`
10703
- * interface flips iOS radio back to `"end"`. Checkbox is always
10704
- * `"end"` on iOS.
10705
- * - everything else (e.g. `md`): `"end"`.
10706
- *
10707
- * `interfaceType` is optional; only `"modal"` changes the result, so
10708
- * callers that aren't a modal can omit it.
10709
- *
10710
- * Used by `select-popover` and `select-modal` as the fallback when an
10711
- * option doesn't explicitly set `labelPlacement`.
10132
+ * Does a simple sanitization of all elements
10133
+ * in an untrusted string
10712
10134
  */
10713
- const getOverlayLabelPlacement = (mode, control, interfaceType) => {
10714
- if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
10715
- return 'start';
10716
- }
10717
- return 'end';
10718
- };
10719
- /**
10720
- * Returns the default `justify` for a radio or checkbox option rendered
10721
- * inside an overlay. Defaults follow each mode's option-row layout:
10722
- * - `ios`: `"space-between"` for radio in `alert` and `popover`. The
10723
- * `modal` interface falls back to `"start"`. Checkbox is always `"start"`
10724
- * on iOS.
10725
- * - everything else (e.g. `md`): `"start"`.
10726
- *
10727
- * `interfaceType` is optional; only `"modal"` changes the result, so
10728
- * callers that aren't a modal can omit it.
10729
- *
10730
- * Used by `select-popover` and `select-modal` as the fallback when an
10731
- * option doesn't explicitly set `justify`.
10135
+ const sanitizeDOMString = (untrustedString) => {
10136
+ try {
10137
+ if (untrustedString instanceof IonicSafeString) {
10138
+ return untrustedString.value;
10139
+ }
10140
+ if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
10141
+ return untrustedString;
10142
+ }
10143
+ /**
10144
+ * onload is fired when appending to a document
10145
+ * fragment in Chrome. If a string
10146
+ * contains onload then we should not
10147
+ * attempt to add this to the fragment.
10148
+ */
10149
+ if (untrustedString.includes('onload=')) {
10150
+ return '';
10151
+ }
10152
+ /**
10153
+ * Create a document fragment
10154
+ * separate from the main DOM,
10155
+ * create a div to do our work in
10156
+ */
10157
+ const documentFragment = document.createDocumentFragment();
10158
+ const workingDiv = document.createElement('div');
10159
+ documentFragment.appendChild(workingDiv);
10160
+ workingDiv.innerHTML = untrustedString;
10161
+ /**
10162
+ * Remove any elements
10163
+ * that are blocked
10164
+ */
10165
+ blockedTags.forEach((blockedTag) => {
10166
+ const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
10167
+ for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
10168
+ const element = getElementsToRemove[elementIndex];
10169
+ if (element.parentNode) {
10170
+ element.parentNode.removeChild(element);
10171
+ }
10172
+ else {
10173
+ documentFragment.removeChild(element);
10174
+ }
10175
+ /**
10176
+ * We still need to sanitize
10177
+ * the children of this element
10178
+ * as they are left behind
10179
+ */
10180
+ const childElements = getElementChildren(element);
10181
+ /* eslint-disable-next-line */
10182
+ for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
10183
+ sanitizeElement(childElements[childIndex]);
10184
+ }
10185
+ }
10186
+ });
10187
+ /**
10188
+ * Go through remaining elements and remove
10189
+ * non-allowed attribs
10190
+ */
10191
+ // IE does not support .children on document fragments, only .childNodes
10192
+ const dfChildren = getElementChildren(documentFragment);
10193
+ /* eslint-disable-next-line */
10194
+ for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
10195
+ sanitizeElement(dfChildren[childIndex]);
10196
+ }
10197
+ // Append document fragment to div
10198
+ const fragmentDiv = document.createElement('div');
10199
+ fragmentDiv.appendChild(documentFragment);
10200
+ // First child is always the div we did our work in
10201
+ const getInnerDiv = fragmentDiv.querySelector('div');
10202
+ return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
10203
+ }
10204
+ catch (err) {
10205
+ printIonError('sanitizeDOMString', err);
10206
+ return '';
10207
+ }
10208
+ };
10209
+ /**
10210
+ * Clean up current element based on allowed attributes
10211
+ * and then recursively dig down into any child elements to
10212
+ * clean those up as well
10213
+ */
10214
+ // TODO(FW-2832): type (using Element triggers other type errors as well)
10215
+ const sanitizeElement = (element) => {
10216
+ // IE uses childNodes, so ignore nodes that are not elements
10217
+ if (element.nodeType && element.nodeType !== 1) {
10218
+ return;
10219
+ }
10220
+ /**
10221
+ * If attributes is not a NamedNodeMap
10222
+ * then we should remove the element entirely.
10223
+ * This helps avoid DOM Clobbering attacks where
10224
+ * attributes is overridden.
10225
+ */
10226
+ if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
10227
+ element.remove();
10228
+ return;
10229
+ }
10230
+ for (let i = element.attributes.length - 1; i >= 0; i--) {
10231
+ const attribute = element.attributes.item(i);
10232
+ const attributeName = attribute.name;
10233
+ // remove non-allowed attribs
10234
+ if (!allowedAttributes.includes(attributeName.toLowerCase())) {
10235
+ element.removeAttribute(attributeName);
10236
+ continue;
10237
+ }
10238
+ // clean up any allowed attribs
10239
+ // that attempt to do any JS funny-business
10240
+ const attributeValue = attribute.value;
10241
+ /**
10242
+ * We also need to check the property value
10243
+ * as javascript: can allow special characters
10244
+ * such as &Tab; and still be valid (i.e. java&Tab;script)
10245
+ */
10246
+ const propertyValue = element[attributeName];
10247
+ /* eslint-disable */
10248
+ if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
10249
+ (propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
10250
+ element.removeAttribute(attributeName);
10251
+ }
10252
+ /* eslint-enable */
10253
+ }
10254
+ /**
10255
+ * Sanitize any nested children
10256
+ */
10257
+ const childElements = getElementChildren(element);
10258
+ /* eslint-disable-next-line */
10259
+ for (let i = 0; i < childElements.length; i++) {
10260
+ sanitizeElement(childElements[i]);
10261
+ }
10262
+ };
10263
+ /**
10264
+ * IE doesn't always support .children
10265
+ * so we revert to .childNodes instead
10732
10266
  */
10733
- const getOverlayLabelJustify = (mode, control, interfaceType) => {
10734
- if (mode === 'ios' && control === 'radio' && interfaceType !== 'modal') {
10735
- return 'space-between';
10267
+ // TODO(FW-2832): type
10268
+ const getElementChildren = (el) => {
10269
+ return el.children != null ? el.children : el.childNodes;
10270
+ };
10271
+ const isSanitizerEnabled = () => {
10272
+ var _a;
10273
+ const win = window;
10274
+ const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
10275
+ if (config) {
10276
+ if (config.get) {
10277
+ return config.get('sanitizerEnabled', true);
10278
+ }
10279
+ else {
10280
+ return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
10281
+ }
10736
10282
  }
10737
- return 'start';
10283
+ return true;
10738
10284
  };
10285
+ const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
10286
+ const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
10287
+ class IonicSafeString {
10288
+ constructor(value) {
10289
+ this.value = value;
10290
+ }
10291
+ }
10739
10292
 
10740
10293
  /**
10741
10294
  * iOS Alert Enter Animation
10742
10295
  */
10743
- const iosEnterAnimation$4 = (baseEl) => {
10296
+ const iosEnterAnimation$5 = (baseEl) => {
10744
10297
  const baseAnimation = createAnimation();
10745
10298
  const backdropAnimation = createAnimation();
10746
10299
  const wrapperAnimation = createAnimation();
@@ -10765,7 +10318,7 @@ const iosEnterAnimation$4 = (baseEl) => {
10765
10318
  /**
10766
10319
  * iOS Alert Leave Animation
10767
10320
  */
10768
- const iosLeaveAnimation$4 = (baseEl) => {
10321
+ const iosLeaveAnimation$5 = (baseEl) => {
10769
10322
  const baseAnimation = createAnimation();
10770
10323
  const backdropAnimation = createAnimation();
10771
10324
  const wrapperAnimation = createAnimation();
@@ -10822,9 +10375,9 @@ const mdLeaveAnimation$4 = (baseEl) => {
10822
10375
  .addAnimation([backdropAnimation, wrapperAnimation]);
10823
10376
  };
10824
10377
 
10825
- const alertIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-alert-ios,.alert-radio-label-has-rich-content.sc-ion-alert-ios,.alert-checkbox-label-has-rich-content.sc-ion-alert-ios,.select-option-label-has-rich-content.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-alert-ios,.alert-radio-label-has-rich-content.sc-ion-alert-ios,.alert-checkbox-label-has-rich-content.sc-ion-alert-ios,.select-option-content.sc-ion-alert-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-alert-ios,.alert-checkbox-label-text.sc-ion-alert-ios,.alert-radio-label-text.sc-ion-alert-ios,.select-option-label-text.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-alert-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-alert-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-alert-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-alert-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-alert-ios [part~="label"],.select-option-content.sc-ion-alert-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-alert-ios>ion-avatar.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>ion-img.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>ion-thumbnail.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>img.sc-ion-alert-ios,.select-option-start.sc-ion-alert-ios>svg.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-avatar.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-img.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-thumbnail.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>img.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>svg.sc-ion-alert-ios{width:44px;height:44px}.select-option-start.sc-ion-alert-ios>ion-icon.sc-ion-alert-ios,.select-option-end.sc-ion-alert-ios>ion-icon.sc-ion-alert-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-alert-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-alert-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-ios,.alert-radio-label.sc-ion-alert-ios{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.radio-label-placement-start.sc-ion-alert-ios,.checkbox-label-placement-start.sc-ion-alert-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.radio-label-placement-end.sc-ion-alert-ios,.checkbox-label-placement-end.sc-ion-alert-ios{-ms-flex-direction:row;flex-direction:row}.radio-justify-start.sc-ion-alert-ios,.checkbox-justify-start.sc-ion-alert-ios{-ms-flex-pack:start;justify-content:start}.radio-justify-end.sc-ion-alert-ios,.checkbox-justify-end.sc-ion-alert-ios{-ms-flex-pack:end;justify-content:end}.radio-justify-space-between.sc-ion-alert-ios,.checkbox-justify-space-between.sc-ion-alert-ios{-ms-flex-pack:justify;justify-content:space-between}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:clamp(270px, 16.875rem, 324px);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:max(14px, 0.875rem)}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:7px;text-align:center}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:max(17px, 1.0625rem);font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:max(14px, 0.875rem)}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:max(13px, 0.8125rem);text-align:center}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:7px;margin-top:10px;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:7px;padding-bottom:7px;border:0.55px solid var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf));background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1rem}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-input.sc-ion-alert-ios::-webkit-date-and-time-value{height:18px}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{min-height:44px}.alert-radio-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;color:var(--ion-text-color, #000)}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #0054e9)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-negative:0;flex-shrink:0;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .radio-label-placement-end.sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-end:7px}[aria-checked=true].sc-ion-alert-ios .radio-label-placement-start.sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-start:7px}.alert-checkbox-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;color:var(--ion-text-color, #000)}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;margin-top:10px;margin-bottom:10px;position:relative;-ms-flex-negative:0;flex-shrink:0;width:min(1.375rem, 55.836px);height:min(1.375rem, 55.836px);border-width:0.125rem;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}.checkbox-label-placement-end.sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px}.checkbox-label-placement-start.sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{-webkit-margin-start:6px;margin-inline-start:6px;-webkit-margin-end:16px;margin-inline-end:16px}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{top:calc(min(1.375rem, 55.836px) / 8);position:absolute;width:calc(min(1.375rem, 55.836px) / 6 + 1px);height:calc(min(1.375rem, 55.836px) * 0.5);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[aria-checked=true].sc-ion-alert-ios .checkbox-label-placement-end.sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-start:calc(min(1.375rem, 55.836px) / 3)}[aria-checked=true].sc-ion-alert-ios .checkbox-label-placement-start.sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-end:calc(min(1.375rem, 55.836px) / 3)}.alert-button-group.sc-ion-alert-ios{-webkit-margin-end:-0.55px;margin-inline-end:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios{border-right:none}[dir=rtl].sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}[dir=rtl].sc-ion-alert-ios .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}@supports selector(:dir(rtl)){.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:none}}.alert-button.sc-ion-alert-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:max(44px, 2.75rem);border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #0054e9);font-size:max(17px, 1.0625rem);overflow:hidden}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child{border-right:0}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:first-child:dir(rtl){border-right:0}}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #c5000f)}`;
10378
+ const alertIosCss = () => `.sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-ios-h{display:none}.alert-top.sc-ion-alert-ios-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-ios,.alert-radio-label.sc-ion-alert-ios{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-ios::-webkit-scrollbar,.alert-message.sc-ion-alert-ios::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-ios{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-ios,.alert-tappable.ion-focused.sc-ion-alert-ios{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-ios,.alert-checkbox-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios,.alert-radio-button-disabled.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-ios,.alert-checkbox.sc-ion-alert-ios,.alert-input.sc-ion-alert-ios,.alert-radio.sc-ion-alert-ios{outline:none}.alert-radio-icon.sc-ion-alert-ios,.alert-checkbox-icon.sc-ion-alert-ios,.alert-checkbox-inner.sc-ion-alert-ios{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-ios{min-height:37px;resize:none}.sc-ion-alert-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:clamp(270px, 16.875rem, 324px);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);font-size:max(14px, 0.875rem)}.alert-wrapper.sc-ion-alert-ios{border-radius:13px;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.alert-button.sc-ion-alert-ios .alert-button-inner.sc-ion-alert-ios{pointer-events:none}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.alert-translucent.sc-ion-alert-ios-h .alert-wrapper.sc-ion-alert-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.alert-head.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:7px;text-align:center}.alert-title.sc-ion-alert-ios{margin-top:8px;color:var(--ion-text-color, #000);font-size:max(17px, 1.0625rem);font-weight:600}.alert-sub-title.sc-ion-alert-ios{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:max(14px, 0.875rem)}.alert-message.sc-ion-alert-ios,.alert-input-group.sc-ion-alert-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:21px;color:var(--ion-text-color, #000);font-size:max(13px, 0.8125rem);text-align:center}.alert-message.sc-ion-alert-ios{max-height:240px}.alert-message.sc-ion-alert-ios:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:12px}.alert-input.sc-ion-alert-ios{border-radius:7px;margin-top:10px;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:7px;padding-bottom:7px;border:0.55px solid var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf));background-color:var(--ion-background-color, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:1rem}.alert-input.sc-ion-alert-ios::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-ios::-ms-clear{display:none}.alert-input.sc-ion-alert-ios::-webkit-date-and-time-value{height:18px}.alert-radio-group.sc-ion-alert-ios,.alert-checkbox-group.sc-ion-alert-ios{-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:240px;border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);overflow-y:auto;-webkit-overflow-scrolling:touch}.alert-tappable.sc-ion-alert-ios{min-height:44px}.alert-radio-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;-ms-flex-order:0;order:0;color:var(--ion-text-color, #000)}[aria-checked=true].sc-ion-alert-ios .alert-radio-label.sc-ion-alert-ios{color:var(--ion-color-primary, #0054e9)}.alert-radio-icon.sc-ion-alert-ios{position:relative;-ms-flex-order:1;order:1;min-width:30px}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{top:-7px;position:absolute;width:6px;height:12px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-radio-inner.sc-ion-alert-ios{inset-inline-start:7px}.alert-checkbox-label.sc-ion-alert-ios{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-text-color, #000)}.alert-checkbox-icon.sc-ion-alert-ios{border-radius:50%;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:6px;margin-inline-end:6px;margin-top:10px;margin-bottom:10px;position:relative;width:min(1.375rem, 55.836px);height:min(1.375rem, 55.836px);border-width:0.125rem;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));background-color:var(--ion-item-background, var(--ion-background-color, #fff));contain:strict}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-icon.sc-ion-alert-ios{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{top:calc(min(1.375rem, 55.836px) / 8);position:absolute;width:calc(min(1.375rem, 55.836px) / 6 + 1px);height:calc(min(1.375rem, 55.836px) * 0.5);-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-background-color, #fff)}[aria-checked=true].sc-ion-alert-ios .alert-checkbox-inner.sc-ion-alert-ios{inset-inline-start:calc(min(1.375rem, 55.836px) / 3)}.alert-button-group.sc-ion-alert-ios{-webkit-margin-end:-0.55px;margin-inline-end:-0.55px;-ms-flex-wrap:wrap;flex-wrap:wrap}.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios{border-right:none}[dir=rtl].sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}[dir=rtl].sc-ion-alert-ios .alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:none}@supports selector(:dir(rtl)){.alert-button-group-vertical.sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:none}}.alert-button.sc-ion-alert-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:0;-ms-flex:1 1 auto;flex:1 1 auto;min-width:50%;height:max(44px, 2.75rem);border-top:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2);background-color:transparent;color:var(--ion-color-primary, #0054e9);font-size:max(17px, 1.0625rem);overflow:hidden}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:first-child{border-right:0}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:first-child{border-right:0}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:first-child:dir(rtl){border-right:0}}.alert-button.sc-ion-alert-ios:last-child{border-right:0;font-weight:bold}[dir=rtl].sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child,[dir=rtl] .sc-ion-alert-ios-h .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}[dir=rtl].sc-ion-alert-ios .alert-button.sc-ion-alert-ios:last-child{border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@supports selector(:dir(rtl)){.alert-button.sc-ion-alert-ios:last-child:dir(rtl){border-right:0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}}.alert-button.ion-activated.sc-ion-alert-ios{background-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1)}.alert-button-role-destructive.sc-ion-alert-ios,.alert-button-role-destructive.ion-activated.sc-ion-alert-ios,.alert-button-role-destructive.ion-focused.sc-ion-alert-ios{color:var(--ion-color-danger, #c5000f)}`;
10826
10379
 
10827
- const alertMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-alert-md,.alert-radio-label-has-rich-content.sc-ion-alert-md,.alert-checkbox-label-has-rich-content.sc-ion-alert-md,.select-option-label-has-rich-content.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-alert-md,.alert-radio-label-has-rich-content.sc-ion-alert-md,.alert-checkbox-label-has-rich-content.sc-ion-alert-md,.select-option-content.sc-ion-alert-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-alert-md,.alert-checkbox-label-text.sc-ion-alert-md,.alert-radio-label-text.sc-ion-alert-md,.select-option-label-text.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-alert-md,.select-option-end.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-alert-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-alert-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-alert-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-alert-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-alert-md [part~="label"],.select-option-content.sc-ion-alert-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-alert-md>ion-avatar.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-avatar.sc-ion-alert-md{width:40px;height:40px}.select-option-start.sc-ion-alert-md>ion-icon.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-icon.sc-ion-alert-md{width:24px;height:24px}.select-option-start.sc-ion-alert-md>ion-img.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>img.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>svg.sc-ion-alert-md,.select-option-start.sc-ion-alert-md>ion-thumbnail.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-img.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>img.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>svg.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>ion-thumbnail.sc-ion-alert-md{width:56px;height:56px}.select-option-start.sc-ion-alert-md>video.sc-ion-alert-md,.select-option-end.sc-ion-alert-md>video.sc-ion-alert-md{width:114px;height:56px}.sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-md,.alert-radio-label.sc-ion-alert-md{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.radio-label-placement-start.sc-ion-alert-md,.checkbox-label-placement-start.sc-ion-alert-md{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.radio-label-placement-end.sc-ion-alert-md,.checkbox-label-placement-end.sc-ion-alert-md{-ms-flex-direction:row;flex-direction:row}.radio-justify-start.sc-ion-alert-md,.checkbox-justify-start.sc-ion-alert-md{-ms-flex-pack:start;justify-content:start}.radio-justify-end.sc-ion-alert-md,.checkbox-justify-end.sc-ion-alert-md{-ms-flex-pack:end;justify-content:end}.radio-justify-space-between.sc-ion-alert-md,.checkbox-justify-space-between.sc-ion-alert-md{-ms-flex-pack:justify;justify-content:space-between}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:0.875rem}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:15px;text-align:start}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1.25rem;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1rem}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, var(--ion-text-color-step-450, #737373))}.alert-message.sc-ion-alert-md{font-size:1rem}@media screen and (max-width: 767px){.alert-message.sc-ion-alert-md{max-height:266px}}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #0054e9)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;border-top:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));overflow:auto}@media screen and (max-width: 767px){.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{max-height:266px}}.alert-tappable.sc-ion-alert-md{position:relative;min-height:48px}.alert-radio-label.sc-ion-alert-md{padding-top:13px;padding-bottom:13px;max-width:calc(100% - 20px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.radio-label-placement-end.sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{-webkit-padding-start:56px;padding-inline-start:56px;-webkit-padding-end:24px;padding-inline-end:24px}.radio-label-placement-start.sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:56px;padding-inline-end:56px}.alert-radio-icon.sc-ion-alert-md{top:0;border-radius:50%;display:block;position:relative;-ms-flex-negative:0;flex-shrink:0;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373))}.radio-label-placement-end.sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{inset-inline-start:24px}.radio-label-placement-start.sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{inset-inline-end:24px}.alert-radio-inner.sc-ion-alert-md{top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #0054e9)}.alert-radio-inner.sc-ion-alert-md{inset-inline-start:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626))}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-top:13px;padding-bottom:13px;max-width:calc(100% - 16px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.checkbox-label-placement-end.sc-ion-alert-md .alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:56px;padding-inline-start:56px;-webkit-padding-end:24px;padding-inline-end:24px}.checkbox-label-placement-start.sc-ion-alert-md .alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:56px;padding-inline-end:56px}.alert-checkbox-icon.sc-ion-alert-md{top:0;border-radius:2px;position:relative;-ms-flex-negative:0;flex-shrink:0;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));contain:strict}.checkbox-label-placement-end.sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{inset-inline-start:24px}.checkbox-label-placement-start.sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{inset-inline-end:24px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{inset-inline-start:3px}.alert-button-group.sc-ion-alert-md{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.alert-button.sc-ion-alert-md{border-radius:2px;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:0;margin-bottom:0;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #0054e9);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}.alert-button-group.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}@media screen and (min-width: 768px){.sc-ion-alert-md-h{--max-width:min(100vw - 96px, 560px);--max-height:min(100vh - 96px, 560px)}}`;
10380
+ const alertMdCss = () => `.sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;-ms-flex-align:start;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-label.sc-ion-alert-md,.alert-radio-label.sc-ion-alert-md{overflow-wrap:anywhere}@media (any-pointer: coarse){.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:0.875rem;line-height:1.25rem;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.alert-button-inner.sc-ion-alert-md{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:-ms-flexbox;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;-webkit-appearance:none;-moz-appearance:none;appearance:none;contain:content}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{-webkit-box-sizing:border-box;box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:0.875rem}.alert-wrapper.sc-ion-alert-md{border-radius:4px;-webkit-box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px;padding-top:20px;padding-bottom:15px;text-align:start}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1.25rem;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:1rem}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, var(--ion-text-color-step-450, #737373))}.alert-message.sc-ion-alert-md{font-size:1rem}@media screen and (max-width: 767px){.alert-message.sc-ion-alert-md{max-height:266px}}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::-webkit-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-moz-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md:-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-input-placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #0054e9)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;border-top:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));border-bottom:1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));overflow:auto}@media screen and (max-width: 767px){.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{max-height:266px}}.alert-tappable.sc-ion-alert-md{position:relative;min-height:48px}.alert-radio-label.sc-ion-alert-md{-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-radio-icon.sc-ion-alert-md{top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373))}.alert-radio-icon.sc-ion-alert-md{inset-inline-start:26px}.alert-radio-inner.sc-ion-alert-md{top:3px;border-radius:50%;position:absolute;width:10px;height:10px;-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #0054e9)}.alert-radio-inner.sc-ion-alert-md{inset-inline-start:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626))}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px;padding-top:13px;padding-bottom:13px;-ms-flex:1;flex:1;width:calc(100% - 53px);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:1rem}.alert-checkbox-icon.sc-ion-alert-md{top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));contain:strict}.alert-checkbox-icon.sc-ion-alert-md{inset-inline-start:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #0054e9);background-color:var(--ion-color-primary, #0054e9)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{top:0;position:absolute;width:6px;height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{inset-inline-start:3px}.alert-button-group.sc-ion-alert-md{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;-ms-flex-pack:end;justify-content:flex-end}.alert-button.sc-ion-alert-md{border-radius:2px;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:0;margin-bottom:0;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #0054e9);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}.alert-button-inner.sc-ion-alert-md{-ms-flex-pack:end;justify-content:flex-end}@media screen and (min-width: 768px){.sc-ion-alert-md-h{--max-width:min(100vw - 96px, 560px);--max-height:min(100vh - 96px, 560px)}}`;
10828
10381
 
10829
10382
  // TODO(FW-2832): types
10830
10383
  /**
@@ -10998,7 +10551,22 @@ class Alert {
10998
10551
  this.inputType = inputTypes.values().next().value;
10999
10552
  this.processedInputs = inputs.map((i, index) => {
11000
10553
  var _a;
11001
- return Object.assign(Object.assign({}, i), { type: i.type || 'text', name: i.name || `${index}`, placeholder: i.placeholder || '', checked: !!i.checked, disabled: !!i.disabled, id: i.id || `alert-input-${this.overlayIndex}-${index}`, cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '', attributes: i.attributes || {}, tabindex: i.type === 'radio' && i !== focusable ? -1 : 0 });
10554
+ return ({
10555
+ type: i.type || 'text',
10556
+ name: i.name || `${index}`,
10557
+ placeholder: i.placeholder || '',
10558
+ value: i.value,
10559
+ label: i.label,
10560
+ checked: !!i.checked,
10561
+ disabled: !!i.disabled,
10562
+ id: i.id || `alert-input-${this.overlayIndex}-${index}`,
10563
+ handler: i.handler,
10564
+ min: i.min,
10565
+ max: i.max,
10566
+ cssClass: (_a = i.cssClass) !== null && _a !== void 0 ? _a : '',
10567
+ attributes: i.attributes || {},
10568
+ tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
10569
+ });
11002
10570
  });
11003
10571
  }
11004
10572
  connectedCallback() {
@@ -11026,10 +10594,6 @@ class Alert {
11026
10594
  this.gesture.destroy();
11027
10595
  this.gesture = undefined;
11028
10596
  }
11029
- // Clean up aria-hidden if removed without dismiss() being called
11030
- if (this.presented) {
11031
- cleanupRootFocusTrapAccessibility();
11032
- }
11033
10597
  (_a = this.buttonGroupResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
11034
10598
  this.buttonGroupResizeObserver = undefined;
11035
10599
  }
@@ -11069,7 +10633,7 @@ class Alert {
11069
10633
  async present() {
11070
10634
  const unlock = await this.lockController.lock();
11071
10635
  await this.delegateController.attachViewToDom();
11072
- await present(this, 'alertEnter', iosEnterAnimation$4, mdEnterAnimation$4).then(() => {
10636
+ await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4).then(() => {
11073
10637
  var _a, _b;
11074
10638
  /**
11075
10639
  * Check if alert has only one button and no inputs.
@@ -11100,7 +10664,7 @@ class Alert {
11100
10664
  */
11101
10665
  async dismiss(data, role) {
11102
10666
  const unlock = await this.lockController.lock();
11103
- const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$4, mdLeaveAnimation$4);
10667
+ const dismissed = await dismiss(this, data, role, 'alertLeave', iosLeaveAnimation$5, mdLeaveAnimation$4);
11104
10668
  if (dismissed) {
11105
10669
  this.delegateController.removeViewFromDom();
11106
10670
  }
@@ -11198,61 +10762,14 @@ class Alert {
11198
10762
  if (inputs.length === 0) {
11199
10763
  return null;
11200
10764
  }
11201
- return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) => {
11202
- var _a, _b;
11203
- /**
11204
- * Cast to `SelectAlertInput` to access rich content
11205
- * fields (`startContent`, `endContent`, `description`)
11206
- * that are passed through from `ion-select` but not
11207
- * part of the public `AlertInput` interface.
11208
- */
11209
- const richInput = i;
11210
- const optionLabelOptions = {
11211
- id: richInput.id,
11212
- label: richInput.label,
11213
- startContent: richInput.startContent,
11214
- endContent: richInput.endContent,
11215
- description: richInput.description,
11216
- };
11217
- const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
11218
- const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
11219
- return (hAsync("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': !i.disabled, 'ion-activatable': !i.disabled, 'alert-checkbox-button-disabled': i.disabled || false }) }, hAsync("div", { class: {
11220
- 'alert-button-inner': true,
11221
- [`checkbox-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
11222
- [`checkbox-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
11223
- } }, hAsync("div", { class: "alert-checkbox-icon" }, hAsync("div", { class: "alert-checkbox-inner" })), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), mode === 'md' && hAsync("ion-ripple-effect", null)));
11224
- })));
10765
+ return (hAsync("div", { class: "alert-checkbox-group" }, inputs.map((i) => (hAsync("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, hAsync("div", { class: "alert-button-inner" }, hAsync("div", { class: "alert-checkbox-icon" }, hAsync("div", { class: "alert-checkbox-inner" })), hAsync("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && hAsync("ion-ripple-effect", null))))));
11225
10766
  }
11226
10767
  renderRadio() {
11227
10768
  const inputs = this.processedInputs;
11228
- const mode = getIonMode$1(this);
11229
10769
  if (inputs.length === 0) {
11230
10770
  return null;
11231
10771
  }
11232
- return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => {
11233
- var _a, _b;
11234
- /**
11235
- * Cast to `SelectAlertInput` to access rich content
11236
- * fields (`startContent`, `endContent`, `description`)
11237
- * that are passed through from `ion-select` but not
11238
- * part of the public `AlertInput` interface.
11239
- */
11240
- const richInput = i;
11241
- const optionLabelOptions = {
11242
- id: richInput.id,
11243
- label: richInput.label,
11244
- startContent: richInput.startContent,
11245
- endContent: richInput.endContent,
11246
- description: richInput.description,
11247
- };
11248
- const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio');
11249
- const defaultJustify = getOverlayLabelJustify(mode, 'radio');
11250
- return (hAsync("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': !i.disabled, 'ion-activatable': !i.disabled, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, hAsync("div", { class: {
11251
- 'alert-button-inner': true,
11252
- [`radio-label-placement-${(_a = richInput.labelPlacement) !== null && _a !== void 0 ? _a : defaultLabelPlacement}`]: true,
11253
- [`radio-justify-${(_b = richInput.justify) !== null && _b !== void 0 ? _b : defaultJustify}`]: true,
11254
- } }, hAsync("div", { class: "alert-radio-icon" }, hAsync("div", { class: "alert-radio-inner" })), renderOptionLabel(optionLabelOptions, 'alert-radio-label'))));
11255
- })));
10772
+ return (hAsync("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => (hAsync("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, hAsync("div", { class: "alert-button-inner" }, hAsync("div", { class: "alert-radio-icon" }, hAsync("div", { class: "alert-radio-inner" })), hAsync("div", { class: "alert-radio-label" }, i.label)))))));
11256
10773
  }
11257
10774
  renderInput() {
11258
10775
  const inputs = this.processedInputs;
@@ -11332,7 +10849,7 @@ class Alert {
11332
10849
  'alert-button-group': true,
11333
10850
  'alert-button-group-vertical': buttons.length > 2 || this.isButtonGroupWrapped,
11334
10851
  };
11335
- return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$1(button), tabIndex: 0, onClick: () => this.buttonClick(button) }), hAsync("span", { class: "alert-button-inner" }, button.text), mode === 'md' && hAsync("ion-ripple-effect", null))))));
10852
+ return (hAsync("div", { class: alertButtonGroupClass, ref: (el) => (this.buttonGroupEl = el) }, buttons.map((button) => (hAsync("button", Object.assign({}, button.htmlAttributes, { type: "button", id: button.id, class: buttonClass$2(button), tabIndex: 0, onClick: () => this.buttonClick(button) }), hAsync("span", { class: "alert-button-inner" }, button.text), mode === 'md' && hAsync("ion-ripple-effect", null))))));
11336
10853
  }
11337
10854
  renderAlertMessage(msgId) {
11338
10855
  const { customHTMLEnabled, message } = this;
@@ -11355,9 +10872,9 @@ class Alert {
11355
10872
  * If neither are defined, do not set aria-labelledby.
11356
10873
  */
11357
10874
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
11358
- return (hAsync(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
10875
+ return (hAsync(Host, { key: '8d54ccd725ea634be080e67b56fa5efe498f496c', tabindex: "-1", style: {
11359
10876
  zIndex: `${20000 + overlayIndex}`,
11360
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: 'c3cd05738bc2834f54707edeb2fae06ec10d6fd2', tappable: this.backdropDismiss }), hAsync("div", { key: 'b44fadd9ba7ddf073854c5035538d11ae8e66bc2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: 'fafea048141a6c7957e62aef31faa8041dd610c1', 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), hAsync("div", { key: '3ad9d2d4b7cf425eab8293ddc12eff0fe8df1517', class: "alert-head" }, header && (hAsync("h2", { key: '7d9154f5ee595b7e4da6ecf3a20871f104c1256e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '1f891f38004be6964e9406b84dd580145c42516a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '2ab4d344ecb7e384e8f6d3d3e59ee5a1bbcc832c', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '78a4ff09aa3aaafcd0dc2a42d036767d83b3cfa2', tabindex: "0", "aria-hidden": "true" })));
10877
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '05a238583342285545587de9dce144a82d779193', tappable: this.backdropDismiss }), hAsync("div", { key: 'e52c53fd9845e66781af01b2a788a291b45a927c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '8417e52eebca24ff436fab0703666db51072f980', 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), hAsync("div", { key: '5c560d4800b24d41961423718108b54be6cd6f91', class: "alert-head" }, header && (hAsync("h2", { key: '8637b64cd5125b2258115d1c11f3743113658608', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '7a4e61a02c29b16b336d8acaf6569b30de6fe71e', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '30844b6a0a7e3dab46514cd548ecffa86dcd59cb', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '39c824fee1e60ad8d6234c79d22ceb8bba8004af', tabindex: "0", "aria-hidden": "true" })));
11361
10878
  }
11362
10879
  get el() { return getElement(this); }
11363
10880
  static get watchers() { return {
@@ -11415,7 +10932,7 @@ const inputClass = (input) => {
11415
10932
  var _a, _b, _c;
11416
10933
  return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));
11417
10934
  };
11418
- const buttonClass$1 = (button) => {
10935
+ const buttonClass$2 = (button) => {
11419
10936
  return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
11420
10937
  };
11421
10938
 
@@ -15537,9 +15054,9 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
15537
15054
  }
15538
15055
  };
15539
15056
 
15540
- const datetimeIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons ion-button{--color:var(--ion-color-primary, #0054e9)}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host(.ion-color) .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{-ms-flex-align:stretch;align-items:stretch;height:100%}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);font-size:min(1.375rem, 35.2px)}:host(.ion-color) .calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2)}:host .calendar-day.calendar-day-today{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-primary, #0054e9);font-weight:600}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-base)}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-primary, #0054e9);color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color) .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}`;
15057
+ const datetimeIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-light, #f4f5f8);--background-rgb:var(--ion-color-light-rgb, 244, 245, 248);--title-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc));font-size:min(0.875rem, 22.4px)}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}.calendar-month-year-toggle{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-height:44px;font-size:min(1rem, 25.6px);font-weight:600}.calendar-month-year-toggle.ion-focused::after{opacity:0.15}.calendar-month-year-toggle #toggle-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host .calendar-action-buttons .calendar-month-year-toggle ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{-ms-flex-align:stretch;align-items:stretch;height:100%}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3));font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){.calendar-days-of-week .day-of-week{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}.calendar-day{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){.calendar-days-of-week .day-of-week{width:auto;height:auto;overflow:initial}.calendar-day{border-radius:32px}}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2);font-size:min(1.375rem, 35.2px)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-300, var(--ion-text-color-step-700, #b3b3b3))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #cccccc))}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}`;
15541
15058
 
15542
- const datetimeMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons ion-button{--color:var(--ion-color-primary, #0054e9)}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color){--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-primary, #0054e9);color:var(--title-color)}:host(.ion-color) .datetime-header{background:var(--ion-color-base)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-primary, #0054e9);color:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-primary-contrast, #fff)}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active,.calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-primary, #0054e9);background:var(--ion-color-primary, #0054e9)}:host(.ion-color) .calendar-day.calendar-day-active,:host(.ion-color) .calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}`;
15059
+ const datetimeMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled) .calendar-days-of-week,:host(.datetime-disabled) .datetime-time{opacity:0.4}:host(.datetime-readonly){pointer-events:none;}:host(.datetime-readonly) .calendar-action-buttons,:host(.datetime-readonly) .calendar-body,:host(.datetime-readonly) .datetime-year{pointer-events:initial}:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]{opacity:1}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.datetime-action-buttons .datetime-action-buttons-container{display:-ms-flexbox;display:flex}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-button{--background:transparent}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}.calendar-days-of-week .day-of-week{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}.calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:not(.calendar-day-adjacent-day):focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle{color:var(--ion-color-base)}.calendar-month-year{min-width:0}.calendar-month-year-toggle{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;position:relative;border:0;outline:none;background:transparent;cursor:pointer;z-index:1}.calendar-month-year-toggle::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:opacity 15ms linear, background-color 15ms linear;transition:opacity 15ms linear, background-color 15ms linear;z-index:-1}.calendar-month-year-toggle.ion-focused::after{background:currentColor}.calendar-month-year-toggle:disabled{opacity:0.3;pointer-events:none}.calendar-month-year-toggle ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0}.calendar-month-year-toggle #toggle-wrapper{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}ion-picker{--highlight-background:var(--wheel-highlight-background);--highlight-border-radius:var(--wheel-highlight-border-radius);--fade-background-rgb:var(--wheel-fade-background-rgb)}:host{--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:0.75rem;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:2.125rem}:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}.calendar-month-year-toggle{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:12px;padding-bottom:12px;min-height:48px;background:transparent;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));z-index:1}.calendar-month-year-toggle.ion-focused::after{opacity:0.04}.calendar-month-year-toggle ion-ripple-effect{color:currentColor}@media (any-hover: hover){.calendar-month-year-toggle.ion-activatable:not(.ion-focused):hover::after{background:currentColor;opacity:0.04}}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray));font-size:0.875rem;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:0.875rem}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active,:host .calendar-day.calendar-day-adjacent-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active,.calendar-day.calendar-day-active:focus{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .calendar-day.calendar-day-adjacent-day{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}`;
15543
15060
 
15544
15061
  /**
15545
15062
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
@@ -15605,6 +15122,12 @@ class Datetime {
15605
15122
  isAdjacentDay: false,
15606
15123
  };
15607
15124
  this.isTimePopoverOpen = false;
15125
+ /**
15126
+ * The color to use from your application's color palette.
15127
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
15128
+ * For more information on colors, see [theming](/docs/theming/basics).
15129
+ */
15130
+ this.color = 'primary';
15608
15131
  /**
15609
15132
  * The name of the control, which is submitted with the form data.
15610
15133
  */
@@ -16780,7 +16303,7 @@ class Datetime {
16780
16303
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
16781
16304
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
16782
16305
  ev.stopPropagation();
16783
- } }, items.map((item) => (hAsync("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
16306
+ } }, items.map((item) => (hAsync("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
16784
16307
  }
16785
16308
  renderIndividualDatePickerColumns(forcePresentation) {
16786
16309
  const { workingParts, isDateEnabled } = this;
@@ -16853,7 +16376,7 @@ class Datetime {
16853
16376
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
16854
16377
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
16855
16378
  ev.stopPropagation();
16856
- } }, days.map((day) => (hAsync("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
16379
+ } }, days.map((day) => (hAsync("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
16857
16380
  }
16858
16381
  renderMonthPickerColumn(months) {
16859
16382
  if (months.length === 0) {
@@ -16868,7 +16391,7 @@ class Datetime {
16868
16391
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
16869
16392
  }
16870
16393
  ev.stopPropagation();
16871
- } }, months.map((month) => (hAsync("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
16394
+ } }, months.map((month) => (hAsync("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
16872
16395
  }
16873
16396
  renderYearPickerColumn(years) {
16874
16397
  if (years.length === 0) {
@@ -16883,7 +16406,7 @@ class Datetime {
16883
16406
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
16884
16407
  }
16885
16408
  ev.stopPropagation();
16886
- } }, years.map((year) => (hAsync("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
16409
+ } }, years.map((year) => (hAsync("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
16887
16410
  }
16888
16411
  renderTimePickerColumns(forcePresentation) {
16889
16412
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -16916,7 +16439,7 @@ class Datetime {
16916
16439
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
16917
16440
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
16918
16441
  ev.stopPropagation();
16919
- } }, hoursData.map((hour) => (hAsync("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
16442
+ } }, hoursData.map((hour) => (hAsync("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
16920
16443
  }
16921
16444
  renderMinutePickerColumn(minutesData) {
16922
16445
  const { disabled, workingParts } = this;
@@ -16927,7 +16450,7 @@ class Datetime {
16927
16450
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
16928
16451
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
16929
16452
  ev.stopPropagation();
16930
- } }, minutesData.map((minute) => (hAsync("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
16453
+ } }, minutesData.map((minute) => (hAsync("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
16931
16454
  }
16932
16455
  renderDayPeriodPickerColumn(dayPeriodData) {
16933
16456
  const { disabled, workingParts } = this;
@@ -16941,7 +16464,7 @@ class Datetime {
16941
16464
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
16942
16465
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
16943
16466
  ev.stopPropagation();
16944
- } }, dayPeriodData.map((dayPeriod) => (hAsync("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
16467
+ } }, dayPeriodData.map((dayPeriod) => (hAsync("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
16945
16468
  }
16946
16469
  renderWheelView(forcePresentation) {
16947
16470
  const { locale } = this;
@@ -17278,7 +16801,7 @@ class Datetime {
17278
16801
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
17279
16802
  const hasWheelVariant = hasDatePresentation && preferWheel;
17280
16803
  renderHiddenInput(true, el, name, formatValue(value), disabled);
17281
- return (hAsync(Host, { key: '79b906669d3e0d9ff356421a5f571d5cf12b6793', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
16804
+ return (hAsync(Host, { key: '5e0b83cb88a87945eaae2f9402751819b75452ee', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
17282
16805
  [mode]: true,
17283
16806
  ['datetime-readonly']: readonly,
17284
16807
  ['datetime-disabled']: disabled,
@@ -17288,7 +16811,7 @@ class Datetime {
17288
16811
  [`datetime-size-${size}`]: true,
17289
16812
  [`datetime-prefer-wheel`]: hasWheelVariant,
17290
16813
  [`datetime-grid`]: isGridStyle,
17291
- })) }, hAsync("div", { key: 'e29ce6edd79f3efb8f7cc4a81bb543d580e5f4c6', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
16814
+ })) }, hAsync("div", { key: '9f9ba72e9879525961b00abe342a7891492ca0ff', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
17292
16815
  }
17293
16816
  get el() { return getElement(this); }
17294
16817
  static get watchers() { return {
@@ -17387,9 +16910,9 @@ const WHEEL_PART = 'wheel';
17387
16910
  const WHEEL_ITEM_PART = 'wheel-item';
17388
16911
  const WHEEL_ITEM_ACTIVE_PART = `active`;
17389
16912
 
17390
- const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;
16913
+ const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;
17391
16914
 
17392
- const datetimeButtonMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px}`;
16915
+ const datetimeButtonMdCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px}`;
17393
16916
 
17394
16917
  /**
17395
16918
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
@@ -17406,6 +16929,12 @@ class DatetimeButton {
17406
16929
  this.overlayEl = null;
17407
16930
  this.datetimePresentation = 'date-time';
17408
16931
  this.datetimeActive = false;
16932
+ /**
16933
+ * The color to use from your application's color palette.
16934
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
16935
+ * For more information on colors, see [theming](/docs/theming/basics).
16936
+ */
16937
+ this.color = 'primary';
17409
16938
  /**
17410
16939
  * If `true`, the user cannot interact with the button.
17411
16940
  */
@@ -17719,11 +17248,11 @@ class DatetimeButton {
17719
17248
  render() {
17720
17249
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
17721
17250
  const mode = getIonMode$1(this);
17722
- return (hAsync(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses$1(color, {
17251
+ return (hAsync(Host, { key: 'c28e5e428111f18eaceb030dca8aba5579867eaa', class: createColorClasses$1(color, {
17723
17252
  [mode]: true,
17724
17253
  [`${selectedButton}-active`]: datetimeActive,
17725
17254
  ['datetime-button-disabled']: disabled,
17726
- }) }, dateText && (hAsync("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (hAsync("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
17255
+ }) }, dateText && (hAsync("button", { key: 'a08f41b3150ef7171d0f1d9b3d69b51be67b7b84', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: '35ee68ca1cea59f03e1b59b72606e618141c8e1f', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '4be53227aaf0acd20e8ebbff9f645140e8a96f33' }))), timeText && (hAsync("button", { key: 'ab500f9b78f8c194180073eaf7325041adbd02f7', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '5822486dfdedba6c071a0f5233cc06f8321a1f5d', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '054a4acb811a98cc6d9bb6a3cf51232a1f09b0ea' })))));
17727
17256
  }
17728
17257
  get el() { return getElement(this); }
17729
17258
  static get style() { return {
@@ -19767,7 +19296,7 @@ class Input {
19767
19296
  /**
19768
19297
  * Whether auto correction should be enabled when the user is entering/editing the text value.
19769
19298
  */
19770
- this.autocorrect = false;
19299
+ this.autocorrect = 'off';
19771
19300
  /**
19772
19301
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
19773
19302
  *
@@ -20224,7 +19753,7 @@ class Input {
20224
19753
  * TODO(FW-5592): Remove hasStartEndSlots condition
20225
19754
  */
20226
19755
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
20227
- return (hAsync(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses$1(this.color, {
19756
+ return (hAsync(Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses$1(this.color, {
20228
19757
  [mode]: true,
20229
19758
  'has-value': hasValue,
20230
19759
  'has-focus': hasFocus,
@@ -20235,14 +19764,14 @@ class Input {
20235
19764
  'in-item': inItem,
20236
19765
  'in-item-color': hostContext('ion-item.ion-color', this.el),
20237
19766
  'input-disabled': disabled,
20238
- }) }, hAsync("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), hAsync("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
19767
+ }) }, hAsync("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, hAsync("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), hAsync("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
20239
19768
  /**
20240
19769
  * This prevents mobile browsers from
20241
19770
  * blurring the input when the clear
20242
19771
  * button is activated.
20243
19772
  */
20244
19773
  ev.preventDefault();
20245
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
19774
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
20246
19775
  }
20247
19776
  get el() { return getElement(this); }
20248
19777
  static get watchers() { return {
@@ -20270,7 +19799,7 @@ class Input {
20270
19799
  "color": [513],
20271
19800
  "autocapitalize": [1],
20272
19801
  "autocomplete": [1],
20273
- "autocorrect": [4],
19802
+ "autocorrect": [1],
20274
19803
  "autofocus": [4],
20275
19804
  "clearInput": [4, "clear-input"],
20276
19805
  "clearInputIcon": [1, "clear-input-icon"],
@@ -22274,7 +21803,7 @@ class ListHeader {
22274
21803
  /**
22275
21804
  * iOS Loading Enter Animation
22276
21805
  */
22277
- const iosEnterAnimation$3 = (baseEl) => {
21806
+ const iosEnterAnimation$4 = (baseEl) => {
22278
21807
  const baseAnimation = createAnimation();
22279
21808
  const backdropAnimation = createAnimation();
22280
21809
  const wrapperAnimation = createAnimation();
@@ -22299,7 +21828,7 @@ const iosEnterAnimation$3 = (baseEl) => {
22299
21828
  /**
22300
21829
  * iOS Loading Leave Animation
22301
21830
  */
22302
- const iosLeaveAnimation$3 = (baseEl) => {
21831
+ const iosLeaveAnimation$4 = (baseEl) => {
22303
21832
  const baseAnimation = createAnimation();
22304
21833
  const backdropAnimation = createAnimation();
22305
21834
  const wrapperAnimation = createAnimation();
@@ -22472,10 +22001,6 @@ class Loading {
22472
22001
  }
22473
22002
  disconnectedCallback() {
22474
22003
  this.triggerController.removeClickListener();
22475
- // Clean up aria-hidden if removed without dismiss() being called
22476
- if (this.presented) {
22477
- cleanupRootFocusTrapAccessibility();
22478
- }
22479
22004
  }
22480
22005
  /**
22481
22006
  * Present the loading overlay after it has been created.
@@ -22483,7 +22008,7 @@ class Loading {
22483
22008
  async present() {
22484
22009
  const unlock = await this.lockController.lock();
22485
22010
  await this.delegateController.attachViewToDom();
22486
- await present(this, 'loadingEnter', iosEnterAnimation$3, mdEnterAnimation$3);
22011
+ await present(this, 'loadingEnter', iosEnterAnimation$4, mdEnterAnimation$3);
22487
22012
  if (this.duration > 0) {
22488
22013
  this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
22489
22014
  }
@@ -22506,7 +22031,7 @@ class Loading {
22506
22031
  if (this.durationTimeout) {
22507
22032
  clearTimeout(this.durationTimeout);
22508
22033
  }
22509
- const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$3, mdLeaveAnimation$3);
22034
+ const dismissed = await dismiss(this, data, role, 'loadingLeave', iosLeaveAnimation$4, mdLeaveAnimation$3);
22510
22035
  if (dismissed) {
22511
22036
  this.delegateController.removeViewFromDom();
22512
22037
  }
@@ -22541,9 +22066,9 @@ class Loading {
22541
22066
  * Otherwise, don't set aria-labelledby.
22542
22067
  */
22543
22068
  const ariaLabelledBy = message !== undefined ? msgId : null;
22544
- return (hAsync(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22069
+ return (hAsync(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22545
22070
  zIndex: `${40000 + this.overlayIndex}`,
22546
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
22071
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, hAsync("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
22547
22072
  }
22548
22073
  get el() { return getElement(this); }
22549
22074
  static get watchers() { return {
@@ -24524,8 +24049,15 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
24524
24049
  }
24525
24050
  return false;
24526
24051
  };
24052
+ /**
24053
+ * In Firefox, pressing over a text caret in the focusable wrapper can
24054
+ * start a native drag that swallows the gesture's pointer events.
24055
+ * Cancel native drag while the gesture is active.
24056
+ */
24057
+ const preventNativeDragStart = (ev) => ev.preventDefault();
24527
24058
  const onStart = (detail) => {
24528
24059
  const { deltaY } = detail;
24060
+ el.addEventListener('dragstart', preventNativeDragStart);
24529
24061
  /**
24530
24062
  * Get the initial scrollY value so
24531
24063
  * that we can correctly reset the scrollY
@@ -24628,6 +24160,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
24628
24160
  onDragMove(eventDetail);
24629
24161
  };
24630
24162
  const onEnd = (detail) => {
24163
+ el.removeEventListener('dragstart', preventNativeDragStart);
24631
24164
  const velocity = detail.velocityY;
24632
24165
  const step = detail.deltaY / height;
24633
24166
  const isAttemptingDismissWithCanDismiss = step >= 0 && canDismissBlocksGesture;
@@ -24817,7 +24350,7 @@ const createEnterAnimation$1 = () => {
24817
24350
  /**
24818
24351
  * iOS Modal Enter Animation for the Card presentation style
24819
24352
  */
24820
- const iosEnterAnimation$2 = (baseEl, opts) => {
24353
+ const iosEnterAnimation$3 = (baseEl, opts) => {
24821
24354
  const { presentingEl, currentBreakpoint, expandToScroll } = opts;
24822
24355
  const root = getElementRoot(baseEl);
24823
24356
  const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
@@ -24910,7 +24443,7 @@ const createLeaveAnimation$1 = () => {
24910
24443
  /**
24911
24444
  * iOS Modal Leave Animation
24912
24445
  */
24913
- const iosLeaveAnimation$2 = (baseEl, opts, duration = 500) => {
24446
+ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
24914
24447
  const { presentingEl, currentBreakpoint } = opts;
24915
24448
  const root = getElementRoot(baseEl);
24916
24449
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
@@ -25410,7 +24943,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
25410
24943
  }
25411
24944
  return true;
25412
24945
  };
24946
+ /**
24947
+ * In Firefox, pressing over a text caret in the focusable wrapper can
24948
+ * start a native drag that swallows the gesture's pointer events.
24949
+ * Cancel native drag while the gesture is active.
24950
+ */
24951
+ const preventNativeDragStart = (ev) => ev.preventDefault();
25413
24952
  const onStart = (detail) => {
24953
+ baseEl.addEventListener('dragstart', preventNativeDragStart);
25414
24954
  /**
25415
24955
  * If canDismiss is anything other than `true`
25416
24956
  * then users should be able to swipe down
@@ -25537,6 +25077,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
25537
25077
  onDragMove(eventDetail);
25538
25078
  };
25539
25079
  const onEnd = (detail) => {
25080
+ baseEl.removeEventListener('dragstart', preventNativeDragStart);
25540
25081
  const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
25541
25082
  const eventDetail = {
25542
25083
  currentY: detail.currentY,
@@ -26013,9 +25554,9 @@ const clearSafeAreaOverrides = (hostEl) => {
26013
25554
  hostEl.style.removeProperty('--ion-safe-area-right');
26014
25555
  };
26015
25556
 
26016
- const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
25557
+ const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
26017
25558
 
26018
- const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
25559
+ const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
26019
25560
 
26020
25561
  // TODO(FW-2832): types
26021
25562
  /**
@@ -26085,20 +25626,13 @@ class Modal {
26085
25626
  /**
26086
25627
  * The interaction behavior for the sheet modal when the handle is pressed.
26087
25628
  *
26088
- * Handle behavior is unavailable when the `handle` property is set to
26089
- * `false` or when the `breakpoints` property is not set (using a
26090
- * fullscreen or card modal).
26091
- *
26092
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
26093
- * cycle between available breakpoints when pressed. This keeps the sheet
26094
- * operable with assistive technology.
25629
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
25630
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
26095
25631
  *
26096
- * Set to `"none"` to make the handle purely decorative when pressed and
26097
- * removed from the tab order.
26098
- *
26099
- * Defaults to `"cycle"`.
25632
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
25633
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
26100
25634
  */
26101
- this.handleBehavior = 'cycle';
25635
+ this.handleBehavior = 'none';
26102
25636
  /**
26103
25637
  * If `true`, the modal will be dismissed when the backdrop is clicked.
26104
25638
  */
@@ -26290,10 +25824,6 @@ class Modal {
26290
25824
  // Also called in dismiss() — intentional dual cleanup covers both
26291
25825
  // dismiss-then-remove and direct DOM removal without dismiss.
26292
25826
  this.cleanupSafeAreaOverrides();
26293
- // Clean up aria-hidden if removed without dismiss() being called
26294
- if (this.presented) {
26295
- cleanupRootFocusTrapAccessibility();
26296
- }
26297
25827
  }
26298
25828
  componentWillLoad() {
26299
25829
  var _a;
@@ -26470,7 +26000,7 @@ class Modal {
26470
26000
  this.statusBarStyle = await StatusBar.getStyle();
26471
26001
  setCardStatusBarDark();
26472
26002
  }
26473
- await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
26003
+ await present(this, 'modalEnter', iosEnterAnimation$3, mdEnterAnimation$2, {
26474
26004
  presentingEl: presentingElement,
26475
26005
  currentBreakpoint: this.initialBreakpoint,
26476
26006
  backdropBreakpoint: this.backdropBreakpoint,
@@ -26532,7 +26062,7 @@ class Modal {
26532
26062
  // All of the elements needed for the swipe gesture
26533
26063
  // should be in the DOM and referenced by now, except
26534
26064
  // for the presenting el
26535
- const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$2);
26065
+ const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
26536
26066
  const ani = (this.animation = animationBuilder(el, {
26537
26067
  presentingEl: this.presentingElement,
26538
26068
  expandToScroll: this.expandToScroll,
@@ -26551,7 +26081,7 @@ class Modal {
26551
26081
  if (!wrapperEl || initialBreakpoint === undefined) {
26552
26082
  return;
26553
26083
  }
26554
- const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$2);
26084
+ const animationBuilder = this.enterAnimation || config.get('modalEnter', iosEnterAnimation$3);
26555
26085
  const ani = (this.animation = animationBuilder(this.el, {
26556
26086
  presentingEl: this.presentingElement,
26557
26087
  currentBreakpoint: initialBreakpoint,
@@ -26741,7 +26271,7 @@ class Modal {
26741
26271
  window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
26742
26272
  this.keyboardOpenCallback = undefined;
26743
26273
  }
26744
- const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$2, mdLeaveAnimation$2, {
26274
+ const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation$3, mdLeaveAnimation$2, {
26745
26275
  presentingEl: presentingElement,
26746
26276
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
26747
26277
  backdropBreakpoint: this.backdropBreakpoint,
@@ -27173,20 +26703,23 @@ class Modal {
27173
26703
  const isCardModal = presentingElement !== undefined && mode === 'ios';
27174
26704
  const isHandleCycle = handleBehavior === 'cycle';
27175
26705
  const isSheetModalWithHandle = isSheetModal && showHandle;
27176
- return (hAsync(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
26706
+ return (hAsync(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
27177
26707
  // Allow the modal to be navigable when the handle is focusable
27178
26708
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
27179
26709
  zIndex: `${20000 + this.overlayIndex}`,
27180
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
26710
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '4d84bd3a6b7dd0e349aba843f92129000ce90170',
27181
26711
  /*
27182
26712
  role and aria-modal must be used on the
27183
26713
  same element. They must also be set inside the
27184
26714
  shadow DOM otherwise ion-button will not be highlighted
27185
26715
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
26716
+
26717
+ tabIndex={-1} lets present() focus this element (which carries
26718
+ the dialog role) instead of the role-less host.
27186
26719
  */
27187
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
26720
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '498f9fa839c460f9a586904aa0809a8130e1a05d', class: "modal-handle",
27188
26721
  // Prevents the handle from receiving keyboard focus when it does not cycle
27189
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
26722
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '668e769738476faa4f7adfbb03b0e72dad57c22b', onSlotchange: this.onSlotChange }))));
27190
26723
  }
27191
26724
  get el() { return getElement(this); }
27192
26725
  static get watchers() { return {
@@ -28269,14 +27802,14 @@ class Note {
28269
27802
  }; }
28270
27803
  }
28271
27804
 
28272
- const pickerIosCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host 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}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--highlight-background, var(--ion-color-step-150, var(--ion-background-color-step-150, #eeeeef)))}`;
27805
+ const pickerIosCss$1 = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host 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}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--highlight-background, var(--ion-color-step-150, var(--ion-background-color-step-150, #eeeeef)))}`;
28273
27806
 
28274
- const pickerMdCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host 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}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}`;
27807
+ const pickerMdCss$1 = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}:host .picker-before{inset-inline-start:0}:host .picker-after{top:116px;height:84px}:host .picker-after{inset-inline-start:0}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host 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}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}`;
28275
27808
 
28276
27809
  /**
28277
27810
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
28278
27811
  */
28279
- class Picker {
27812
+ let Picker$1 = class Picker {
28280
27813
  constructor(hostRef) {
28281
27814
  registerInstance(this, hostRef);
28282
27815
  this.ionInputModeChange = createEvent(this, "ionInputModeChange", 7);
@@ -28742,8 +28275,8 @@ class Picker {
28742
28275
  }
28743
28276
  get el() { return getElement(this); }
28744
28277
  static get style() { return {
28745
- ios: pickerIosCss(),
28746
- md: pickerMdCss()
28278
+ ios: pickerIosCss$1(),
28279
+ md: pickerMdCss$1()
28747
28280
  }; }
28748
28281
  static get cmpMeta() { return {
28749
28282
  "$flags$": 297,
@@ -28755,41 +28288,362 @@ class Picker {
28755
28288
  "$lazyBundleId$": "-",
28756
28289
  "$attrsToReflect$": []
28757
28290
  }; }
28758
- }
28291
+ };
28292
+
28293
+ /**
28294
+ * iOS Picker Enter Animation
28295
+ */
28296
+ const iosEnterAnimation$2 = (baseEl) => {
28297
+ const baseAnimation = createAnimation();
28298
+ const backdropAnimation = createAnimation();
28299
+ const wrapperAnimation = createAnimation();
28300
+ backdropAnimation
28301
+ .addElement(baseEl.querySelector('ion-backdrop'))
28302
+ .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
28303
+ .beforeStyles({
28304
+ 'pointer-events': 'none',
28305
+ })
28306
+ .afterClearStyles(['pointer-events']);
28307
+ wrapperAnimation
28308
+ .addElement(baseEl.querySelector('.picker-wrapper'))
28309
+ .fromTo('transform', 'translateY(100%)', 'translateY(0%)');
28310
+ return baseAnimation
28311
+ .addElement(baseEl)
28312
+ .easing('cubic-bezier(.36,.66,.04,1)')
28313
+ .duration(400)
28314
+ .addAnimation([backdropAnimation, wrapperAnimation]);
28315
+ };
28316
+
28317
+ /**
28318
+ * iOS Picker Leave Animation
28319
+ */
28320
+ const iosLeaveAnimation$2 = (baseEl) => {
28321
+ const baseAnimation = createAnimation();
28322
+ const backdropAnimation = createAnimation();
28323
+ const wrapperAnimation = createAnimation();
28324
+ backdropAnimation
28325
+ .addElement(baseEl.querySelector('ion-backdrop'))
28326
+ .fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
28327
+ wrapperAnimation
28328
+ .addElement(baseEl.querySelector('.picker-wrapper'))
28329
+ .fromTo('transform', 'translateY(0%)', 'translateY(100%)');
28330
+ return baseAnimation
28331
+ .addElement(baseEl)
28332
+ .easing('cubic-bezier(.36,.66,.04,1)')
28333
+ .duration(400)
28334
+ .addAnimation([backdropAnimation, wrapperAnimation]);
28335
+ };
28336
+
28337
+ const pickerIosCss = () => `.sc-ion-picker-legacy-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-ios-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-ios-h{display:none}.picker-wrapper.sc-ion-picker-legacy-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-ios:active,.picker-button.sc-ion-picker-legacy-ios:focus{outline:none}.picker-columns.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-ios,.picker-below-highlight.sc-ion-picker-legacy-ios{display:none;pointer-events:none}.sc-ion-picker-legacy-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-legacy-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-legacy-ios:last-child .picker-button.sc-ion-picker-legacy-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-legacy-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-legacy-ios,.picker-button.ion-activated.sc-ion-picker-legacy-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:16px}.picker-columns.sc-ion-picker-legacy-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-legacy-ios{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-ios{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-ios{inset-inline-start:0}`;
28759
28338
 
28760
- const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color:focus) .picker-opts{background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
28339
+ const pickerMdCss = () => `.sc-ion-picker-legacy-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.sc-ion-picker-legacy-md-h{inset-inline-start:0}.overlay-hidden.sc-ion-picker-legacy-md-h{display:none}.picker-wrapper.sc-ion-picker-legacy-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-legacy-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-legacy-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-legacy-md:active,.picker-button.sc-ion-picker-legacy-md:focus{outline:none}.picker-columns.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-legacy-md,.picker-below-highlight.sc-ion-picker-legacy-md{display:none;pointer-events:none}.sc-ion-picker-legacy-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--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)))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-legacy-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-legacy-md,.picker-button.ion-activated.sc-ion-picker-legacy-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #0054e9);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-legacy-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-legacy-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid 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)))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}.picker-above-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}.picker-below-highlight.sc-ion-picker-legacy-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid 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)))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}.picker-below-highlight.sc-ion-picker-legacy-md{inset-inline-start:0}`;
28761
28340
 
28341
+ // TODO(FW-2832): types
28762
28342
  /**
28763
28343
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
28764
- *
28765
- * @slot prefix - Content to show on the left side of the picker options.
28766
- * @slot suffix - Content to show on the right side of the picker options.
28767
28344
  */
28768
- class PickerColumn {
28345
+ class Picker {
28769
28346
  constructor(hostRef) {
28770
28347
  registerInstance(this, hostRef);
28771
- this.ionChange = createEvent(this, "ionChange", 7);
28772
- this.isScrolling = false;
28773
- this.isColumnVisible = false;
28774
- this.canExitInputMode = true;
28775
- this.updateValueTextOnScroll = false;
28776
- this.ariaLabel = null;
28777
- this.isActive = false;
28348
+ this.didPresent = createEvent(this, "ionPickerDidPresent", 7);
28349
+ this.willPresent = createEvent(this, "ionPickerWillPresent", 7);
28350
+ this.willDismiss = createEvent(this, "ionPickerWillDismiss", 7);
28351
+ this.didDismiss = createEvent(this, "ionPickerDidDismiss", 7);
28352
+ this.didPresentShorthand = createEvent(this, "didPresent", 7);
28353
+ this.willPresentShorthand = createEvent(this, "willPresent", 7);
28354
+ this.willDismissShorthand = createEvent(this, "willDismiss", 7);
28355
+ this.didDismissShorthand = createEvent(this, "didDismiss", 7);
28356
+ this.delegateController = createDelegateController(this);
28357
+ this.lockController = createLockController();
28358
+ this.triggerController = createTriggerController();
28359
+ this.presented = false;
28360
+ /** @internal */
28361
+ this.hasController = false;
28778
28362
  /**
28779
- * If `true`, the user cannot interact with the picker.
28363
+ * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
28780
28364
  */
28781
- this.disabled = false;
28365
+ this.keyboardClose = true;
28782
28366
  /**
28783
- * If `true`, tapping the picker will
28784
- * reveal a number input keyboard that lets
28785
- * the user type in values for each picker
28786
- * column. This is useful when working
28787
- * with time pickers.
28788
- *
28789
- * @internal
28367
+ * Array of buttons to be displayed at the top of the picker.
28790
28368
  */
28791
- this.numericInput = false;
28792
- this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
28369
+ this.buttons = [];
28370
+ /**
28371
+ * Array of columns to be displayed in the picker.
28372
+ */
28373
+ this.columns = [];
28374
+ /**
28375
+ * Number of milliseconds to wait before dismissing the picker.
28376
+ */
28377
+ this.duration = 0;
28378
+ /**
28379
+ * If `true`, a backdrop will be displayed behind the picker.
28380
+ */
28381
+ this.showBackdrop = true;
28382
+ /**
28383
+ * If `true`, the picker will be dismissed when the backdrop is clicked.
28384
+ */
28385
+ this.backdropDismiss = true;
28386
+ /**
28387
+ * If `true`, the picker will animate.
28388
+ */
28389
+ this.animated = true;
28390
+ /**
28391
+ * If `true`, the picker will open. If `false`, the picker will close.
28392
+ * Use this if you need finer grained control over presentation, otherwise
28393
+ * just use the pickerController or the `trigger` property.
28394
+ * Note: `isOpen` will not automatically be set back to `false` when
28395
+ * the picker dismisses. You will need to do that in your code.
28396
+ */
28397
+ this.isOpen = false;
28398
+ this.onBackdropTap = () => {
28399
+ this.dismiss(undefined, BACKDROP);
28400
+ };
28401
+ this.dispatchCancelHandler = (ev) => {
28402
+ const role = ev.detail.role;
28403
+ if (isCancel(role)) {
28404
+ const cancelButton = this.buttons.find((b) => b.role === 'cancel');
28405
+ this.callButtonHandler(cancelButton);
28406
+ }
28407
+ };
28408
+ }
28409
+ onIsOpenChange(newValue, oldValue) {
28410
+ if (newValue === true && oldValue === false) {
28411
+ this.present();
28412
+ }
28413
+ else if (newValue === false && oldValue === true) {
28414
+ this.dismiss();
28415
+ }
28416
+ }
28417
+ triggerChanged() {
28418
+ const { trigger, el, triggerController } = this;
28419
+ if (trigger) {
28420
+ triggerController.addClickListener(el, trigger);
28421
+ }
28422
+ }
28423
+ connectedCallback() {
28424
+ prepareOverlay(this.el);
28425
+ this.triggerChanged();
28426
+ }
28427
+ disconnectedCallback() {
28428
+ this.triggerController.removeClickListener();
28429
+ }
28430
+ componentWillLoad() {
28431
+ var _a;
28432
+ if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
28433
+ setOverlayId(this.el);
28434
+ }
28435
+ }
28436
+ componentDidLoad() {
28437
+ printIonWarning('[ion-picker-legacy] - ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
28438
+ /**
28439
+ * If picker was rendered with isOpen="true"
28440
+ * then we should open picker immediately.
28441
+ */
28442
+ if (this.isOpen === true) {
28443
+ raf(() => this.present());
28444
+ }
28445
+ /**
28446
+ * When binding values in frameworks such as Angular
28447
+ * it is possible for the value to be set after the Web Component
28448
+ * initializes but before the value watcher is set up in Stencil.
28449
+ * As a result, the watcher callback may not be fired.
28450
+ * We work around this by manually calling the watcher
28451
+ * callback when the component has loaded and the watcher
28452
+ * is configured.
28453
+ */
28454
+ this.triggerChanged();
28455
+ }
28456
+ /**
28457
+ * Present the picker overlay after it has been created.
28458
+ */
28459
+ async present() {
28460
+ const unlock = await this.lockController.lock();
28461
+ await this.delegateController.attachViewToDom();
28462
+ await present(this, 'pickerEnter', iosEnterAnimation$2, iosEnterAnimation$2, undefined);
28463
+ if (this.duration > 0) {
28464
+ this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
28465
+ }
28466
+ unlock();
28467
+ }
28468
+ /**
28469
+ * Dismiss the picker overlay after it has been presented.
28470
+ *
28471
+ * @param data Any data to emit in the dismiss events.
28472
+ * @param role The role of the element that is dismissing the picker.
28473
+ * This can be useful in a button handler for determining which button was
28474
+ * clicked to dismiss the picker.
28475
+ * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
28476
+ */
28477
+ async dismiss(data, role) {
28478
+ const unlock = await this.lockController.lock();
28479
+ if (this.durationTimeout) {
28480
+ clearTimeout(this.durationTimeout);
28481
+ }
28482
+ const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation$2, iosLeaveAnimation$2);
28483
+ if (dismissed) {
28484
+ this.delegateController.removeViewFromDom();
28485
+ }
28486
+ unlock();
28487
+ return dismissed;
28488
+ }
28489
+ /**
28490
+ * Returns a promise that resolves when the picker did dismiss.
28491
+ */
28492
+ onDidDismiss() {
28493
+ return eventMethod(this.el, 'ionPickerDidDismiss');
28494
+ }
28495
+ /**
28496
+ * Returns a promise that resolves when the picker will dismiss.
28497
+ */
28498
+ onWillDismiss() {
28499
+ return eventMethod(this.el, 'ionPickerWillDismiss');
28500
+ }
28501
+ /**
28502
+ * Get the column that matches the specified name.
28503
+ *
28504
+ * @param name The name of the column.
28505
+ */
28506
+ getColumn(name) {
28507
+ return Promise.resolve(this.columns.find((column) => column.name === name));
28508
+ }
28509
+ async buttonClick(button) {
28510
+ const role = button.role;
28511
+ if (isCancel(role)) {
28512
+ return this.dismiss(undefined, role);
28513
+ }
28514
+ const shouldDismiss = await this.callButtonHandler(button);
28515
+ if (shouldDismiss) {
28516
+ return this.dismiss(this.getSelected(), button.role);
28517
+ }
28518
+ return Promise.resolve();
28519
+ }
28520
+ async callButtonHandler(button) {
28521
+ if (button) {
28522
+ // a handler has been provided, execute it
28523
+ // pass the handler the values from the inputs
28524
+ const rtn = await safeCall(button.handler, this.getSelected());
28525
+ if (rtn === false) {
28526
+ // if the return value of the handler is false then do not dismiss
28527
+ return false;
28528
+ }
28529
+ }
28530
+ return true;
28531
+ }
28532
+ getSelected() {
28533
+ const selected = {};
28534
+ this.columns.forEach((col, index) => {
28535
+ const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
28536
+ selected[col.name] = {
28537
+ text: selectedColumn ? selectedColumn.text : undefined,
28538
+ value: selectedColumn ? selectedColumn.value : undefined,
28539
+ columnIndex: index,
28540
+ };
28541
+ });
28542
+ return selected;
28543
+ }
28544
+ render() {
28545
+ const { htmlAttributes } = this;
28546
+ const mode = getIonMode$1(this);
28547
+ return (hAsync(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
28548
+ zIndex: `${20000 + this.overlayIndex}`,
28549
+ }, class: Object.assign({ [mode]: true,
28550
+ // Used internally for styling
28551
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, hAsync("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), hAsync("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
28552
+ }
28553
+ get el() { return getElement(this); }
28554
+ static get watchers() { return {
28555
+ "isOpen": [{
28556
+ "onIsOpenChange": 0
28557
+ }],
28558
+ "trigger": [{
28559
+ "triggerChanged": 0
28560
+ }]
28561
+ }; }
28562
+ static get style() { return {
28563
+ ios: pickerIosCss(),
28564
+ md: pickerMdCss()
28565
+ }; }
28566
+ static get cmpMeta() { return {
28567
+ "$flags$": 34,
28568
+ "$tagName$": "ion-picker-legacy",
28569
+ "$members$": {
28570
+ "overlayIndex": [2, "overlay-index"],
28571
+ "delegate": [16],
28572
+ "hasController": [4, "has-controller"],
28573
+ "keyboardClose": [4, "keyboard-close"],
28574
+ "enterAnimation": [16],
28575
+ "leaveAnimation": [16],
28576
+ "buttons": [16],
28577
+ "columns": [16],
28578
+ "cssClass": [1, "css-class"],
28579
+ "duration": [2],
28580
+ "showBackdrop": [4, "show-backdrop"],
28581
+ "backdropDismiss": [4, "backdrop-dismiss"],
28582
+ "animated": [4],
28583
+ "htmlAttributes": [16],
28584
+ "isOpen": [4, "is-open"],
28585
+ "trigger": [1],
28586
+ "presented": [32],
28587
+ "present": [64],
28588
+ "dismiss": [64],
28589
+ "onDidDismiss": [64],
28590
+ "onWillDismiss": [64],
28591
+ "getColumn": [64]
28592
+ },
28593
+ "$listeners$": undefined,
28594
+ "$lazyBundleId$": "-",
28595
+ "$attrsToReflect$": []
28596
+ }; }
28597
+ }
28598
+ const buttonWrapperClass = (button) => {
28599
+ return {
28600
+ [`picker-toolbar-${button.role}`]: button.role !== undefined,
28601
+ 'picker-toolbar-button': true,
28602
+ };
28603
+ };
28604
+ const buttonClass$1 = (button) => {
28605
+ return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
28606
+ };
28607
+
28608
+ const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
28609
+
28610
+ /**
28611
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
28612
+ *
28613
+ * @slot prefix - Content to show on the left side of the picker options.
28614
+ * @slot suffix - Content to show on the right side of the picker options.
28615
+ */
28616
+ class PickerColumn {
28617
+ constructor(hostRef) {
28618
+ registerInstance(this, hostRef);
28619
+ this.ionChange = createEvent(this, "ionChange", 7);
28620
+ this.isScrolling = false;
28621
+ this.isColumnVisible = false;
28622
+ this.canExitInputMode = true;
28623
+ this.updateValueTextOnScroll = false;
28624
+ this.ariaLabel = null;
28625
+ this.isActive = false;
28626
+ /**
28627
+ * If `true`, the user cannot interact with the picker.
28628
+ */
28629
+ this.disabled = false;
28630
+ /**
28631
+ * The color to use from your application's color palette.
28632
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
28633
+ * For more information on colors, see [theming](/docs/theming/basics).
28634
+ */
28635
+ this.color = 'primary';
28636
+ /**
28637
+ * If `true`, tapping the picker will
28638
+ * reveal a number input keyboard that lets
28639
+ * the user type in values for each picker
28640
+ * column. This is useful when working
28641
+ * with time pickers.
28642
+ *
28643
+ * @internal
28644
+ */
28645
+ this.numericInput = false;
28646
+ this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
28793
28647
  const { isColumnVisible, scrollEl } = this;
28794
28648
  if (isColumnVisible && scrollEl) {
28795
28649
  // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
@@ -29244,101 +29098,466 @@ class PickerColumn {
29244
29098
  this.setValue(firstOption.value);
29245
29099
  }
29246
29100
  }
29247
- }
29248
- /** @internal */
29249
- async scrollActiveItemIntoView(smooth = false) {
29250
- const activeEl = this.activeItem;
29251
- if (activeEl) {
29252
- this.centerPickerItemInView(activeEl, smooth, false);
29101
+ }
29102
+ /** @internal */
29103
+ async scrollActiveItemIntoView(smooth = false) {
29104
+ const activeEl = this.activeItem;
29105
+ if (activeEl) {
29106
+ this.centerPickerItemInView(activeEl, smooth, false);
29107
+ }
29108
+ }
29109
+ /**
29110
+ * Sets the value prop and fires the ionChange event.
29111
+ * This is used when we need to fire ionChange from
29112
+ * user-generated events that cannot be caught with normal
29113
+ * input/change event listeners.
29114
+ * @internal
29115
+ */
29116
+ async setValue(value) {
29117
+ if (this.disabled === true || this.value === value) {
29118
+ return;
29119
+ }
29120
+ this.value = value;
29121
+ this.ionChange.emit({ value });
29122
+ }
29123
+ /**
29124
+ * Sets focus on the scrollable container within the picker column.
29125
+ * Use this method instead of the global `pickerColumn.focus()`.
29126
+ */
29127
+ async setFocus() {
29128
+ if (this.assistiveFocusable) {
29129
+ this.assistiveFocusable.focus();
29130
+ }
29131
+ }
29132
+ connectedCallback() {
29133
+ var _a;
29134
+ this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
29135
+ }
29136
+ get activeItem() {
29137
+ const { value } = this;
29138
+ const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
29139
+ return options.find((option) => {
29140
+ /**
29141
+ * If the whole picker column is disabled, the current value should appear active
29142
+ * If the current value item is specifically disabled, it should not appear active
29143
+ */
29144
+ if (!this.disabled && option.disabled) {
29145
+ return false;
29146
+ }
29147
+ return option.value === value;
29148
+ });
29149
+ }
29150
+ render() {
29151
+ const { color, disabled, isActive, numericInput } = this;
29152
+ const mode = getIonMode$1(this);
29153
+ return (hAsync(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses$1(color, {
29154
+ [mode]: true,
29155
+ ['picker-column-active']: isActive,
29156
+ ['picker-column-numeric-input']: numericInput,
29157
+ ['picker-column-disabled']: disabled,
29158
+ }) }, hAsync("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), hAsync("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
29159
+ this.scrollEl = el;
29160
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), hAsync("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
29161
+ }
29162
+ get el() { return getElement(this); }
29163
+ static get watchers() { return {
29164
+ "aria-label": [{
29165
+ "ariaLabelChanged": 0
29166
+ }],
29167
+ "value": [{
29168
+ "valueChange": 0
29169
+ }]
29170
+ }; }
29171
+ static get style() { return pickerColumnCss(); }
29172
+ static get cmpMeta() { return {
29173
+ "$flags$": 265,
29174
+ "$tagName$": "ion-picker-column",
29175
+ "$members$": {
29176
+ "disabled": [4],
29177
+ "value": [1032],
29178
+ "color": [513],
29179
+ "numericInput": [4, "numeric-input"],
29180
+ "ariaLabel": [32],
29181
+ "isActive": [32],
29182
+ "scrollActiveItemIntoView": [64],
29183
+ "setValue": [64],
29184
+ "setFocus": [64]
29185
+ },
29186
+ "$listeners$": undefined,
29187
+ "$lazyBundleId$": "-",
29188
+ "$attrsToReflect$": [["color", "color"]]
29189
+ }; }
29190
+ }
29191
+ const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
29192
+
29193
+ const pickerColumnIosCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}`;
29194
+
29195
+ const pickerColumnMdCss = () => `.picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}`;
29196
+
29197
+ /**
29198
+ * @internal
29199
+ */
29200
+ class PickerColumnCmp {
29201
+ constructor(hostRef) {
29202
+ registerInstance(this, hostRef);
29203
+ this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
29204
+ this.optHeight = 0;
29205
+ this.rotateFactor = 0;
29206
+ this.scaleFactor = 1;
29207
+ this.velocity = 0;
29208
+ this.y = 0;
29209
+ this.noAnimate = true;
29210
+ // `colDidChange` is a flag that gets set when the column is changed
29211
+ // dynamically. When this flag is set, the column will refresh
29212
+ // after the component re-renders to incorporate the new column data.
29213
+ // This is necessary because `this.refresh` queries for the option elements,
29214
+ // so it needs to wait for the latest elements to be available in the DOM.
29215
+ // Ex: column is created with 3 options. User updates the column data
29216
+ // to have 5 options. The column will still think it only has 3 options.
29217
+ this.colDidChange = false;
29218
+ }
29219
+ colChanged() {
29220
+ this.colDidChange = true;
29221
+ }
29222
+ async connectedCallback() {
29223
+ let pickerRotateFactor = 0;
29224
+ let pickerScaleFactor = 0.81;
29225
+ const mode = getIonMode$1(this);
29226
+ if (mode === 'ios') {
29227
+ pickerRotateFactor = -0.46;
29228
+ pickerScaleFactor = 1;
29229
+ }
29230
+ this.rotateFactor = pickerRotateFactor;
29231
+ this.scaleFactor = pickerScaleFactor;
29232
+ this.gesture = (await Promise.resolve().then(function () { return index; })).createGesture({
29233
+ el: this.el,
29234
+ gestureName: 'picker-swipe',
29235
+ gesturePriority: 100,
29236
+ threshold: 0,
29237
+ passive: false,
29238
+ onStart: (ev) => this.onStart(ev),
29239
+ onMove: (ev) => this.onMove(ev),
29240
+ onEnd: (ev) => this.onEnd(ev),
29241
+ });
29242
+ this.gesture.enable();
29243
+ // Options have not been initialized yet
29244
+ // Animation must be disabled through the `noAnimate` flag
29245
+ // Otherwise, the options will render
29246
+ // at the top of the column and transition down
29247
+ this.tmrId = setTimeout(() => {
29248
+ this.noAnimate = false;
29249
+ // After initialization, `refresh()` will be called
29250
+ // At this point, animation will be enabled. The options will
29251
+ // animate as they are being selected.
29252
+ this.refresh(true);
29253
+ }, 250);
29254
+ }
29255
+ componentDidLoad() {
29256
+ this.onDomChange();
29257
+ }
29258
+ componentDidUpdate() {
29259
+ // Options may have changed since last update.
29260
+ if (this.colDidChange) {
29261
+ // Animation must be disabled through the `onDomChange` parameter.
29262
+ // Otherwise, the recently added options will render
29263
+ // at the top of the column and transition down
29264
+ this.onDomChange(true, false);
29265
+ this.colDidChange = false;
29266
+ }
29267
+ }
29268
+ disconnectedCallback() {
29269
+ if (this.rafId !== undefined)
29270
+ cancelAnimationFrame(this.rafId);
29271
+ if (this.tmrId)
29272
+ clearTimeout(this.tmrId);
29273
+ if (this.gesture) {
29274
+ this.gesture.destroy();
29275
+ this.gesture = undefined;
29276
+ }
29277
+ }
29278
+ emitColChange() {
29279
+ this.ionPickerColChange.emit(this.col);
29280
+ }
29281
+ setSelected(selectedIndex, duration) {
29282
+ // if there is a selected index, then figure out it's y position
29283
+ // if there isn't a selected index, then just use the top y position
29284
+ const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
29285
+ this.velocity = 0;
29286
+ // set what y position we're at
29287
+ if (this.rafId !== undefined)
29288
+ cancelAnimationFrame(this.rafId);
29289
+ this.update(y, duration, true);
29290
+ this.emitColChange();
29291
+ }
29292
+ update(y, duration, saveY) {
29293
+ if (!this.optsEl) {
29294
+ return;
29295
+ }
29296
+ // ensure we've got a good round number :)
29297
+ let translateY = 0;
29298
+ let translateZ = 0;
29299
+ const { col, rotateFactor } = this;
29300
+ const prevSelected = col.selectedIndex;
29301
+ const selectedIndex = (col.selectedIndex = this.indexForY(-y));
29302
+ const durationStr = duration === 0 ? '' : duration + 'ms';
29303
+ const scaleStr = `scale(${this.scaleFactor})`;
29304
+ const children = this.optsEl.children;
29305
+ for (let i = 0; i < children.length; i++) {
29306
+ const button = children[i];
29307
+ const opt = col.options[i];
29308
+ const optOffset = i * this.optHeight + y;
29309
+ let transform = '';
29310
+ if (rotateFactor !== 0) {
29311
+ const rotateX = optOffset * rotateFactor;
29312
+ if (Math.abs(rotateX) <= 90) {
29313
+ translateY = 0;
29314
+ translateZ = 90;
29315
+ transform = `rotateX(${rotateX}deg) `;
29316
+ }
29317
+ else {
29318
+ translateY = -9999;
29319
+ }
29320
+ }
29321
+ else {
29322
+ translateZ = 0;
29323
+ translateY = optOffset;
29324
+ }
29325
+ const selected = selectedIndex === i;
29326
+ transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
29327
+ if (this.scaleFactor !== 1 && !selected) {
29328
+ transform += scaleStr;
29329
+ }
29330
+ // Update transition duration
29331
+ if (this.noAnimate) {
29332
+ opt.duration = 0;
29333
+ button.style.transitionDuration = '';
29334
+ }
29335
+ else if (duration !== opt.duration) {
29336
+ opt.duration = duration;
29337
+ button.style.transitionDuration = durationStr;
29338
+ }
29339
+ // Update transform
29340
+ if (transform !== opt.transform) {
29341
+ opt.transform = transform;
29342
+ }
29343
+ button.style.transform = transform;
29344
+ /**
29345
+ * Ensure that the select column
29346
+ * item has the selected class
29347
+ */
29348
+ opt.selected = selected;
29349
+ if (selected) {
29350
+ button.classList.add(PICKER_OPT_SELECTED);
29351
+ }
29352
+ else {
29353
+ button.classList.remove(PICKER_OPT_SELECTED);
29354
+ }
29355
+ }
29356
+ this.col.prevSelected = prevSelected;
29357
+ if (saveY) {
29358
+ this.y = y;
29359
+ }
29360
+ if (this.lastIndex !== selectedIndex) {
29361
+ // have not set a last index yet
29362
+ hapticSelectionChanged();
29363
+ this.lastIndex = selectedIndex;
29364
+ }
29365
+ }
29366
+ decelerate() {
29367
+ if (this.velocity !== 0) {
29368
+ // still decelerating
29369
+ this.velocity *= DECELERATION_FRICTION;
29370
+ // do not let it go slower than a velocity of 1
29371
+ this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
29372
+ let y = this.y + this.velocity;
29373
+ if (y > this.minY) {
29374
+ // whoops, it's trying to scroll up farther than the options we have!
29375
+ y = this.minY;
29376
+ this.velocity = 0;
29377
+ }
29378
+ else if (y < this.maxY) {
29379
+ // gahh, it's trying to scroll down farther than we can!
29380
+ y = this.maxY;
29381
+ this.velocity = 0;
29382
+ }
29383
+ this.update(y, 0, true);
29384
+ const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
29385
+ if (notLockedIn) {
29386
+ // isn't locked in yet, keep decelerating until it is
29387
+ this.rafId = requestAnimationFrame(() => this.decelerate());
29388
+ }
29389
+ else {
29390
+ this.velocity = 0;
29391
+ this.emitColChange();
29392
+ hapticSelectionEnd();
29393
+ }
29394
+ }
29395
+ else if (this.y % this.optHeight !== 0) {
29396
+ // needs to still get locked into a position so options line up
29397
+ const currentPos = Math.abs(this.y % this.optHeight);
29398
+ // create a velocity in the direction it needs to scroll
29399
+ this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
29400
+ this.decelerate();
29401
+ }
29402
+ }
29403
+ indexForY(y) {
29404
+ return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
29405
+ }
29406
+ onStart(detail) {
29407
+ // We have to prevent default in order to block scrolling under the picker
29408
+ // but we DO NOT have to stop propagation, since we still want
29409
+ // some "click" events to capture
29410
+ if (detail.event.cancelable) {
29411
+ detail.event.preventDefault();
29412
+ }
29413
+ detail.event.stopPropagation();
29414
+ hapticSelectionStart();
29415
+ // reset everything
29416
+ if (this.rafId !== undefined)
29417
+ cancelAnimationFrame(this.rafId);
29418
+ const options = this.col.options;
29419
+ let minY = options.length - 1;
29420
+ let maxY = 0;
29421
+ for (let i = 0; i < options.length; i++) {
29422
+ if (!options[i].disabled) {
29423
+ minY = Math.min(minY, i);
29424
+ maxY = Math.max(maxY, i);
29425
+ }
29426
+ }
29427
+ this.minY = -(minY * this.optHeight);
29428
+ this.maxY = -(maxY * this.optHeight);
29429
+ }
29430
+ onMove(detail) {
29431
+ if (detail.event.cancelable) {
29432
+ detail.event.preventDefault();
29433
+ }
29434
+ detail.event.stopPropagation();
29435
+ // update the scroll position relative to pointer start position
29436
+ let y = this.y + detail.deltaY;
29437
+ if (y > this.minY) {
29438
+ // scrolling up higher than scroll area
29439
+ y = Math.pow(y, 0.8);
29440
+ this.bounceFrom = y;
29441
+ }
29442
+ else if (y < this.maxY) {
29443
+ // scrolling down below scroll area
29444
+ y += Math.pow(this.maxY - y, 0.9);
29445
+ this.bounceFrom = y;
29446
+ }
29447
+ else {
29448
+ this.bounceFrom = 0;
29253
29449
  }
29450
+ this.update(y, 0, false);
29254
29451
  }
29255
- /**
29256
- * Sets the value prop and fires the ionChange event.
29257
- * This is used when we need to fire ionChange from
29258
- * user-generated events that cannot be caught with normal
29259
- * input/change event listeners.
29260
- * @internal
29261
- */
29262
- async setValue(value) {
29263
- if (this.disabled === true || this.value === value) {
29452
+ onEnd(detail) {
29453
+ if (this.bounceFrom > 0) {
29454
+ // bounce back up
29455
+ this.update(this.minY, 100, true);
29456
+ this.emitColChange();
29264
29457
  return;
29265
29458
  }
29266
- this.value = value;
29267
- this.ionChange.emit({ value });
29268
- }
29269
- /**
29270
- * Sets focus on the scrollable container within the picker column.
29271
- * Use this method instead of the global `pickerColumn.focus()`.
29272
- */
29273
- async setFocus() {
29274
- if (this.assistiveFocusable) {
29275
- this.assistiveFocusable.focus();
29459
+ else if (this.bounceFrom < 0) {
29460
+ // bounce back down
29461
+ this.update(this.maxY, 100, true);
29462
+ this.emitColChange();
29463
+ return;
29464
+ }
29465
+ this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
29466
+ if (this.velocity === 0 && detail.deltaY === 0) {
29467
+ const opt = detail.event.target.closest('.picker-opt');
29468
+ if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
29469
+ this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
29470
+ }
29471
+ }
29472
+ else {
29473
+ this.y += detail.deltaY;
29474
+ if (Math.abs(detail.velocityY) < 0.05) {
29475
+ const isScrollingUp = detail.deltaY > 0;
29476
+ const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
29477
+ if (isScrollingUp && optHeightFraction > 0.5) {
29478
+ this.velocity = Math.abs(this.velocity) * -1;
29479
+ }
29480
+ else if (!isScrollingUp && optHeightFraction <= 0.5) {
29481
+ this.velocity = Math.abs(this.velocity);
29482
+ }
29483
+ }
29484
+ this.decelerate();
29276
29485
  }
29277
29486
  }
29278
- connectedCallback() {
29487
+ refresh(forceRefresh, animated) {
29279
29488
  var _a;
29280
- this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
29281
- }
29282
- get activeItem() {
29283
- const { value } = this;
29284
- const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
29285
- return options.find((option) => {
29286
- /**
29287
- * If the whole picker column is disabled, the current value should appear active
29288
- * If the current value item is specifically disabled, it should not appear active
29289
- */
29290
- if (!this.disabled && option.disabled) {
29291
- return false;
29489
+ let min = this.col.options.length - 1;
29490
+ let max = 0;
29491
+ const options = this.col.options;
29492
+ for (let i = 0; i < options.length; i++) {
29493
+ if (!options[i].disabled) {
29494
+ min = Math.min(min, i);
29495
+ max = Math.max(max, i);
29292
29496
  }
29293
- return option.value === value;
29294
- });
29497
+ }
29498
+ /**
29499
+ * Only update selected value if column has a
29500
+ * velocity of 0. If it does not, then the
29501
+ * column is animating might land on
29502
+ * a value different than the value at
29503
+ * selectedIndex
29504
+ */
29505
+ if (this.velocity !== 0) {
29506
+ return;
29507
+ }
29508
+ const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
29509
+ if (this.col.prevSelected !== selectedIndex || forceRefresh) {
29510
+ const y = selectedIndex * this.optHeight * -1;
29511
+ const duration = animated ? TRANSITION_DURATION : 0;
29512
+ this.velocity = 0;
29513
+ this.update(y, duration, true);
29514
+ }
29515
+ }
29516
+ onDomChange(forceRefresh, animated) {
29517
+ const colEl = this.optsEl;
29518
+ if (colEl) {
29519
+ // DOM READ
29520
+ // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the column has changed
29521
+ this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
29522
+ }
29523
+ this.refresh(forceRefresh, animated);
29295
29524
  }
29296
29525
  render() {
29297
- const { color, disabled, isActive, numericInput } = this;
29526
+ const col = this.col;
29298
29527
  const mode = getIonMode$1(this);
29299
- return (hAsync(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses$1(color, {
29300
- [mode]: true,
29301
- ['picker-column-active']: isActive,
29302
- ['picker-column-numeric-input']: numericInput,
29303
- ['picker-column-disabled']: disabled,
29304
- }) }, hAsync("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), hAsync("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
29305
- this.scrollEl = el;
29306
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, hAsync("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), hAsync("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), hAsync("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
29528
+ return (hAsync(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
29529
+ 'max-width': this.col.columnWidth,
29530
+ } }, col.prefix && (hAsync("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
29307
29531
  }
29308
29532
  get el() { return getElement(this); }
29309
29533
  static get watchers() { return {
29310
- "aria-label": [{
29311
- "ariaLabelChanged": 0
29312
- }],
29313
- "value": [{
29314
- "valueChange": 0
29534
+ "col": [{
29535
+ "colChanged": 0
29315
29536
  }]
29316
29537
  }; }
29317
- static get style() { return pickerColumnCss(); }
29538
+ static get style() { return {
29539
+ ios: pickerColumnIosCss(),
29540
+ md: pickerColumnMdCss()
29541
+ }; }
29318
29542
  static get cmpMeta() { return {
29319
- "$flags$": 265,
29320
- "$tagName$": "ion-picker-column",
29543
+ "$flags$": 32,
29544
+ "$tagName$": "ion-picker-legacy-column",
29321
29545
  "$members$": {
29322
- "disabled": [4],
29323
- "value": [1032],
29324
- "color": [513],
29325
- "numericInput": [4, "numeric-input"],
29326
- "ariaLabel": [32],
29327
- "isActive": [32],
29328
- "scrollActiveItemIntoView": [64],
29329
- "setValue": [64],
29330
- "setFocus": [64]
29546
+ "col": [16]
29331
29547
  },
29332
29548
  "$listeners$": undefined,
29333
29549
  "$lazyBundleId$": "-",
29334
- "$attrsToReflect$": [["color", "color"]]
29550
+ "$attrsToReflect$": []
29335
29551
  }; }
29336
29552
  }
29337
- const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
29553
+ const PICKER_OPT_SELECTED = 'picker-opt-selected';
29554
+ const DECELERATION_FRICTION = 0.97;
29555
+ const MAX_PICKER_SPEED = 90;
29556
+ const TRANSITION_DURATION = 150;
29338
29557
 
29339
29558
  const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
29340
29559
 
29341
- const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-primary, #0054e9)}:host(.ion-color.option-active),:host(.ion-color[part~=active]){color:var(--ion-color-base)}`;
29560
+ const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-base)}`;
29342
29561
 
29343
29562
  class PickerColumnOption {
29344
29563
  constructor(hostRef) {
@@ -29362,6 +29581,12 @@ class PickerColumnOption {
29362
29581
  * If `true`, the user cannot interact with the picker column option.
29363
29582
  */
29364
29583
  this.disabled = false;
29584
+ /**
29585
+ * The color to use from your application's color palette.
29586
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
29587
+ * For more information on colors, see [theming](/docs/theming/basics).
29588
+ */
29589
+ this.color = 'primary';
29365
29590
  }
29366
29591
  /**
29367
29592
  * The aria-label of the option has changed after the
@@ -29421,10 +29646,10 @@ class PickerColumnOption {
29421
29646
  render() {
29422
29647
  const { color, disabled, ariaLabel } = this;
29423
29648
  const mode = getIonMode$1(this);
29424
- return (hAsync(Host, { key: '98109dc9aeced749a3e879394d9a24de24204433', class: createColorClasses$1(color, {
29649
+ return (hAsync(Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: createColorClasses$1(color, {
29425
29650
  [mode]: true,
29426
29651
  ['option-disabled']: disabled,
29427
- }) }, hAsync("div", { key: '42cb75738ea6925a7780b3ec9c1ff6823e340a24', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '1f1b3862cdfb2b432016014e2e56330c0247d0b5' }))));
29652
+ }) }, hAsync("div", { key: '824930b658c6e3fb493ac4c6c2451d38c6bc4829', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '019df4dcf46e629bdbebcd46ed3ab29669feab27' }))));
29428
29653
  }
29429
29654
  get el() { return getElement(this); }
29430
29655
  static get watchers() { return {
@@ -30525,9 +30750,9 @@ const mdLeaveAnimation$1 = (baseEl) => {
30525
30750
  .addAnimation([backdropAnimation, wrapperAnimation]);
30526
30751
  };
30527
30752
 
30528
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
30753
+ const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
30529
30754
 
30530
- const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
30755
+ const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
30531
30756
 
30532
30757
  // TODO(FW-2832): types
30533
30758
  /**
@@ -30751,10 +30976,6 @@ class Popover {
30751
30976
  this.headerResizeObserver.disconnect();
30752
30977
  this.headerResizeObserver = undefined;
30753
30978
  }
30754
- // Clean up aria-hidden if removed without dismiss() being called
30755
- if (this.presented) {
30756
- cleanupRootFocusTrapAccessibility();
30757
- }
30758
30979
  }
30759
30980
  componentWillLoad() {
30760
30981
  var _a, _b;
@@ -30993,9 +31214,9 @@ class Popover {
30993
31214
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
30994
31215
  const desktop = isPlatform('desktop');
30995
31216
  const enableArrow = arrow && !parentPopover;
30996
- return (hAsync(Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
31217
+ return (hAsync(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
30997
31218
  zIndex: `${20000 + this.overlayIndex}`,
30998
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, hAsync("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
31219
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, hAsync("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
30999
31220
  }
31000
31221
  get el() { return getElement(this); }
31001
31222
  static get watchers() { return {
@@ -31106,7 +31327,7 @@ class ProgressBar {
31106
31327
  const mode = getIonMode$1(this);
31107
31328
  // If the progress is displayed as a solid bar.
31108
31329
  const progressSolid = buffer === 1;
31109
- return (hAsync(Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
31330
+ return (hAsync(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
31110
31331
  [mode]: true,
31111
31332
  [`progress-bar-${type}`]: true,
31112
31333
  'progress-paused': paused,
@@ -31291,7 +31512,7 @@ class Radio {
31291
31512
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
31292
31513
  const mode = getIonMode$1(this);
31293
31514
  const inItem = hostContext('ion-item', el);
31294
- return (hAsync(Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31515
+ return (hAsync(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
31295
31516
  [mode]: true,
31296
31517
  'in-item': inItem,
31297
31518
  'radio-checked': checked,
@@ -31302,10 +31523,10 @@ class Radio {
31302
31523
  // Focus and active styling should not apply when the radio is in an item
31303
31524
  'ion-activatable': !inItem,
31304
31525
  'ion-focusable': !inItem,
31305
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, hAsync("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
31526
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, hAsync("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
31306
31527
  'label-text-wrapper': true,
31307
31528
  'label-text-wrapper-hidden': !hasLabel,
31308
- }, part: "label" }, hAsync("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), hAsync("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
31529
+ }, part: "label" }, hAsync("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), hAsync("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
31309
31530
  }
31310
31531
  get el() { return getElement(this); }
31311
31532
  static get watchers() { return {
@@ -31324,7 +31545,7 @@ class Radio {
31324
31545
  "color": [513],
31325
31546
  "name": [1],
31326
31547
  "disabled": [4],
31327
- "value": [520],
31548
+ "value": [8],
31328
31549
  "labelPlacement": [1, "label-placement"],
31329
31550
  "justify": [1],
31330
31551
  "alignment": [1],
@@ -31335,7 +31556,7 @@ class Radio {
31335
31556
  },
31336
31557
  "$listeners$": undefined,
31337
31558
  "$lazyBundleId$": "-",
31338
- "$attrsToReflect$": [["color", "color"], ["value", "value"]]
31559
+ "$attrsToReflect$": [["color", "color"]]
31339
31560
  }; }
31340
31561
  }
31341
31562
  let radioButtonIds = 0;
@@ -32400,7 +32621,7 @@ class Range {
32400
32621
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
32401
32622
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
32402
32623
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
32403
- return (hAsync(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
32624
+ return (hAsync(Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
32404
32625
  [mode]: true,
32405
32626
  'in-item': inItem,
32406
32627
  'range-disabled': disabled,
@@ -32414,10 +32635,10 @@ class Range {
32414
32635
  'range-item-end-adjustment': needsEndAdjustment,
32415
32636
  'range-value-min': valueAtMin,
32416
32637
  'range-value-max': valueAtMax,
32417
- }) }, hAsync("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
32638
+ }) }, hAsync("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
32418
32639
  'label-text-wrapper': true,
32419
32640
  'label-text-wrapper-hidden': !hasLabel,
32420
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, hAsync("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
32641
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, hAsync("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
32421
32642
  }
32422
32643
  get el() { return getElement(this); }
32423
32644
  static get watchers() { return {
@@ -33488,7 +33709,7 @@ class Refresher {
33488
33709
  }
33489
33710
  render() {
33490
33711
  const mode = getIonMode$1(this);
33491
- return (hAsync(Host, { key: '1dd475095f76491206644828cf89fc6d2ec276d1', slot: "fixed", class: {
33712
+ return (hAsync(Host, { key: '80fa313b0d77161680836bdd6aa334d02c549b41', slot: "fixed", class: {
33492
33713
  [mode]: true,
33493
33714
  // Used internally for styling
33494
33715
  [`refresher-${mode}`]: true,
@@ -33714,7 +33935,7 @@ class RefresherContent {
33714
33935
  const pullingIcon = this.pullingIcon;
33715
33936
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
33716
33937
  const mode = getIonMode$1(this);
33717
- return (hAsync(Host, { key: 'ec378d6a302be697c12c4f973a57c6ad2ada070f', class: mode }, hAsync("div", { key: '0055f98f8c5a1ed7979dc8146ec1f82a575860c7', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '4f88468e26370df6889e72aa54ebb395ebf3757d', class: "refresher-pulling-icon" }, hAsync("div", { key: '05b3f8679576aaa6c2d84d60df6629a392df29e2', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0bf6ceea416ce1140c0f10a5bede063cae7054f4', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'b71ede8455837968218edae28504e5e14bbc1f5c', class: "arrow-container" }, hAsync("ion-icon", { key: '30b808288d23d3eac681b1225cd8392fdacfefe1', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'fee1ae7e57ef8a02f5654808dff9dca3002b6702', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '55b34a98028adb497fbc2ac66bdb3d5ae5b1705b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'ef8f987daa8060cb6f8fd83c0864095042b9eecf', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'cd6fe0e81b34eeae11478fcc8a42044bff6f7a52', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '9cd778229582b538d54589c4d8e4d470efb64aad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
33938
+ return (hAsync(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, hAsync("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, hAsync("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, hAsync("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
33718
33939
  }
33719
33940
  get el() { return getElement(this); }
33720
33941
  static get cmpMeta() { return {
@@ -33755,7 +33976,7 @@ class Reorder {
33755
33976
  render() {
33756
33977
  const mode = getIonMode$1(this);
33757
33978
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
33758
- return (hAsync(Host, { key: '4d35db30b5b3df2020d2212abb3cfac94f9bc2b8', class: mode }, hAsync("slot", { key: '68a565ae4a47f6a9f5d6ba845b596fdfa629ece8' }, hAsync("ion-icon", { key: '168fb0f8eb9c02329274488900fcdb05d44cb895', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
33979
+ return (hAsync(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, hAsync("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, hAsync("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
33759
33980
  }
33760
33981
  get el() { return getElement(this); }
33761
33982
  static get style() { return {
@@ -34026,7 +34247,7 @@ class ReorderGroup {
34026
34247
  }
34027
34248
  render() {
34028
34249
  const mode = getIonMode$1(this);
34029
- return (hAsync(Host, { key: '3afdc6a6c81bba2f88ea523d4b73c6fccff1b9ec', class: {
34250
+ return (hAsync(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
34030
34251
  [mode]: true,
34031
34252
  'reorder-enabled': !this.disabled,
34032
34253
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -34144,7 +34365,7 @@ class RippleEffect {
34144
34365
  }
34145
34366
  render() {
34146
34367
  const mode = getIonMode$1(this);
34147
- return (hAsync(Host, { key: '5e88b5225414e29883256c86f111ded5bdf2ef91', role: "presentation", class: {
34368
+ return (hAsync(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
34148
34369
  [mode]: true,
34149
34370
  unbounded: this.unbounded,
34150
34371
  } }));
@@ -35278,10 +35499,10 @@ class RouterLink {
35278
35499
  rel: this.rel,
35279
35500
  target: this.target,
35280
35501
  };
35281
- return (hAsync(Host, { key: '6d5fdfa0dcf1eb216173bcc53f1f4d625f3ec551', onClick: this.onClick, class: createColorClasses$1(this.color, {
35502
+ return (hAsync(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses$1(this.color, {
35282
35503
  [mode]: true,
35283
35504
  'ion-activatable': true,
35284
- }) }, hAsync("a", Object.assign({ key: '85796b7b48581fe9830ba1102dad7d1069de4e17' }, attrs), hAsync("slot", { key: '0f93b0da3ec4ae8f50f624f9e7bed87d13d712d0' }))));
35505
+ }) }, hAsync("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), hAsync("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
35285
35506
  }
35286
35507
  static get style() { return routerLinkCss(); }
35287
35508
  static get cmpMeta() { return {
@@ -35320,11 +35541,10 @@ class RouterOutlet {
35320
35541
  */
35321
35542
  this.animated = true;
35322
35543
  }
35323
- swipeGestureChanged() {
35324
- this.updateGestureEnabled();
35325
- }
35326
35544
  swipeHandlerChanged() {
35327
- this.updateGestureEnabled();
35545
+ if (this.gesture) {
35546
+ this.gesture.enable(this.swipeHandler !== undefined);
35547
+ }
35328
35548
  }
35329
35549
  async connectedCallback() {
35330
35550
  const onStart = () => {
@@ -35364,21 +35584,11 @@ class RouterOutlet {
35364
35584
  this.gestureOrAnimationInProgress = false;
35365
35585
  }
35366
35586
  });
35367
- if (this.swipeGesture === undefined) {
35368
- this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
35369
- }
35370
- else {
35371
- this.updateGestureEnabled();
35372
- }
35587
+ this.swipeHandlerChanged();
35373
35588
  }
35374
35589
  componentWillLoad() {
35375
35590
  this.ionNavWillLoad.emit();
35376
35591
  }
35377
- updateGestureEnabled() {
35378
- if (this.gesture) {
35379
- this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
35380
- }
35381
- }
35382
35592
  disconnectedCallback() {
35383
35593
  if (this.gesture) {
35384
35594
  this.gesture.destroy();
@@ -35489,13 +35699,10 @@ class RouterOutlet {
35489
35699
  return true;
35490
35700
  }
35491
35701
  render() {
35492
- return hAsync("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
35702
+ return hAsync("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
35493
35703
  }
35494
35704
  get el() { return getElement(this); }
35495
35705
  static get watchers() { return {
35496
- "swipeGesture": [{
35497
- "swipeGestureChanged": 0
35498
- }],
35499
35706
  "swipeHandler": [{
35500
35707
  "swipeHandlerChanged": 0
35501
35708
  }]
@@ -35509,7 +35716,6 @@ class RouterOutlet {
35509
35716
  "delegate": [16],
35510
35717
  "animated": [4],
35511
35718
  "animation": [16],
35512
- "swipeGesture": [1028, "swipe-gesture"],
35513
35719
  "swipeHandler": [16],
35514
35720
  "commit": [64],
35515
35721
  "setRouteId": [64],
@@ -35528,7 +35734,7 @@ class Row {
35528
35734
  registerInstance(this, hostRef);
35529
35735
  }
35530
35736
  render() {
35531
- return (hAsync(Host, { key: 'a9066661fff12baaf3e80b2e8c08591af72fe5b8', class: getIonMode$1(this) }, hAsync("slot", { key: '62b103af46d3a5ec9c146019ae300b68a4ae867a' })));
35737
+ return (hAsync(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
35532
35738
  }
35533
35739
  static get style() { return rowCss(); }
35534
35740
  static get cmpMeta() { return {
@@ -35580,7 +35786,7 @@ class Searchbar {
35580
35786
  /**
35581
35787
  * Set the input's autocorrect property.
35582
35788
  */
35583
- this.autocorrect = false;
35789
+ this.autocorrect = 'off';
35584
35790
  /**
35585
35791
  * Set the cancel button icon. Only applies to `md` mode.
35586
35792
  * Defaults to `arrow-back-sharp`.
@@ -36001,8 +36207,8 @@ class Searchbar {
36001
36207
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
36002
36208
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
36003
36209
  const shouldShowCancelButton = this.shouldShowCancelButton();
36004
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '73964da43dbd099fc7f3d30cbc4da11087701ac5', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '27335a0e35f6c253c074685fa0b088404927bcbb', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
36005
- return (hAsync(Host, { key: '1b4f6c4e7dffb02e092f0026ce3875822d98a631', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
36210
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
36211
+ return (hAsync(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
36006
36212
  [mode]: true,
36007
36213
  'searchbar-animated': animated,
36008
36214
  'searchbar-disabled': this.disabled,
@@ -36012,14 +36218,14 @@ class Searchbar {
36012
36218
  'searchbar-has-focus': this.focused,
36013
36219
  'searchbar-should-show-clear': this.shouldShowClearButton(),
36014
36220
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
36015
- }) }, hAsync("div", { key: '587e1950e329cfb9d3658be5b2a6491e7af9321a', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '7f78a3d22cce03af277a538b4d9f85faddf1fa80', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '9fd3e458978b64e9e3358bcbb26471753f6ff2a6', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: 'c7864c85923668dfa25f5fc4a70c7dbf6da191b7', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
36221
+ }) }, hAsync("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
36016
36222
  /**
36017
36223
  * This prevents mobile browsers from
36018
36224
  * blurring the input when the clear
36019
36225
  * button is activated.
36020
36226
  */
36021
36227
  ev.preventDefault();
36022
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '47e7a15c6c6d4df4c54c62b042842e499627da05', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
36228
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
36023
36229
  }
36024
36230
  get el() { return getElement(this); }
36025
36231
  static get watchers() { return {
@@ -36051,7 +36257,7 @@ class Searchbar {
36051
36257
  "animated": [4],
36052
36258
  "autocapitalize": [1],
36053
36259
  "autocomplete": [1],
36054
- "autocorrect": [4],
36260
+ "autocorrect": [1],
36055
36261
  "cancelButtonIcon": [1, "cancel-button-icon"],
36056
36262
  "cancelButtonText": [1, "cancel-button-text"],
36057
36263
  "clearIcon": [1, "clear-icon"],
@@ -36628,14 +36834,14 @@ class Segment {
36628
36834
  }
36629
36835
  render() {
36630
36836
  const mode = getIonMode$1(this);
36631
- return (hAsync(Host, { key: 'bb626072e73f09c3433e1a769e09789a00822d8f', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
36837
+ return (hAsync(Host, { key: 'eda6b7b88b7967b55cf9098c59b655b348a42224', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
36632
36838
  [mode]: true,
36633
36839
  'in-toolbar': hostContext('ion-toolbar', this.el),
36634
36840
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
36635
36841
  'segment-activated': this.activated,
36636
36842
  'segment-disabled': this.disabled,
36637
36843
  'segment-scrollable': this.scrollable,
36638
- }) }, hAsync("slot", { key: '652d5037c2c2dee4d47a5710b1d150e691202d25', onSlotchange: this.onSlottedItemsChange })));
36844
+ }) }, hAsync("slot", { key: 'fdb451f235ce59c5bb50c61a13c69160ece2d5df', onSlotchange: this.onSlottedItemsChange })));
36639
36845
  }
36640
36846
  get el() { return getElement(this); }
36641
36847
  static get watchers() { return {
@@ -36783,7 +36989,7 @@ class SegmentButton {
36783
36989
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
36784
36990
  const mode = getIonMode$1(this);
36785
36991
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
36786
- return (hAsync(Host, { key: '792f621c36260b1fceff2b4ec4fa95d98d51d46b', class: {
36992
+ return (hAsync(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
36787
36993
  [mode]: true,
36788
36994
  'in-toolbar': hostContext('ion-toolbar', this.el),
36789
36995
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -36799,7 +37005,7 @@ class SegmentButton {
36799
37005
  'ion-activatable': true,
36800
37006
  'ion-activatable-instant': true,
36801
37007
  'ion-focusable': true,
36802
- } }, hAsync("button", Object.assign({ key: '860698be6ceb8f08c0ce3d16ba82d4bb56adf030', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: 'e903a2642ff46797878a941887b5c596d52fd3a3', class: "button-inner" }, hAsync("slot", { key: '5fc6b842ecb7f0ab8df23b344bf6714f38dda89a' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '710aaf6e4fa2b6cb15897a883e88dec17ef3829f' })), hAsync("div", { key: 'a7b036cba32420e9eb3f2d16487df0519ecc5289', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a0a5f49ea7f2ecab8014f4f9ca473a27db8348b6', part: "indicator-background", class: "segment-button-indicator-background" }))));
37008
+ } }, hAsync("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, hAsync("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), hAsync("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
36803
37009
  }
36804
37010
  get el() { return getElement(this); }
36805
37011
  static get watchers() { return {
@@ -36836,7 +37042,7 @@ class SegmentContent {
36836
37042
  registerInstance(this, hostRef);
36837
37043
  }
36838
37044
  render() {
36839
- return (hAsync(Host, { key: 'ef39f29c444177c3b083cd35680ba891e4bb6a2a' }, hAsync("slot", { key: '51f9dd9ca084ddd928b376aa9d716509669c32b2' })));
37045
+ return (hAsync(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, hAsync("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
36840
37046
  }
36841
37047
  static get style() { return segmentContentCss(); }
36842
37048
  static get cmpMeta() { return {
@@ -36955,11 +37161,11 @@ class SegmentView {
36955
37161
  }
36956
37162
  render() {
36957
37163
  const { disabled, isManualScroll, swipeGesture } = this;
36958
- return (hAsync(Host, { key: 'a6c6ac0232c4bb6f2a954b3de7993019d71f423a', class: {
37164
+ return (hAsync(Host, { key: '2a6e0a1046af75b1fa0eed20a5fbbb4634480297', class: {
36959
37165
  'segment-view-disabled': disabled,
36960
37166
  'segment-view-scroll-disabled': isManualScroll === false,
36961
37167
  'segment-view-swipe-disabled': swipeGesture === false,
36962
- } }, hAsync("slot", { key: '386305be2a75069c79def12005d9f6b49276763f' })));
37168
+ } }, hAsync("slot", { key: '644b60d179d0de3fa204e3bef26a3503ceeaf1d6' })));
36963
37169
  }
36964
37170
  get el() { return getElement(this); }
36965
37171
  static get style() { return {
@@ -36981,9 +37187,9 @@ class SegmentView {
36981
37187
  }; }
36982
37188
  }
36983
37189
 
36984
- 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);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--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(.has-focus) 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-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.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(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.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(.has-focus.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}`;
37190
+ 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(.has-focus) 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(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.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(.has-focus.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}`;
36985
37191
 
36986
- 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);--select-text-media-height:1.5em;--select-text-media-width:1.5em;--select-text-gap:12px;--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(.has-focus) 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-text>*+*{-webkit-margin-start:var(--select-text-gap);margin-inline-start:var(--select-text-gap)}.select-text img,.select-text ion-img,.select-text ion-icon,.select-text ion-thumbnail,.select-text ion-avatar{border-radius:var(--select-text-media-border-radius);width:var(--select-text-media-width);height:var(--select-text-media-height);border-width:var(--select-text-media-border-width);border-style:var(--select-text-media-border-style);border-color:var(--select-text-media-border-color)}.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(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.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(.has-focus.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(.select-expanded.select-fill-solid.ion-valid),: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.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--highlight-color)}: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(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon{color:var(--highlight-color)}: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.has-focus){--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(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon{color:var(--highlight-color)}: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}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.has-focus) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.has-focus) .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(.has-focus) .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}.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-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.in-item.select-expanded) .select-wrapper .select-icon,:host(.in-item.has-focus) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}: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(.has-focus) .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}`;
37192
+ 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(.has-focus) 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(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.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(.has-focus.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(.select-expanded.select-fill-solid.ion-valid),: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.has-focus){--background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--border-color:var(--highlight-color)}: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(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon{color:var(--highlight-color)}: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.has-focus){--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(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon{color:var(--highlight-color)}: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}:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,:host(.select-label-placement-floating.has-focus) .label-text-wrapper,:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,:host(.select-label-placement-stacked.has-focus) .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(.has-focus) .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}.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-expanded:not(.has-expanded-icon)) .select-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.in-item.select-expanded) .select-wrapper .select-icon,:host(.in-item.has-focus) .select-wrapper .select-icon,:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon{color:var(--ion-color-step-500, var(--ion-text-color-step-500, gray))}: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(.has-focus) .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}`;
36987
37193
 
36988
37194
  // TODO(FW-2832): types
36989
37195
  /**
@@ -37018,7 +37224,6 @@ class Select {
37018
37224
  this.helperTextId = `${this.inputId}-helper-text`;
37019
37225
  this.errorTextId = `${this.inputId}-error-text`;
37020
37226
  this.inheritedAttributes = {};
37021
- this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
37022
37227
  this.isExpanded = false;
37023
37228
  /**
37024
37229
  * The `hasFocus` state ensures the focus class is
@@ -37144,40 +37349,9 @@ class Select {
37144
37349
  this.emitStyle();
37145
37350
  }
37146
37351
  setValue(value) {
37147
- if (this.isValueEqual(this.value, value)) {
37148
- return;
37149
- }
37150
37352
  this.value = value;
37151
37353
  this.ionChange.emit({ value });
37152
37354
  }
37153
- isValueEqual(currentValue, newValue) {
37154
- if (this.multiple) {
37155
- const currentArr = Array.isArray(currentValue) ? currentValue : [];
37156
- const newArr = Array.isArray(newValue) ? newValue : [];
37157
- if (currentArr.length !== newArr.length) {
37158
- return false;
37159
- }
37160
- // Multiset compare: each new value must match a distinct current value.
37161
- // A plain `every(isOptionSelected)` would accept ['a','a'] as equal to
37162
- // ['a','b'] when both 'a' and 'b' map to options whose values overlap.
37163
- const remaining = currentArr.slice();
37164
- return newArr.every((val) => {
37165
- const idx = remaining.findIndex((c) => compareOptions(c, val, this.compareWith));
37166
- if (idx === -1) {
37167
- return false;
37168
- }
37169
- remaining.splice(idx, 1);
37170
- return true;
37171
- });
37172
- }
37173
- if (currentValue == null && newValue == null) {
37174
- return true;
37175
- }
37176
- if (currentValue == null || newValue == null) {
37177
- return false;
37178
- }
37179
- return compareOptions(currentValue, newValue, this.compareWith);
37180
- }
37181
37355
  async connectedCallback() {
37182
37356
  const { el } = this;
37183
37357
  this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
@@ -37371,11 +37545,10 @@ class Select {
37371
37545
  .join(' ');
37372
37546
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
37373
37547
  const isSelected = isOptionSelected(selectValue, value, this.compareWith);
37374
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
37375
37548
  return {
37376
- text: content !== null && content !== void 0 ? content : '',
37549
+ role: isSelected ? 'selected' : '',
37550
+ text: option.textContent,
37377
37551
  cssClass: optClass,
37378
- disabled: option.disabled,
37379
37552
  handler: () => {
37380
37553
  this.setValue(value);
37381
37554
  },
@@ -37383,9 +37556,6 @@ class Select {
37383
37556
  'aria-checked': isSelected ? 'true' : 'false',
37384
37557
  role: 'radio',
37385
37558
  },
37386
- startContent,
37387
- endContent,
37388
- description: option.description,
37389
37559
  };
37390
37560
  });
37391
37561
  // Add "cancel" button
@@ -37406,19 +37576,13 @@ class Select {
37406
37576
  .filter((cls) => cls !== 'hydrated')
37407
37577
  .join(' ');
37408
37578
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
37409
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
37410
37579
  return {
37411
37580
  type: inputType,
37412
37581
  cssClass: optClass,
37413
- label: content !== null && content !== void 0 ? content : '',
37582
+ label: option.textContent || '',
37414
37583
  value,
37415
37584
  checked: isOptionSelected(selectValue, value, this.compareWith),
37416
37585
  disabled: option.disabled,
37417
- startContent,
37418
- endContent,
37419
- description: option.description,
37420
- labelPlacement: option.labelPlacement,
37421
- justify: option.justify,
37422
37586
  };
37423
37587
  });
37424
37588
  return alertInputs;
@@ -37431,9 +37595,8 @@ class Select {
37431
37595
  .filter((cls) => cls !== 'hydrated')
37432
37596
  .join(' ');
37433
37597
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
37434
- const { content, startContent, endContent } = extractOptionContent(option, this.customHTMLEnabled);
37435
37598
  return {
37436
- text: content !== null && content !== void 0 ? content : '',
37599
+ text: option.textContent || '',
37437
37600
  cssClass: optClass,
37438
37601
  value,
37439
37602
  checked: isOptionSelected(selectValue, value, this.compareWith),
@@ -37444,11 +37607,6 @@ class Select {
37444
37607
  this.close();
37445
37608
  }
37446
37609
  },
37447
- startContent,
37448
- endContent,
37449
- description: option.description,
37450
- labelPlacement: option.labelPlacement,
37451
- justify: option.justify,
37452
37610
  };
37453
37611
  });
37454
37612
  return popoverOptions;
@@ -37481,21 +37639,15 @@ class Select {
37481
37639
  ionShadowTarget: this.nativeWrapperEl,
37482
37640
  } });
37483
37641
  }
37484
- const options = this.createOverlaySelectOptions(this.childOpts, value);
37485
- const hasRichContent = options.some((opt) => opt.startContent || opt.endContent || opt.description);
37486
37642
  const popoverOpts = Object.assign(Object.assign({ mode,
37487
37643
  event, alignment: 'center', size,
37488
- showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: [
37489
- 'select-popover',
37490
- hasRichContent ? 'select-popover-rich-content' : undefined,
37491
- interfaceOptions.cssClass,
37492
- ], componentProps: {
37644
+ showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
37493
37645
  header: interfaceOptions.header,
37494
37646
  subHeader: interfaceOptions.subHeader,
37495
37647
  message: interfaceOptions.message,
37496
37648
  multiple,
37497
37649
  value,
37498
- options,
37650
+ options: this.createOverlaySelectOptions(this.childOpts, value),
37499
37651
  } });
37500
37652
  return popoverController.create(popoverOpts);
37501
37653
  }
@@ -37576,18 +37728,12 @@ class Select {
37576
37728
  }
37577
37729
  return;
37578
37730
  }
37579
- /**
37580
- * Returns the text to display in the select based on the selected value.
37581
- *
37582
- * @param useHTML If `true`, the returned text will include any custom HTML content from the selected option. If `false`, the returned text will be plain text without any HTML. Defaults to `false`.
37583
- * @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
37584
- */
37585
- getText(useHTML = false) {
37731
+ getText() {
37586
37732
  const selectedText = this.selectedText;
37587
37733
  if (selectedText != null && selectedText !== '') {
37588
37734
  return selectedText;
37589
37735
  }
37590
- return generateText(this.childOpts, this.value, this.compareWith, useHTML);
37736
+ return generateText(this.childOpts, this.value, this.compareWith);
37591
37737
  }
37592
37738
  setFocus() {
37593
37739
  if (this.focusEl) {
@@ -37657,47 +37803,6 @@ class Select {
37657
37803
  */
37658
37804
  return this.renderLabel();
37659
37805
  }
37660
- /**
37661
- * Wraps text nodes in the select text with span elements
37662
- * so spacing can be added between elements without
37663
- * changing the display to prevent losing the ellipses
37664
- * behavior.
37665
- *
37666
- * Only wraps when the string contains HTML elements
37667
- * alongside text.
37668
- */
37669
- wrapSelectTextNodes(html) {
37670
- const temp = document.createElement('div');
37671
- temp.innerHTML = html;
37672
- const hasElements = Array.from(temp.childNodes).some((n) => n.nodeType === Node.ELEMENT_NODE);
37673
- // Return the plain text
37674
- if (!hasElements) {
37675
- return html;
37676
- }
37677
- Array.from(temp.childNodes).forEach((node) => {
37678
- var _a, _b, _c, _d;
37679
- if (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
37680
- const text = node.textContent;
37681
- /**
37682
- * Split comma separator from the text content
37683
- * e.g., ", Bacon" becomes ", " text node + <span>Bacon</span>.
37684
- */
37685
- const commaMatch = text.match(/^(,\s*)(.*)/);
37686
- if (commaMatch) {
37687
- const commaNode = document.createTextNode(commaMatch[1]);
37688
- const wrapper = document.createElement('span');
37689
- wrapper.textContent = commaMatch[2];
37690
- (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(wrapper, node);
37691
- (_c = wrapper.parentNode) === null || _c === void 0 ? void 0 : _c.insertBefore(commaNode, wrapper);
37692
- return;
37693
- }
37694
- const wrapper = document.createElement('span');
37695
- (_d = node.parentNode) === null || _d === void 0 ? void 0 : _d.replaceChild(wrapper, node);
37696
- wrapper.appendChild(node);
37697
- }
37698
- });
37699
- return temp.innerHTML;
37700
- }
37701
37806
  /**
37702
37807
  * Renders either the placeholder
37703
37808
  * or the selected values based on
@@ -37705,7 +37810,7 @@ class Select {
37705
37810
  */
37706
37811
  renderSelectText() {
37707
37812
  const { placeholder } = this;
37708
- const displayValue = this.getText(true);
37813
+ const displayValue = this.getText();
37709
37814
  let addPlaceholderClass = false;
37710
37815
  let selectText = displayValue;
37711
37816
  if (selectText === '' && placeholder !== undefined) {
@@ -37717,10 +37822,6 @@ class Select {
37717
37822
  'select-placeholder': addPlaceholderClass,
37718
37823
  };
37719
37824
  const textPart = addPlaceholderClass ? 'placeholder' : 'text';
37720
- if (this.customHTMLEnabled) {
37721
- const wrapped = this.wrapSelectTextNodes(selectText);
37722
- return hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart, innerHTML: wrapped });
37723
- }
37724
37825
  return (hAsync("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
37725
37826
  }
37726
37827
  /**
@@ -37743,7 +37844,6 @@ class Select {
37743
37844
  get ariaLabel() {
37744
37845
  var _a;
37745
37846
  const { placeholder, inheritedAttributes } = this;
37746
- // Get the plain text from the selected text
37747
37847
  const displayValue = this.getText();
37748
37848
  // The aria label should be preferred over visible text if both are specified
37749
37849
  const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;
@@ -37837,7 +37937,7 @@ class Select {
37837
37937
  * TODO(FW-5592): Remove hasStartEndSlots condition
37838
37938
  */
37839
37939
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
37840
- return (hAsync(Host, { key: 'a3036d51e0db13332641e9523264ddd1ab031912', onClick: this.onClick, class: createColorClasses$1(this.color, {
37940
+ return (hAsync(Host, { key: '5f4ee901b65554eacc9fa52230d06b1a5ff1247c', onClick: this.onClick, class: createColorClasses$1(this.color, {
37841
37941
  [mode]: true,
37842
37942
  'in-item': inItem,
37843
37943
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -37855,7 +37955,7 @@ class Select {
37855
37955
  [`select-justify-${justify}`]: justifyEnabled,
37856
37956
  [`select-shape-${shape}`]: shape !== undefined,
37857
37957
  [`select-label-placement-${labelPlacement}`]: true,
37858
- }) }, hAsync("label", { key: '58b77f683499b958840721bdb59a9bf822c7f218', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '9e68d96524c1b87d6cb1bdce79fa86f2022be04a', class: "select-wrapper-inner", part: "inner" }, hAsync("slot", { key: 'c9bcc5d684d2cefadff6ad3ec91498d5b405afc5', name: "start" }), hAsync("div", { key: '5405bc15ffb3437ca00c64fbbc83d8eb2631c4ea', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '95e2f041c8517afb1cc6bddb2c3c38cf41f2376e', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'f3d2410f678ea22a107121aea1bbda197a618ed6', class: "select-highlight" })), this.renderBottomContent()));
37958
+ }) }, hAsync("label", { key: 'd56d89b5b58da2b5eaebada9d1be58ca45c67806', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: 'bc8bf089c693781ad5b3a5db76a12223867d748e', class: "select-wrapper-inner", part: "inner" }, hAsync("slot", { key: 'e1c12b96f1573eb192608c458ed1f3463174cd89', name: "start" }), hAsync("div", { key: '6ee5e3900d8e462f175649b502ac6faa2f2b9909', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'faeaea34aad412e1458beab95d4b1b9ca7b87c41', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'aeff51e51c990844869eff9940575ce6b2223135', class: "select-highlight" })), this.renderBottomContent()));
37859
37959
  }
37860
37960
  get el() { return getElement(this); }
37861
37961
  static get watchers() { return {
@@ -37926,232 +38026,34 @@ const parseValue = (value) => {
37926
38026
  }
37927
38027
  return value.toString();
37928
38028
  };
37929
- const generateText = (opts, value, compareWith, useHTML = false) => {
38029
+ const generateText = (opts, value, compareWith) => {
37930
38030
  if (value === undefined) {
37931
38031
  return '';
37932
38032
  }
37933
38033
  if (Array.isArray(value)) {
37934
38034
  return value
37935
- .map((v) => textForValue(opts, v, compareWith, useHTML))
38035
+ .map((v) => textForValue(opts, v, compareWith))
37936
38036
  .filter((opt) => opt !== null)
37937
38037
  .join(', ');
37938
38038
  }
37939
38039
  else {
37940
- return textForValue(opts, value, compareWith, useHTML) || '';
38040
+ return textForValue(opts, value, compareWith) || '';
37941
38041
  }
37942
38042
  };
37943
- /**
37944
- * Returns the display text for a given value from the list of options.
37945
- * When `useHTML` is true, returns sanitized HTML for the select text.
37946
- * When `useHTML` is false, returns plain text for aria-label and other
37947
- * text-only contexts.
37948
- *
37949
- * @param opts - The list of ion-select-option elements.
37950
- * @param value - The value to find the matching option for.
37951
- * @param compareWith - Custom comparison function or property name.
37952
- * @param useHTML - If true, returns HTML string. If false, returns plain text.
37953
- */
37954
- const textForValue = (opts, value, compareWith, useHTML = false) => {
38043
+ const textForValue = (opts, value, compareWith) => {
37955
38044
  const selectOpt = opts.find((opt) => {
37956
38045
  return compareOptions(value, getOptionValue(opt), compareWith);
37957
38046
  });
37958
- const customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
37959
- if (!selectOpt) {
37960
- return null;
37961
- }
37962
- // Return sanitized HTML for the select text
37963
- if (customHTMLEnabled && useHTML) {
37964
- return getOptionContent(selectOpt, undefined, true);
37965
- }
37966
- /**
37967
- * When custom HTML is enabled, extract only the default slot content.
37968
- * This ensures aria-label and other text-only contexts read only
37969
- * the relevant option text.
37970
- */
37971
- if (customHTMLEnabled) {
37972
- const content = getOptionContent(selectOpt);
37973
- if (typeof content === 'string') {
37974
- return content;
37975
- }
37976
- /**
37977
- * Elements were found in the default slot, extract and concatenate
37978
- * their text content while trimming whitespace.
37979
- */
37980
- if (content) {
37981
- const texts = Array.from(content.childNodes)
37982
- .map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
37983
- .filter((t) => t);
37984
- return texts.join(' ') || null;
37985
- }
37986
- // Empty option
37987
- return null;
37988
- }
37989
- return getDefaultSlotPlainText(selectOpt);
37990
- };
37991
- /**
37992
- * Trims whitespace from all text nodes within a DOM tree.
37993
- * This prevents invisible layout shifts and unwanted gaps between
37994
- * elements when HTML content is injected via innerHTML or cloneNode,
37995
- * as browsers preserve whitespace (tabs, newlines, spaces) from
37996
- * the original source markup.
37997
- *
37998
- * @param node The root node to start trimming text nodes from.
37999
- */
38000
- const trimTextNodes = (node) => {
38001
- node.childNodes.forEach((child) => {
38002
- var _a;
38003
- if (child.nodeType === Node.TEXT_NODE) {
38004
- child.textContent = ((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
38005
- }
38006
- else if (child.nodeType === Node.ELEMENT_NODE) {
38007
- trimTextNodes(child);
38008
- }
38009
- });
38010
- };
38011
- /**
38012
- * Extracts and clones content from an `ion-select-option` element
38013
- * for rendering within overlay interfaces or the select text when `customHTMLEnabled` is `true`.
38014
- *
38015
- * @param option - The `ion-select-option` element to extract content from.
38016
- * @param slotName - Optional slot name to extract. If omitted, extracts the default slot content.
38017
- * @param useHTML - If `true`, the returned string will include any custom HTML content. If `false`, the returned string will be plain text without any HTML.
38018
- * @returns When `useHTML` is `true`, a sanitized HTML string. When `false`, a
38019
- * div element containing cloned child nodes. Returns `null` if no matching
38020
- * content is found.
38021
- */
38022
- const getOptionContent = (option, slotName, useHTML = false) => {
38023
- let nodes;
38024
- if (slotName) {
38025
- // Named slot: get elements with matching slot attribute
38026
- nodes = Array.from(option.children).filter((el) => el.getAttribute('slot') === slotName);
38027
- }
38028
- else {
38029
- // Default slot: get nodes without a slot attribute
38030
- const defaultSlot = getOptionDefaultSlot(option) || [];
38031
- nodes = defaultSlot.filter((node) => {
38032
- var _a;
38033
- /**
38034
- * Exclude whitespace-only text nodes (newline noise between
38035
- * markup elements). Element nodes are always kept, even when
38036
- * their textContent is empty (e.g. <svg>, <img>).
38037
- */
38038
- if (node.nodeType === Node.TEXT_NODE) {
38039
- return ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) !== 0;
38040
- }
38041
- return true;
38042
- });
38043
- }
38044
- if (nodes.length === 0) {
38045
- return null;
38046
- }
38047
- // Return plain text if no elements are found
38048
- if (!slotName && nodes.every((n) => n.nodeType === Node.TEXT_NODE)) {
38049
- return nodes.map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); }).join(' ') || null;
38050
- }
38051
- /**
38052
- * Mirror known custom-element properties (e.g. ion-icon's `icon`)
38053
- * onto attributes before cloning. Frameworks like Vue set these as
38054
- * DOM properties, which `cloneNode` doesn't copy, so without this
38055
- * step the cloned overlay copy renders without the prop's value.
38056
- */
38057
- nodes.forEach((n) => {
38058
- if (n.nodeType === Node.ELEMENT_NODE) {
38059
- reflectPropertiesToAttributes(n);
38060
- }
38061
- });
38062
- // Clone each node into a temporary container
38063
- const container = document.createElement('div');
38064
- nodes.forEach((n) => {
38065
- var _a;
38066
- const clone = n.cloneNode(true);
38067
- if (clone.nodeType === Node.TEXT_NODE) {
38068
- clone.textContent = ((_a = clone.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
38069
- }
38070
- else {
38071
- trimTextNodes(clone);
38072
- }
38073
- container.appendChild(clone);
38074
- });
38075
- /**
38076
- * Sanitize the cloned DOM in place. Trusted attributes (size, color,
38077
- * shape, etc.) are preserved; event handlers, javascript: URLs, and
38078
- * blocked tags are stripped.
38079
- */
38080
- sanitizeDOMTree(container);
38081
- if (useHTML) {
38082
- return container.innerHTML.trim() || null;
38083
- }
38084
- return container;
38085
- };
38086
- /**
38087
- * Returns the child nodes that belong to the default slot of an
38088
- * option element, excluding any nodes that are assigned to named
38089
- * slots.
38090
- *
38091
- * @param option - The `ion-select-option` element to extract default-slot nodes from.
38092
- * @returns An array of default slot nodes, or `null` if none are found.
38093
- */
38094
- const getOptionDefaultSlot = (option) => {
38095
- const defaultSlotNodes = Array.from(option.childNodes).filter((node) => {
38096
- if (node.nodeType === Node.ELEMENT_NODE) {
38097
- return !node.hasAttribute('slot');
38098
- }
38099
- return node.nodeType === Node.TEXT_NODE;
38100
- });
38101
- if (defaultSlotNodes.length === 0) {
38102
- return null;
38103
- }
38104
- return defaultSlotNodes;
38105
- };
38106
- /**
38107
- * Extracts plain text from only the default slot of an option,
38108
- * excluding content assigned to named slots (start/end).
38109
- */
38110
- const getDefaultSlotPlainText = (option) => {
38111
- const texts = Array.from(option.childNodes)
38112
- .filter((node) => {
38113
- if (node.nodeType === Node.ELEMENT_NODE) {
38114
- return !node.hasAttribute('slot');
38115
- }
38116
- return node.nodeType === Node.TEXT_NODE;
38117
- })
38118
- .filter((node) => node.nodeType === Node.TEXT_NODE)
38119
- .map((n) => { var _a; return (_a = n.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })
38120
- .filter((t) => t);
38121
- return texts.join(' ');
38122
- };
38123
- /**
38124
- * Extracts the rich content from an `ion-select-option`.
38125
- * When `customHTMLEnabled` is `false`, only the plain text from the
38126
- * default slot is read and the start and end slots are skipped.
38127
- *
38128
- * @param option - The `ion-select-option` element to extract content from.
38129
- * @param customHTMLEnabled - Whether custom HTML rendering is enabled
38130
- * via the `innerHTMLTemplatesEnabled` config.
38131
- */
38132
- const extractOptionContent = (option, customHTMLEnabled) => {
38133
- var _a, _b;
38134
- if (!customHTMLEnabled) {
38135
- return {
38136
- content: getDefaultSlotPlainText(option),
38137
- startContent: undefined,
38138
- endContent: undefined,
38139
- };
38140
- }
38141
- return {
38142
- content: getOptionContent(option),
38143
- startContent: (_a = getOptionContent(option, 'start')) !== null && _a !== void 0 ? _a : undefined,
38144
- endContent: (_b = getOptionContent(option, 'end')) !== null && _b !== void 0 ? _b : undefined,
38145
- };
38047
+ return selectOpt ? selectOpt.textContent : null;
38146
38048
  };
38147
38049
  let selectIds = 0;
38148
38050
  const OPTION_CLASS = 'select-interface-option';
38149
38051
 
38150
- const ionicSelectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ionic,.alert-checkbox-label-text.sc-ion-select-modal-ionic,.alert-radio-label-text.sc-ion-select-modal-ionic,.select-option-label-text.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ionic{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ionic:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic{width:40px;height:40px}.select-option-start.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic{width:24px;height:24px}.select-option-start.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic{width:56px;height:56px}.select-option-start.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>video.sc-ion-select-modal-ionic{width:114px;height:56px}.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38052
+ const ionicSelectModalMdCss = () => `.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38151
38053
 
38152
- const selectModalIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios{width:44px;height:44px}.select-option-start.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-select-modal-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-modal-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
38054
+ const selectModalIosCss = () => `.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}`;
38153
38055
 
38154
- const selectModalMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-modal-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-modal-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md{width:40px;height:40px}.select-option-start.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md{width:24px;height:24px}.select-option-start.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md{width:56px;height:56px}.select-option-start.sc-ion-select-modal-md>video.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>video.sc-ion-select-modal-md{width:114px;height:56px}.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38056
+ const selectModalMdCss = () => `.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38155
38057
 
38156
38058
  class SelectModal {
38157
38059
  constructor(hostRef) {
@@ -38205,90 +38107,39 @@ class SelectModal {
38205
38107
  }
38206
38108
  }
38207
38109
  renderRadioOptions() {
38208
- const mode = getIonMode$1(this);
38209
38110
  const checked = this.options.filter((o) => o.checked).map((o) => o.value)[0];
38210
- return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option, index) => {
38211
- var _a, _b;
38212
- /**
38213
- * Cast to `SelectOverlayOption` to access rich content
38214
- * fields (`startContent`, `endContent`, `description`)
38215
- * that are passed through from `ion-select` but not
38216
- * part of the public `SelectModalOption` interface.
38217
- */
38218
- const richOption = option;
38219
- const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
38220
- const optionLabelOptions = {
38221
- id: `modal-option-${index}`,
38222
- label: richOption.text,
38223
- startContent: richOption.startContent,
38224
- endContent: richOption.endContent,
38225
- description: richOption.description,
38226
- };
38227
- const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'radio', 'modal');
38228
- const defaultJustify = getOverlayLabelJustify(mode, 'radio', 'modal');
38229
- return (hAsync("ion-item", { lines: "none",
38111
+ return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, this.options.map((option) => (hAsync("ion-item", { lines: "none", class: Object.assign({
38230
38112
  // TODO FW-4784
38231
- disabled: option.disabled, class: Object.assign({
38232
- // TODO FW-4784
38233
- 'item-radio-checked': option.value === checked
38234
- }, getClassMap(option.cssClass)) }, hAsync("ion-radio", { class: {
38235
- 'select-option-has-rich-content': hasRichContent,
38236
- }, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onClick: () => this.closeModal(), onKeyDown: (ev) => {
38237
- if (ev.key === 'Enter' && !ev.repeat) {
38238
- this.pendingEnterTarget = ev.currentTarget;
38239
- }
38240
- }, onKeyUp: (ev) => {
38241
- if (ev.key === ' ') {
38242
- // Space selects and dismisses in one press.
38113
+ 'item-radio-checked': option.value === checked
38114
+ }, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, justify: "start", labelPlacement: "end", onClick: () => this.closeModal(), onKeyDown: (ev) => {
38115
+ if (ev.key === 'Enter' && !ev.repeat) {
38116
+ this.pendingEnterTarget = ev.currentTarget;
38117
+ }
38118
+ }, onKeyUp: (ev) => {
38119
+ if (ev.key === ' ') {
38120
+ // Space selects and dismisses in one press.
38121
+ this.closeModal();
38122
+ }
38123
+ else if (ev.key === 'Enter') {
38124
+ const shouldClose = this.pendingEnterTarget === ev.currentTarget;
38125
+ this.pendingEnterTarget = null;
38126
+ if (shouldClose) {
38243
38127
  this.closeModal();
38244
38128
  }
38245
- else if (ev.key === 'Enter') {
38246
- const shouldClose = this.pendingEnterTarget === ev.currentTarget;
38247
- this.pendingEnterTarget = null;
38248
- if (shouldClose) {
38249
- this.closeModal();
38250
- }
38251
- }
38252
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
38253
- })));
38129
+ }
38130
+ } }, option.text))))));
38254
38131
  }
38255
38132
  renderCheckboxOptions() {
38256
- const mode = getIonMode$1(this);
38257
- return this.options.map((option, index) => {
38258
- var _a, _b;
38259
- /**
38260
- * Cast to `SelectOverlayOption` to access rich content
38261
- * fields (`startContent`, `endContent`, `description`)
38262
- * that are passed through from `ion-select` but not
38263
- * part of the public `SelectModalOption` interface.
38264
- */
38265
- const richOption = option;
38266
- const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
38267
- const optionLabelOptions = {
38268
- id: `modal-option-${index}`,
38269
- label: richOption.text,
38270
- startContent: richOption.startContent,
38271
- endContent: richOption.endContent,
38272
- description: richOption.description,
38273
- };
38274
- const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox', 'modal');
38275
- const defaultJustify = getOverlayLabelJustify(mode, 'checkbox', 'modal');
38276
- return (hAsync("ion-item", {
38133
+ return this.options.map((option) => (hAsync("ion-item", { class: Object.assign({
38277
38134
  // TODO FW-4784
38278
- disabled: option.disabled, class: Object.assign({
38279
- // TODO FW-4784
38280
- 'item-checkbox-checked': option.checked
38281
- }, getClassMap(option.cssClass))
38282
- }, hAsync("ion-checkbox", { class: {
38283
- 'select-option-has-rich-content': hasRichContent,
38284
- }, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
38285
- this.setChecked(ev);
38286
- this.callOptionHandler(ev);
38287
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
38288
- });
38135
+ 'item-checkbox-checked': option.checked
38136
+ }, getClassMap(option.cssClass)) }, hAsync("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
38137
+ this.setChecked(ev);
38138
+ this.callOptionHandler(ev);
38139
+ } }, option.text))));
38289
38140
  }
38290
38141
  render() {
38291
- return (hAsync(Host, { key: '2cb1ae057b7a66f5d12c926f618f6b945f019803', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'e41f1c4ad1c71dcc927d210502d6366cea894a14' }, hAsync("ion-toolbar", { key: '1a191dfc8980541469ee4d8996ba4de52cac1ac5' }, this.header !== undefined && hAsync("ion-title", { key: '14ab9cb7d41d15b982c6ccd8ba6cee0e9cb528d9' }, this.header), hAsync("ion-buttons", { key: '80451a2ed3a82138eb1575135cf2ebbd5e8f6e60', slot: "end" }, hAsync("ion-button", { key: '01a315cd739569f3c0b23a4d243d52b69b63dfa7', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: 'd953101bae9a91f8108f7a5e411bb1e34338655d' }, hAsync("ion-list", { key: '171a5668afc67b03d2ee87e91cf400b17541bc7f' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
38142
+ return (hAsync(Host, { key: 'fda0bf6f93cd5ec9f3c64f88a52de849e0e140a2', class: getIonMode$1(this) }, hAsync("ion-header", { key: '27c0b17175a53db9ff159feeeb96451a3f011dab' }, hAsync("ion-toolbar", { key: '91a4155ebc317fbc9f1bb3e26a7e94754b953c9b' }, this.header !== undefined && hAsync("ion-title", { key: 'f6dae8e4e381f322cc90efefd9bb6ef81d4d2f3e' }, this.header), hAsync("ion-buttons", { key: 'e7760532fb2e7e7385ed6e62097d92d96ff20148', slot: "end" }, hAsync("ion-button", { key: '4999b6fc46cba138186546dca67b7950855e6fb7', onClick: () => this.closeModal() }, this.cancelText)))), hAsync("ion-content", { key: 'c73f80a4bc25b9061ea65cf11e5d811c1a4d8704' }, hAsync("ion-list", { key: 'b21905d15b36ad5eb45845e768918d2763cf48b1' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
38292
38143
  }
38293
38144
  get el() { return getElement(this); }
38294
38145
  static get style() { return {
@@ -38313,24 +38164,17 @@ class SelectModal {
38313
38164
 
38314
38165
  const selectOptionCss = () => `:host{display:none}`;
38315
38166
 
38316
- /**
38317
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
38318
- *
38319
- * @slot - Content is placed between the named slots if provided without a slot.
38320
- * @slot start - Content is placed to the left of the select option text in LTR, and to the right in RTL.
38321
- * @slot end - Content is placed to the right of the select option text in LTR, and to the left in RTL.
38322
- */
38323
38167
  class SelectOption {
38324
38168
  constructor(hostRef) {
38325
38169
  registerInstance(this, hostRef);
38326
38170
  this.inputId = `ion-selopt-${selectOptionIds++}`;
38327
38171
  /**
38328
- * If `true`, the user cannot interact with the select option.
38172
+ * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
38329
38173
  */
38330
38174
  this.disabled = false;
38331
38175
  }
38332
38176
  render() {
38333
- return hAsync(Host, { key: '8b8bef0f5a55f18048708c34d3ea3ff0ff2f1d47', role: "option", id: this.inputId, class: getIonMode$1(this) });
38177
+ return hAsync(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode$1(this) });
38334
38178
  }
38335
38179
  get el() { return getElement(this); }
38336
38180
  static get style() { return selectOptionCss(); }
@@ -38339,10 +38183,7 @@ class SelectOption {
38339
38183
  "$tagName$": "ion-select-option",
38340
38184
  "$members$": {
38341
38185
  "disabled": [4],
38342
- "value": [8],
38343
- "description": [1],
38344
- "labelPlacement": [1, "label-placement"],
38345
- "justify": [1]
38186
+ "value": [8]
38346
38187
  },
38347
38188
  "$listeners$": undefined,
38348
38189
  "$lazyBundleId$": "-",
@@ -38351,9 +38192,9 @@ class SelectOption {
38351
38192
  }
38352
38193
  let selectOptionIds = 0;
38353
38194
 
38354
- const selectPopoverIosCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-ios,.alert-radio-label-has-rich-content.sc-ion-select-popover-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-ios,.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-ios,.alert-checkbox-label-text.sc-ion-select-popover-ios,.alert-radio-label-text.sc-ion-select-popover-ios,.select-option-label-text.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-ios [part~="label"],.select-option-content.sc-ion-select-popover-ios{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-start.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-avatar.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-thumbnail.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>img.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>svg.sc-ion-select-popover-ios{width:44px;height:44px}.select-option-start.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios,.select-option-end.sc-ion-select-popover-ios>ion-icon.sc-ion-select-popover-ios{width:28px;height:28px}.action-sheet-button-label-text.sc-ion-select-popover-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-popover-ios{-webkit-padding-end:16px;padding-inline-end:16px}.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}`;
38195
+ const selectPopoverIosCss = () => `.sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}`;
38355
38196
 
38356
- const selectPopoverMdCss = () => `.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-popover-md,.alert-radio-label-has-rich-content.sc-ion-select-popover-md,.alert-checkbox-label-has-rich-content.sc-ion-select-popover-md,.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-popover-md,.alert-checkbox-label-text.sc-ion-select-popover-md,.alert-radio-label-text.sc-ion-select-popover-md,.select-option-label-text.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:12px}.select-option-start.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:8px}.select-option-description.sc-ion-select-popover-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-label.sc-ion-select-popover-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-popover-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-popover-md [part~="label"],.select-option-content.sc-ion-select-popover-md{-ms-flex:1;flex:1;white-space:normal}.select-option-start.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-avatar.sc-ion-select-popover-md{width:40px;height:40px}.select-option-start.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-icon.sc-ion-select-popover-md{width:24px;height:24px}.select-option-start.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-start.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>img.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>svg.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>ion-thumbnail.sc-ion-select-popover-md{width:56px;height:56px}.select-option-start.sc-ion-select-popover-md>video.sc-ion-select-popover-md,.select-option-end.sc-ion-select-popover-md>video.sc-ion-select-popover-md{width:114px;height:56px}.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38197
+ const selectPopoverMdCss = () => `.sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="container"]{display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label),ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}`;
38357
38198
 
38358
38199
  /**
38359
38200
  * @internal
@@ -38427,91 +38268,41 @@ class SelectPopover {
38427
38268
  }
38428
38269
  }
38429
38270
  renderCheckboxOptions(options) {
38430
- const mode = getIonMode$1(this);
38431
- return options.map((option, index) => {
38432
- var _a, _b;
38433
- /**
38434
- * Cast to `SelectOverlayOption` to access rich content
38435
- * fields (`startContent`, `endContent`, `description`)
38436
- * that are passed through from `ion-select` but not
38437
- * part of the public `SelectPopoverOption` interface.
38438
- */
38439
- const richOption = option;
38440
- const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
38441
- const optionLabelOptions = {
38442
- id: `popover-option-${index}`,
38443
- label: richOption.text,
38444
- startContent: richOption.startContent,
38445
- endContent: richOption.endContent,
38446
- description: richOption.description,
38447
- };
38448
- const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
38449
- const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
38450
- return (hAsync("ion-item", {
38271
+ return options.map((option) => (hAsync("ion-item", { class: Object.assign({
38451
38272
  // TODO FW-4784
38452
- disabled: option.disabled, class: Object.assign({
38453
- // TODO FW-4784
38454
- 'item-checkbox-checked': option.checked
38455
- }, getClassMap(option.cssClass))
38456
- }, hAsync("ion-checkbox", { class: {
38457
- 'select-option-has-rich-content': hasRichContent,
38458
- }, value: option.value, disabled: option.disabled, checked: option.checked, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : defaultJustify, labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : defaultLabelPlacement, onIonChange: (ev) => {
38459
- this.setChecked(ev);
38460
- this.callOptionHandler(ev);
38461
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
38462
- });
38273
+ 'item-checkbox-checked': option.checked
38274
+ }, getClassMap(option.cssClass)) }, hAsync("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
38275
+ this.setChecked(ev);
38276
+ this.callOptionHandler(ev);
38277
+ } }, option.text))));
38463
38278
  }
38464
38279
  renderRadioOptions(options) {
38465
- const mode = getIonMode$1(this);
38466
38280
  const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
38467
- return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option, index) => {
38468
- var _a, _b;
38469
- /**
38470
- * Cast to `SelectOverlayOption` to access rich content
38471
- * fields (`startContent`, `endContent`, `description`)
38472
- * that are passed through from `ion-select` but not
38473
- * part of the public `SelectPopoverOption` interface.
38474
- */
38475
- const richOption = option;
38476
- const hasRichContent = !!richOption.startContent || !!richOption.endContent || !!richOption.description;
38477
- const optionLabelOptions = {
38478
- id: `popover-option-${index}`,
38479
- label: richOption.text,
38480
- startContent: richOption.startContent,
38481
- endContent: richOption.endContent,
38482
- description: richOption.description,
38483
- };
38484
- return (hAsync("ion-item", {
38281
+ return (hAsync("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) => (hAsync("ion-item", { class: Object.assign({
38485
38282
  // TODO FW-4784
38486
- disabled: option.disabled, class: Object.assign({
38487
- // TODO FW-4784
38488
- 'item-radio-checked': option.value === checked
38489
- }, getClassMap(option.cssClass))
38490
- }, hAsync("ion-radio", { class: {
38491
- 'select-option-has-rich-content': hasRichContent,
38492
- }, value: option.value, disabled: option.disabled, justify: (_a = richOption.justify) !== null && _a !== void 0 ? _a : getOverlayLabelJustify(mode, 'radio'), labelPlacement: (_b = richOption.labelPlacement) !== null && _b !== void 0 ? _b : getOverlayLabelPlacement(mode, 'radio'), onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
38493
- if (ev.key === 'Enter' && !ev.repeat) {
38494
- this.pendingEnterTarget = ev.currentTarget;
38495
- }
38496
- }, onKeyUp: (ev) => {
38497
- if (ev.key === ' ') {
38498
- // Space selects and dismisses in one press.
38283
+ 'item-radio-checked': option.value === checked
38284
+ }, getClassMap(option.cssClass)) }, hAsync("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyDown: (ev) => {
38285
+ if (ev.key === 'Enter' && !ev.repeat) {
38286
+ this.pendingEnterTarget = ev.currentTarget;
38287
+ }
38288
+ }, onKeyUp: (ev) => {
38289
+ if (ev.key === ' ') {
38290
+ // Space selects and dismisses in one press.
38291
+ this.dismissParentPopover();
38292
+ }
38293
+ else if (ev.key === 'Enter') {
38294
+ const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
38295
+ this.pendingEnterTarget = null;
38296
+ if (shouldDismiss) {
38499
38297
  this.dismissParentPopover();
38500
38298
  }
38501
- else if (ev.key === 'Enter') {
38502
- const shouldDismiss = this.pendingEnterTarget === ev.currentTarget;
38503
- this.pendingEnterTarget = null;
38504
- if (shouldDismiss) {
38505
- this.dismissParentPopover();
38506
- }
38507
- }
38508
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
38509
- })));
38299
+ }
38300
+ } }, option.text))))));
38510
38301
  }
38511
38302
  render() {
38512
38303
  const { header, message, options, subHeader } = this;
38513
38304
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
38514
- return (hAsync(Host, { key: 'd0c107e0ca78955a3cfcd9f098a527fb35eff14d', class: getIonMode$1(this) }, hAsync("ion-list", { key: '1e103312e22bf78d2201a0f88cc4fed789f62a2b' }, header !== undefined && hAsync("ion-list-header", { key: '657439905dc480112ed8d7f8d4a01464724de2bd' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'e0eaa0250bf233cf846adba5ddc141bf3430c2a8' }, hAsync("ion-label", { key: 'ad1cff877f9d582fbc64f9049603146fd1a1a6f9', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'ead921d395b614a99c89a8ffe2a102a620f80767' }, subHeader), message !== undefined && hAsync("p", { key: '3a47e7091528930f33324ccd04d6734217155244' }, message)))), this.renderOptions(options))));
38305
+ return (hAsync(Host, { key: 'e7449a1ecfcdbf45a79f8e26a00253c4e146448a', class: getIonMode$1(this) }, hAsync("ion-list", { key: '52abdfc8668c3429a0dcefef8ddedb6647fdd894' }, header !== undefined && hAsync("ion-list-header", { key: '978e5c03728756feafcc60a0e10e6ec59bf2ae11' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'e93c44e7f07a76def16e4b11f0fb4780d84ed402' }, hAsync("ion-label", { key: 'bba1aac43b0bc7f4f00978dd8301985233f3725c', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'ad96f6017cf2cc5219540bded2c4f1ca3b532de2' }, subHeader), message !== undefined && hAsync("p", { key: '3fd038921dc40c4d0c29734433984b279ccaeec3' }, message)))), this.renderOptions(options))));
38515
38306
  }
38516
38307
  get el() { return getElement(this); }
38517
38308
  static get style() { return {
@@ -38561,11 +38352,11 @@ class SkeletonText {
38561
38352
  const animated = this.animated && config.getBoolean('animated', true);
38562
38353
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
38563
38354
  const mode = getIonMode$1(this);
38564
- return (hAsync(Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
38355
+ return (hAsync(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
38565
38356
  [mode]: true,
38566
38357
  'skeleton-text-animated': animated,
38567
38358
  'in-media': inMedia,
38568
- } }, hAsync("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
38359
+ } }, hAsync("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
38569
38360
  }
38570
38361
  get el() { return getElement(this); }
38571
38362
  static get style() { return skeletonTextCss(); }
@@ -38617,7 +38408,7 @@ class Spinner {
38617
38408
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
38618
38409
  }
38619
38410
  }
38620
- return (hAsync(Host, { key: 'c35ebd01186e860acb9cac260193f0836424fdf4', class: createColorClasses$1(self.color, {
38411
+ return (hAsync(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses$1(self.color, {
38621
38412
  [mode]: true,
38622
38413
  [`spinner-${spinnerName}`]: true,
38623
38414
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -38716,12 +38507,12 @@ class SplitPane {
38716
38507
  }
38717
38508
  render() {
38718
38509
  const mode = getIonMode$1(this);
38719
- return (hAsync(Host, { key: '694e989fafcfe2453e0a83b3cb736efaa1eb4fec', class: {
38510
+ return (hAsync(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
38720
38511
  [mode]: true,
38721
38512
  // Used internally for styling
38722
38513
  [`split-pane-${mode}`]: true,
38723
38514
  'split-pane-visible': this.visible,
38724
- } }, hAsync("slot", { key: 'dde7e9382b62cc11971aa233cf98c2314ae4f720' })));
38515
+ } }, hAsync("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
38725
38516
  }
38726
38517
  get el() { return getElement(this); }
38727
38518
  static get watchers() { return {
@@ -38793,10 +38584,10 @@ class Tab {
38793
38584
  }
38794
38585
  render() {
38795
38586
  const { tab, active, component } = this;
38796
- return (hAsync(Host, { key: '745262368a7f45244da459f4fa1730a46dd3e257', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
38587
+ return (hAsync(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
38797
38588
  'ion-page': component === undefined,
38798
38589
  'tab-hidden': !active,
38799
- } }, hAsync("slot", { key: '823d09a6f93bf7c0dc74f2b8717d1d3a62df1ad8' })));
38590
+ } }, hAsync("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
38800
38591
  }
38801
38592
  get el() { return getElement(this); }
38802
38593
  static get watchers() { return {
@@ -38910,11 +38701,11 @@ class TabBar {
38910
38701
  const { color, translucent, keyboardVisible } = this;
38911
38702
  const mode = getIonMode$1(this);
38912
38703
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
38913
- return (hAsync(Host, { key: '148f65df0818e9d220a9b46db74cb89ab94e62d2', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
38704
+ return (hAsync(Host, { key: '24e164eaf81a0bec9237b561465618f10990806c', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
38914
38705
  [mode]: true,
38915
38706
  'tab-bar-translucent': translucent,
38916
38707
  'tab-bar-hidden': shouldHide,
38917
- }) }, hAsync("slot", { key: 'a64e235f3703662e2dd7a834f752cc5b1490adbc' })));
38708
+ }) }, hAsync("slot", { key: '0ca29a2d97a7c38bbf43f8d79e271b874b4d9be8' })));
38918
38709
  }
38919
38710
  get el() { return getElement(this); }
38920
38711
  static get watchers() { return {
@@ -39012,7 +38803,7 @@ class TabButton {
39012
38803
  rel,
39013
38804
  target,
39014
38805
  };
39015
- return (hAsync(Host, { key: '1034b5a928ecec49bd8efec3730ea1b11a579cf3', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
38806
+ return (hAsync(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
39016
38807
  [mode]: true,
39017
38808
  'tab-selected': selected,
39018
38809
  'tab-disabled': disabled,
@@ -39024,7 +38815,7 @@ class TabButton {
39024
38815
  'ion-activatable': true,
39025
38816
  'ion-selectable': true,
39026
38817
  'ion-focusable': true,
39027
- } }, hAsync("a", Object.assign({ key: '4cc8e695425956ffc7622af27c1b88a45f8a0c68' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'c529c166f557e1a5c744873c075b564c49786a2c', class: "button-inner" }, hAsync("slot", { key: 'f832355934d80267cd6e81e58b9c5afce0b42907' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '90e79bdf38ba1cd89fca9ce63465e26a29b49316', type: "unbounded" }))));
38818
+ } }, hAsync("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, hAsync("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
39028
38819
  }
39029
38820
  get el() { return getElement(this); }
39030
38821
  static get style() { return {
@@ -39215,7 +39006,7 @@ class Tabs {
39215
39006
  return Array.from(this.el.querySelectorAll('ion-tab'));
39216
39007
  }
39217
39008
  render() {
39218
- return (hAsync(Host, { key: 'ba04a29fdd02d7c758cbaa98cfc589949872d832', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'd5794140152e2c251e567eeb06afc392af74749d', name: "top" }), hAsync("div", { key: '26fb83786637fe7288901fbbdb3694b8bc94329f', class: "tabs-inner" }, hAsync("slot", { key: '60c663a8647e684455b533eaf5fa3908f9333ae9' })), hAsync("slot", { key: '2d9f7d07c8cdc72f5df200fa71fa56a9dd822c4c', name: "bottom" })));
39009
+ return (hAsync(Host, { key: 'c7131135b31aa312dc0207602561e1c0f4ac3e53', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '6c46e91c0389bbcea1f15f35cf3ea513a74ac545', name: "top" }), hAsync("div", { key: '4f1b649d8bb60b61402b97359de204979c5eda52', class: "tabs-inner" }, hAsync("slot", { key: '8d1ef4952be4fb33567376e1083ea4da697fcae0' })), hAsync("slot", { key: '260b8da8031494e9cb4635b3d22c49a433042db1', name: "bottom" })));
39219
39010
  }
39220
39011
  get el() { return getElement(this); }
39221
39012
  static get style() { return tabsCss(); }
@@ -39255,9 +39046,9 @@ class Text {
39255
39046
  }
39256
39047
  render() {
39257
39048
  const mode = getIonMode$1(this);
39258
- return (hAsync(Host, { key: '41ed8da617ed0e07bbfe96e32a000e1c6503e24e', class: createColorClasses$1(this.color, {
39049
+ return (hAsync(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses$1(this.color, {
39259
39050
  [mode]: true,
39260
- }) }, hAsync("slot", { key: 'db8de04a2493537b3037f276b03abd92dfa56847' })));
39051
+ }) }, hAsync("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
39261
39052
  }
39262
39053
  static get style() { return textCss(); }
39263
39054
  static get cmpMeta() { return {
@@ -39718,7 +39509,7 @@ class Textarea {
39718
39509
  * TODO(FW-5592): Remove hasStartEndSlots condition
39719
39510
  */
39720
39511
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
39721
- return (hAsync(Host, { key: 'eca1dfed53189408f614661ef3902cdb73d5f5de', class: createColorClasses$1(this.color, {
39512
+ return (hAsync(Host, { key: '4257e84acd46f43390fa2413d0b8f40e16a37499', class: createColorClasses$1(this.color, {
39722
39513
  [mode]: true,
39723
39514
  'has-value': hasValue,
39724
39515
  'has-focus': hasFocus,
@@ -39727,7 +39518,7 @@ class Textarea {
39727
39518
  [`textarea-shape-${shape}`]: shape !== undefined,
39728
39519
  [`textarea-label-placement-${labelPlacement}`]: true,
39729
39520
  'textarea-disabled': disabled,
39730
- }) }, hAsync("label", { key: 'd4d835ffedbf8b6de192096e21167ec4f7e01d30', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '39b03e26c23473de31a0237543eaf1e0875e6ed9', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'e9e0997e7dc6d25f09e8439d81e138590c33a151', class: "start-slot-wrapper" }, hAsync("slot", { key: '2d88aace11d74196758e40af27a777eebb270019', name: "start" })), hAsync("div", { key: '8434424404f9fe707f9209ac6495a33bae060538', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '5bb8eaeba76c39bccadb7c041a10fb077c422dcc', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: '107707676552f8faca3e708285cc3266061a0394', class: "end-slot-wrapper" }, hAsync("slot", { key: 'dc890ffdce898f3d39a315e7bc432840559be466', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '4554ad09ac0908cea2e90bfa2301b4cd80ac7242', class: "textarea-highlight" })), this.renderBottomContent()));
39521
+ }) }, hAsync("label", { key: '003da35bad92ab36777b7ae40855541bf900c64a', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '3cae2d19f96ba2b18a2d64298fdcc4b64ad34ac7', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'e26cb06763d551f7f83b6ea80349871aab18a016', class: "start-slot-wrapper" }, hAsync("slot", { key: '135ba6db893eaca5f2a785fe61e24f33f56f3765', name: "start" })), hAsync("div", { key: '951eabdd01c5e370790cec8578268361dcc8abdc', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '13d78f1a934b9f8d85cd9ed386dabc786f953f1d', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: '699038558019470bccb4853fa65e7aeb069e0baa', class: "end-slot-wrapper" }, hAsync("slot", { key: '19d8c212d7c718aeb6924e10bf8e48cad01314ea', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '910a9437437ce7cab21e37a1cb4a6b309afda58f', class: "textarea-highlight" })), this.renderBottomContent()));
39731
39522
  }
39732
39523
  get el() { return getElement(this); }
39733
39524
  static get watchers() { return {
@@ -39796,7 +39587,7 @@ class Thumbnail {
39796
39587
  registerInstance(this, hostRef);
39797
39588
  }
39798
39589
  render() {
39799
- return (hAsync(Host, { key: '833e947c683b482a78f8f0df8c9a68e99478bbaa', class: getIonMode$1(this) }, hAsync("slot", { key: '6d1e9e686db88d91379f14121058dbf035d8ded2' })));
39590
+ return (hAsync(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode$1(this) }, hAsync("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
39800
39591
  }
39801
39592
  static get style() { return thumbnailCss(); }
39802
39593
  static get cmpMeta() { return {
@@ -40656,9 +40447,9 @@ class Toast {
40656
40447
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
40657
40448
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
40658
40449
  }
40659
- return (hAsync(Host, Object.assign({ key: '2acb2cd2e12ea0082986495929e4a596d4da2f38', tabindex: "-1" }, this.htmlAttributes, { style: {
40450
+ return (hAsync(Host, Object.assign({ key: 'b5256edcf33d0ef51e6c5080c84e1ca58abe2ae0', tabindex: "-1" }, this.htmlAttributes, { style: {
40660
40451
  zIndex: `${60000 + this.overlayIndex}`,
40661
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '8b24ba5d3d51d1ab94b9bf6bb5d6e4b8bb3248a7', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'e1ebdf4f0425cc7b1e2688667ee9a2b3c545804a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '552b1ab8f4e72882cc8e878579c7a594119677e1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '8ac8d64f632fbedadb180132c83043474466bee0', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
40452
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '0860f7e895d8bc66e44c4d924ca569f4cbb1a749', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: '28784199c880a3f664677c8f5560b7caa8903251', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '0a63ba1336ad43d2aec14e49055eb46c112359c2', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'ecec8107af582dc55d4b3828dd7f3054a29f26b1', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
40662
40453
  }
40663
40454
  get el() { return getElement(this); }
40664
40455
  static get watchers() { return {
@@ -40976,7 +40767,7 @@ class Toggle {
40976
40767
  const value = this.getValue();
40977
40768
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
40978
40769
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
40979
- return (hAsync(Host, { key: 'ab093ddb505af61685cbb8571af1e765fc0292f8', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
40770
+ return (hAsync(Host, { key: '736e1dcfca34fd41f6f0632652e7f86d6996a232', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
40980
40771
  [mode]: true,
40981
40772
  'in-item': hostContext('ion-item', el),
40982
40773
  'toggle-activated': activated,
@@ -40986,10 +40777,10 @@ class Toggle {
40986
40777
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
40987
40778
  [`toggle-label-placement-${labelPlacement}`]: true,
40988
40779
  [`toggle-${rtl}`]: true,
40989
- }) }, hAsync("label", { key: 'b4b05e458fcbc767e4392ae43e647b075780cad0', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'c09100447011c51d5b49b4400ec7d72012e3bc6f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '71cf059a999ae572a20127b76907e010ace486ad', class: {
40780
+ }) }, hAsync("label", { key: 'e697739fd3964c1c6c23331cf7e38a9841c46a6a', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '3d500b8c1bc879591249d183c1abb3f5f26aff6b', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: 'e38f3fe0e66b4ca434fd81514f5ef771c2960841', class: {
40990
40781
  'label-text-wrapper': true,
40991
40782
  'label-text-wrapper-hidden': !hasLabel,
40992
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c480b96a0ddd926568f73291d71253d6f74438c7' }), this.renderHintText()), hAsync("div", { key: '96a2cbd1673e051a78f8b2b16535ecd3f0ed4339', class: "native-wrapper" }, this.renderToggleControl()))));
40783
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '006dd3558264d69ab020c07005b348adc4ecdd5b' }), this.renderHintText()), hAsync("div", { key: 'dd4e52de31caabee41ec1bc58efecd1e213368c9', class: "native-wrapper" }, this.renderToggleControl()))));
40993
40784
  }
40994
40785
  get el() { return getElement(this); }
40995
40786
  static get watchers() { return {
@@ -41101,10 +40892,10 @@ class Toolbar {
41101
40892
  this.childrenStyles.forEach((value) => {
41102
40893
  Object.assign(childStyles, value);
41103
40894
  });
41104
- return (hAsync(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
40895
+ return (hAsync(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
41105
40896
  [mode]: true,
41106
40897
  'in-toolbar': hostContext('ion-toolbar', this.el),
41107
- })) }, hAsync("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), hAsync("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), hAsync("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), hAsync("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), hAsync("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), hAsync("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
40898
+ })) }, hAsync("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), hAsync("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), hAsync("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), hAsync("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), hAsync("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), hAsync("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
41108
40899
  }
41109
40900
  get el() { return getElement(this); }
41110
40901
  static get style() { return {
@@ -41150,11 +40941,11 @@ class ToolbarTitle {
41150
40941
  render() {
41151
40942
  const mode = getIonMode$1(this);
41152
40943
  const size = this.getSize();
41153
- return (hAsync(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses$1(this.color, {
40944
+ return (hAsync(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses$1(this.color, {
41154
40945
  [mode]: true,
41155
40946
  [`title-${size}`]: true,
41156
40947
  'title-rtl': document.dir === 'rtl',
41157
- }) }, hAsync("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, hAsync("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
40948
+ }) }, hAsync("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, hAsync("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
41158
40949
  }
41159
40950
  get el() { return getElement(this); }
41160
40951
  static get watchers() { return {
@@ -41234,8 +41025,10 @@ registerComponents([
41234
41025
  Nav,
41235
41026
  NavLink,
41236
41027
  Note,
41028
+ Picker$1,
41237
41029
  Picker,
41238
41030
  PickerColumn,
41031
+ PickerColumnCmp,
41239
41032
  PickerColumnOption,
41240
41033
  Popover,
41241
41034
  ProgressBar,