@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a

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 (476) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +1 -1
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input-otp.js +1 -1
  36. package/components/ion-input-password-toggle.js +1 -1
  37. package/components/ion-input.js +1 -1
  38. package/components/ion-item-divider.js +1 -1
  39. package/components/ion-item-group.js +1 -1
  40. package/components/ion-item-option.js +1 -1
  41. package/components/ion-item-options.js +1 -1
  42. package/components/ion-item-sliding.js +1 -1
  43. package/components/ion-item.js +1 -1
  44. package/components/ion-label.js +1 -1
  45. package/components/ion-list-header.js +1 -1
  46. package/components/ion-list.js +1 -1
  47. package/components/ion-loading.js +1 -1
  48. package/components/ion-menu-button.js +1 -1
  49. package/components/ion-menu-toggle.js +1 -1
  50. package/components/ion-menu.js +1 -1
  51. package/components/ion-modal.js +1 -1
  52. package/components/ion-nav.js +1 -1
  53. package/components/ion-note.js +1 -1
  54. package/components/ion-picker-column-option.js +1 -1
  55. package/components/ion-picker-column.js +1 -1
  56. package/components/ion-popover.js +1 -1
  57. package/components/ion-progress-bar.js +1 -1
  58. package/components/ion-radio-group.js +1 -1
  59. package/components/ion-radio.js +1 -1
  60. package/components/ion-range.js +1 -1
  61. package/components/ion-refresher-content.js +1 -1
  62. package/components/ion-refresher.js +1 -1
  63. package/components/ion-reorder-group.js +1 -1
  64. package/components/ion-reorder.js +1 -1
  65. package/components/ion-ripple-effect.js +1 -1
  66. package/components/ion-router-link.js +1 -1
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +1 -1
  70. package/components/ion-searchbar.js +1 -1
  71. package/components/ion-segment-button.js +1 -1
  72. package/components/ion-segment-content.js +1 -1
  73. package/components/ion-segment-view.js +1 -1
  74. package/components/ion-segment.js +1 -1
  75. package/components/ion-select-modal.js +1 -1
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select-popover.js +1 -1
  78. package/components/ion-select.js +1 -1
  79. package/components/ion-skeleton-text.js +1 -1
  80. package/components/ion-spinner.js +1 -1
  81. package/components/ion-split-pane.js +1 -1
  82. package/components/ion-tab-bar.js +1 -1
  83. package/components/ion-tab-button.js +1 -1
  84. package/components/ion-tab.js +1 -1
  85. package/components/ion-tabs.js +1 -1
  86. package/components/ion-text.js +1 -1
  87. package/components/ion-textarea.js +1 -1
  88. package/components/ion-thumbnail.js +1 -1
  89. package/components/ion-title.js +1 -1
  90. package/components/ion-toast.js +1 -1
  91. package/components/ion-toggle.js +1 -1
  92. package/components/ion-toolbar.js +1 -1
  93. package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
  94. package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
  95. package/components/p-BG9RNTmW.js +4 -0
  96. package/components/p-BSQPZ79H.js +4 -0
  97. package/components/p-BnTB62Lu.js +4 -0
  98. package/components/p-BwKpO3Is.js +4 -0
  99. package/components/p-CEktCi-l.js +4 -0
  100. package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
  101. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  102. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  103. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  104. package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
  105. package/components/p-CwcD5kE9.js +4 -0
  106. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  107. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  108. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  109. package/components/p-D1-tlI3U.js +4 -0
  110. package/components/p-D2D6VdCA.js +4 -0
  111. package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
  112. package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
  113. package/components/p-DK0D_QD_.js +4 -0
  114. package/components/p-DXTfY6aF.js +4 -0
  115. package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
  116. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  117. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  118. package/components/p-Dtmv7Nm_.js +4 -0
  119. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  120. package/components/p-FV45cfy9.js +4 -0
  121. package/components/p-LMGfIvTf.js +4 -0
  122. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  123. package/components/p-jOtMJMv8.js +4 -0
  124. package/components/p-xjzudrQv.js +4 -0
  125. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  126. package/dist/cjs/config-DWdFbSNK.js +35 -0
  127. package/dist/cjs/index-Cueg3U4w.js +429 -0
  128. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  129. package/dist/cjs/index.cjs.js +7 -7
  130. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
  132. package/dist/cjs/ion-alert.cjs.entry.js +65 -26
  133. package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
  134. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  143. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  144. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
  145. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-img.cjs.entry.js +4 -2
  147. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
  148. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  149. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-loading.cjs.entry.js +11 -6
  154. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  155. package/dist/cjs/ion-modal.cjs.entry.js +24 -33
  156. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  157. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  158. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  159. package/dist/cjs/ion-popover.cjs.entry.js +10 -6
  160. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
  164. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
  167. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
  172. package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
  173. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  176. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-toast.cjs.entry.js +7 -6
  180. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  181. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  182. package/dist/cjs/ionic.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  185. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
  186. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  187. package/dist/collection/collection-manifest.json +6 -10
  188. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  190. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  191. package/dist/collection/components/alert/alert.ios.css +280 -10
  192. package/dist/collection/components/alert/alert.js +59 -21
  193. package/dist/collection/components/alert/alert.md.css +269 -20
  194. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  195. package/dist/collection/components/datetime/datetime.js +10 -17
  196. package/dist/collection/components/datetime/datetime.md.css +42 -1
  197. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  198. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  199. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  200. package/dist/collection/components/img/img.js +6 -1
  201. package/dist/collection/components/input/input.js +8 -8
  202. package/dist/collection/components/loading/loading.js +7 -3
  203. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  204. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  205. package/dist/collection/components/modal/modal.ios.css +0 -8
  206. package/dist/collection/components/modal/modal.js +23 -18
  207. package/dist/collection/components/modal/modal.md.css +0 -8
  208. package/dist/collection/components/nav/nav.js +4 -219
  209. package/dist/collection/components/picker-column/picker-column.css +3 -0
  210. package/dist/collection/components/picker-column/picker-column.js +4 -11
  211. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  212. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  213. package/dist/collection/components/popover/popover.ios.css +15 -0
  214. package/dist/collection/components/popover/popover.js +7 -3
  215. package/dist/collection/components/popover/popover.md.css +15 -0
  216. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  217. package/dist/collection/components/radio/radio.js +4 -4
  218. package/dist/collection/components/range/range.js +3 -3
  219. package/dist/collection/components/refresher/refresher.js +1 -1
  220. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  221. package/dist/collection/components/reorder/reorder.js +1 -1
  222. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  223. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  224. package/dist/collection/components/route/route.js +1 -1
  225. package/dist/collection/components/router/utils/dom.js +22 -3
  226. package/dist/collection/components/router-link/router-link.js +2 -2
  227. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  228. package/dist/collection/components/row/row.js +1 -1
  229. package/dist/collection/components/searchbar/searchbar.js +9 -9
  230. package/dist/collection/components/segment/segment.js +2 -2
  231. package/dist/collection/components/segment-button/segment-button.js +2 -2
  232. package/dist/collection/components/segment-content/segment-content.js +1 -1
  233. package/dist/collection/components/segment-view/segment-view.js +2 -2
  234. package/dist/collection/components/select/select.ios.css +33 -0
  235. package/dist/collection/components/select/select.js +323 -16
  236. package/dist/collection/components/select/select.md.css +33 -0
  237. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  238. package/dist/collection/components/select-modal/select-modal.js +79 -26
  239. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  240. package/dist/collection/components/select-option/select-option.js +67 -3
  241. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  242. package/dist/collection/components/select-popover/select-popover.js +78 -26
  243. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  244. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  245. package/dist/collection/components/spinner/spinner.js +1 -1
  246. package/dist/collection/components/split-pane/split-pane.js +2 -2
  247. package/dist/collection/components/tab/tab.js +2 -2
  248. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  249. package/dist/collection/components/tab-button/tab-button.js +2 -2
  250. package/dist/collection/components/tabs/tabs.js +1 -1
  251. package/dist/collection/components/text/text.js +2 -2
  252. package/dist/collection/components/textarea/textarea.js +2 -2
  253. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  254. package/dist/collection/components/title/title.js +2 -2
  255. package/dist/collection/components/toast/toast.js +2 -2
  256. package/dist/collection/components/toggle/toggle.js +3 -3
  257. package/dist/collection/components/toolbar/toolbar.js +2 -2
  258. package/dist/collection/index.js +1 -1
  259. package/dist/collection/utils/overlay-control-label.js +45 -0
  260. package/dist/collection/utils/overlays.js +26 -30
  261. package/dist/collection/utils/platform.js +2 -2
  262. package/dist/collection/utils/sanitization/index.js +274 -18
  263. package/dist/collection/utils/select-option-render.js +119 -0
  264. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  265. package/dist/docs.json +556 -1272
  266. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  267. package/dist/esm/config-BwKpO3Is.js +31 -0
  268. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  269. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  270. package/dist/esm/index-DQSkZyOJ.js +424 -0
  271. package/dist/esm/index.js +5 -4
  272. package/dist/esm/ion-accordion_2.entry.js +2 -2
  273. package/dist/esm/ion-action-sheet.entry.js +28 -8
  274. package/dist/esm/ion-alert.entry.js +64 -25
  275. package/dist/esm/ion-app_8.entry.js +24 -10
  276. package/dist/esm/ion-avatar_3.entry.js +2 -2
  277. package/dist/esm/ion-back-button.entry.js +2 -2
  278. package/dist/esm/ion-backdrop.entry.js +1 -1
  279. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  280. package/dist/esm/ion-button_2.entry.js +1 -1
  281. package/dist/esm/ion-card_5.entry.js +1 -1
  282. package/dist/esm/ion-checkbox.entry.js +1 -1
  283. package/dist/esm/ion-chip.entry.js +1 -1
  284. package/dist/esm/ion-col_3.entry.js +2 -2
  285. package/dist/esm/ion-datetime-button.entry.js +5 -11
  286. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
  287. package/dist/esm/ion-fab_3.entry.js +2 -2
  288. package/dist/esm/ion-img.entry.js +5 -3
  289. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
  290. package/dist/esm/ion-input-otp.entry.js +1 -1
  291. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  292. package/dist/esm/ion-input.entry.js +6 -6
  293. package/dist/esm/ion-item-option_3.entry.js +1 -1
  294. package/dist/esm/ion-item_8.entry.js +4 -4
  295. package/dist/esm/ion-loading.entry.js +10 -5
  296. package/dist/esm/ion-menu_3.entry.js +4 -4
  297. package/dist/esm/ion-modal.entry.js +24 -33
  298. package/dist/esm/ion-nav_2.entry.js +4 -117
  299. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  300. package/dist/esm/ion-picker-column.entry.js +5 -11
  301. package/dist/esm/ion-popover.entry.js +10 -6
  302. package/dist/esm/ion-progress-bar.entry.js +2 -2
  303. package/dist/esm/ion-radio_2.entry.js +4 -4
  304. package/dist/esm/ion-range.entry.js +4 -4
  305. package/dist/esm/ion-refresher_2.entry.js +6 -5
  306. package/dist/esm/ion-reorder_2.entry.js +4 -4
  307. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  308. package/dist/esm/ion-route_4.entry.js +19 -5
  309. package/dist/esm/ion-searchbar.entry.js +7 -7
  310. package/dist/esm/ion-segment-content.entry.js +1 -1
  311. package/dist/esm/ion-segment-view.entry.js +2 -2
  312. package/dist/esm/ion-segment_2.entry.js +5 -5
  313. package/dist/esm/ion-select-modal.entry.js +85 -31
  314. package/dist/esm/ion-select_3.entry.js +411 -53
  315. package/dist/esm/ion-spinner.entry.js +2 -2
  316. package/dist/esm/ion-split-pane.entry.js +3 -3
  317. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  318. package/dist/esm/ion-tab_2.entry.js +3 -3
  319. package/dist/esm/ion-text.entry.js +3 -3
  320. package/dist/esm/ion-textarea.entry.js +3 -3
  321. package/dist/esm/ion-toast.entry.js +6 -5
  322. package/dist/esm/ion-toggle.entry.js +5 -5
  323. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  324. package/dist/esm/ionic.js +3 -3
  325. package/dist/esm/loader.js +3 -3
  326. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  327. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
  328. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  329. package/dist/html.html-data.json +52 -80
  330. package/dist/ionic/index.esm.js +1 -1
  331. package/dist/ionic/ionic.esm.js +1 -1
  332. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  333. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  334. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  335. package/dist/ionic/p-129d3ed9.entry.js +4 -0
  336. package/dist/ionic/p-1d9e649a.entry.js +4 -0
  337. package/dist/ionic/p-2b3a2a38.entry.js +4 -0
  338. package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
  339. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  340. package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
  341. package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
  342. package/dist/ionic/p-3d719e91.entry.js +4 -0
  343. package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
  344. package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
  345. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  346. package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
  347. package/dist/ionic/p-570a212e.entry.js +4 -0
  348. package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
  349. package/dist/ionic/p-686de5dc.entry.js +4 -0
  350. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  351. package/dist/ionic/p-73d06afe.entry.js +4 -0
  352. package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
  353. package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
  354. package/dist/ionic/p-7cb5cf53.entry.js +4 -0
  355. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  356. package/dist/ionic/p-845eb5d5.entry.js +4 -0
  357. package/dist/ionic/p-88f33e44.entry.js +4 -0
  358. package/dist/ionic/p-89c9c057.entry.js +4 -0
  359. package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
  360. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  361. package/dist/ionic/p-8cde6208.entry.js +4 -0
  362. package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
  363. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  364. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  365. package/dist/ionic/p-BDtODLZ4.js +4 -0
  366. package/dist/ionic/p-BSQPZ79H.js +4 -0
  367. package/dist/ionic/p-BwKpO3Is.js +4 -0
  368. package/dist/ionic/p-CGqbOURp.js +4 -0
  369. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  370. package/dist/ionic/p-DCOvXkOm.js +4 -0
  371. package/dist/ionic/p-DZigX5id.js +4 -0
  372. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  373. package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
  374. package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
  375. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  376. package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
  377. package/dist/ionic/p-b7737b44.entry.js +4 -0
  378. package/dist/ionic/p-ba99d16b.entry.js +4 -0
  379. package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
  380. package/dist/ionic/p-cf68f89c.entry.js +4 -0
  381. package/dist/ionic/p-d183a4ba.entry.js +4 -0
  382. package/dist/ionic/p-d57560ff.entry.js +4 -0
  383. package/dist/ionic/p-d5be2815.entry.js +4 -0
  384. package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
  385. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  386. package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
  387. package/dist/ionic/p-f09f9642.entry.js +4 -0
  388. package/dist/ionic/p-f2ae690a.entry.js +4 -0
  389. package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
  390. package/dist/ionic/p-f88310b9.entry.js +4 -0
  391. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  392. package/dist/types/components/img/img.d.ts +2 -0
  393. package/dist/types/components/input/input.d.ts +1 -1
  394. package/dist/types/components/modal/modal.d.ts +11 -4
  395. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  396. package/dist/types/components/nav/nav.d.ts +2 -22
  397. package/dist/types/components/route/route.d.ts +1 -1
  398. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  399. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  400. package/dist/types/components/select/select-interface.d.ts +31 -0
  401. package/dist/types/components/select/select.d.ts +18 -0
  402. package/dist/types/components/select-option/select-option.d.ts +42 -1
  403. package/dist/types/components.d.ts +74 -311
  404. package/dist/types/index.d.ts +1 -1
  405. package/dist/types/interface.d.ts +0 -1
  406. package/dist/types/utils/config.d.ts +0 -8
  407. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  408. package/dist/types/utils/overlays.d.ts +11 -9
  409. package/dist/types/utils/sanitization/index.d.ts +58 -2
  410. package/dist/types/utils/select-option-render.d.ts +53 -0
  411. package/hydrate/index.js +1355 -1261
  412. package/hydrate/index.mjs +1355 -1261
  413. package/package.json +37 -5
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -4
  416. package/components/ion-picker-legacy.d.ts +0 -11
  417. package/components/ion-picker-legacy.js +0 -4
  418. package/components/p-BIPPbW0M.js +0 -4
  419. package/components/p-BUYFy35a.js +0 -4
  420. package/components/p-BWEZufiK.js +0 -4
  421. package/components/p-BjfgFSSR.js +0 -4
  422. package/components/p-BqpciLfi.js +0 -4
  423. package/components/p-BsPelv04.js +0 -4
  424. package/components/p-BsQPAqo9.js +0 -4
  425. package/components/p-CRNiQiYf.js +0 -4
  426. package/components/p-CU5rbWAW.js +0 -4
  427. package/components/p-DOFCbuQR.js +0 -4
  428. package/components/p-W5nO8mX_.js +0 -4
  429. package/components/p-k_E4tX5Z.js +0 -4
  430. package/components/p-nyXeHk23.js +0 -4
  431. package/dist/cjs/config-xninhj0J.js +0 -201
  432. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  433. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  434. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  435. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  436. package/dist/collection/components/picker-legacy/picker.js +0 -890
  437. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  441. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  442. package/dist/esm/config-DQCONYYp.js +0 -195
  443. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  444. package/dist/ionic/p-06c232a4.entry.js +0 -4
  445. package/dist/ionic/p-0dc33652.entry.js +0 -4
  446. package/dist/ionic/p-20b1a044.entry.js +0 -4
  447. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  448. package/dist/ionic/p-27d30585.entry.js +0 -4
  449. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  450. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  451. package/dist/ionic/p-485fda23.entry.js +0 -4
  452. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  453. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  454. package/dist/ionic/p-50e1194a.entry.js +0 -4
  455. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  456. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  457. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  458. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  459. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  460. package/dist/ionic/p-D-3ycHmd.js +0 -4
  461. package/dist/ionic/p-DzWaWHGc.js +0 -4
  462. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  463. package/dist/ionic/p-SNAkTDfm.js +0 -4
  464. package/dist/ionic/p-a21add2f.entry.js +0 -4
  465. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  466. package/dist/ionic/p-c38b648e.entry.js +0 -4
  467. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  468. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  469. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  470. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  471. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  472. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  473. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  474. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  475. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  476. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -1,3 +1,222 @@
