@ionic/core 8.0.0-dev.11712072527.1dd97c66 → 8.0.0-rc.1

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 (420) hide show
  1. package/components/button.js +2 -2
  2. package/components/ion-content.js +4 -6
  3. package/components/ion-datetime-button.js +1 -1
  4. package/components/ion-datetime.js +2 -2
  5. package/components/ion-fab-button.js +2 -2
  6. package/components/ion-fab-list.js +2 -2
  7. package/components/ion-fab.js +2 -2
  8. package/components/ion-footer.js +2 -2
  9. package/components/ion-grid.js +2 -2
  10. package/components/ion-header.js +2 -2
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +2 -2
  13. package/components/ion-infinite-scroll.js +1 -1
  14. package/components/ion-input-password-toggle.js +3 -3
  15. package/components/ion-input.js +4 -8
  16. package/components/ion-item-divider.js +2 -2
  17. package/components/ion-item-group.js +1 -1
  18. package/components/ion-item-option.js +2 -2
  19. package/components/ion-item-options.js +1 -1
  20. package/components/ion-item-sliding.js +1 -1
  21. package/components/ion-loading.js +2 -2
  22. package/components/ion-menu-button.js +2 -2
  23. package/components/ion-menu-toggle.js +2 -2
  24. package/components/ion-menu.js +2 -2
  25. package/components/ion-modal.js +3 -3
  26. package/components/ion-nav-link.js +1 -1
  27. package/components/ion-nav.js +1 -1
  28. package/components/ion-note.js +2 -2
  29. package/components/ion-picker-legacy.js +2 -2
  30. package/components/ion-progress-bar.js +1 -1
  31. package/components/ion-range.js +3 -3
  32. package/components/ion-refresher-content.js +1 -1
  33. package/components/ion-refresher.js +1 -1
  34. package/components/ion-reorder-group.js +1 -1
  35. package/components/ion-reorder.js +1 -1
  36. package/components/ion-router-link.js +2 -2
  37. package/components/ion-router-outlet.js +1 -1
  38. package/components/ion-row.js +1 -1
  39. package/components/ion-searchbar.js +4 -4
  40. package/components/ion-segment-button.js +3 -3
  41. package/components/ion-segment.js +2 -2
  42. package/components/ion-select-option.js +1 -1
  43. package/components/ion-select.js +2 -2
  44. package/components/ion-skeleton-text.js +2 -2
  45. package/components/ion-split-pane.js +2 -2
  46. package/components/ion-tab-bar.js +2 -2
  47. package/components/ion-tab-button.js +2 -2
  48. package/components/ion-tab.js +2 -2
  49. package/components/ion-tabs.js +1 -1
  50. package/components/ion-text.js +2 -2
  51. package/components/ion-textarea.js +2 -2
  52. package/components/ion-thumbnail.js +1 -1
  53. package/components/ion-title.js +2 -2
  54. package/components/ion-toast.js +2 -2
  55. package/components/ion-toggle.js +3 -3
  56. package/components/ion-toolbar.js +2 -2
  57. package/components/label.js +2 -2
  58. package/components/list-header.js +2 -2
  59. package/components/list.js +1 -1
  60. package/components/picker-column-option.js +2 -2
  61. package/components/picker-column.js +3 -3
  62. package/components/picker-column2.js +2 -2
  63. package/components/picker.js +2 -2
  64. package/components/popover.js +4 -4
  65. package/components/radio-group.js +1 -1
  66. package/components/radio.js +3 -3
  67. package/components/ripple-effect.js +1 -1
  68. package/components/select-popover.js +1 -1
  69. package/components/spinner.js +1 -1
  70. package/css/core.css +1 -624
  71. package/css/core.css.map +1 -1
  72. package/css/display.css +1 -131
  73. package/css/display.css.map +1 -1
  74. package/css/flex-utils.css +1 -81
  75. package/css/flex-utils.css.map +1 -1
  76. package/css/float-elements.css +1 -293
  77. package/css/float-elements.css.map +1 -1
  78. package/css/global.bundle.css +1 -457
  79. package/css/global.bundle.css.map +1 -1
  80. package/css/ionic-swiper.css +1 -127
  81. package/css/ionic-swiper.css.map +1 -1
  82. package/css/ionic.bundle.css +1 -1
  83. package/css/ionic.bundle.css.map +1 -1
  84. package/css/normalize.css +1 -150
  85. package/css/normalize.css.map +1 -1
  86. package/css/padding.css +1 -202
  87. package/css/padding.css.map +1 -1
  88. package/css/palettes/dark.always.css +1 -160
  89. package/css/palettes/dark.always.css.map +1 -1
  90. package/css/palettes/dark.class.css +1 -160
  91. package/css/palettes/dark.class.css.map +1 -1
  92. package/css/palettes/dark.css +0 -2
  93. package/css/palettes/dark.system.css +1 -162
  94. package/css/palettes/dark.system.css.map +1 -1
  95. package/css/palettes/high-contrast-dark.always.css +1 -180
  96. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  97. package/css/palettes/high-contrast-dark.class.css +1 -180
  98. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  99. package/css/palettes/high-contrast-dark.css +0 -2
  100. package/css/palettes/high-contrast-dark.system.css +1 -182
  101. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  102. package/css/palettes/high-contrast.always.css +1 -101
  103. package/css/palettes/high-contrast.always.css.map +1 -1
  104. package/css/palettes/high-contrast.class.css +1 -101
  105. package/css/palettes/high-contrast.class.css.map +1 -1
  106. package/css/palettes/high-contrast.css +0 -2
  107. package/css/palettes/high-contrast.system.css +1 -103
  108. package/css/palettes/high-contrast.system.css.map +1 -1
  109. package/css/structure.css +1 -152
  110. package/css/structure.css.map +1 -1
  111. package/css/text-alignment.css +1 -243
  112. package/css/text-alignment.css.map +1 -1
  113. package/css/text-transformation.css +1 -158
  114. package/css/text-transformation.css.map +1 -1
  115. package/css/typography.css +1 -157
  116. package/css/typography.css.map +1 -1
  117. package/css/utils.bundle.css +1 -1100
  118. package/css/utils.bundle.css.map +1 -1
  119. package/dist/cjs/ion-app_8.cjs.entry.js +13 -14
  120. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  121. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  123. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  124. package/dist/cjs/ion-datetime_3.cjs.entry.js +6 -6
  125. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  126. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  127. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  128. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  129. package/dist/cjs/ion-input.cjs.entry.js +4 -7
  130. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  131. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  132. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  134. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  135. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  136. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  137. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  138. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  139. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  140. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  142. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  143. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  144. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  145. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  147. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  148. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  149. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  150. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  151. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  152. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  153. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  154. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  155. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  156. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  157. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  158. package/dist/cjs/ionic.cjs.js +2 -2
  159. package/dist/cjs/loader.cjs.js +1 -1
  160. package/dist/collection/collection-manifest.json +2 -2
  161. package/dist/collection/components/button/button.ios.css +47 -8
  162. package/dist/collection/components/button/button.md.css +49 -8
  163. package/dist/collection/components/content/content.js +4 -23
  164. package/dist/collection/components/datetime/datetime.js +2 -2
  165. package/dist/collection/components/datetime-button/datetime-button.js +1 -1
  166. package/dist/collection/components/fab/fab.js +2 -2
  167. package/dist/collection/components/fab-button/fab-button.js +2 -2
  168. package/dist/collection/components/fab-list/fab-list.js +2 -2
  169. package/dist/collection/components/footer/footer.js +2 -2
  170. package/dist/collection/components/grid/grid.js +2 -2
  171. package/dist/collection/components/header/header.js +2 -2
  172. package/dist/collection/components/img/img.js +1 -1
  173. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  174. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  175. package/dist/collection/components/input/input.js +5 -25
  176. package/dist/collection/components/input/test/input.spec.js +0 -13
  177. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  178. package/dist/collection/components/item-divider/item-divider.js +2 -2
  179. package/dist/collection/components/item-group/item-group.js +1 -1
  180. package/dist/collection/components/item-option/item-option.js +2 -2
  181. package/dist/collection/components/item-options/item-options.js +1 -1
  182. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  183. package/dist/collection/components/label/label.js +2 -2
  184. package/dist/collection/components/list/list.js +1 -1
  185. package/dist/collection/components/list-header/list-header.js +2 -2
  186. package/dist/collection/components/loading/loading.js +2 -2
  187. package/dist/collection/components/menu/menu.js +2 -2
  188. package/dist/collection/components/menu-button/menu-button.js +2 -2
  189. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  190. package/dist/collection/components/modal/modal.js +3 -3
  191. package/dist/collection/components/nav/nav.js +1 -1
  192. package/dist/collection/components/nav-link/nav-link.js +1 -1
  193. package/dist/collection/components/note/note.js +2 -2
  194. package/dist/collection/components/picker/picker.js +2 -2
  195. package/dist/collection/components/picker-column/picker-column.js +3 -3
  196. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  197. package/dist/collection/components/picker-legacy/picker.js +2 -2
  198. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  199. package/dist/collection/components/popover/popover.ios.css +0 -1
  200. package/dist/collection/components/popover/popover.js +2 -2
  201. package/dist/collection/components/popover/popover.md.css +0 -1
  202. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  203. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  204. package/dist/collection/components/radio/radio.js +3 -3
  205. package/dist/collection/components/radio-group/radio-group.js +1 -1
  206. package/dist/collection/components/range/range.js +3 -3
  207. package/dist/collection/components/refresher/refresher.js +1 -1
  208. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  209. package/dist/collection/components/reorder/reorder.js +1 -1
  210. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  211. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  212. package/dist/collection/components/router-link/router-link.js +2 -2
  213. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  214. package/dist/collection/components/row/row.js +1 -1
  215. package/dist/collection/components/searchbar/searchbar.js +5 -5
  216. package/dist/collection/components/segment/segment.js +2 -2
  217. package/dist/collection/components/segment-button/segment-button.js +3 -3
  218. package/dist/collection/components/select/select.js +2 -2
  219. package/dist/collection/components/select-option/select-option.js +1 -1
  220. package/dist/collection/components/select-popover/select-popover.js +1 -1
  221. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  222. package/dist/collection/components/spinner/spinner.js +1 -1
  223. package/dist/collection/components/split-pane/split-pane.js +2 -2
  224. package/dist/collection/components/tab/tab.js +2 -2
  225. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  226. package/dist/collection/components/tab-button/tab-button.js +2 -2
  227. package/dist/collection/components/tabs/tabs.js +1 -1
  228. package/dist/collection/components/text/text.js +2 -2
  229. package/dist/collection/components/textarea/textarea.js +2 -2
  230. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  231. package/dist/collection/components/title/title.js +2 -2
  232. package/dist/collection/components/toast/toast.js +2 -2
  233. package/dist/collection/components/toggle/toggle.js +3 -3
  234. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  235. package/dist/collection/components/toolbar/toolbar.js +2 -2
  236. package/dist/docs.json +31 -82
  237. package/dist/esm/ion-app_8.entry.js +13 -14
  238. package/dist/esm/ion-avatar_3.entry.js +1 -1
  239. package/dist/esm/ion-button_2.entry.js +2 -2
  240. package/dist/esm/ion-col_3.entry.js +3 -3
  241. package/dist/esm/ion-datetime-button.entry.js +1 -1
  242. package/dist/esm/ion-datetime_3.entry.js +6 -6
  243. package/dist/esm/ion-fab_3.entry.js +6 -6
  244. package/dist/esm/ion-img.entry.js +1 -1
  245. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  246. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  247. package/dist/esm/ion-input.entry.js +4 -7
  248. package/dist/esm/ion-item-option_3.entry.js +4 -4
  249. package/dist/esm/ion-item_8.entry.js +12 -12
  250. package/dist/esm/ion-loading.entry.js +2 -2
  251. package/dist/esm/ion-menu_3.entry.js +6 -6
  252. package/dist/esm/ion-modal.entry.js +3 -3
  253. package/dist/esm/ion-nav_2.entry.js +2 -2
  254. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  255. package/dist/esm/ion-picker-column.entry.js +3 -3
  256. package/dist/esm/ion-picker.entry.js +2 -2
  257. package/dist/esm/ion-popover.entry.js +4 -4
  258. package/dist/esm/ion-progress-bar.entry.js +1 -1
  259. package/dist/esm/ion-radio_2.entry.js +4 -4
  260. package/dist/esm/ion-range.entry.js +3 -3
  261. package/dist/esm/ion-refresher_2.entry.js +2 -2
  262. package/dist/esm/ion-reorder_2.entry.js +2 -2
  263. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  264. package/dist/esm/ion-route_4.entry.js +2 -2
  265. package/dist/esm/ion-searchbar.entry.js +4 -4
  266. package/dist/esm/ion-segment_2.entry.js +5 -5
  267. package/dist/esm/ion-select_3.entry.js +4 -4
  268. package/dist/esm/ion-spinner.entry.js +1 -1
  269. package/dist/esm/ion-split-pane.entry.js +2 -2
  270. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  271. package/dist/esm/ion-tab_2.entry.js +3 -3
  272. package/dist/esm/ion-text.entry.js +2 -2
  273. package/dist/esm/ion-textarea.entry.js +2 -2
  274. package/dist/esm/ion-toast.entry.js +2 -2
  275. package/dist/esm/ion-toggle.entry.js +3 -3
  276. package/dist/esm/ionic.js +2 -2
  277. package/dist/esm/loader.js +1 -1
  278. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  279. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  280. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  281. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  282. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  283. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  284. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  285. package/dist/esm-es5/ion-img.entry.js +1 -1
  286. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  287. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  288. package/dist/esm-es5/ion-input.entry.js +1 -1
  289. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  290. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  291. package/dist/esm-es5/ion-loading.entry.js +1 -1
  292. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  293. package/dist/esm-es5/ion-modal.entry.js +1 -1
  294. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  295. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  296. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  297. package/dist/esm-es5/ion-picker.entry.js +1 -1
  298. package/dist/esm-es5/ion-popover.entry.js +1 -1
  299. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  300. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  301. package/dist/esm-es5/ion-range.entry.js +1 -1
  302. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  303. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  304. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  305. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  306. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  307. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  308. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  309. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  310. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  311. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  312. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  313. package/dist/esm-es5/ion-text.entry.js +1 -1
  314. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  315. package/dist/esm-es5/ion-toast.entry.js +1 -1
  316. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  317. package/dist/esm-es5/ionic.js +1 -1
  318. package/dist/esm-es5/loader.js +1 -1
  319. package/dist/html.html-data.json +18 -34
  320. package/dist/ionic/ionic.esm.js +1 -1
  321. package/dist/ionic/ionic.js +1 -1
  322. package/dist/ionic/p-012cc611.system.entry.js +4 -0
  323. package/dist/ionic/{p-64714af0.system.entry.js → p-04070329.system.entry.js} +1 -1
  324. package/dist/ionic/{p-c06e1332.system.entry.js → p-049fa018.system.entry.js} +1 -1
  325. package/dist/ionic/{p-83b6da7c.system.entry.js → p-07ae133d.system.entry.js} +1 -1
  326. package/dist/ionic/{p-9ce13bcc.entry.js → p-0aa4682e.entry.js} +1 -1
  327. package/dist/ionic/{p-23a94a8e.system.entry.js → p-0bbb6edf.system.entry.js} +1 -1
  328. package/dist/ionic/p-0de546bb.entry.js +4 -0
  329. package/dist/ionic/{p-7820f3ab.system.entry.js → p-0ebb1fe7.system.entry.js} +1 -1
  330. package/dist/ionic/{p-5eafecd8.entry.js → p-0f2d99a6.entry.js} +1 -1
  331. package/dist/ionic/{p-d8ebc853.system.entry.js → p-100bedc4.system.entry.js} +1 -1
  332. package/dist/ionic/{p-65e0d04e.system.entry.js → p-1672c4fd.system.entry.js} +2 -2
  333. package/dist/ionic/{p-61aa1ba6.entry.js → p-17978fce.entry.js} +1 -1
  334. package/dist/ionic/p-18057853.entry.js +4 -0
  335. package/dist/ionic/{p-55d7edd7.entry.js → p-1c451f69.entry.js} +1 -1
  336. package/dist/ionic/{p-f6f4f694.entry.js → p-1cff9cad.entry.js} +1 -1
  337. package/dist/ionic/{p-4665ab20.entry.js → p-1f9cdee2.entry.js} +1 -1
  338. package/dist/ionic/{p-a70c90d8.entry.js → p-2e12bda2.entry.js} +1 -1
  339. package/dist/ionic/{p-d2b175d3.entry.js → p-3391d9a3.entry.js} +1 -1
  340. package/dist/ionic/{p-715d10d2.system.entry.js → p-352f7037.system.entry.js} +1 -1
  341. package/dist/ionic/{p-8e2368ae.system.entry.js → p-35722bba.system.entry.js} +1 -1
  342. package/dist/ionic/{p-6c3c02d4.entry.js → p-35b9e842.entry.js} +1 -1
  343. package/dist/ionic/{p-1361399b.system.entry.js → p-3d6e882f.system.entry.js} +1 -1
  344. package/dist/ionic/{p-4264f999.system.entry.js → p-3e3b34f7.system.entry.js} +1 -1
  345. package/dist/ionic/{p-bf4609f9.system.entry.js → p-4196b2d1.system.entry.js} +1 -1
  346. package/dist/ionic/{p-0fad7a2d.system.entry.js → p-43505ff8.system.entry.js} +1 -1
  347. package/dist/ionic/{p-d68569fe.system.entry.js → p-4429fc97.system.entry.js} +1 -1
  348. package/dist/ionic/{p-10ad2148.system.entry.js → p-49b6fee0.system.entry.js} +1 -1
  349. package/dist/ionic/{p-8a6e15fc.system.entry.js → p-51b68ec9.system.entry.js} +1 -1
  350. package/dist/ionic/{p-9d9f20ce.system.entry.js → p-58ea73f7.system.entry.js} +1 -1
  351. package/dist/ionic/p-596e0cf8.system.entry.js +4 -0
  352. package/dist/ionic/p-5ae49f12.entry.js +4 -0
  353. package/dist/ionic/{p-69c8ec2a.system.entry.js → p-5b1273f4.system.entry.js} +1 -1
  354. package/dist/ionic/p-5d3f6707.entry.js +4 -0
  355. package/dist/ionic/{p-c8db6adb.entry.js → p-5da04d11.entry.js} +1 -1
  356. package/dist/ionic/p-5fa8587e.system.entry.js +4 -0
  357. package/dist/ionic/p-6771c0a9.system.entry.js +4 -0
  358. package/dist/ionic/{p-fb16b850.system.entry.js → p-68a1e274.system.entry.js} +1 -1
  359. package/dist/ionic/p-69bc14fd.entry.js +4 -0
  360. package/dist/ionic/{p-34272b1f.system.entry.js → p-6f4db5ce.system.entry.js} +1 -1
  361. package/dist/ionic/{p-8337ce33.system.entry.js → p-716ab5f8.system.entry.js} +1 -1
  362. package/dist/ionic/{p-d104ba38.system.entry.js → p-76907c2f.system.entry.js} +1 -1
  363. package/dist/ionic/{p-b75155ca.entry.js → p-7df2c495.entry.js} +1 -1
  364. package/dist/ionic/{p-3d72cae3.entry.js → p-7fc505bf.entry.js} +1 -1
  365. package/dist/ionic/{p-1bd294a2.entry.js → p-83321ee8.entry.js} +1 -1
  366. package/dist/ionic/{p-512cdc37.entry.js → p-896111fa.entry.js} +1 -1
  367. package/dist/ionic/p-89b59bd7.entry.js +4 -0
  368. package/dist/ionic/{p-ea6f36fb.system.entry.js → p-8bd567ba.system.entry.js} +1 -1
  369. package/dist/ionic/{p-4e802677.entry.js → p-8e9ac22d.entry.js} +1 -1
  370. package/dist/ionic/{p-c389d18c.entry.js → p-9540561f.entry.js} +1 -1
  371. package/dist/ionic/{p-240cac05.entry.js → p-99daf8b7.entry.js} +1 -1
  372. package/dist/ionic/{p-9e8cf5a2.system.entry.js → p-a1b4e619.system.entry.js} +1 -1
  373. package/dist/ionic/{p-14700c11.system.entry.js → p-a1f9f629.system.entry.js} +1 -1
  374. package/dist/ionic/{p-be9f56eb.entry.js → p-a88fdfac.entry.js} +1 -1
  375. package/dist/ionic/{p-587643a6.system.entry.js → p-aa110ca0.system.entry.js} +1 -1
  376. package/dist/ionic/{p-727255c2.entry.js → p-ab85debb.entry.js} +1 -1
  377. package/dist/ionic/p-ac9f44a8.system.entry.js +4 -0
  378. package/dist/ionic/{p-2d5e919f.entry.js → p-c04d5a75.entry.js} +1 -1
  379. package/dist/ionic/{p-54f52179.system.entry.js → p-c198e1e1.system.entry.js} +1 -1
  380. package/dist/ionic/{p-fb1ee785.system.entry.js → p-c1d1d004.system.entry.js} +1 -1
  381. package/dist/ionic/{p-3001b2f5.entry.js → p-c41af68a.entry.js} +1 -1
  382. package/dist/ionic/p-c478747f.system.js +4 -0
  383. package/dist/ionic/{p-16dc1af8.entry.js → p-c8f2b769.entry.js} +1 -1
  384. package/dist/ionic/{p-18609ea3.system.entry.js → p-c9c39c98.system.entry.js} +1 -1
  385. package/dist/ionic/{p-17050343.system.entry.js → p-d8067ea4.system.entry.js} +1 -1
  386. package/dist/ionic/{p-23e0649d.entry.js → p-d8f66669.entry.js} +1 -1
  387. package/dist/ionic/{p-c872fcd2.entry.js → p-d98c0112.entry.js} +1 -1
  388. package/dist/ionic/{p-81c91374.entry.js → p-dc1372e0.entry.js} +1 -1
  389. package/dist/ionic/p-df48edd6.entry.js +4 -0
  390. package/dist/ionic/{p-de3c33f3.entry.js → p-df6fa126.entry.js} +1 -1
  391. package/dist/ionic/{p-f96f7d38.entry.js → p-e8a0e731.entry.js} +1 -1
  392. package/dist/ionic/{p-8bbc7271.entry.js → p-e955bf61.entry.js} +1 -1
  393. package/dist/ionic/{p-37ed0807.system.entry.js → p-ea2c16b5.system.entry.js} +2 -2
  394. package/dist/ionic/{p-4861159f.entry.js → p-f0392d49.entry.js} +1 -1
  395. package/dist/ionic/p-f818b01a.entry.js +4 -0
  396. package/dist/ionic/{p-c373bd37.system.entry.js → p-fb02eeec.system.entry.js} +1 -1
  397. package/dist/ionic/{p-ac6dd92b.system.entry.js → p-fb97326f.system.entry.js} +1 -1
  398. package/dist/ionic/{p-92210d07.entry.js → p-fbd30ec7.entry.js} +1 -1
  399. package/dist/ionic/{p-784d54d4.entry.js → p-fda4872f.entry.js} +1 -1
  400. package/dist/ionic/{p-5278521a.system.entry.js → p-ff2323ba.system.entry.js} +2 -2
  401. package/dist/types/components/content/content.d.ts +0 -8
  402. package/dist/types/components/input/input.d.ts +0 -4
  403. package/dist/types/components.d.ts +0 -16
  404. package/hydrate/index.js +146 -137
  405. package/package.json +2 -2
  406. package/dist/collection/components/content/test/content.spec.js +0 -27
  407. package/dist/ionic/p-07c88a2e.entry.js +0 -4
  408. package/dist/ionic/p-0d189eaf.entry.js +0 -4
  409. package/dist/ionic/p-159a5b6a.system.entry.js +0 -4
  410. package/dist/ionic/p-23b89985.entry.js +0 -4
  411. package/dist/ionic/p-4e6ddce7.entry.js +0 -4
  412. package/dist/ionic/p-8370ef82.entry.js +0 -4
  413. package/dist/ionic/p-8b19c120.entry.js +0 -4
  414. package/dist/ionic/p-95bc0add.system.entry.js +0 -4
  415. package/dist/ionic/p-9a45140d.system.entry.js +0 -4
  416. package/dist/ionic/p-aeb5a22b.system.entry.js +0 -4
  417. package/dist/ionic/p-bb835b4d.system.entry.js +0 -4
  418. package/dist/ionic/p-cec3bebe.entry.js +0 -4
  419. package/dist/ionic/p-e350ab4a.entry.js +0 -4
  420. package/dist/ionic/p-ea4be6ac.system.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/themes/ionic.functions.font.scss","../src/themes/ionic.mixins.scss","../src/css/padding.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACHA;EACE;EACA;EACA;EACA;EDsTE,cCpTe;EDqTf,eCrTe;EDyUjB,aCzUiB;ED0UjB,gBC1UiB;;;AAGnB;EACE;EACA;EACA;EACA;EDiTE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;EDqVR,aCrVQ;EDsVR,gBCtVQ;;;AAwBV;EACE;ED4TA,aCrVQ;;;AA8BV;EACE;EDqSE,uBCpUM;EDqUN,sBCrUM;;;AAoCV;EACE;EDiSE,qBCtUM;EDuUN,oBCvUM;;;AA0CV;EACE;ED2SA,gBCtVQ;;;AAgDV;EACE;EACA;EDmSA,aCrVQ;EDsVR,gBCtVQ;;;AAuDV;EACE;EACA;ED2QE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;;;AAkEV;EACE;EACA;EACA;EACA;ED0PE,aCxPc;EDyPd,cCzPc;ED6QhB,YC7QgB;ED8QhB,eC9QgB;;;AAGlB;EACE;EACA;EACA;EACA;EDqPE,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;EDoVP,YCpVO;EDqVP,eCrVO;;;AAmFT;EACE;EDgQA,YCpVO;;;AAyFT;EACE;EDyOE,sBCnUK;EDoUL,qBCpUK;;;AA+FT;EACE;EDqOE,oBCrUK;EDsUL,mBCtUK;;;AAqGT;EACE;ED+OA,eCrVO;;;AA2GT;EACE;EACA;EDuOA,YCpVO;EDqVP,eCrVO;;;AAkHT;EACE;EACA;ED+ME,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;;;AFLT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AELI;EF2dE;;;AEvdF;EFudE;;;AEndF;EFqcE;;AAzNO;EA4NP;;;AArNO;EAqNP;;;AA/MJ;EAcW;IAiMP;;;;AEpcF;EFwcE;;AAhOO;EAmOP;;;AA5NO;EA4NP;;;AAtNJ;EAcW;IAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AD/dN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AGLI;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AJrCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AILI;AACE;EACA;;;AAGF;AACE;EACA;;;AAGF;AACE;EACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;ACjBN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AN5FF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AMXA;EACE;;;AAUE;EACE;;;AAOF;EACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE","file":"utils.bundle.css","sourcesContent":["@use \"sass:math\";\n\n$baselineSize: 16px !default;\n$baselineUnit: 1rem !default;\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font($size, $unit: $baselineUnit) {\n @return (math.div($size, $baselineSize)) * $unit;\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-max($size, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $maxScale: $size * $maxScale;\n\n @return min($baseScale, $maxScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-min($minScale, $size, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $minScale: $size * $minScale;\n\n @return max($minScale, $baseScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-clamp($minScale, $baseSize, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($baseSize, $unit);\n $maxScale: $baseSize * $maxScale;\n $minScale: $baseSize * $minScale;\n\n @return clamp($minScale, $baseScale, $maxScale);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA,gBACE,mBACA,iBACA,iBACA,oBCsTE,aDpTe,ECqTf,cDrTe,ECyUjB,YDzUiB,EC0UjB,eD1UiB,EAGnB,aACE,0CACA,wCACA,wCACA,2CCiTE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBCqVR,YDrVQ,yBCsVR,eDtVQ,yBAwBV,iBACE,wCC4TA,YDrVQ,yBA8BV,mBACE,0CCqSE,sBDpUM,yBCqUN,qBDrUM,yBAoCV,iBACE,wCCiSE,oBDtUM,yBCuUN,mBDvUM,yBA0CV,oBACE,2CC2SA,eDtVQ,yBAgDV,sBACE,wCACA,2CCmSA,YDrVQ,yBCsVR,eDtVQ,yBAuDV,wBACE,0CACA,wCC2QE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBAkEV,eACE,kBACA,gBACA,gBACA,mBC0PE,YDxPc,ECyPd,aDzPc,EC6QhB,WD7QgB,EC8QhB,cD9QgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCqPE,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBCoVP,WDpVO,wBCqVP,cDrVO,wBAmFT,gBACE,sCCgQA,WDpVO,wBAyFT,kBACE,wCCyOE,qBDnUK,wBCoUL,oBDpUK,wBA+FT,gBACE,sCCqOE,mBDrUK,wBCsUL,kBDtUK,wBAqGT,mBACE,yCC+OA,cDrVO,wBA2GT,qBACE,sCACA,yCCuOA,WDpVO,wBCqVP,cDrVO,wBAkHT,uBACE,wCACA,sCC+ME,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBEGL,gBD2dE,sBCvdF,iBDudE,uBCndF,iBDqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBCpcF,eDwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBEvdF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,0BEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,0BGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCjBN,sBACE,iCAGF,oBACE,+BAGF,uBACE,6BAGF,wBACE,8BAGF,yBACE,+BAGF,qBACE,2BAOF,UACE,0BAGF,YACE,4BAGF,kBACE,kCAOF,2BACE,sCAGF,4BACE,kCAGF,yBACE,oCAGF,4BACE,wCAGF,6BACE,yCAGF,4BACE,wCAOF,uBACE,kCAGF,wBACE,8BAGF,qBACE,gCAGF,yBACE,+BAGF,0BACE,gCC1FF,UACE,wBAUE,aACE,wBAOF,eACE,wBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,0BK/IA,gBACE,yBLuLF,6BKhLA,kBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
