@ionic/core 8.8.9-dev.11781024903.1e4268e5 → 8.8.9-dev.11781201980.1b6e8398

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 (366) 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-gallery-item.d.ts +11 -0
  12. package/components/ion-gallery-item.js +4 -0
  13. package/components/ion-gallery.js +1 -1
  14. package/components/ion-grid.js +1 -1
  15. package/components/ion-header.js +1 -1
  16. package/components/ion-img.js +1 -1
  17. package/components/ion-infinite-scroll-content.js +1 -1
  18. package/components/ion-infinite-scroll.js +1 -1
  19. package/components/ion-input-otp.js +1 -1
  20. package/components/ion-input-password-toggle.js +1 -1
  21. package/components/ion-input.js +1 -1
  22. package/components/ion-item-divider.js +1 -1
  23. package/components/ion-item-group.js +1 -1
  24. package/components/ion-item-option.js +1 -1
  25. package/components/ion-item-options.js +1 -1
  26. package/components/ion-item-sliding.js +1 -1
  27. package/components/ion-item.js +1 -1
  28. package/components/ion-label.js +1 -1
  29. package/components/ion-list-header.js +1 -1
  30. package/components/ion-list.js +1 -1
  31. package/components/ion-loading.js +1 -1
  32. package/components/ion-menu-button.js +1 -1
  33. package/components/ion-menu-toggle.js +1 -1
  34. package/components/ion-menu.js +1 -1
  35. package/components/ion-modal.js +1 -1
  36. package/components/ion-nav-link.js +1 -1
  37. package/components/ion-nav.js +1 -1
  38. package/components/ion-note.js +1 -1
  39. package/components/ion-picker-column-option.js +1 -1
  40. package/components/ion-picker-legacy-column.js +1 -1
  41. package/components/ion-picker-legacy.js +1 -1
  42. package/components/ion-popover.js +1 -1
  43. package/components/ion-progress-bar.js +1 -1
  44. package/components/ion-radio-group.js +1 -1
  45. package/components/ion-radio.js +1 -1
  46. package/components/ion-range.js +1 -1
  47. package/components/ion-refresher-content.js +1 -1
  48. package/components/ion-refresher.js +1 -1
  49. package/components/ion-reorder-group.js +1 -1
  50. package/components/ion-reorder.js +1 -1
  51. package/components/ion-ripple-effect.js +1 -1
  52. package/components/ion-router-link.js +1 -1
  53. package/components/ion-router-outlet.js +1 -1
  54. package/components/ion-row.js +1 -1
  55. package/components/ion-searchbar.js +1 -1
  56. package/components/ion-segment-button.js +1 -1
  57. package/components/ion-segment-content.js +1 -1
  58. package/components/ion-segment-view.js +1 -1
  59. package/components/ion-segment.js +1 -1
  60. package/components/ion-select-modal.js +1 -1
  61. package/components/ion-select-option.js +1 -1
  62. package/components/ion-select-popover.js +1 -1
  63. package/components/ion-select.js +1 -1
  64. package/components/ion-skeleton-text.js +1 -1
  65. package/components/ion-spinner.js +1 -1
  66. package/components/ion-split-pane.js +1 -1
  67. package/components/ion-tab-bar.js +1 -1
  68. package/components/ion-tab-button.js +1 -1
  69. package/components/ion-tab.js +1 -1
  70. package/components/ion-tabs.js +1 -1
  71. package/components/ion-text.js +1 -1
  72. package/components/ion-textarea.js +1 -1
  73. package/components/ion-thumbnail.js +1 -1
  74. package/components/ion-title.js +1 -1
  75. package/components/ion-toast.js +1 -1
  76. package/components/ion-toggle.js +1 -1
  77. package/components/ion-toolbar.js +1 -1
  78. package/components/p-BFZBl0TS.js +4 -0
  79. package/components/{p-pvh0bjpw.js → p-BVi3gqm6.js} +1 -1
  80. package/components/{p-D6g8ud1e.js → p-BVk7LVs0.js} +1 -1
  81. package/components/{p-B9MABkWm.js → p-BdUtZxku.js} +1 -1
  82. package/components/{p-CzC_ZSgb.js → p-Be8tHurp.js} +1 -1
  83. package/components/p-C0U8YqYW.js +4 -0
  84. package/components/{p-C8kBejTT.js → p-CG3ZV6ON.js} +1 -1
  85. package/components/{p-CBS0sBAa.js → p-CaqTORfV.js} +1 -1
  86. package/components/{p-D2mReIu8.js → p-CkA0SI9d.js} +1 -1
  87. package/components/p-Cmql_g3_.js +4 -0
  88. package/components/p-CsakePQg.js +4 -0
  89. package/components/{p-CgSn4J7d.js → p-D1gEOh9B.js} +1 -1
  90. package/components/p-D3qBmaqi.js +4 -0
  91. package/components/{p-Do7NMUwR.js → p-DGn-jQpr.js} +1 -1
  92. package/components/p-DH4JHV73.js +4 -0
  93. package/components/p-DYK0qX7x.js +4 -0
  94. package/components/{p-Dp2x0MpA.js → p-DfV7pOtM.js} +1 -1
  95. package/components/{p-BhkGOA7t.js → p-F3N54OKJ.js} +1 -1
  96. package/components/{p-CgZLVOCc.js → p-MPREydZp.js} +1 -1
  97. package/components/{p-kKYBfhbe.js → p-OFfrVDLw.js} +1 -1
  98. package/components/p-iZO3WzZT.js +4 -0
  99. package/components/{p-LB-QPk3e.js → p-qclL-gNR.js} +1 -1
  100. package/dist/cjs/index-BJlwOs11.js +171 -0
  101. package/dist/cjs/index.cjs.js +1 -1
  102. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-alert.cjs.entry.js +9 -25
  104. package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
  105. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
  107. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-gallery-item.cjs.entry.js +60 -0
  109. package/dist/cjs/ion-gallery.cjs.entry.js +91 -13
  110. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  114. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  115. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-item_8.cjs.entry.js +16 -15
  117. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  119. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  120. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  121. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  123. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  124. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  125. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  126. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  127. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  128. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  129. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  130. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  131. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  132. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  134. package/dist/cjs/ion-select-modal.cjs.entry.js +10 -30
  135. package/dist/cjs/ion-select_3.cjs.entry.js +43 -102
  136. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  138. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  139. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  140. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  141. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  142. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  143. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  144. package/dist/cjs/ionic.cjs.js +1 -1
  145. package/dist/cjs/loader.cjs.js +1 -1
  146. package/dist/cjs/select-option-render-C7klBX2H.js +81 -0
  147. package/dist/collection/collection-manifest.json +2 -1
  148. package/dist/collection/components/action-sheet/action-sheet.ionic.css +506 -163
  149. package/dist/collection/components/action-sheet/action-sheet.ios.css +27 -288
  150. package/dist/collection/components/action-sheet/action-sheet.md.css +27 -228
  151. package/dist/collection/components/alert/alert.ionic.css +797 -416
  152. package/dist/collection/components/alert/alert.ios.css +40 -402
  153. package/dist/collection/components/alert/alert.js +4 -20
  154. package/dist/collection/components/alert/alert.md.css +50 -385
  155. package/dist/collection/components/gallery/gallery.css +1 -86
  156. package/dist/collection/components/gallery/gallery.js +92 -13
  157. package/dist/collection/components/gallery/test/utils.js +16 -16
  158. package/dist/collection/components/gallery-item/gallery-item.css +88 -0
  159. package/dist/collection/components/gallery-item/gallery-item.js +100 -0
  160. package/dist/collection/components/grid/grid.js +2 -2
  161. package/dist/collection/components/header/header.js +2 -2
  162. package/dist/collection/components/img/img.js +2 -2
  163. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  164. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  165. package/dist/collection/components/input/input.js +4 -4
  166. package/dist/collection/components/input-otp/input-otp.js +3 -3
  167. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  168. package/dist/collection/components/item/item.ionic.css +17 -5
  169. package/dist/collection/components/item/item.js +3 -2
  170. package/dist/collection/components/item-divider/item-divider.js +2 -2
  171. package/dist/collection/components/item-group/item-group.js +1 -1
  172. package/dist/collection/components/item-option/item-option.js +2 -2
  173. package/dist/collection/components/item-options/item-options.js +1 -1
  174. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  175. package/dist/collection/components/label/label.js +2 -2
  176. package/dist/collection/components/list/list.js +1 -1
  177. package/dist/collection/components/list-header/list-header.js +2 -2
  178. package/dist/collection/components/loading/loading.js +2 -2
  179. package/dist/collection/components/menu/menu.js +2 -2
  180. package/dist/collection/components/menu-button/menu-button.js +2 -2
  181. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  182. package/dist/collection/components/modal/modal.js +4 -4
  183. package/dist/collection/components/nav/nav.js +1 -1
  184. package/dist/collection/components/nav-link/nav-link.js +1 -1
  185. package/dist/collection/components/note/note.js +2 -2
  186. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  187. package/dist/collection/components/picker-legacy/picker.js +2 -2
  188. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  189. package/dist/collection/components/popover/popover.js +2 -2
  190. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  191. package/dist/collection/components/radio/radio.js +3 -3
  192. package/dist/collection/components/radio-group/radio-group.js +2 -2
  193. package/dist/collection/components/range/range.js +3 -3
  194. package/dist/collection/components/refresher/refresher.js +1 -1
  195. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  196. package/dist/collection/components/reorder/reorder.js +2 -2
  197. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  198. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  199. package/dist/collection/components/router-link/router-link.js +2 -2
  200. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  201. package/dist/collection/components/row/row.js +2 -2
  202. package/dist/collection/components/searchbar/searchbar.js +4 -4
  203. package/dist/collection/components/segment/segment.js +2 -2
  204. package/dist/collection/components/segment-button/segment-button.js +2 -2
  205. package/dist/collection/components/segment-content/segment-content.js +1 -1
  206. package/dist/collection/components/segment-view/segment-view.js +2 -2
  207. package/dist/collection/components/select/select.js +32 -72
  208. package/dist/collection/components/select-modal/select-modal.ionic.css +29 -139
  209. package/dist/collection/components/select-modal/select-modal.ios.css +7 -379
  210. package/dist/collection/components/select-modal/select-modal.js +5 -25
  211. package/dist/collection/components/select-modal/select-modal.md.css +7 -319
  212. package/dist/collection/components/select-option/select-option.js +1 -39
  213. package/dist/collection/components/select-popover/select-popover.ionic.css +376 -129
  214. package/dist/collection/components/select-popover/select-popover.ios.css +69 -252
  215. package/dist/collection/components/select-popover/select-popover.js +6 -25
  216. package/dist/collection/components/select-popover/select-popover.md.css +27 -273
  217. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  218. package/dist/collection/components/spinner/spinner.js +1 -1
  219. package/dist/collection/components/split-pane/split-pane.js +2 -2
  220. package/dist/collection/components/tab/tab.js +2 -2
  221. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  222. package/dist/collection/components/tab-button/tab-button.js +2 -2
  223. package/dist/collection/components/tabs/tabs.js +1 -1
  224. package/dist/collection/components/text/text.js +2 -2
  225. package/dist/collection/components/textarea/textarea.js +3 -3
  226. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  227. package/dist/collection/components/title/title.js +2 -2
  228. package/dist/collection/components/toast/toast.js +2 -2
  229. package/dist/collection/components/toggle/toggle.js +3 -3
  230. package/dist/collection/components/toolbar/toolbar.js +2 -2
  231. package/dist/collection/utils/sanitization/index.js +14 -255
  232. package/dist/collection/utils/select-option-render.js +24 -59
  233. package/dist/docs.json +87 -69
  234. package/dist/esm/index-D4ugF_sT.js +168 -0
  235. package/dist/esm/index.js +1 -1
  236. package/dist/esm/ion-action-sheet.entry.js +5 -5
  237. package/dist/esm/ion-alert.entry.js +9 -25
  238. package/dist/esm/ion-app_8.entry.js +7 -7
  239. package/dist/esm/ion-avatar_3.entry.js +2 -2
  240. package/dist/esm/ion-col_3.entry.js +4 -4
  241. package/dist/esm/ion-datetime_3.entry.js +4 -4
  242. package/dist/esm/ion-gallery-item.entry.js +58 -0
  243. package/dist/esm/ion-gallery.entry.js +91 -13
  244. package/dist/esm/ion-img.entry.js +2 -2
  245. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
  246. package/dist/esm/ion-input-otp.entry.js +3 -3
  247. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  248. package/dist/esm/ion-input.entry.js +4 -4
  249. package/dist/esm/ion-item-option_3.entry.js +4 -4
  250. package/dist/esm/ion-item_8.entry.js +16 -15
  251. package/dist/esm/ion-loading.entry.js +3 -3
  252. package/dist/esm/ion-menu_3.entry.js +6 -6
  253. package/dist/esm/ion-modal.entry.js +4 -4
  254. package/dist/esm/ion-nav_2.entry.js +2 -2
  255. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  256. package/dist/esm/ion-popover.entry.js +2 -2
  257. package/dist/esm/ion-progress-bar.entry.js +1 -1
  258. package/dist/esm/ion-radio_2.entry.js +5 -5
  259. package/dist/esm/ion-range.entry.js +3 -3
  260. package/dist/esm/ion-refresher_2.entry.js +4 -4
  261. package/dist/esm/ion-reorder_2.entry.js +3 -3
  262. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  263. package/dist/esm/ion-route_4.entry.js +2 -2
  264. package/dist/esm/ion-searchbar.entry.js +4 -4
  265. package/dist/esm/ion-segment-content.entry.js +1 -1
  266. package/dist/esm/ion-segment-view.entry.js +2 -2
  267. package/dist/esm/ion-segment_2.entry.js +4 -4
  268. package/dist/esm/ion-select-modal.entry.js +10 -30
  269. package/dist/esm/ion-select_3.entry.js +43 -102
  270. package/dist/esm/ion-spinner.entry.js +1 -1
  271. package/dist/esm/ion-split-pane.entry.js +2 -2
  272. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  273. package/dist/esm/ion-tab_2.entry.js +3 -3
  274. package/dist/esm/ion-text.entry.js +2 -2
  275. package/dist/esm/ion-textarea.entry.js +3 -3
  276. package/dist/esm/ion-toast.entry.js +3 -3
  277. package/dist/esm/ion-toggle.entry.js +3 -3
  278. package/dist/esm/ionic.js +1 -1
  279. package/dist/esm/loader.js +1 -1
  280. package/dist/esm/select-option-render-B2qc5ZP7.js +79 -0
  281. package/dist/html.html-data.json +42 -27
  282. package/dist/ionic/index.esm.js +1 -1
  283. package/dist/ionic/ionic.esm.js +1 -1
  284. package/dist/ionic/{p-f52856cb.entry.js → p-0592c549.entry.js} +1 -1
  285. package/dist/ionic/{p-67c2d349.entry.js → p-0aa510cd.entry.js} +1 -1
  286. package/dist/ionic/{p-9ccfb733.entry.js → p-0cd5fd9d.entry.js} +1 -1
  287. package/dist/ionic/p-0e9d4e11.entry.js +4 -0
  288. package/dist/ionic/{p-497f6391.entry.js → p-11a38333.entry.js} +1 -1
  289. package/dist/ionic/{p-0030507d.entry.js → p-1a009a51.entry.js} +1 -1
  290. package/dist/ionic/{p-7186786e.entry.js → p-23e524f8.entry.js} +1 -1
  291. package/dist/ionic/{p-1439fecb.entry.js → p-2826761a.entry.js} +1 -1
  292. package/dist/ionic/{p-93315d96.entry.js → p-2c4170d8.entry.js} +1 -1
  293. package/dist/ionic/p-2d5a2511.entry.js +4 -0
  294. package/dist/ionic/{p-7f294078.entry.js → p-3706ea52.entry.js} +1 -1
  295. package/dist/ionic/{p-b69add0e.entry.js → p-3e376501.entry.js} +1 -1
  296. package/dist/ionic/{p-c684a3b6.entry.js → p-44597202.entry.js} +1 -1
  297. package/dist/ionic/{p-8458f1b6.entry.js → p-4a27a79a.entry.js} +1 -1
  298. package/dist/ionic/{p-b7235e85.entry.js → p-4f07113d.entry.js} +1 -1
  299. package/dist/ionic/{p-88e7f52a.entry.js → p-52b85650.entry.js} +1 -1
  300. package/dist/ionic/{p-199bffb3.entry.js → p-5a6e0ae1.entry.js} +1 -1
  301. package/dist/ionic/p-6906dca7.entry.js +4 -0
  302. package/dist/ionic/p-75a1ca50.entry.js +4 -0
  303. package/dist/ionic/{p-19a1ff9a.entry.js → p-7b09c19d.entry.js} +1 -1
  304. package/dist/ionic/{p-76c70824.entry.js → p-7b886782.entry.js} +1 -1
  305. package/dist/ionic/p-7da8b262.entry.js +4 -0
  306. package/dist/ionic/{p-89eab395.entry.js → p-82c05be2.entry.js} +1 -1
  307. package/dist/ionic/{p-b653f4c2.entry.js → p-83c0eb9b.entry.js} +1 -1
  308. package/dist/ionic/{p-b4fd91b8.entry.js → p-85ff1314.entry.js} +1 -1
  309. package/dist/ionic/p-88048796.entry.js +4 -0
  310. package/dist/ionic/{p-3f18dfe9.entry.js → p-8eca5ba1.entry.js} +1 -1
  311. package/dist/ionic/p-96f52444.entry.js +4 -0
  312. package/dist/ionic/p-CFjI63GE.js +4 -0
  313. package/dist/ionic/p-CWJdc8f_.js +4 -0
  314. package/dist/ionic/{p-f2f740aa.entry.js → p-a3b047e0.entry.js} +1 -1
  315. package/dist/ionic/{p-40d9e029.entry.js → p-a73caa5e.entry.js} +1 -1
  316. package/dist/ionic/{p-1ad16c09.entry.js → p-b0dfd018.entry.js} +1 -1
  317. package/dist/ionic/{p-a3f9be52.entry.js → p-b6130fe4.entry.js} +1 -1
  318. package/dist/ionic/p-c0558552.entry.js +4 -0
  319. package/dist/ionic/{p-084c2623.entry.js → p-c5f745b4.entry.js} +1 -1
  320. package/dist/ionic/{p-bc3d68ff.entry.js → p-c781241c.entry.js} +1 -1
  321. package/dist/ionic/p-cb154afe.entry.js +4 -0
  322. package/dist/ionic/{p-b847907d.entry.js → p-cde69f38.entry.js} +1 -1
  323. package/dist/ionic/{p-70ee89c9.entry.js → p-d6f0a698.entry.js} +1 -1
  324. package/dist/ionic/{p-dd2981d0.entry.js → p-d9804d04.entry.js} +1 -1
  325. package/dist/ionic/{p-7054a1b9.entry.js → p-e342b205.entry.js} +1 -1
  326. package/dist/ionic/{p-9dfbe98d.entry.js → p-e8916b04.entry.js} +1 -1
  327. package/dist/ionic/{p-dac1d4de.entry.js → p-f10f8f95.entry.js} +1 -1
  328. package/dist/types/components/gallery/gallery.d.ts +41 -8
  329. package/dist/types/components/gallery/test/utils.d.ts +2 -1
  330. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  331. package/dist/types/components/select/select-interface.d.ts +0 -8
  332. package/dist/types/components/select-option/select-option.d.ts +0 -32
  333. package/dist/types/components.d.ts +33 -18
  334. package/dist/types/utils/sanitization/index.d.ts +2 -54
  335. package/dist/types/utils/select-option-render.d.ts +0 -31
  336. package/hydrate/index.js +380 -645
  337. package/hydrate/index.mjs +380 -645
  338. package/package.json +1 -1
  339. package/components/p-BP_TU_4l.js +0 -4
  340. package/components/p-BqTwa6uT.js +0 -4
  341. package/components/p-Bxiu1dAN.js +0 -4
  342. package/components/p-C91NnY87.js +0 -4
  343. package/components/p-CODBQrPj.js +0 -4
  344. package/components/p-GElQZ38c.js +0 -4
  345. package/components/p-WdrzoonY.js +0 -4
  346. package/components/p-h64_gZrH.js +0 -4
  347. package/components/p-sehKq5RI.js +0 -4
  348. package/dist/cjs/index-Dm4Dm7Vg.js +0 -414
  349. package/dist/cjs/overlay-control-label-DnRLQR1t.js +0 -52
  350. package/dist/cjs/select-option-render-DQyZnlF5.js +0 -116
  351. package/dist/collection/utils/overlay-control-label.js +0 -47
  352. package/dist/esm/index-Bmyj8b0z.js +0 -409
  353. package/dist/esm/overlay-control-label-CODBQrPj.js +0 -49
  354. package/dist/esm/select-option-render-QGJ9tZHa.js +0 -114
  355. package/dist/ionic/p-18ed37e3.entry.js +0 -4
  356. package/dist/ionic/p-2049aa81.entry.js +0 -4
  357. package/dist/ionic/p-290778c1.entry.js +0 -4
  358. package/dist/ionic/p-2aa7567e.entry.js +0 -4
  359. package/dist/ionic/p-2e7e3da1.entry.js +0 -4
  360. package/dist/ionic/p-CODBQrPj.js +0 -4
  361. package/dist/ionic/p-CxRK9GyE.js +0 -4
  362. package/dist/ionic/p-NqPMS7BP.js +0 -4
  363. package/dist/ionic/p-c94fbdab.entry.js +0 -4
  364. package/dist/ionic/p-e89848b2.entry.js +0 -4
  365. package/dist/ionic/p-ff09d2a5.entry.js +0 -4
  366. package/dist/types/utils/overlay-control-label.d.ts +0 -34