1
+ /**
2
+ * A heuristic that applies CSS to tablet
3
+ * viewports.
4
+ *
5
+ * Usage:
6
+ * @include tablet-viewport() {
7
+ * :host {
8
+ * background-color: green;
9
+ * }
10
+ * }
11
+ */
12
+ /**
13
+ * A heuristic that applies CSS to mobile
14
+ * viewports (i.e. phones, not tablets).
15
+ *
16
+ * Usage:
17
+ * @include mobile-viewport() {
18
+ * :host {
19
+ * background-color: blue;
20
+ * }
21
+ * }
22
+ */
23
+ /**
24
+ * Convert a font size to a dynamic font size.
25
+ * Fonts that participate in Dynamic Type should use
26
+ * dynamic font sizes.
27
+ * @param size - The initial font size including the unit (i.e. px or pt)
28
+ * @param unit (optional) - The unit to convert to. Use this if you want to
29
+ * convert to a unit other than $baselineUnit.
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size but impose
33
+ * a maximum font size.
34
+ * @param size - The initial font size including the unit (i.e. px or pt)
35
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
36
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a minimum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * maximum and minimum font sizes.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
+ * convert to a unit other than $baselineUnit.
55
+ */
56
+ .action-sheet-button-label-has-rich-content,
57
+ .alert-radio-label-has-rich-content,
58
+ .alert-checkbox-label-has-rich-content,
59
+ .select-option-label-has-rich-content {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 16px;
63
+ }
64
+
65
+ /**
66
+ * Outer label container has rich content
67
+ * (start, content, description, end) that needs the
68
+ * label to span the available row width.
69
+ */
70
+ .action-sheet-button-label-has-rich-content,
71
+ .alert-radio-label-has-rich-content,
72
+ .alert-checkbox-label-has-rich-content,
73
+ .select-option-content {
74
+ flex: 1;
75
+ }
76
+
77
+ .action-sheet-button-label-text,
78
+ .alert-checkbox-label-text,
79
+ .alert-radio-label-text,
80
+ .select-option-label-text {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 12px;
84
+ }
85
+
86
+ .select-option-start,
87
+ .select-option-end {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: 8px;
91
+ }
92
+
93
+ .select-option-description {
94
+ padding-left: 0;
95
+ padding-right: 0;
96
+ padding-top: 5px;
97
+ padding-bottom: 0;
98
+ display: block;
99
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
100
+ font-size: 0.75rem;
101
+ }
102
+
103
+ /**
104
+ * Non-rich labels are plain text and should ellipsize when they
105
+ * overflow the row. Rich-content labels switch to flex so the
106
+ * start / content / end pieces can lay out side-by-side and wrap.
107
+ */
108
+ .select-option-label:not(.select-option-label-has-rich-content) {
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ overflow: hidden;
112
+ }
113
+
114
+ .select-option-label-has-rich-content {
115
+ display: flex;
116
+ align-items: center;
117
+ }
118
+
119
+ ion-radio.select-option-has-rich-content::part(label),
120
+ ion-checkbox.select-option-has-rich-content::part(label),
121
+ .select-option-content {
122
+ flex: 1;
123
+ /**
124
+ * Let rich content wrap instead of inheriting the label part's
125
+ * single-line truncation, so arbitrary slotted elements render
126
+ * without clipping.
127
+ */
128
+ white-space: normal;
129
+ }
130
+
131
+ /**
132
+ * Convert a font size to a dynamic font size.
133
+ * Fonts that participate in Dynamic Type should use
134
+ * dynamic font sizes.
135
+ * @param size - The initial font size including the unit (i.e. px or pt)
136
+ * @param unit (optional) - The unit to convert to. Use this if you want to
137
+ * convert to a unit other than $baselineUnit.
138
+ */
139
+ /**
140
+ * Convert a font size to a dynamic font size but impose
141
+ * a maximum font size.
142
+ * @param size - The initial font size including the unit (i.e. px or pt)
143
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
144
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
145
+ * convert to a unit other than $baselineUnit.
146
+ */
147
+ /**
148
+ * Convert a font size to a dynamic font size but impose
149
+ * a minimum font size.
150
+ * @param size - The initial font size including the unit (i.e. px or pt)
151
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
152
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
153
+ * convert to a unit other than $baselineUnit.
154
+ */
155
+ /**
156
+ * Convert a font size to a dynamic font size but impose
157
+ * maximum and minimum font sizes.
158
+ * @param size - The initial font size including the unit (i.e. px or pt)
159
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
160
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
161
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
162
+ * convert to a unit other than $baselineUnit.
163
+ */
164
+ /**
165
+ * A heuristic that applies CSS to tablet
166
+ * viewports.
167
+ *
168
+ * Usage:
169
+ * @include tablet-viewport() {
170
+ * :host {
171
+ * background-color: green;
172
+ * }
173
+ * }
174
+ */
175
+ /**
176
+ * A heuristic that applies CSS to mobile
177
+ * viewports (i.e. phones, not tablets).
178
+ *
179
+ * Usage:
180
+ * @include mobile-viewport() {
181
+ * :host {
182
+ * background-color: blue;
183
+ * }
184
+ * }
185
+ */
186
+ /**
187
+ * Cap slotted children so they can't stretch the option
188
+ * row out of proportion, keeping rows visually uniform
189
+ * regardless of the content.
190
+ */
191
+ .select-option-start > ion-avatar,
192
+ .select-option-start > ion-img,
193
+ .select-option-start > ion-thumbnail,
194
+ .select-option-start > img,
195
+ .select-option-start > svg,
196
+ .select-option-end > ion-avatar,
197
+ .select-option-end > ion-img,
198
+ .select-option-end > ion-thumbnail,
199
+ .select-option-end > img,
200
+ .select-option-end > svg {
201
+ width: 44px;
202
+ height: 44px;
203
+ }
204
+
205
+ .select-option-start > ion-icon,
206
+ .select-option-end > ion-icon {
207
+ width: 28px;
208
+ height: 28px;
209
+ }
210
+
211
+ .action-sheet-button-label-text {
212
+ justify-content: center;
213
+ }
214
+
215
+ .select-option-has-rich-content {
216
+ -webkit-padding-end: 16px;
217
+ padding-inline-end: 16px;
218
+ }
219
+
1
220
  /**
2
221
  * Convert a font size to a dynamic font size.
3
222
  * Fonts that participate in Dynamic Type should use
@@ -149,6 +368,10 @@
149
368
  opacity: 0.4;
150
369
  }
151
370
 
371
+ .action-sheet-button:disabled ion-icon {
372
+ color: currentColor;
373
+ }
374
+
152
375
  .action-sheet-button-inner {
153
376
  display: flex;
154
377
  position: relative;
@@ -229,13 +452,17 @@
229
452
  opacity: var(--button-background-activated-opacity);
230
453
  }
231
454
 
232
- .action-sheet-button.ion-focused {
455
+ .action-sheet-button.ion-focused:not(.ion-activated) {
233
456
  color: var(--button-color-focused);
234
457
  }
235
- .action-sheet-button.ion-focused::after {
458
+ .action-sheet-button.ion-focused:not(.ion-activated)::after {
236
459
  background: var(--button-background-focused);
237
460
  opacity: var(--button-background-focused-opacity);
238
461
  }
462
+ .action-sheet-button.ion-focused:not(.ion-activated).action-sheet-selected::after {
463
+ background: var(--button-background-focused, var(--button-background-selected));
464
+ opacity: var(--button-background-focused-opacity, var(--button-background-selected-opacity));
465
+ }
239
466
 
240
467
  @media (any-hover: hover) {
241
468
  .action-sheet-button:not(:disabled):hover {
@@ -5,7 +5,8 @@ import { Host, h, readTask } from "@stencil/core";
5
5
  import { createButtonActiveGesture } from "../../utils/gesture/button-active";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { createLockController } from "../../utils/lock-controller";
8
- import { BACKDROP, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
8
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
9
+ import { renderOptionLabel } from "../../utils/select-option-render";
9
10
  import { getClassMap } from "../../utils/theme";
10
11
  import { getIonMode } from "../../global/ionic-global";
11
12
  import { iosEnterAnimation } from "./animations/ios.enter";
@@ -284,6 +285,10 @@ export class ActionSheet {
284
285
  this.gesture = undefined;
285
286
  }
286
287
  this.triggerController.removeClickListener();
288
+ // Clean up aria-hidden if removed without dismiss() being called
289
+ if (this.presented) {
290
+ cleanupRootFocusTrapAccessibility();
291
+ }
287
292
  }
288
293
  componentWillLoad() {
289
294
  var _a;
@@ -372,12 +377,26 @@ export class ActionSheet {
372
377
  if (isRadio) {
373
378
  htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
374
379
  }
380
+ /**
381
+ * Cast to `SelectActionSheetButton` to access rich content
382
+ * fields (`startContent`, `endContent`, `description`)
383
+ * that are passed through from `ion-select` but not
384
+ * part of the public `ActionSheetButton` interface.
385
+ */
386
+ const richButton = b;
387
+ const optionLabelOptions = {
388
+ id: buttonId,
389
+ label: richButton.text,
390
+ startContent: richButton.startContent,
391
+ endContent: richButton.endContent,
392
+ description: richButton.description,
393
+ };
375
394
  return (h("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass(b)), (isRadio && { 'action-sheet-selected': isActiveRadio })), onClick: () => {
376
395
  if (isRadio) {
377
396
  this.selectRadioButton(b);
378
397
  }
379
398
  this.buttonClick(b);
380
- }, disabled: b.disabled, tabIndex: tabIndex }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null)));
399
+ }, disabled: b.disabled, tabIndex: tabIndex }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), renderOptionLabel(optionLabelOptions, 'action-sheet-button-label', true)), mode === 'md' && h("ion-ripple-effect", null)));
381
400
  });