@@ -188,7 +188,6 @@ const Content = class {
188
188
  };
189
189
  this.color = undefined;
190
190
  this.fullscreen = false;
191
- this.fixedSlotPlacement = 'after';
192
191
  this.forceOverscroll = undefined;
193
192
  this.scrollX = false;
194
193
  this.scrollY = true;
@@ -470,13 +469,13 @@ const Content = class {
470
469
  }
471
470
  }
472
471
  render() {
473
- const { fixedSlotPlacement, isMainContent, scrollX, scrollY, el } = this;
472
+ const { isMainContent, scrollX, scrollY, el } = this;
474
473
  const rtl = dir.isRTL(el) ? 'rtl' : 'ltr';
475
474
  const mode = ionicGlobal.getIonMode(this);
476
475
  const forceOverscroll = this.shouldForceOverscroll();
477
476
  const transitionShadow = mode === 'ios';
478
477
  this.resize();
479
- return (index.h(index.Host, { key: 'ff21c25f4ad5d668e04b45d4f5278c3f0bbdee4e', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
478
+ return (index.h(index.Host, { key: '133795359748c29c2f26f2c4b05315c1ee2ebf14', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
480
479
  [mode]: true,
481
480
  'content-sizing': theme.hostContext('ion-popover', this.el),
482
481
  overscroll: forceOverscroll,
@@ -484,12 +483,12 @@ const Content = class {
484
483
  }), style: {
485
484
  '--offset-top': `${this.cTop}px`,
486
485
  '--offset-bottom': `${this.cBottom}px`,
487
- } }, index.h("div", { key: 'a0781a593ec14977240318c1268971612f990edf', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: '216bfc31280b7c3b4cbcd54edc4caab01f60b463', class: {
486
+ } }, index.h("div", { key: 'cec324eeb397b9947b48706a726a71c0a338c47b', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), index.h("div", { key: 'da55ddf94fe7fba83e3625f08ce0561136911828', class: {
488
487
  'inner-scroll': true,
489
488
  'scroll-x': scrollX,
490
489
  'scroll-y': scrollY,
491
490
  overscroll: (scrollX || scrollY) && forceOverscroll,
492
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: 'ac6f8ce8da08a5a55e6f1cfc77b07d4f2e1e5dda' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? index.h("slot", { name: "fixed" }) : null));
491
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: '5277456fa0cca2680fbb3ae48f90100ba16bf90d' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, index.h("slot", { key: 'e3dfb4aa64d29e5cc24e8b0cd75a7eb1e0d6954c', name: "fixed" })));
493
492
  }
494
493
  get el() { return index.getElement(this); }
495
494
  };
@@ -657,7 +656,7 @@ const Footer = class {
657
656
  const mode = ionicGlobal.getIonMode(this);
658
657
  const tabs = this.el.closest('ion-tabs');
659
658
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
660
- return (index.h(index.Host, { key: 'b8b57c6d3ffcb100330c0f19f1f567db89569efd', role: "contentinfo", class: {
659
+ return (index.h(index.Host, { key: 'c6f57ef061d44a475dd2c3361e73199a1820e2ea', role: "contentinfo", class: {
661
660
  [mode]: true,
662
661
  // Used internally for styling
663
662
  [`footer-${mode}`]: true,
@@ -665,7 +664,7 @@ const Footer = class {
665
664
  [`footer-translucent-${mode}`]: translucent,
666
665
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
667
666
  [`footer-collapse-${collapse}`]: collapse !== undefined,
668
- } }, mode === 'ios' && translucent && index.h("div", { class: "footer-background" }), index.h("slot", { key: 'a9f465cbd6100ba16fd1e02e382997ac87303bb7' })));
667
+ } }, mode === 'ios' && translucent && index.h("div", { class: "footer-background" }), index.h("slot", { key: '5f27edadd5c05c38d0ba9de0277bac675f5b36b3' })));
669
668
  }
670
669
  get el() { return index.getElement(this); }
671
670
  };
@@ -987,14 +986,14 @@ const Header = class {
987
986
  const collapse = this.collapse || 'none';
988
987
  // banner role must be at top level, so remove role if inside a menu
989
988
  const roleType = theme.hostContext('ion-menu', this.el) ? 'none' : 'banner';
990
- return (index.h(index.Host, Object.assign({ key: '37ded46927283f6aa2c2b069510e37d427a908ad', role: roleType, class: {
989
+ return (index.h(index.Host, Object.assign({ key: '9f30ede40eaf89b3e0adbcd03e1d08d0d4ca762b', role: roleType, class: {
991
990
  [mode]: true,
992
991
  // Used internally for styling
993
992
  [`header-${mode}`]: true,
994
993
  [`header-translucent`]: this.translucent,
995
994
  [`header-collapse-${collapse}`]: true,
996
995
  [`header-translucent-${mode}`]: this.translucent,
997
- } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { class: "header-background" }), index.h("slot", { key: '3d25f5606e297ba9e0fea3c2fe0d7da542089075' })));
996
+ } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { class: "header-background" }), index.h("slot", { key: '029aa484210e8dd5c5404a84c134d64a9100ba6e' })));
998
997
  }
999
998
  get el() { return index.getElement(this); }
1000
999
  };
@@ -1178,7 +1177,7 @@ const RouterOutlet = class {
1178
1177
  return true;
1179
1178
  }
1180
1179
  render() {
1181
- return index.h("slot", { key: 'b90c776f7924a88b1b36befe7e6f8943fc20dfe3' });
1180
+ return index.h("slot", { key: '42ee7dad5f8ae08d8204c56fbe9970b938ce5746' });
1182
1181
  }
1183
1182
  get el() { return index.getElement(this); }
1184
1183
  static get watchers() { return {
@@ -1218,11 +1217,11 @@ const ToolbarTitle = class {
1218
1217
  render() {
1219
1218
  const mode = ionicGlobal.getIonMode(this);
1220
1219
  const size = this.getSize();
1221
- return (index.h(index.Host, { key: 'af95e7123b3d39110425c16cb4f7f8efb1ee1536', class: theme.createColorClasses(this.color, {
1220
+ return (index.h(index.Host, { key: '4e7a269caceb9cf7a71c3ba5dc15903a72203132', class: theme.createColorClasses(this.color, {
1222
1221
  [mode]: true,
1223
1222
  [`title-${size}`]: true,
1224
1223
  'title-rtl': document.dir === 'rtl',
1225
- }) }, index.h("div", { key: '54efce3d5769fb3de297a6d534dc87d57f365004', class: "toolbar-title" }, index.h("slot", { key: 'f7ed25c6b178cad1840e35e81e3eeeca3aacea3f' }))));
1224
+ }) }, index.h("div", { key: 'e42d43e85a57a2ac16579021df43ade524f1d9bf', class: "toolbar-title" }, index.h("slot", { key: '2319bcfdb2b79eec9c03db84bea2a9f133cc8576' }))));
1226
1225
  }
1227
1226
  get el() { return index.getElement(this); }
1228
1227
  static get watchers() { return {
@@ -1290,10 +1289,10 @@ const Toolbar = class {
1290
1289
  this.childrenStyles.forEach((value) => {
1291
1290
  Object.assign(childStyles, value);
1292
1291
  });
1293
- return (index.h(index.Host, { key: 'f72d6a7ed20c88ba15d64050acfc20f320569862', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1292
+ return (index.h(index.Host, { key: 'f11da98ce3398f95930cd6f5b95783a5b658e206', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1294
1293
  [mode]: true,
1295
1294
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1296
- })) }, index.h("div", { key: 'ccf18eea9756ca56ca828b05bd3f86cf8a32e24c', class: "toolbar-background" }), index.h("div", { key: '1fa699d8e17f57b42a52d47a1bdb793f2cbbfe5d', class: "toolbar-container" }, index.h("slot", { key: 'ef4d877bad0918eefdc67fa7aa258024a58d26ef', name: "start" }), index.h("slot", { key: '41858db7a8d58c9165952c9336731d621ec3c2b8', name: "secondary" }), index.h("div", { key: '577770b9346b48a0fa1412cbdbd9393d553d2286', class: "toolbar-content" }, index.h("slot", { key: 'ae47b29e1f7d2c3dde7a170c9737b48f075139c2' })), index.h("slot", { key: 'cfbf7879daf1a38fee434335abff936d8f3690e0', name: "primary" }), index.h("slot", { key: 'ed3a66248f43e0749f6aef9fb78ea4f5034c0774', name: "end" }))));
1295
+ })) }, index.h("div", { key: '2e473c8bebf448f411ec1a579f0c81eb05310c56', class: "toolbar-background" }), index.h("div", { key: 'cf2d7c69bc028410338942aaea37527c570ccec5', class: "toolbar-container" }, index.h("slot", { key: '445cbd5299188eef4761c605b4a8d20a61079590', name: "start" }), index.h("slot", { key: '77675b5c0c0afffe5251ba271f5db23f87339859', name: "secondary" }), index.h("div", { key: '7d5967c4ad6c0fca7573aa48da707c8b0dfcd052', class: "toolbar-content" }, index.h("slot", { key: 'ad5530d63df9ca101760fb9f71e3641c66e95b6c' })), index.h("slot", { key: '35837ac1b7a4a59f000149d480900bc19015b258', name: "primary" }), index.h("slot", { key: '504904cf46e2190dd0a3aa5b7855b5fc54f73726', name: "end" }))));
1297
1296
  }
1298
1297
  get el() { return index.getElement(this); }
1299
1298
  };
@@ -59,7 +59,7 @@ const Thumbnail = class {
59
59
  index.registerInstance(this, hostRef);
60
60
  }
61
61
  render() {
62
- return (index.h(index.Host, { key: '68bac4e80f5d27131690fd20dfabff2618743206', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '89f46a686288428391cdfaef3384824751ae3d05' })));
62
+ return (index.h(index.Host, { key: 'b1fe245cf42f0462336519d07afd6c91eef388cf', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '5e0f575864fcd9ae03ec8f5f7eb915efcf568337' })));
63
63
  }
64
64
  };