@@ -59,129 +59,67 @@
59
59
  * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
60
60
  * convert to a unit other than $baselineUnit.
61
61
  */
62
- .action-sheet-button-label-has-rich-content,
63
- .alert-radio-label-has-rich-content,
64
- .alert-checkbox-label-has-rich-content,
65
- .select-option-label-has-rich-content {
66
- gap: var(--token-space-300, var(--token-scale-300, 12px));
67
- }
68
-
69
- .action-sheet-button-label-text,
70
- .alert-checkbox-label-text,
71
- .alert-radio-label-text,
72
- .select-option-label-text {
73
- gap: var(--token-space-300, var(--token-scale-300, 12px));
74
- }
75
-
76
- .select-option-description {
77
- font-size: var(--token-font-size-350, 0.875rem);
78
- font-weight: var(--token-font-weight-regular, 400);
79
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
80
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
81
- text-decoration: none;
82
- text-transform: none;
83
- -webkit-padding-start: var(--token-space-0, var(--token-scale-0, 0px));
84
- padding-inline-start: var(--token-space-0, var(--token-scale-0, 0px));
85
- -webkit-padding-end: var(--token-space-0, var(--token-scale-0, 0px));
86
- padding-inline-end: var(--token-space-0, var(--token-scale-0, 0px));
87
- padding-top: var(--token-space-0, var(--token-scale-0, 0px));
88
- padding-bottom: var(--token-space-0, var(--token-scale-0, 0px));
89
- color: var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b));
90
- font-size: var(--token-font-size-350, 0.875rem);
91
- }
92
-
93
- .select-option-start,
94
- .select-option-end {
95
- gap: var(--token-space-200, var(--token-scale-200, 8px));
96
- }
97
-
98
62
  /**
99
- * Cap slotted children so they can't stretch the option
100
- * row out of proportion, keeping rows visually uniform
101
- * regardless of the content.
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
102
67
  */