382
401
  }
383
402
  render() {
@@ -387,12 +406,12 @@ export class ActionSheet {
387
406
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
388
407
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
389
408
  const headerID = `action-sheet-${overlayIndex}-header`;
390
- return (h(Host, Object.assign({ key: '48b63b870f2816b4cad3c606f3d9956854cee79a', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
409
+ return (h(Host, Object.assign({ key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
391
410
  zIndex: `${20000 + this.overlayIndex}`,
392
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '41dd5781f139d26b3feea33ab387451aeafacd51', tappable: this.backdropDismiss }), h("div", { key: 'f797c2657782e4e83adf90d2d796108e857a1fc0', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '8e74209321fc5e8712e3e293c91a6fa036ea45ab', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: 'c811860be2eed0b6c73fc2cc5a59cb94db2e8912', class: "action-sheet-container" }, h("div", { key: 'd36ee14b70d73eb5cd69e0c57bc5cc31daf86ab3', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '922695de191edc86451eed2552acc4f54993ea52', id: headerID, class: {
411
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'c70f00e401cac99b89412d1adb867f35bc855d57', tappable: this.backdropDismiss }), h("div", { key: '3332893ce3098f1435875480b1269b2821d41660', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'eb406b0a9e303d6f94c5c7aa99c6f4c089bfbd41', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '92ec855379f10e1e0bfce6ff68b45d3cda0c137c', class: "action-sheet-container" }, h("div", { key: 'bc88a396d75396f574961471bf7e6c4edb513353', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '33329e0193818888bdcaa443ff5ea301802e0787', id: headerID, class: {
393
412
  'action-sheet-title': true,
394
413
  'action-sheet-has-sub-title': this.subHeader !== undefined,
395
- } }, header, this.subHeader && h("div", { key: 'a119d4a93668e829f7106f11cbbdd437310f3e80', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: '1d27f36d09bedd2e4c61fea9dd9d05f8f9271aef', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: 'ed13658176c54cc45808a54a0331c297430d9bc6' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '5208e3e3535b775a443cef6fb1decd790db69b0c', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: 'b7ba489e1ee50524a5b4af670eef787844a16286', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: 'b3f88898114855853259f0001def26b4bd6e4a98' })))))), h("div", { key: '0dfd0fcdc633bf565990eaa06679608e749cf8f9', tabindex: "0", "aria-hidden": "true" })));
414
+ } }, header, this.subHeader && h("div", { key: '92ac5a9217a12b7417f7aca9c4fdb7bf6b051364', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: '020463b830fa48fc3ae647ea64f2aaa4d0969305', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: 'cefa9c70a2233f6652a81b1a2eae6e717712144d' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '56d7e2f8bfb3644e4476895164d334445fda9b2f', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '6a4a49254ec5cd96f4e0dce9447f90d8cac81913', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: '7d3c6e8d70b0922ea0f75520856285ce1005c891' })))))), h("div", { key: '958fc43e603c6a7f5d1e649d3326fce0f163b5d0', tabindex: "0", "aria-hidden": "true" })));
396
415
  }