65
65
  Thumbnail.style = IonThumbnailStyle0;
@@ -143,10 +143,10 @@ const isRTL = (hostEl) => {
143
143
  return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
144
144
  };
145
145
 
146
- const buttonIosCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}:host{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #0054e9);--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}:host(.in-buttons){font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}:host(.button-large){--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}:host(.button-small){--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.125em, 60px);min-height:clamp(30px, 2.125em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:1.125em}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:1.4em}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:1em}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:not(.ion-activated):hover),:host(.button-outline:not(.ion-activated):hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after{background:#fff;opacity:0.1}}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}";
146
+ const buttonIosCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #0054e9);--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}:host(.in-buttons){font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}:host(.button-large){--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}:host(.button-small){--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.125em, 60px);min-height:clamp(30px, 2.125em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 1.125em, 43.02px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(12.1394px, 1.308125em, 40.1856px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.12px, 0.9em, 43.056px)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:not(.ion-activated):hover),:host(.button-outline:not(.ion-activated):hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after{background:#fff;opacity:0.1}}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}";
147
147
  const IonButtonIosStyle0 = buttonIosCss;
148
148
 
149
- const buttonMdCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}:host{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}:host(.button-small){--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}:host(.button-strong){font-weight:bold}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.86em, 60px);min-height:clamp(30px, 2.86em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:1.6em}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:1.23em}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:1.4em}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
149
+ const buttonMdCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #0054e9);--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #0054e9)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-native::-moz-focus-inner{border:0}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted(ion-icon){font-size:1.35em;pointer-events:none}::slotted(ion-icon[slot=start]){-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}::slotted(ion-icon[slot=end]){-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #0054e9);--background-hover:var(--ion-color-primary, #0054e9);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:999px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}:host(.button-small){--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}:host(.button-strong){font-weight:bold}:host(.button-has-icon-only){--padding-top:0;--padding-bottom:var(--padding-top);--padding-end:var(--padding-top);--padding-start:var(--padding-end);min-width:clamp(30px, 2.86em, 60px);min-height:clamp(30px, 2.86em, 60px)}::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.104px, 1.6em, 43.008px)}:host(.button-small.button-has-icon-only){min-width:clamp(23px, 2.16em, 54px);min-height:clamp(23px, 2.16em, 54px)}:host(.button-small) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(13.002px, 1.23125em, 40.385px)}:host(.button-large.button-has-icon-only){min-width:clamp(46px, 2.5em, 78px);min-height:clamp(46px, 2.5em, 78px)}:host(.button-large) ::slotted(ion-icon[slot=icon-only]){font-size:clamp(15.008px, 1.4em, 43.008px)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-background, var(--color));color:var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff))}";
150
150
  const IonButtonMdStyle0 = buttonMdCss;