103
- .select-option-start > ion-avatar,
104
- .select-option-start > ion-img,
105
- .select-option-start > ion-thumbnail,
106
- .select-option-start > ion-icon,
107
- .select-option-start > img,
108
- .select-option-start > svg,
109
- .select-option-end > ion-avatar,
110
- .select-option-end > ion-img,
111
- .select-option-end > ion-thumbnail,
112
- .select-option-end > ion-icon,
113
- .select-option-end > img,
114
- .select-option-end > svg {
115
- width: var(--token-scale-1200, 48px);
116
- height: var(--token-scale-1200, 48px);
117
- }
118
-
119
- .action-sheet-button-label-has-rich-content,
120
- .alert-radio-label-has-rich-content,
121
- .alert-checkbox-label-has-rich-content,
122
- .select-option-label-has-rich-content {
123
- display: flex;
124
- align-items: center;
125
- }
126
-
127
68
  /**
128
- * Outer label container has rich content
129
- * (start, content, description, end) that needs the
130
- * label to span the available row width.
69
+ * Convert a font size to a dynamic font size.
70
+ * Fonts that participate in Dynamic Type should use
71
+ * dynamic font sizes.
72
+ * @param size - The initial font size including the unit (i.e. px or pt)
73
+ * @param unit (optional) - The unit to convert to. Use this if you want to
74
+ * convert to a unit other than $baselineUnit.
131
75
  */