397
416
  static get is() { return "ion-action-sheet"; }
398
417
  static get encapsulation() { return "scoped"; }
@@ -1,3 +1,168 @@
1
+ /**
2
+ * A heuristic that applies CSS to tablet
3
+ * viewports.
4
+ *
5
+ * Usage:
6
+ * @include tablet-viewport() {
7
+ * :host {
8
+ * background-color: green;
9
+ * }
10
+ * }
11
+ */
12
+ /**
13
+ * A heuristic that applies CSS to mobile
14
+ * viewports (i.e. phones, not tablets).
15
+ *
16
+ * Usage:
17
+ * @include mobile-viewport() {
18
+ * :host {
19
+ * background-color: blue;
20
+ * }
21
+ * }
22
+ */
23
+ /**
24
+ * Convert a font size to a dynamic font size.
25
+ * Fonts that participate in Dynamic Type should use
26
+ * dynamic font sizes.
27
+ * @param size - The initial font size including the unit (i.e. px or pt)
28
+ * @param unit (optional) - The unit to convert to. Use this if you want to
29
+ * convert to a unit other than $baselineUnit.
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size but impose
33
+ * a maximum font size.
34
+ * @param size - The initial font size including the unit (i.e. px or pt)
35
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
36
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a minimum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * maximum and minimum font sizes.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
+ * convert to a unit other than $baselineUnit.
55
+ */
56
+ .action-sheet-button-label-has-rich-content,
57
+ .alert-radio-label-has-rich-content,
58
+ .alert-checkbox-label-has-rich-content,
59
+ .select-option-label-has-rich-content {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 16px;
63
+ }
64
+
65
+ /**
66
+ * Outer label container has rich content
67
+ * (start, content, description, end) that needs the
68
+ * label to span the available row width.
69
+ */
70
+ .action-sheet-button-label-has-rich-content,
71
+ .alert-radio-label-has-rich-content,
72
+ .alert-checkbox-label-has-rich-content,
73
+ .select-option-content {
74
+ flex: 1;
75
+ }
76
+
77
+ .action-sheet-button-label-text,
78
+ .alert-checkbox-label-text,
79
+ .alert-radio-label-text,
80
+ .select-option-label-text {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 12px;
84
+ }
85
+
86
+ .select-option-start,
87
+ .select-option-end {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: 8px;
91
+ }
92
+
93
+ .select-option-description {
94
+ padding-left: 0;
95
+ padding-right: 0;
96
+ padding-top: 5px;
97
+ padding-bottom: 0;
98
+ display: block;
99
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
100
+ font-size: 0.75rem;
101
+ }
102
+
103
+ /**
104
+ * Non-rich labels are plain text and should ellipsize when they
105
+ * overflow the row. Rich-content labels switch to flex so the
106
+ * start / content / end pieces can lay out side-by-side and wrap.
107
+ */
108
+ .select-option-label:not(.select-option-label-has-rich-content) {
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ overflow: hidden;
112
+ }
113
+
114
+ .select-option-label-has-rich-content {
115
+ display: flex;
116
+ align-items: center;
117
+ }
118
+
119
+ ion-radio.select-option-has-rich-content::part(label),
120
+ ion-checkbox.select-option-has-rich-content::part(label),
121
+ .select-option-content {
122
+ flex: 1;
123
+ /**
124
+ * Let rich content wrap instead of inheriting the label part's
125
+ * single-line truncation, so arbitrary slotted elements render
126
+ * without clipping.
127
+ */
128
+ white-space: normal;
129
+ }
130
+
131
+ /**
132
+ * Cap slotted children so they can't stretch the option
133
+ * row out of proportion, keeping rows visually uniform
134
+ * regardless of the content.
135
+ */
136
+ .select-option-start > ion-avatar,
137
+ .select-option-end > ion-avatar {
138
+ width: 40px;
139
+ height: 40px;
140
+ }
141
+
142
+ .select-option-start > ion-icon,
143
+ .select-option-end > ion-icon {
144
+ width: 24px;
145
+ height: 24px;
146
+ }
147
+
148
+ .select-option-start > ion-img,
149
+ .select-option-start > img,
150
+ .select-option-start > svg,
151
+ .select-option-start > ion-thumbnail,
152
+ .select-option-end > ion-img,
153
+ .select-option-end > img,
154
+ .select-option-end > svg,
155
+ .select-option-end > ion-thumbnail {
156
+ width: 56px;
157
+ height: 56px;
158
+ }
159
+
160
+ .select-option-start > video,
161
+ .select-option-end > video {
162
+ width: 114px;
163
+ height: 56px;
164
+ }
165
+
1
166
  /**
2
167
  * Convert a font size to a dynamic font size.
3
168
  * Fonts that participate in Dynamic Type should use
@@ -149,6 +314,10 @@
149
314
  opacity: 0.4;
150
315
  }
151
316
 
317
+ .action-sheet-button:disabled ion-icon {
318
+ color: currentColor;
319
+ }
320
+
152
321
  .action-sheet-button-inner {
153
322
  display: flex;
154
323
  position: relative;
@@ -229,13 +398,17 @@
229
398
  opacity: var(--button-background-activated-opacity);
230
399
  }
231
400
 
232
- .action-sheet-button.ion-focused {
401
+ .action-sheet-button.ion-focused:not(.ion-activated) {
233
402
  color: var(--button-color-focused);
234
403
  }
235
- .action-sheet-button.ion-focused::after {
404
+ .action-sheet-button.ion-focused:not(.ion-activated)::after {
236
405
  background: var(--button-background-focused);
237
406
  opacity: var(--button-background-focused-opacity);
238
407
  }
408
+ .action-sheet-button.ion-focused:not(.ion-activated).action-sheet-selected::after {
409
+ background: var(--button-background-focused, var(--button-background-selected));
410
+ opacity: var(--button-background-focused-opacity, var(--button-background-selected-opacity));
411
+ }
239
412
 
240
413
  @media (any-hover: hover) {
241
414
  .action-sheet-button:not(:disabled):hover {