151
151
 
152
152
  const Button = class {
@@ -157,10 +157,10 @@ const Grid = class {
157
157
  }
158
158
  render() {
159
159
  const mode = ionicGlobal.getIonMode(this);
160
- return (index.h(index.Host, { key: 'd240212314811650765ac22936da13b0a92680b8', class: {
160
+ return (index.h(index.Host, { key: 'f16254ea58e52b57b2de5cb33a7e84ad544361af', class: {
161
161
  [mode]: true,
162
162
  'grid-fixed': this.fixed,
163
- } }, index.h("slot", { key: 'd0b55fd347db2b2f92805975c61da093c762c26d' })));
163
+ } }, index.h("slot", { key: '42f4eff0d912dc0112fa74d7de69f3a6a8e04a2e' })));
164
164
  }
165
165
  };
166
166
  Grid.style = IonGridStyle0;
@@ -173,7 +173,7 @@ const Row = class {
173
173
  index.registerInstance(this, hostRef);
174
174
  }
175
175
  render() {
176
- return (index.h(index.Host, { key: 'e52c499804f7bebc1c4ab8fb69ef1b452eae58c1', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '7808e8156601912e0192fe0b74bdedda2c359e1c' })));
176
+ return (index.h(index.Host, { key: '99e5562cd37159634f14d351e5a09233c9da9611', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: '07beb06113ae641d7b3d6c24307861d74c31a8d5' })));
177
177
  }