132
- .action-sheet-button-label-has-rich-content,
133
- .alert-radio-label-has-rich-content,
134
- .alert-checkbox-label-has-rich-content,
135
- .select-option-content {
136
- flex: 1;
137
- }
138
-
139
- .action-sheet-button-label-text,
140
- .alert-checkbox-label-text,
141
- .alert-radio-label-text,
142
- .select-option-label-text {
143
- display: flex;
144
- align-items: center;
145
- }
146
-
147
- .select-option-start,
148
- .select-option-end {
149
- display: flex;
150
- align-items: center;
151
- }
152
-
153
- .select-option-description {
154
- display: block;
155
- }
156
-
157
76
  /**
158
- * Non-rich labels are plain text and should ellipsize when they
159
- * overflow the row. Rich-content labels switch to flex so the
160
- * start / content / end pieces can lay out side-by-side and wrap.
77
+ * Convert a font size to a dynamic font size but impose
78
+ * a maximum font size.
79
+ * @param size - The initial font size including the unit (i.e. px or pt)
80
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
81
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
82
+ * convert to a unit other than $baselineUnit.
83
+ */
84
+ /**
85
+ * Convert a font size to a dynamic font size but impose
86
+ * a minimum font size.
87
+ * @param size - The initial font size including the unit (i.e. px or pt)
88
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
89
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
90
+ * convert to a unit other than $baselineUnit.
91
+ */
92
+ /**
93
+ * Convert a font size to a dynamic font size but impose
94
+ * maximum and minimum font sizes.
95
+ * @param size - The initial font size including the unit (i.e. px or pt)
96
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
97
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
98
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
99
+ * convert to a unit other than $baselineUnit.
100
+ */
101
+ /**
102
+ * A heuristic that applies CSS to tablet
103
+ * viewports.
104
+ *
105
+ * Usage:
106
+ * @include tablet-viewport() {
107
+ * :host {
108
+ * background-color: green;
109
+ * }
110
+ * }
111
+ */
112
+ /**
113
+ * A heuristic that applies CSS to mobile
114
+ * viewports (i.e. phones, not tablets).
115
+ *
116
+ * Usage:
117
+ * @include mobile-viewport() {
118
+ * :host {
119
+ * background-color: blue;
120
+ * }
121
+ * }
161
122
  */
162
- .select-option-label:not(.select-option-label-has-rich-content) {
163
- text-overflow: ellipsis;
164
- white-space: nowrap;
165
- overflow: hidden;
166
- }
167
-
168
- .select-option-label-has-rich-content {
169
- display: flex;
170
- align-items: center;
171
- }
172
-
173
- ion-radio.select-option-has-rich-content::part(label),
174
- ion-checkbox.select-option-has-rich-content::part(label),
175
- .select-option-content {
176
- flex: 1;
177
- /**
178
- * Let rich content wrap instead of inheriting the label part's
179
- * single-line truncation, so arbitrary slotted elements render
180
- * without clipping.
181
- */
182
- white-space: normal;
183
- }
184
-
185
123
  :host {
186
124
  /**
187
125
  * @prop --background: Background of the alert
@@ -212,9 +150,11 @@ ion-checkbox.select-option-has-rich-content::part(label),
212
150
  align-items: center;
213
151
  justify-content: center;
214
152
  outline: none;
153
+ font-family: var(--ion-font-family, inherit);
215
154
  contain: strict;
216
155
  touch-action: none;
217
156
  user-select: none;
157
+ z-index: 1001;
218
158
  }
219
159
 
220
160
  :host(.overlay-hidden) {
@@ -238,6 +178,7 @@ ion-checkbox.select-option-has-rich-content::part(label),
238
178
  background: var(--background);
239
179
  contain: content;
240
180
  opacity: 0;
181
+ z-index: 10;
241
182
  }
242
183
 
243
184
  .alert-title {
@@ -352,6 +293,11 @@ ion-checkbox.select-option-has-rich-content::part(label),
352
293
  z-index: 0;
353
294
  }
354
295
 
296
+ .alert-button.ion-focused,
297
+ .alert-tappable.ion-focused {
298
+ background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
299
+ }
300
+
355
301
  .alert-button-inner {
356
302
  display: flex;
357
303
  flex-flow: row nowrap;
@@ -363,39 +309,6 @@ ion-checkbox.select-option-has-rich-content::part(label),
363
309
  min-height: inherit;
364
310
  }
365
311
 
366
- /**
367
- * Label is on the right of the radio in LTR and
368
- * on the left in RTL.
369
- */
370
- .radio-label-placement-start,
371
- .checkbox-label-placement-start {
372
- flex-direction: row-reverse;
373
- }
374
-
375
- /**
376
- * Label is on the left of the radio in LTR and
377
- * on the right in RTL.
378
- */
379
- .radio-label-placement-end,
380
- .checkbox-label-placement-end {
381
- flex-direction: row;
382
- }
383
-
384
- .radio-justify-start,
385
- .checkbox-justify-start {
386
- justify-content: start;
387
- }
388
-
389
- .radio-justify-end,
390
- .checkbox-justify-end {
391
- justify-content: end;
392
- }
393
-
394
- .radio-justify-space-between,
395
- .checkbox-justify-space-between {
396
- justify-content: space-between;
397
- }
398
-
399
312
  .alert-input-disabled,
400
313
  .alert-checkbox-button-disabled .alert-button-inner,
401
314
  .alert-radio-button-disabled .alert-button-inner {
@@ -442,296 +355,744 @@ textarea.alert-input {
442
355
  resize: none;
443
356
  }
444
357
 
445
- :host {
446
- --background: var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));
447
- --max-width: var(--token-scale-7400, 296px);
448
- --backdrop-opacity: 0.7;
449
- z-index: 1001;
450
- }
451
-
452
- .alert-wrapper {
453
- border-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
454
- box-shadow: var(--token-elevation-4, 0px 3px 12px 0px rgba(0, 0, 0, 0.12), 0px 15px 48px 0px rgba(0, 0, 0, 0.18));
455
- z-index: 10;
456
- }
457
-
458
- .alert-button.ion-focused {
459
- outline-offset: var(--token-border-size-050, var(--token-scale-050, 2px));
460
- outline: var(--token-border-size-050, var(--token-scale-050, 2px)) var(--token-border-style-solid, solid) var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));
461
- }
462
-
463
- .alert-tappable.ion-focused {
464
- outline-offset: var(--token-border-size-050, var(--token-scale-050, 2px));
465
- outline: var(--token-border-size-050, var(--token-scale-050, 2px)) var(--token-border-style-solid, solid) var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));
466
- outline-offset: calc(var(--token-border-size-050, var(--token-scale-050, 2px)) * -1);
467
- }
468
-
469
- .alert-tappable.ion-activated,
470
- .alert-tappable:not(:disabled):hover {
471
- background: var(--token-bg-neutral-subtlest-press, var(--token-primitives-neutral-200, #eae9e9));
472
- }
473
-
474
- .alert-tappable[aria-checked=true] {
475
- background: var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc)));
476
- }
477
-
478
- .alert-head {
479
- -webkit-padding-start: var(--token-space-400, var(--token-scale-400, 16px));
480
- padding-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
481
- -webkit-padding-end: var(--token-space-400, var(--token-scale-400, 16px));
482
- padding-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
483
- padding-top: var(--token-space-400, var(--token-scale-400, 16px));
484
- padding-bottom: var(--token-space-400, var(--token-scale-400, 16px));
485
- text-align: start;
486
- }
487
-
488
- .alert-title {
489
- font-size: var(--token-font-size-450, 1.125rem);
490
- font-weight: var(--token-font-weight-medium, 500);
491
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
492
- line-height: var(--token-font-line-height-700, var(--token-scale-700, 28px));
493
- text-decoration: none;
494
- text-transform: none;
495
- color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
358
+ .alert-radio-label,
359
+ .alert-checkbox-label {
360
+ display: flex;
361
+ align-items: center;
496
362
  }
497
363
 
498
- .alert-sub-title {
499
- font-size: var(--token-font-size-350, 0.875rem);
500
- font-weight: var(--token-font-weight-regular, 400);
501
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
502
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
503
- text-decoration: none;
504
- text-transform: none;
505
- color: var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262));
364
+ .select-option-content {
365
+ flex: 1;
506
366
  }
507
367
 