178
178
  };
179
179
  Row.style = IonRowStyle0;
@@ -338,7 +338,7 @@ const DatetimeButton = class {
338
338
  render() {
339
339
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
340
340
  const mode = ionicGlobal.getIonMode(this);
341
- return (index.h(index.Host, { key: '49854fc8a4b9875194c1537d0b3b59459e39606f', class: theme.createColorClasses(color, {
341
+ return (index.h(index.Host, { key: 'f0ee6b859ad193be78cfc49d4d66373adfdbd618', class: theme.createColorClasses(color, {
342
342
  [mode]: true,
343
343
  [`${selectedButton}-active`]: datetimeActive,
344
344
  ['datetime-button-disabled']: disabled,
@@ -1762,7 +1762,7 @@ const Datetime = class {
1762
1762
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1763
1763
  const hasWheelVariant = hasDatePresentation && preferWheel;
1764
1764
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1765
- return (index$1.h(index$1.Host, { key: '89de4c9f54e7c11038c62ecaa2e90aea47948393', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1765
+ return (index$1.h(index$1.Host, { key: '79357d753d003539aaadbc30aa0ca7e2ab97415d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1766
1766
  [mode]: true,
1767
1767
  ['datetime-readonly']: readonly,
1768
1768
  ['datetime-disabled']: disabled,
@@ -1772,7 +1772,7 @@ const Datetime = class {
1772
1772
  [`datetime-size-${size}`]: true,
1773
1773
  [`datetime-prefer-wheel`]: hasWheelVariant,
1774
1774
  [`datetime-grid`]: isGridStyle,
1775
- })) }, index$1.h("div", { key: 'b9de6cc68dc7b7773bb408fd55a7d1872460a5f9', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1775
+ })) }, index$1.h("div", { key: '18b6631ffcf028c5062659e75be5d6712ac30402', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1776
1776
  }
1777
1777
  get el() { return index$1.getElement(this); }
1778
1778
  static get watchers() { return {
@@ -2024,11 +2024,11 @@ const Picker = class {
2024
2024
  render() {
2025
2025
  const { htmlAttributes } = this;
2026
2026
  const mode = ionicGlobal.getIonMode(this);
2027
- return (index$1.h(index$1.Host, Object.assign({ key: '1cf2f8a25a3eca7ac59eff969803c85540f102fc', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2027
+ return (index$1.h(index$1.Host, Object.assign({ key: '91d3d127c46d125a2a86222e3002d804ebd8bc84', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
2028
2028
  zIndex: `${20000 + this.overlayIndex}`,
2029
2029
  }, class: Object.assign({ [mode]: true,
2030
2030
  // Used internally for styling
2031
- [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index$1.h("ion-backdrop", { key: '3a70c7c6e0457afda2e9ef4619cb253b583b7805', visible: this.showBackdrop, tappable: this.backdropDismiss }), index$1.h("div", { key: '4c90cf7dfeb9d2bdb5e947739864dbc2d1e327e0', tabindex: "0" }), index$1.h("div", { key: '050098ced341fd86bfcd72595b1f7a52c3b01b46', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index$1.h("div", { key: 'b0d9420fb053d0c71af04c88224a38f804fd99ba', class: "picker-toolbar" }, this.buttons.map((b) => (index$1.h("div", { class: buttonWrapperClass(b) }, index$1.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index$1.h("div", { key: '82cd2788c394079cb8843c240c17e3629eef0953', class: "picker-columns" }, index$1.h("div", { key: '34d2ce59e88b5967e52fe8077ef3a151c6ce38e5', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index$1.h("ion-picker-legacy-column", { col: c })), index$1.h("div", { key: 'b604b101bc0006efc246aea9320d9f44419c531f', class: "picker-below-highlight" }))), index$1.h("div", { key: '70437d735b009386b4f5ae250b555c039c366183', tabindex: "0" })));
2031
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index$1.h("ion-backdrop", { key: '63140c43f7a2e3000076adec0406197cb569f985', visible: this.showBackdrop, tappable: this.backdropDismiss }), index$1.h("div", { key: '3e86ec5e61adf40983a1d33ef24f66f4f75307e8', tabindex: "0" }), index$1.h("div", { key: '3c3844f369da33e35c9a498d88d1b7e4d686b8ce', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index$1.h("div", { key: 'e03200231976723409505b0c4070e7f596815e50', class: "picker-toolbar" }, this.buttons.map((b) => (index$1.h("div", { class: buttonWrapperClass(b) }, index$1.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index$1.h("div", { key: 'd59de79e8c364376bc16d2edae3672b21443f3fe', class: "picker-columns" }, index$1.h("div", { key: 'e79cb88c5397047bc8c7e71efb4f1a338773e744', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index$1.h("ion-picker-legacy-column", { col: c })), index$1.h("div", { key: '776de64da09485ad1dbf78d4d402e297b94348a6', class: "picker-below-highlight" }))), index$1.h("div", { key: 'f0aa77e3b467c3fb4950389d27c13769dc913b14', tabindex: "0" })));
2032
2032
  }
2033
2033
  get el() { return index$1.getElement(this); }
2034
2034
  static get watchers() { return {
@@ -2385,9 +2385,9 @@ const PickerColumnCmp = class {
2385
2385
  render() {
2386
2386
  const col = this.col;
2387
2387
  const mode = ionicGlobal.getIonMode(this);
2388
- return (index$1.h(index$1.Host, { key: '0337ac8379be177501b8d61f0ac0f68ecbb8344d', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
2388
+ return (index$1.h(index$1.Host, { key: '90b9d07917c0643cf8a622f090abefcd2846ac96', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
2389
2389
  'max-width': this.col.columnWidth,
2390
- } }, col.prefix && (index$1.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { key: '013ba8ea1c2fe4fe717386b9cc87484913c234f7', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (index$1.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (index$1.h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2390
+ } }, col.prefix && (index$1.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { key: '4adca834de9295a18bdb355ebbfa49813f0f93f8', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (index$1.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (index$1.h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
2391
2391
  }
2392
2392
  get el() { return index$1.getElement(this); }
2393
2393
  static get watchers() { return {
@@ -59,12 +59,12 @@ const Fab = class {
59
59
  render() {
60
60
  const { horizontal, vertical, edge } = this;
61
61
  const mode = ionicGlobal.getIonMode(this);
62
- return (index.h(index.Host, { key: '8d10537e35f518b03a840de9a0fbe7973abc4290', class: {
62
+ return (index.h(index.Host, { key: 'a25aae31396546595b21a760ced22ee92d2379d6', class: {
63
63
  [mode]: true,
64
64
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
65
65
  [`fab-vertical-${vertical}`]: vertical !== undefined,
66
66
  'fab-edge': edge,
67
- } }, index.h("slot", { key: '77331bf85f939b20ff14886f0a8b0f13c5ca392a' })));
67
+ } }, index.h("slot", { key: 'b01cc2572213bfa6c12111e32e2f7702e6d93621' })));
68
68
  }
69
69
  get el() { return index.getElement(this); }
70
70
  static get watchers() { return {
@@ -133,7 +133,7 @@ const FabButton = class {
133
133
  rel: this.rel,
134
134
  target: this.target,
135
135
  };
136
- return (index.h(index.Host, { key: 'bc00fdb39e41787a3b4c53aededfc32485ee9211', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: theme.createColorClasses(color, {
136
+ return (index.h(index.Host, { key: 'f342fbd54263de388bc49e54af61ce4aaaef1f2e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: theme.createColorClasses(color, {
137
137
  [mode]: true,
138
138
  'fab-button-in-list': inList,
139
139
  'fab-button-translucent-in-list': inList && translucent,
@@ -144,7 +144,7 @@ const FabButton = class {
144
144
  'ion-activatable': true,
145
145
  'ion-focusable': true,
146
146
  [`fab-button-${size}`]: size !== undefined,
147
- }) }, index.h(TagType, Object.assign({ key: 'fe13b3e19638177b516e6e530e6ff0b745856481' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => theme.openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), index.h("ion-icon", { key: '210e4a3cd39e0ff6fc300eeaafa3a9330a9dc73f', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), index.h("span", { key: 'c6547612ff58a1e46bae2e91302b6b86a49d6429', class: "button-inner" }, index.h("slot", { key: '48abc7e6a27391f2595eeddf9abd8d16c0a86630' })), mode === 'md' && index.h("ion-ripple-effect", null))));
147
+ }) }, index.h(TagType, Object.assign({ key: 'cd29a22c7d8ea02ab3469ba8a5878fd1cb28286a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => theme.openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), index.h("ion-icon", { key: '046a1254b728b43e2f4496ad96fff7bb8827df19', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), index.h("span", { key: '9b5c11105d2b7c37c82f7eea2264e29c5f939262', class: "button-inner" }, index.h("slot", { key: '283fe50749e5537bc7d21159c36c9eb3fbe45415' })), mode === 'md' && index.h("ion-ripple-effect", null))));
148
148
  }
149
149
  get el() { return index.getElement(this); }
150
150
  };
@@ -172,11 +172,11 @@ const FabList = class {
172
172
  }
173
173
  render() {
174
174
  const mode = ionicGlobal.getIonMode(this);
175
- return (index.h(index.Host, { key: 'ccce297302fa14d6ce0646d4bb14a74e71d68cb9', class: {
175
+ return (index.h(index.Host, { key: '62d22c1907677360d91fc0386ab05379bcc9de8a', class: {
176
176
  [mode]: true,
177
177
  'fab-list-active': this.activated,
178
178
  [`fab-list-side-${this.side}`]: true,
179
- } }, index.h("slot", { key: '9007d178411ea80db29d2034473e3f9d61157fa1' })));
179
+ } }, index.h("slot", { key: '4f9b6b9620c0ec79006663c5981140184129b7ce' })));
180
180
  }
181
181
  get el() { return index.getElement(this); }
182
182
  static get watchers() { return {
@@ -80,7 +80,7 @@ const Img = class {
80
80
  render() {
81
81
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
82
82
  const { draggable } = inheritedAttributes;
83
- return (index.h(index.Host, { key: '167143c9e996a0b2f78841e6c427c57a322189d7', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: 'e840d04e5d0a939cd4c2d19f915a3fee394419b5', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
83
+ return (index.h(index.Host, { key: 'fa0d0e73693f4d5454dde2397a333143ab00a145', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '70198693643ab6a33816c6e1b0ed23b368208fbb', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
84
84
  }
85
85
  get el() { return index.getElement(this); }
86
86
  static get watchers() { return {
@@ -180,7 +180,7 @@ const InfiniteScroll = class {
180
180
  render() {
181
181
  const mode = ionicGlobal.getIonMode(this);
182
182
  const disabled = this.disabled;
183
- return (index.h(index.Host, { key: '69e7741fd2eb2053ba1d59d00d307d2f662fcf13', class: {
183
+ return (index.h(index.Host, { key: 'be1a720fcf686dc48468de968d84ea58bfe0a06d', class: {
184
184
  [mode]: true,
185
185
  'infinite-scroll-loading': this.isLoading,
186
186
  'infinite-scroll-enabled': !disabled,
@@ -222,11 +222,11 @@ const InfiniteScrollContent = class {
222
222
  }
223
223
  render() {
224
224
  const mode = ionicGlobal.getIonMode(this);
225
- return (index.h(index.Host, { key: '7c32cbd526ef8a151df1c870bd3a4f0c9d764154', class: {
225
+ return (index.h(index.Host, { key: '44b11681f802fb0d1c565810f71f7672453e16ca', class: {
226
226
  [mode]: true,
227
227
  // Used internally for styling
228
228
  [`infinite-scroll-content-${mode}`]: true,
229
- } }, index.h("div", { key: '6bd67f2c9f3f23edc2f81b6de16134b853bea716', class: "infinite-loading" }, this.loadingSpinner && (index.h("div", { class: "infinite-loading-spinner" }, index.h("ion-spinner", { name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
229
+ } }, index.h("div", { key: 'd7e7d5beedf1e22a009e87790ca024b8f15c462b', class: "infinite-loading" }, this.loadingSpinner && (index.h("div", { class: "infinite-loading-spinner" }, index.h("ion-spinner", { name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
230
230
  }
231
231
  };
232
232
  InfiniteScrollContent.style = {
@@ -69,16 +69,16 @@ const InputPasswordToggle = class {
69
69
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : index$2.eye;
70
70
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : index$2.eyeOff;
71
71
  const isPasswordVisible = type === 'text';
72
- return (index.h(index.Host, { key: '9dd0f6e44824961eb19de2af03ed0237551bc623', class: theme.createColorClasses(color, {
72
+ return (index.h(index.Host, { key: '1cb075999e41c2fde3a3d6cafe6f37c9b5429299', class: theme.createColorClasses(color, {
73
73
  [mode]: true,
74
- }) }, index.h("ion-button", { key: '72737f52a8a9767f14bde3851a28368c3420a408', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
74
+ }) }, index.h("ion-button", { key: 'cfaaec221f530ecc475690b6508c2333e32ff609', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
75
75
  /**
76
76
  * This prevents mobile browsers from
77
77
  * blurring the input when the password toggle
78
78
  * button is activated.
79
79
  */
80
80
  ev.preventDefault();
81
- }, onClick: this.togglePasswordVisibility }, index.h("ion-icon", { key: '17a7d7681e8509aa6feab3d54ce6ca1c87b631b0', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
81
+ }, onClick: this.togglePasswordVisibility }, index.h("ion-icon", { key: 'dc0fc5fe8df4df4c145e29b30e589f159aab9cd9', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
82
82
  }
83
83
  get el() { return index.getElement(this); }
84
84
  static get watchers() { return {