508
- .alert-message,
509
- .alert-input-group {
510
- font-size: var(--token-font-size-350, 0.875rem);
511
- font-weight: var(--token-font-weight-regular, 400);
512
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
513
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
514
- text-decoration: none;
515
- text-transform: none;
516
- -webkit-padding-start: var(--token-space-400, var(--token-scale-400, 16px));
517
- padding-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
518
- -webkit-padding-end: var(--token-space-400, var(--token-scale-400, 16px));
519
- padding-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
520
- padding-top: var(--token-space-400, var(--token-scale-400, 16px));
521
- padding-bottom: var(--token-space-400, var(--token-scale-400, 16px));
522
- color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
368
+ .select-option-description {
369
+ display: block;
523
370
  }
524
371
 
525
372
  /**
526
- * Ionic Alerts on tablets can expand vertically up to
527
- * a total maximum height. We only want to set a max-height
528
- * on mobile phones.
373
+ * A heuristic that applies CSS to tablet
374
+ * viewports.
375
+ *
376
+ * Usage:
377
+ * @include tablet-viewport() {
378
+ * :host {
379
+ * background-color: green;
380
+ * }
381
+ * }
529
382
  */
530
- @media screen and (max-width: 767px) {
531
- .alert-message {
532
- max-height: var(--token-scale-6200, 248px);
533
- }
534
- }
535
- .alert-message:empty {
536
- -webkit-padding-start: var(--token-space-0, var(--token-scale-0, 0px));
537
- padding-inline-start: var(--token-space-0, var(--token-scale-0, 0px));
538
- -webkit-padding-end: var(--token-space-0, var(--token-scale-0, 0px));
539
- padding-inline-end: var(--token-space-0, var(--token-scale-0, 0px));
540
- padding-top: var(--token-space-0, var(--token-scale-0, 0px));
541
- padding-bottom: var(--token-space-0, var(--token-scale-0, 0px));
542
- }
543
-
544
- .alert-head + .alert-message {
545
- padding-top: var(--token-space-0, var(--token-scale-0, 0px));
546
- }
547
-
548
- .alert-input {
549
- margin-left: 0;
550
- margin-right: 0;
551
- margin-top: var(--token-space-150, var(--token-scale-150, 6px));
552
- margin-bottom: var(--token-space-150, var(--token-scale-150, 6px));
553
- border-bottom: var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));
554
- color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
555
- }
556
- .alert-input::placeholder {
557
- color: var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262));
558
- font-family: inherit;
559
- font-weight: inherit;
560
- }
561
- .alert-input::-ms-clear {
562
- display: none;
563
- }
564
-
565
- .alert-input:focus {
566
- margin-bottom: var(--token-scale-100, 4px);
567
- border-bottom: var(--token-border-size-050, var(--token-scale-050, 2px)) var(--token-border-style-solid, solid) var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));
568
- }
569
-
570
- .alert-radio-group,
571
- .alert-checkbox-group {
572
- position: relative;
573
- border-top: var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-border-default, var(--token-primitives-neutral-400, #d5d5d5));
574
- border-bottom: var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-border-default, var(--token-primitives-neutral-400, #d5d5d5));
575
- overflow: auto;
576
- }
577
-
578
383
  /**
579
- * Ionic Alerts on tablets can expand vertically up to
580
- * a total maximum height. We only want to set a max-height
581
- * on mobile phones.
384
+ * A heuristic that applies CSS to mobile
385
+ * viewports (i.e. phones, not tablets).
386
+ *
387
+ * Usage:
388
+ * @include mobile-viewport() {
389
+ * :host {
390
+ * background-color: blue;
391
+ * }
392
+ * }
582
393
  */
583
- @media screen and (max-width: 767px) {
584
- .alert-radio-group,
585
- .alert-checkbox-group {
586
- max-height: var(--token-scale-6200, 248px);
587
- }
588
- }
589
- .alert-tappable {
590
- position: relative;
591
- min-height: var(--token-scale-1200, 48px);
592
- }
593
-
594
- .alert-radio-label {
595
- font-size: var(--token-font-size-350, 0.875rem);
596
- font-weight: var(--token-font-weight-regular, 400);
597
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
598
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
599
- text-decoration: none;
600
- text-transform: none;
601
- padding-top: var(--token-space-200, var(--token-scale-200, 8px));
602
- padding-bottom: var(--token-space-200, var(--token-scale-200, 8px));
603
- max-width: calc(100% - var(--token-space-400, var(--token-scale-400, 16px)));
604
- color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
605
- }
606
-
607
- .radio-label-placement-start .alert-radio-label {
608
- /**
609
- * The label's inline padding clears space for the icon on the
610
- * icon's side. When the label is placed at the start, the icon
611
- * is at the end, so swap the inline paddings to mirror that geometry.
612
- */
613
- -webkit-padding-start: var(--token-space-400, var(--token-scale-400, 16px));
614
- padding-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
615
- -webkit-padding-end: var(--token-space-800, var(--token-scale-800, 32px));
616
- padding-inline-end: var(--token-space-800, var(--token-scale-800, 32px));
617
- }
618
-
619
- .radio-label-placement-end .alert-radio-label {
620
- /**
621
- * The label's inline padding clears space for the icon on the
622
- * icon's side. When the label is placed at the end, the icon
623
- * is at the start, so swap the inline paddings to mirror that geometry.
624
- */
625
- -webkit-padding-start: var(--token-space-800, var(--token-scale-800, 32px));
626
- padding-inline-start: var(--token-space-800, var(--token-scale-800, 32px));
627
- -webkit-padding-end: var(--token-space-400, var(--token-scale-400, 16px));
628
- padding-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
629
- }
630
-
631
- .alert-radio-icon {
632
- top: var(--token-space-0, var(--token-scale-0, 0px));
633
- border-radius: var(--token-border-radius-full, 999px);
394
+ /**
395
+ * Convert a font size to a dynamic font size.
396
+ * Fonts that participate in Dynamic Type should use
397
+ * dynamic font sizes.
398
+ * @param size - The initial font size including the unit (i.e. px or pt)
399
+ * @param unit (optional) - The unit to convert to. Use this if you want to
400
+ * convert to a unit other than $baselineUnit.
401
+ */
402
+ /**
403
+ * Convert a font size to a dynamic font size but impose
404
+ * a maximum font size.
405
+ * @param size - The initial font size including the unit (i.e. px or pt)
406
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
407
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
408
+ * convert to a unit other than $baselineUnit.
409
+ */
410
+ /**
411
+ * Convert a font size to a dynamic font size but impose
412
+ * a minimum font size.
413
+ * @param size - The initial font size including the unit (i.e. px or pt)
414
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
415
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
416
+ * convert to a unit other than $baselineUnit.
417
+ */
418
+ /**
419
+ * Convert a font size to a dynamic font size but impose
420
+ * maximum and minimum font sizes.
421
+ * @param size - The initial font size including the unit (i.e. px or pt)
422
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
423
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
424
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
425
+ * convert to a unit other than $baselineUnit.
426
+ */
427
+ /**
428
+ * Convert a pixels given value into rem
429
+ *
430
+ * @param pixels - Value in pixels to be converted (i.e. px)
431
+ * @param context (optional) - Baseline value
432
+ */
433
+ /**
434
+ * Convert a font size to a dynamic font size.
435
+ * Fonts that participate in Dynamic Type should use
436
+ * dynamic font sizes.
437
+ * @param size - The initial font size including the unit (i.e. px or pt)
438
+ * @param unit (optional) - The unit to convert to. Use this if you want to
439
+ * convert to a unit other than $baselineUnit.
440
+ */
441
+ /**
442
+ * Convert a font size to a dynamic font size but impose
443
+ * a maximum font size.
444
+ * @param size - The initial font size including the unit (i.e. px or pt)
445
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
446
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
447
+ * convert to a unit other than $baselineUnit.
448
+ */
449
+ /**
450
+ * Convert a font size to a dynamic font size but impose
451
+ * a minimum font size.
452
+ * @param size - The initial font size including the unit (i.e. px or pt)
453
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
454
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
455
+ * convert to a unit other than $baselineUnit.
456
+ */
457
+ /**
458
+ * Convert a font size to a dynamic font size but impose
459
+ * maximum and minimum font sizes.
460
+ * @param size - The initial font size including the unit (i.e. px or pt)
461
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
462
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
463
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
464
+ * convert to a unit other than $baselineUnit.
465
+ */
466
+ /**
467
+ * A heuristic that applies CSS to tablet
468
+ * viewports.
469
+ *
470
+ * Usage:
471
+ * @include tablet-viewport() {
472
+ * :host {
473
+ * background-color: green;
474
+ * }
475
+ * }
476
+ */
477
+ /**
478
+ * A heuristic that applies CSS to mobile
479
+ * viewports (i.e. phones, not tablets).
480
+ *
481
+ * Usage:
482
+ * @include mobile-viewport() {
483
+ * :host {
484
+ * background-color: blue;
485
+ * }
486
+ * }
487
+ */
488
+ :host {
489
+ /**
490
+ * @prop --background: Background of the alert
491
+ *
492
+ * @prop --min-width: Minimum width of the alert
493
+ * @prop --width: Width of the alert
494
+ * @prop --max-width: Maximum width of the alert
495
+ *
496
+ * @prop --min-height: Minimum height of the alert
497
+ * @prop --height: Height of the alert
498
+ * @prop --max-height: Maximum height of the alert
499
+ *
500
+ * @prop --backdrop-opacity: Opacity of the backdrop
501
+ */
502
+ --min-width: 250px;
503
+ --width: auto;
504
+ --min-height: auto;
505
+ --height: auto;
506
+ --max-height: 90%;
507
+ -moz-osx-font-smoothing: grayscale;
508
+ -webkit-font-smoothing: antialiased;
509
+ right: 0;
510
+ left: 0;
511
+ top: 0;
512
+ bottom: 0;
634
513
  display: flex;
635
- position: relative;
514
+ position: absolute;
515
+ align-items: center;
516
+ justify-content: center;
517
+ outline: none;
518
+ font-family: var(--ion-font-family, inherit);
519
+ contain: strict;
520
+ touch-action: none;
521
+ user-select: none;
522
+ z-index: 1001;
523
+ }
524
+
525
+ :host(.overlay-hidden) {
526
+ display: none;
527
+ }
528
+
529
+ :host(.alert-top) {
530
+ padding-top: 50px;
531
+ align-items: flex-start;
532
+ }
533
+
534
+ .alert-wrapper {
535
+ display: flex;
536
+ flex-direction: column;
537
+ width: var(--width);
538
+ min-width: var(--min-width);
539
+ max-width: var(--max-width);
540
+ height: var(--height);
541
+ min-height: var(--min-height);
542
+ max-height: var(--max-height);
543
+ background: var(--background);
544
+ contain: content;
545
+ opacity: 0;
546
+ z-index: 10;
547
+ }
548
+
549
+ .alert-title {
550
+ margin-left: 0;
551
+ margin-right: 0;
552
+ margin-top: 0;
553
+ margin-bottom: 0;
554
+ padding-left: 0;
555
+ padding-right: 0;
556
+ padding-top: 0;
557
+ padding-bottom: 0;
558
+ }
559
+
560
+ .alert-sub-title {
561
+ margin-left: 0;
562
+ margin-right: 0;
563
+ margin-top: 5px;
564
+ margin-bottom: 0;
565
+ padding-left: 0;
566
+ padding-right: 0;
567
+ padding-top: 0;
568
+ padding-bottom: 0;
569
+ font-weight: normal;
570
+ }
571
+
572
+ /**
573
+ * Alert has a maximum height in scenarios
574
+ * such as the MD alert on tablet devices.
575
+ * As a result, we need to make sure the inner
576
+ * containers can scroll otherwise content
577
+ * may be cut off.
578
+ */
579
+ .alert-message,
580
+ .alert-input-group {
581
+ box-sizing: border-box;
582
+ -webkit-overflow-scrolling: touch;
583
+ overflow-y: auto;
584
+ overscroll-behavior-y: contain;
585
+ }
586
+
587
+ .alert-checkbox-label,
588
+ .alert-radio-label {
589
+ /**
590
+ * This allows long words to wrap to the next line
591
+ * instead of flowing outside of the container.
592
+ *
593
+ * The "anywhere" keyword should be used instead
594
+ * of the "break-word" keyword since the parent
595
+ * container is using flexbox. Flex relies on min-content and
596
+ * max-content intrinsic sizes to structure the layout. Flex will
597
+ * wrap content only until it reaches its min-content intrinsic size
598
+ * which in this case is equal to the longest word in this container.
599
+ * "break-word" does not shrink the min-content intrinsic size
600
+ * of the flex item which causes the long word to still overflow.
601
+ * "anywhere" on the other hand does shrink the min-content
602
+ * intrinsic size which allows the long word to wrap to the next line.
603
+ */
604
+ overflow-wrap: anywhere;
605
+ }
606
+
607
+ /**
608
+ * Scrollbars on mobile devices will be hidden.
609
+ * Users can still scroll the content by swiping.
610
+ * If a user has a fine pointing device, such as a
611
+ * mouse or trackpad, then scrollbars will be
612
+ * visible. This allows users to scroll the
613
+ * content with their pointing device.
614
+ * Otherwise, the user would have to use the
615
+ * keyboard to navigate through the options.
616
+ * This may not be intuitive for users who
617
+ * are not familiar with keyboard navigation.
618
+ */
619
+ @media (any-pointer: coarse) {
620
+ .alert-checkbox-group::-webkit-scrollbar,
621
+ .alert-radio-group::-webkit-scrollbar,
622
+ .alert-message::-webkit-scrollbar {
623
+ display: none;
624
+ }
625
+ }
626
+ .alert-input {
627
+ padding-left: 0;
628
+ padding-right: 0;
629
+ padding-top: 10px;
630
+ padding-bottom: 10px;
631
+ width: 100%;
632
+ border: 0;
633
+ background: inherit;
634
+ font: inherit;
635
+ box-sizing: border-box;
636
+ }
637
+
638
+ .alert-button-group {
639
+ display: flex;
640
+ flex-direction: row;
641
+ width: 100%;
642
+ }
643
+
644
+ .alert-button-group-vertical {
645
+ flex-direction: column;
646
+ flex-wrap: nowrap;
647
+ }
648
+
649
+ .alert-button {
650
+ margin-left: 0;
651
+ margin-right: 0;
652
+ margin-top: 0;
653
+ margin-bottom: 0;
654
+ display: block;
655
+ border: 0;
656
+ font-size: 0.875rem;
657
+ line-height: 1.25rem;
658
+ z-index: 0;
659
+ }
660
+
661
+ .alert-button.ion-focused,
662
+ .alert-tappable.ion-focused {
663
+ background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
664
+ }
665
+
666
+ .alert-button-inner {
667
+ display: flex;
668
+ flex-flow: row nowrap;
636
669
  flex-shrink: 0;
637
670
  align-items: center;
638
671
  justify-content: center;
639
- width: var(--token-scale-600, 24px);
640
- height: var(--token-scale-600, 24px);
641
- border-width: var(--token-border-size-025, var(--token-scale-025, 1px));
642
- border-style: var(--token-border-style-solid, solid);
643
- border-color: var(--token-border-input-default, var(--token-primitives-neutral-600, #8c8c8c));
644
- background-color: var(--token-bg-input-default, var(--token-primitives-base-white, #ffffff));
672
+ width: 100%;
673
+ height: 100%;
674
+ min-height: inherit;
675
+ }
676
+
677
+ .alert-input-disabled,
678
+ .alert-checkbox-button-disabled .alert-button-inner,
679
+ .alert-radio-button-disabled .alert-button-inner {
680
+ cursor: default;
681
+ opacity: 0.5;
682
+ pointer-events: none;
683
+ }
684
+
685
+ .alert-tappable {
686
+ margin-left: 0;
687
+ margin-right: 0;
688
+ margin-top: 0;
689
+ margin-bottom: 0;
690
+ padding-left: 0;
691
+ padding-right: 0;
692
+ padding-top: 0;
693
+ padding-bottom: 0;
694
+ display: flex;
695
+ width: 100%;
696
+ border: 0;
697
+ background: transparent;
698
+ font-size: inherit;
699
+ line-height: initial;
700
+ text-align: start;
701
+ appearance: none;
702
+ contain: content;
703
+ }
704
+
705
+ .alert-button,
706
+ .alert-checkbox,
707
+ .alert-input,
708
+ .alert-radio {
709
+ outline: none;
710
+ }
711
+
712
+ .alert-radio-icon,
713
+ .alert-checkbox-icon,
714
+ .alert-checkbox-inner {
645
715
  box-sizing: border-box;
646
716
  }
647
717
 
648
- .radio-label-placement-start .alert-radio-icon {
649
- inset-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
718
+ textarea.alert-input {
719
+ min-height: 37px;
720
+ resize: none;
721
+ }
722
+
723
+ .alert-radio-label,
724
+ .alert-checkbox-label {
725
+ display: flex;
726
+ align-items: center;
727
+ }
728
+
729
+ .select-option-content {
730
+ flex: 1;
731
+ }
732
+
733
+ .select-option-description {
734
+ display: block;
735
+ }
736
+
737
+ .alert-radio-label,
738
+ .alert-checkbox-label {
739
+ gap: 12px;
740
+ }
741
+
742
+ .select-option-description {
743
+ padding-left: 0;
744
+ padding-right: 0;
745
+ padding-top: 5px;
746
+ padding-bottom: 0;
747
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
748
+ font-size: 0.75rem;
749
+ }
750
+
751
+ /**
752
+ * Convert a pixels given value into rem
753
+ *
754
+ * @param pixels - Value in pixels to be converted (i.e. px)
755
+ * @param context (optional) - Baseline value
756
+ */
757
+ /**
758
+ * Convert a font size to a dynamic font size.
759
+ * Fonts that participate in Dynamic Type should use
760
+ * dynamic font sizes.
761
+ * @param size - The initial font size including the unit (i.e. px or pt)
762
+ * @param unit (optional) - The unit to convert to. Use this if you want to
763
+ * convert to a unit other than $baselineUnit.
764
+ */
765
+ /**
766
+ * Convert a font size to a dynamic font size but impose
767
+ * a maximum font size.
768
+ * @param size - The initial font size including the unit (i.e. px or pt)
769
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
770
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
771
+ * convert to a unit other than $baselineUnit.
772
+ */
773
+ /**
774
+ * Convert a font size to a dynamic font size but impose
775
+ * a minimum font size.
776
+ * @param size - The initial font size including the unit (i.e. px or pt)
777
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
778
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
779
+ * convert to a unit other than $baselineUnit.
780
+ */
781
+ /**
782
+ * Convert a font size to a dynamic font size but impose
783
+ * maximum and minimum font sizes.
784
+ * @param size - The initial font size including the unit (i.e. px or pt)
785
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
786
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
787
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
788
+ * convert to a unit other than $baselineUnit.
789
+ */
790
+ /**
791
+ * A heuristic that applies CSS to tablet
792
+ * viewports.
793
+ *
794
+ * Usage:
795
+ * @include tablet-viewport() {
796
+ * :host {
797
+ * background-color: green;
798
+ * }
799
+ * }
800
+ */
801
+ /**
802
+ * A heuristic that applies CSS to mobile
803
+ * viewports (i.e. phones, not tablets).
804
+ *
805
+ * Usage:
806
+ * @include mobile-viewport() {
807
+ * :host {
808
+ * background-color: blue;
809
+ * }
810
+ * }
811
+ */
812
+ /**
813
+ * Convert a pixels given value into rem
814
+ *
815
+ * @param pixels - Value in pixels to be converted (i.e. px)
816
+ * @param context (optional) - Baseline value
817
+ */
818
+ /**
819
+ * Convert a font size to a dynamic font size.
820
+ * Fonts that participate in Dynamic Type should use
821
+ * dynamic font sizes.
822
+ * @param size - The initial font size including the unit (i.e. px or pt)
823
+ * @param unit (optional) - The unit to convert to. Use this if you want to
824
+ * convert to a unit other than $baselineUnit.
825
+ */
826
+ /**
827
+ * Convert a font size to a dynamic font size but impose
828
+ * a maximum font size.
829
+ * @param size - The initial font size including the unit (i.e. px or pt)
830
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
831
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
832
+ * convert to a unit other than $baselineUnit.
833
+ */
834
+ /**
835
+ * Convert a font size to a dynamic font size but impose
836
+ * a minimum font size.
837
+ * @param size - The initial font size including the unit (i.e. px or pt)
838
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
839
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
840
+ * convert to a unit other than $baselineUnit.
841
+ */
842
+ /**
843
+ * Convert a font size to a dynamic font size but impose
844
+ * maximum and minimum font sizes.
845
+ * @param size - The initial font size including the unit (i.e. px or pt)
846
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
847
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
848
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
849
+ * convert to a unit other than $baselineUnit.
850
+ */
851
+ /**
852
+ * A heuristic that applies CSS to tablet
853
+ * viewports.
854
+ *
855
+ * Usage:
856
+ * @include tablet-viewport() {
857
+ * :host {
858
+ * background-color: green;
859
+ * }
860
+ * }
861
+ */
862
+ /**
863
+ * A heuristic that applies CSS to mobile
864
+ * viewports (i.e. phones, not tablets).
865
+ *
866
+ * Usage:
867
+ * @include mobile-viewport() {
868
+ * :host {
869
+ * background-color: blue;
870
+ * }
871
+ * }
872
+ */
873
+ /**
874
+ * Large display requirements for MD Alert:
875
+ * 1. Maintain a minimum of 48px distance from the leading and
876
+ * trailing edges of the screen. (48px * 2 = 96px)
877
+ * 2. The width can increase up to 560px.
878
+ * 3. The height can increase up to 560px.
879
+ * Source: https://m2.material.io/components/dialogs#behavior
880
+ */
881
+ :host {
882
+ --background: var(--ion-overlay-background-color, var(--ion-background-color, #fff));
883
+ --max-width: 280px;
884
+ --backdrop-opacity: var(--ion-backdrop-opacity, 0.32);
885
+ font-size: 0.875rem;
886
+ }
887
+
888
+ .alert-wrapper {
889
+ border-radius: 4px;
890
+ 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);
650
891
  }
651
892
 
652
- .radio-label-placement-end .alert-radio-icon {
653
- inset-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
893
+ .alert-head {
894
+ -webkit-padding-start: 23px;
895
+ padding-inline-start: 23px;
896
+ -webkit-padding-end: 23px;
897
+ padding-inline-end: 23px;
898
+ padding-top: 20px;
899
+ padding-bottom: 15px;
900
+ text-align: start;
654
901
  }
655
902
 
656
- .alert-radio-inner {
657
- border-radius: 50%;
658
- width: calc(32% + var(--token-border-size-025, var(--token-scale-025, 1px)));
659
- height: calc(32% + var(--token-border-size-025, var(--token-scale-025, 1px)));
660
- background-color: var(--token-bg-surface-inverse, var(--token-primitives-base-white, #ffffff));
661
- box-sizing: border-box;
903
+ .alert-title {
904
+ color: var(--ion-text-color, #000);
905
+ font-size: 1.25rem;
906
+ font-weight: 500;
662
907
  }
663
908
 
664
- [aria-checked=true] .alert-radio-icon {
665
- border-color: var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));
666
- background-color: var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));
909
+ .alert-sub-title {
910
+ color: var(--ion-text-color, #000);
911
+ font-size: 1rem;
667
912
  }
668
913
 
669
- .alert-checkbox-label {
670
- font-size: var(--token-font-size-350, 0.875rem);
671
- font-weight: var(--token-font-weight-regular, 400);
672
- letter-spacing: var(--token-font-letter-spacing-0, 0%);
673
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
674
- text-decoration: none;
675
- text-transform: none;
676
- -webkit-padding-start: var(--token-space-800, var(--token-scale-800, 32px));
677
- padding-inline-start: var(--token-space-800, var(--token-scale-800, 32px));
678
- -webkit-padding-end: var(--token-space-400, var(--token-scale-400, 16px));
679
- padding-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
680
- padding-top: var(--token-space-200, var(--token-scale-200, 8px));
681
- padding-bottom: var(--token-space-200, var(--token-scale-200, 8px));
682
- max-width: calc(100% - var(--token-space-400, var(--token-scale-400, 16px)));
683
- color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
914
+ .alert-message,
915
+ .alert-input-group {
916
+ -webkit-padding-start: 24px;
917
+ padding-inline-start: 24px;
918
+ -webkit-padding-end: 24px;
919
+ padding-inline-end: 24px;
920
+ padding-top: 20px;
921
+ padding-bottom: 20px;
922
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
684
923
  }
685
924
 
686
- .checkbox-label-placement-start .alert-checkbox-label {
687
- /**
688
- * The label's inline padding clears space for the icon on the
689
- * icon's side. When the label is placed at the start, the icon
690
- * is at the end, so swap the inline paddings to mirror that geometry.
691
- */
692
- -webkit-padding-start: var(--token-space-400, var(--token-scale-400, 16px));
693
- padding-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
694
- -webkit-padding-end: var(--token-space-800, var(--token-scale-800, 32px));
695
- padding-inline-end: var(--token-space-800, var(--token-scale-800, 32px));
925
+ .alert-message {
926
+ font-size: 1rem;
696
927
  }
697
928
 
698
- .alert-checkbox-icon {
699
- top: var(--token-space-0, var(--token-scale-0, 0px));
700
- border-radius: var(--token-border-radius-100, var(--token-scale-100, 4px));
701
- display: flex;
929
+ /**
930
+ * MD Alerts on tablets can expand vertically up to
931
+ * a total maximum height. We only want to set a max-height
932
+ * on mobile phones.
933
+ */
934
+ @media screen and (max-width: 767px) {
935
+ .alert-message {
936
+ max-height: 266px;
937
+ }
938
+ }
939
+ .alert-message:empty {
940
+ padding-left: 0;
941
+ padding-right: 0;
942
+ padding-top: 0;
943
+ padding-bottom: 0;
944
+ }
945
+
946
+ .alert-head + .alert-message {
947
+ padding-top: 0;
948
+ }
949
+
950
+ .alert-input {
951
+ margin-left: 0;
952
+ margin-right: 0;
953
+ margin-top: 5px;
954
+ margin-bottom: 5px;
955
+ border-bottom: 1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
956
+ color: var(--ion-text-color, #000);
957
+ }
958
+ .alert-input::placeholder {
959
+ color: var(--ion-placeholder-color, var(--ion-color-step-400, var(--ion-text-color-step-600, #999999)));
960
+ font-family: inherit;
961
+ font-weight: inherit;
962
+ }
963
+ .alert-input::-ms-clear {
964
+ display: none;
965
+ }
966
+
967
+ .alert-input:focus {
968
+ margin-bottom: 4px;
969
+ border-bottom: 2px solid var(--ion-color-primary, #0054e9);
970
+ }
971
+
972
+ .alert-radio-group,
973
+ .alert-checkbox-group {
702
974
  position: relative;
703
- flex-shrink: 0;
704
- align-items: center;
705
- justify-content: center;
706
- width: var(--token-scale-600, 24px);
707
- height: var(--token-scale-600, 24px);
708
- border-width: var(--token-border-size-025, var(--token-scale-025, 1px));
709
- border-style: var(--token-border-style-solid, solid);
710
- border-color: var(--token-primitives-neutral-800, #626262);
711
- background-color: var(--token-bg-input-default, var(--token-primitives-base-white, #ffffff));
712
- box-sizing: border-box;
975
+ border-top: 1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
976
+ border-bottom: 1px solid var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
977
+ overflow: auto;
978
+ }
979
+
980
+ /**
981
+ * MD Alerts on tablets can expand vertically up to
982
+ * a total maximum height. We only want to set a max-height
983
+ * on mobile phones.
984
+ */
985
+ @media screen and (max-width: 767px) {
986
+ .alert-radio-group,
987
+ .alert-checkbox-group {
988
+ max-height: 266px;
989
+ }
990
+ }
991
+ .alert-tappable {
992
+ position: relative;
993
+ min-height: 48px;
713
994
  }
714
995
 
715
- .checkbox-label-placement-end .alert-checkbox-icon {
716
- inset-inline-start: var(--token-space-400, var(--token-scale-400, 16px));
996
+ .alert-radio-label {
997
+ -webkit-padding-start: 52px;
998
+ padding-inline-start: 52px;
999
+ -webkit-padding-end: 26px;
1000
+ padding-inline-end: 26px;
1001
+ padding-top: 13px;
1002
+ padding-bottom: 13px;
1003
+ flex: 1;
1004
+ color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
1005
+ font-size: 1rem;
717
1006
  }
718
1007
 
719
- .checkbox-label-placement-start .alert-checkbox-icon {
720
- inset-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
1008
+ .alert-radio-icon {
1009
+ top: 0;
1010
+ border-radius: 50%;
1011
+ display: block;
1012
+ position: relative;
1013
+ width: 20px;
1014
+ height: 20px;
1015
+ border-width: 2px;
1016
+ border-style: solid;
1017
+ border-color: var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));
1018
+ }
1019
+ .alert-radio-icon {
1020
+ inset-inline-start: 26px;
721
1021
  }
722
1022
 
723
- .alert-checkbox-inner {
724
- width: var(--token-scale-400, 16px);
725
- height: var(--token-scale-400, 16px);
1023
+ .alert-radio-inner {
1024
+ top: 3px;
1025
+ border-radius: 50%;
1026
+ position: absolute;
1027
+ width: 10px;
1028
+ height: 10px;
1029
+ transform: scale3d(0, 0, 0);
1030
+ transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1);
1031
+ background-color: var(--ion-color-primary, #0054e9);
1032
+ }
1033
+ .alert-radio-inner {
1034
+ inset-inline-start: 3px;
1035
+ }
1036
+
1037
+ [aria-checked=true] .alert-radio-label {
1038
+ color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
1039
+ }
1040
+
1041
+ [aria-checked=true] .alert-radio-icon {
1042
+ border-color: var(--ion-color-primary, #0054e9);
726
1043
  }
727
1044
 
728
- .alert-checkbox-inner path {
729
- fill: var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));
1045
+ [aria-checked=true] .alert-radio-inner {
1046
+ transform: scale3d(1, 1, 1);
1047
+ }
1048
+
1049
+ .alert-checkbox-label {
1050
+ -webkit-padding-start: 53px;
1051
+ padding-inline-start: 53px;
1052
+ -webkit-padding-end: 26px;
1053
+ padding-inline-end: 26px;
1054
+ padding-top: 13px;
1055
+ padding-bottom: 13px;
1056
+ flex: 1;
1057
+ width: calc(100% - 53px);
1058
+ color: var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));
1059
+ font-size: 1rem;
1060
+ }
1061
+
1062
+ .alert-checkbox-icon {
1063
+ top: 0;
1064
+ border-radius: 2px;
1065
+ position: relative;
1066
+ width: 16px;
1067
+ height: 16px;
1068
+ border-width: 2px;
1069
+ border-style: solid;
1070
+ border-color: var(--ion-color-step-550, var(--ion-background-color-step-550, #737373));
1071
+ contain: strict;
1072
+ }
1073
+ .alert-checkbox-icon {
1074
+ inset-inline-start: 26px;
730
1075
  }
731
1076
 
732
1077
  [aria-checked=true] .alert-checkbox-icon {
733
- border-color: var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)));
734
- background-color: var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));
1078
+ border-color: var(--ion-color-primary, #0054e9);
1079
+ background-color: var(--ion-color-primary, #0054e9);
1080
+ }
1081
+
1082
+ [aria-checked=true] .alert-checkbox-inner {
1083
+ top: 0;
1084
+ position: absolute;
1085
+ width: 6px;
1086
+ height: 10px;
1087
+ transform: rotate(45deg);
1088
+ border-width: 2px;
1089
+ border-top-width: 0;
1090
+ border-left-width: 0;
1091
+ border-style: solid;
1092
+ border-color: var(--ion-color-primary-contrast, #fff);
1093
+ }
1094
+ [aria-checked=true] .alert-checkbox-inner {
1095
+ inset-inline-start: 3px;
735
1096
  }
736
1097
 
737
1098
  .alert-button-group {
@@ -747,33 +1108,34 @@ textarea.alert-input {
747
1108
  }
748
1109
 
749
1110
  .alert-button {
750
- border-radius: var(--token-border-size-050, var(--token-scale-050, 2px));
751
- -webkit-margin-start: var(--token-space-0, var(--token-scale-0, 0px));
752
- margin-inline-start: var(--token-space-0, var(--token-scale-0, 0px));
753
- -webkit-margin-end: var(--token-space-200, var(--token-scale-200, 8px));
754
- margin-inline-end: var(--token-space-200, var(--token-scale-200, 8px));
755
- margin-top: var(--token-space-0, var(--token-scale-0, 0px));
756
- margin-bottom: var(--token-space-0, var(--token-scale-0, 0px));
757
- -webkit-padding-start: var(--token-space-250, var(--token-scale-250, 10px));
758
- padding-inline-start: var(--token-space-250, var(--token-scale-250, 10px));
759
- -webkit-padding-end: var(--token-space-250, var(--token-scale-250, 10px));
760
- padding-inline-end: var(--token-space-250, var(--token-scale-250, 10px));
761
- padding-top: var(--token-space-250, var(--token-scale-250, 10px));
762
- padding-bottom: var(--token-space-250, var(--token-scale-250, 10px));
1111
+ border-radius: 2px;
1112
+ -webkit-margin-start: 0;
1113
+ margin-inline-start: 0;
1114
+ -webkit-margin-end: 8px;
1115
+ margin-inline-end: 8px;
1116
+ margin-top: 0;
1117
+ margin-bottom: 0;
1118
+ -webkit-padding-start: 10px;
1119
+ padding-inline-start: 10px;
1120
+ -webkit-padding-end: 10px;
1121
+ padding-inline-end: 10px;
1122
+ padding-top: 10px;
1123
+ padding-bottom: 10px;
763
1124
  position: relative;
764
1125
  background-color: transparent;
765
- color: var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));
766
- font-weight: var(--token-font-weight-medium, 500);
1126
+ color: var(--ion-color-primary, #0054e9);
1127
+ font-weight: 500;
767
1128
  text-align: end;
1129
+ text-transform: uppercase;
768
1130
  overflow: hidden;
769
1131
  }
770
1132
 
771
- .alert-button .alert-button-inner {
1133
+ .alert-button-inner {
772
1134
  justify-content: flex-end;
773
1135
  }
774
1136
 
775
1137
  /**
776
- * Ionic alerts should scale up to 560px x 560px
1138
+ * MD alerts should scale up to 560px x 560px
777
1139
  * on tablet dimensions.
778
1140
  */
779
1141
  @media screen and (min-width: 768px) {
@@ -781,4 +1143,23 @@ textarea.alert-input {
781
1143
  --max-width: min(100vw - 96px, 560px);
782
1144
  --max-height: min(100vh - 96px, 560px);
783
1145
  }
1146
+ }
1147
+ .alert-radio-label,
1148
+ .alert-checkbox-label {
1149
+ gap: var(--token-space-300, var(--token-scale-300, 12px));
1150
+ }
1151
+
1152
+ .select-option-description {
1153
+ font-size: var(--token-font-size-350, 0.875rem);
1154
+ font-weight: var(--token-font-weight-regular, 400);
1155
+ letter-spacing: var(--token-font-letter-spacing-0, 0%);
1156
+ line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
1157
+ text-decoration: none;
1158
+ text-transform: none;
1159
+ padding-left: 0;
1160
+ padding-right: 0;
1161
+ padding-top: 0;
1162
+ padding-bottom: 0;
1163
+ color: var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b));
1164
+ font-size: var(--token-font-size-350, 0.875rem);
784
1165
  }