@ionic/core 8.5.9 → 8.6.0

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 (801) hide show
  1. package/components/action-sheet.js +37 -23
  2. package/components/alert.js +42 -26
  3. package/components/animation.js +2 -2
  4. package/components/backdrop.js +11 -4
  5. package/components/button-active.js +1 -1
  6. package/components/button.js +30 -24
  7. package/components/buttons.js +14 -4
  8. package/components/capacitor.js +1 -1
  9. package/components/checkbox.js +40 -16
  10. package/components/config.js +1 -1
  11. package/components/content.js +24 -5
  12. package/components/data.js +31 -6
  13. package/components/gesture-controller.js +1 -1
  14. package/components/haptic.js +1 -1
  15. package/components/hardware-back-button.js +2 -2
  16. package/components/header.js +12 -7
  17. package/components/helpers.js +3 -6
  18. package/components/icon.js +1 -2
  19. package/components/index.js +1 -1
  20. package/components/index2.js +1 -1
  21. package/components/index3.js +3 -5
  22. package/components/index4.js +1 -1
  23. package/components/index5.js +2 -2
  24. package/components/index6.js +28 -3
  25. package/components/index7.js +163 -27
  26. package/components/index8.js +1 -1
  27. package/components/index9.js +3 -163
  28. package/components/input-shims.js +25 -2
  29. package/components/input.utils.js +2 -2
  30. package/components/ion-accordion-group.js +20 -7
  31. package/components/ion-accordion.js +32 -14
  32. package/components/ion-app.js +4 -5
  33. package/components/ion-avatar.js +2 -4
  34. package/components/ion-back-button.js +12 -13
  35. package/components/ion-badge.js +2 -5
  36. package/components/ion-breadcrumb.js +22 -20
  37. package/components/ion-breadcrumbs.js +14 -10
  38. package/components/ion-card-content.js +2 -4
  39. package/components/ion-card-header.js +7 -5
  40. package/components/ion-card-subtitle.js +2 -5
  41. package/components/ion-card-title.js +2 -5
  42. package/components/ion-card.js +16 -11
  43. package/components/ion-chip.js +8 -5
  44. package/components/ion-col.js +1 -26
  45. package/components/ion-datetime-button.js +16 -14
  46. package/components/ion-datetime.js +197 -82
  47. package/components/ion-fab-button.js +37 -20
  48. package/components/ion-fab-list.js +7 -2
  49. package/components/ion-fab.js +10 -4
  50. package/components/ion-footer.js +13 -8
  51. package/components/ion-grid.js +4 -2
  52. package/components/ion-img.js +1 -6
  53. package/components/ion-infinite-scroll-content.js +2 -6
  54. package/components/ion-infinite-scroll.js +27 -6
  55. package/components/ion-input-otp.d.ts +11 -0
  56. package/components/ion-input-otp.js +631 -0
  57. package/components/ion-input-password-toggle.js +11 -13
  58. package/components/ion-input.js +79 -51
  59. package/components/ion-item-divider.js +11 -7
  60. package/components/ion-item-group.js +3 -5
  61. package/components/ion-item-option.js +16 -14
  62. package/components/ion-item-options.js +7 -5
  63. package/components/ion-item-sliding.js +6 -4
  64. package/components/ion-loading.js +38 -21
  65. package/components/ion-menu-button.js +17 -12
  66. package/components/ion-menu-toggle.js +11 -7
  67. package/components/ion-menu.js +28 -12
  68. package/components/ion-nav-link.js +7 -7
  69. package/components/ion-nav.js +9 -12
  70. package/components/ion-note.js +4 -7
  71. package/components/ion-picker-legacy.js +47 -27
  72. package/components/ion-progress-bar.js +20 -7
  73. package/components/ion-range.js +69 -29
  74. package/components/ion-refresher-content.js +2 -6
  75. package/components/ion-refresher.js +56 -8
  76. package/components/ion-reorder-group.js +7 -5
  77. package/components/ion-reorder.js +4 -6
  78. package/components/ion-route-redirect.js +0 -2
  79. package/components/ion-route.js +9 -7
  80. package/components/ion-router-link.js +9 -11
  81. package/components/ion-router-outlet.js +12 -10
  82. package/components/ion-router.js +19 -1
  83. package/components/ion-row.js +2 -3
  84. package/components/ion-searchbar.js +82 -33
  85. package/components/ion-segment-button.js +22 -13
  86. package/components/ion-segment-content.js +2 -3
  87. package/components/ion-segment-view.js +7 -7
  88. package/components/ion-segment.js +24 -13
  89. package/components/ion-select-option.js +5 -4
  90. package/components/ion-select.js +68 -34
  91. package/components/ion-skeleton-text.js +6 -4
  92. package/components/ion-split-pane.js +13 -8
  93. package/components/ion-tab-bar.js +9 -8
  94. package/components/ion-tab-button.js +12 -14
  95. package/components/ion-tab.js +5 -8
  96. package/components/ion-tabs.js +5 -6
  97. package/components/ion-text.js +3 -5
  98. package/components/ion-textarea.js +72 -36
  99. package/components/ion-thumbnail.js +2 -3
  100. package/components/ion-toast.js +58 -35
  101. package/components/ion-toggle.js +55 -24
  102. package/components/ionic-global.js +1 -1
  103. package/components/item.js +20 -14
  104. package/components/keyboard-controller.js +2 -2
  105. package/components/keyboard.js +134 -69
  106. package/components/keyboard2.js +69 -134
  107. package/components/label.js +4 -8
  108. package/components/list-header.js +4 -8
  109. package/components/list.js +6 -6
  110. package/components/modal.js +122 -44
  111. package/components/notch-controller.js +1 -1
  112. package/components/overlays.js +3 -3
  113. package/components/picker-column-option.js +20 -7
  114. package/components/picker-column.js +25 -10
  115. package/components/picker-column2.js +7 -10
  116. package/components/picker.js +2 -4
  117. package/components/popover.js +132 -40
  118. package/components/radio-group.js +11 -11
  119. package/components/radio.js +30 -16
  120. package/components/refresher.utils.js +2 -2
  121. package/components/ripple-effect.js +11 -3
  122. package/components/select-modal.js +4 -9
  123. package/components/select-popover.js +6 -9
  124. package/components/spinner.js +5 -6
  125. package/components/swipe-back.js +1 -1
  126. package/components/title.js +4 -8
  127. package/components/toolbar.js +4 -7
  128. package/css/global.bundle.css +1 -1
  129. package/css/global.bundle.css.map +1 -1
  130. package/css/ionic.bundle.css +1 -1
  131. package/css/ionic.bundle.css.map +1 -1
  132. package/css/structure.css +1 -1
  133. package/css/structure.css.map +1 -1
  134. package/dist/cjs/{animation-ab2d3449.js → animation-0T7gKwOt.js} +2 -2
  135. package/dist/cjs/{button-active-43e2b419.js → button-active-C-4ud7Ht.js} +3 -3
  136. package/dist/cjs/{capacitor-c04564bf.js → capacitor-DmA66EwP.js} +1 -1
  137. package/dist/cjs/{config-f6225ae7.js → config-U7OAuj53.js} +1 -1
  138. package/dist/cjs/{data-94e8d392.js → data-DRqa6oM4.js} +30 -5
  139. package/dist/cjs/{framework-delegate-862d9d00.js → framework-delegate-C7sIJyT5.js} +1 -1
  140. package/dist/cjs/{gesture-controller-9436f482.js → gesture-controller-dtqlP_q4.js} +1 -1
  141. package/dist/cjs/{haptic-f6b37aa3.js → haptic-ClPPQ_PS.js} +1 -1
  142. package/dist/cjs/{hardware-back-button-3d2b1004.js → hardware-back-button-D90qZxju.js} +2 -2
  143. package/dist/cjs/{helpers-8a48fdea.js → helpers-BITAzJfi.js} +2 -5
  144. package/dist/cjs/{index-dbe01e08.js → index-BDBT0u4l.js} +3 -3
  145. package/dist/cjs/{index-ee07ed59.js → index-CAvQ7Tka.js} +3 -4
  146. package/dist/cjs/{index-073c7cdc.js → index-CPbAsnJK.js} +1 -0
  147. package/dist/cjs/{index-31b07b9c.js → index-CVa6JE57.js} +3 -3
  148. package/dist/cjs/{index-a96d31ae.js → index-CxfLS2mX.js} +8 -9
  149. package/dist/cjs/{index-2e236a04.js → index-DODXXb_r.js} +1676 -675
  150. package/dist/cjs/{index-1eff7149.js → index-y0QaNtCi.js} +6 -7
  151. package/dist/cjs/index.cjs.js +22 -28
  152. package/dist/cjs/{input-shims-415be7ee.js → input-shims-D1Mfgd4s.js} +29 -6
  153. package/dist/cjs/{input.utils-a7957fd6.js → input.utils-DSoBEyUu.js} +3 -3
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -29
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +50 -40
  156. package/dist/cjs/ion-alert.cjs.entry.js +59 -47
  157. package/dist/cjs/ion-app_8.cjs.entry.js +134 -105
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -20
  159. package/dist/cjs/ion-back-button.cjs.entry.js +21 -26
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +13 -10
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +39 -37
  162. package/dist/cjs/ion-button_2.cjs.entry.js +35 -34
  163. package/dist/cjs/ion-card_5.cjs.entry.js +36 -41
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +44 -24
  165. package/dist/cjs/ion-chip.cjs.entry.js +11 -12
  166. package/dist/cjs/ion-col_3.cjs.entry.js +10 -38
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +23 -25
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +318 -191
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +59 -35
  170. package/dist/cjs/ion-img.cjs.entry.js +4 -13
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +38 -25
  172. package/dist/cjs/ion-input-otp.cjs.entry.js +593 -0
  173. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +17 -23
  174. package/dist/cjs/ion-input.cjs.entry.js +86 -62
  175. package/dist/cjs/ion-item-option_3.cjs.entry.js +38 -36
  176. package/dist/cjs/ion-item_8.cjs.entry.js +69 -74
  177. package/dist/cjs/ion-loading.cjs.entry.js +50 -37
  178. package/dist/cjs/ion-menu_3.cjs.entry.js +84 -63
  179. package/dist/cjs/ion-modal.cjs.entry.js +141 -67
  180. package/dist/cjs/ion-nav_2.cjs.entry.js +30 -37
  181. package/dist/cjs/ion-picker-column-option.cjs.entry.js +24 -15
  182. package/dist/cjs/ion-picker-column.cjs.entry.js +32 -21
  183. package/dist/cjs/ion-picker.cjs.entry.js +4 -9
  184. package/dist/cjs/ion-popover.cjs.entry.js +143 -55
  185. package/dist/cjs/ion-progress-bar.cjs.entry.js +24 -15
  186. package/dist/cjs/ion-radio_2.cjs.entry.js +47 -37
  187. package/dist/cjs/ion-range.cjs.entry.js +78 -42
  188. package/dist/cjs/ion-refresher_2.cjs.entry.js +81 -41
  189. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -23
  190. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -9
  191. package/dist/cjs/ion-route_4.cjs.entry.js +52 -40
  192. package/dist/cjs/ion-searchbar.cjs.entry.js +91 -46
  193. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -6
  194. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -10
  195. package/dist/cjs/ion-segment_2.cjs.entry.js +55 -39
  196. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -21
  197. package/dist/cjs/ion-select_3.cjs.entry.js +98 -70
  198. package/dist/cjs/ion-spinner.cjs.entry.js +12 -17
  199. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -15
  200. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +31 -36
  201. package/dist/cjs/ion-tab_2.cjs.entry.js +13 -20
  202. package/dist/cjs/ion-text.cjs.entry.js +6 -12
  203. package/dist/cjs/ion-textarea.cjs.entry.js +79 -47
  204. package/dist/cjs/ion-toast.cjs.entry.js +82 -63
  205. package/dist/cjs/ion-toggle.cjs.entry.js +64 -37
  206. package/dist/cjs/ionic.cjs.js +7 -10
  207. package/dist/cjs/{ios.transition-a131cd4d.js → ios.transition-baEy2tr4.js} +5 -6
  208. package/dist/cjs/{keyboard-0272231f.js → keyboard-UuAS4D_9.js} +1 -1
  209. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-GXBiBRKS.js} +2 -2
  210. package/dist/cjs/{keyboard-af1bb365.js → keyboard-hHzlEQpk.js} +3 -3
  211. package/dist/cjs/loader.cjs.js +3 -8
  212. package/dist/cjs/{md.transition-e018ebe5.js → md.transition-Bvc-JrM5.js} +5 -6
  213. package/dist/cjs/{notch-controller-09b7f358.js → notch-controller-BAbqGXRi.js} +2 -2
  214. package/dist/cjs/{overlays-4c291a05.js → overlays-DRDumz2b.js} +9 -10
  215. package/dist/cjs/{status-tap-f1acefac.js → status-tap-Db3WeCkO.js} +3 -4
  216. package/dist/cjs/{swipe-back-4918e56b.js → swipe-back-D_VN6H9r.js} +5 -5
  217. package/dist/collection/collection-manifest.json +3 -2
  218. package/dist/collection/components/accordion/accordion.js +43 -13
  219. package/dist/collection/components/accordion-group/accordion-group.js +35 -8
  220. package/dist/collection/components/action-sheet/action-sheet.js +84 -31
  221. package/dist/collection/components/alert/alert.js +94 -34
  222. package/dist/collection/components/back-button/back-button.js +30 -14
  223. package/dist/collection/components/backdrop/backdrop.js +18 -3
  224. package/dist/collection/components/badge/badge.js +3 -4
  225. package/dist/collection/components/breadcrumb/breadcrumb.js +57 -26
  226. package/dist/collection/components/breadcrumbs/breadcrumbs.js +24 -10
  227. package/dist/collection/components/button/button.js +74 -33
  228. package/dist/collection/components/buttons/buttons.js +15 -1
  229. package/dist/collection/components/card/card.js +44 -16
  230. package/dist/collection/components/card-header/card-header.js +11 -3
  231. package/dist/collection/components/card-subtitle/card-subtitle.js +3 -4
  232. package/dist/collection/components/card-title/card-title.js +3 -4
  233. package/dist/collection/components/checkbox/checkbox.js +74 -24
  234. package/dist/collection/components/chip/chip.js +15 -4
  235. package/dist/collection/components/col/col.js +72 -50
  236. package/dist/collection/components/content/content.js +43 -9
  237. package/dist/collection/components/datetime/datetime.ios.css +7 -2
  238. package/dist/collection/components/datetime/datetime.js +298 -98
  239. package/dist/collection/components/datetime/datetime.md.css +9 -3
  240. package/dist/collection/components/datetime/utils/data.js +29 -4
  241. package/dist/collection/components/datetime-button/datetime-button.js +21 -11
  242. package/dist/collection/components/fab/fab.js +21 -6
  243. package/dist/collection/components/fab-button/fab-button.js +76 -28
  244. package/dist/collection/components/fab-list/fab-list.js +12 -2
  245. package/dist/collection/components/footer/footer.js +16 -5
  246. package/dist/collection/components/grid/grid.js +6 -1
  247. package/dist/collection/components/header/header.js +15 -4
  248. package/dist/collection/components/img/img.js +6 -6
  249. package/dist/collection/components/infinite-scroll/infinite-scroll.js +35 -7
  250. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +6 -4
  251. package/dist/collection/components/input/input.js +178 -79
  252. package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
  253. package/dist/collection/components/input-otp/input-otp.ios.css +381 -0
  254. package/dist/collection/components/input-otp/input-otp.js +1003 -0
  255. package/dist/collection/components/input-otp/input-otp.md.css +381 -0
  256. package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -11
  257. package/dist/collection/components/item/item.js +56 -21
  258. package/dist/collection/components/item-divider/item-divider.js +15 -5
  259. package/dist/collection/components/item-group/item-group.js +1 -1
  260. package/dist/collection/components/item-option/item-option.js +38 -18
  261. package/dist/collection/components/item-options/item-options.js +8 -2
  262. package/dist/collection/components/item-sliding/item-sliding.js +7 -2
  263. package/dist/collection/components/label/label.js +8 -6
  264. package/dist/collection/components/list/list.js +10 -4
  265. package/dist/collection/components/list-header/list-header.js +8 -8
  266. package/dist/collection/components/loading/loading.js +88 -31
  267. package/dist/collection/components/menu/menu.js +44 -12
  268. package/dist/collection/components/menu-button/menu-button.js +29 -12
  269. package/dist/collection/components/menu-toggle/menu-toggle.js +16 -7
  270. package/dist/collection/components/modal/modal.js +192 -55
  271. package/dist/collection/components/nav/nav.js +25 -12
  272. package/dist/collection/components/nav-link/nav-link.js +19 -9
  273. package/dist/collection/components/note/note.js +5 -6
  274. package/dist/collection/components/picker-column/picker-column.js +34 -10
  275. package/dist/collection/components/picker-column-option/picker-column-option.js +27 -6
  276. package/dist/collection/components/picker-legacy/picker.js +93 -33
  277. package/dist/collection/components/picker-legacy-column/picker-column.js +6 -4
  278. package/dist/collection/components/popover/popover.js +211 -58
  279. package/dist/collection/components/progress-bar/progress-bar.js +32 -7
  280. package/dist/collection/components/radio/radio.js +49 -19
  281. package/dist/collection/components/radio-group/radio-group.js +27 -13
  282. package/dist/collection/components/range/range.js +112 -37
  283. package/dist/collection/components/refresher/refresher.js +69 -7
  284. package/dist/collection/components/refresher-content/refresher-content.js +13 -9
  285. package/dist/collection/components/reorder/reorder.js +1 -1
  286. package/dist/collection/components/reorder-group/reorder-group.js +7 -2
  287. package/dist/collection/components/ripple-effect/ripple-effect.js +13 -2
  288. package/dist/collection/components/route/route.js +24 -9
  289. package/dist/collection/components/route-redirect/route-redirect.js +6 -6
  290. package/dist/collection/components/router/router.js +24 -2
  291. package/dist/collection/components/router-link/router-link.js +26 -14
  292. package/dist/collection/components/router-outlet/router-outlet.js +25 -9
  293. package/dist/collection/components/row/row.js +1 -1
  294. package/dist/collection/components/searchbar/searchbar.js +145 -50
  295. package/dist/collection/components/segment/segment.js +40 -15
  296. package/dist/collection/components/segment-button/segment-button.js +34 -13
  297. package/dist/collection/components/segment-content/segment-content.js +1 -1
  298. package/dist/collection/components/segment-view/segment-view.js +8 -4
  299. package/dist/collection/components/select/select.js +128 -48
  300. package/dist/collection/components/select-modal/select-modal.js +10 -5
  301. package/dist/collection/components/select-option/select-option.js +10 -4
  302. package/dist/collection/components/select-popover/select-popover.js +19 -9
  303. package/dist/collection/components/skeleton-text/skeleton-text.js +8 -3
  304. package/dist/collection/components/spinner/spinner.js +16 -8
  305. package/dist/collection/components/split-pane/split-pane.js +19 -6
  306. package/dist/collection/components/tab/tab.js +16 -9
  307. package/dist/collection/components/tab-bar/tab-bar.js +16 -7
  308. package/dist/collection/components/tab-button/tab-button.js +34 -18
  309. package/dist/collection/components/tabs/tabs.js +6 -4
  310. package/dist/collection/components/text/text.js +5 -6
  311. package/dist/collection/components/textarea/textarea.js +154 -59
  312. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  313. package/dist/collection/components/title/title.js +8 -8
  314. package/dist/collection/components/toast/toast.js +121 -47
  315. package/dist/collection/components/toggle/toggle.js +86 -28
  316. package/dist/collection/components/toolbar/toolbar.js +5 -4
  317. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +23 -0
  318. package/dist/docs.d.ts +8 -0
  319. package/dist/docs.json +4489 -941
  320. package/dist/esm/{animation-8b25e105.js → animation-BWcUKtbn.js} +2 -2
  321. package/dist/esm/{button-active-90f1dbc4.js → button-active-Bxcnevju.js} +3 -3
  322. package/dist/esm/{capacitor-59395cbd.js → capacitor-CFERIeaU.js} +1 -1
  323. package/dist/esm/{config-9898ed97.js → config-AaTyISnm.js} +1 -1
  324. package/dist/esm/{data-0d7ea6eb.js → data-GIsHsYIB.js} +31 -6
  325. package/dist/esm/{framework-delegate-56b467ad.js → framework-delegate-DxcnWic_.js} +1 -1
  326. package/dist/esm/{gesture-controller-314a54f6.js → gesture-controller-BTEOs1at.js} +1 -1
  327. package/dist/esm/{haptic-ac164e4c.js → haptic-DzAMWJuk.js} +2 -2
  328. package/dist/esm/{hardware-back-button-a7eb8233.js → hardware-back-button-DcH0BbDp.js} +2 -2
  329. package/dist/esm/{helpers-d94bc8ad.js → helpers-1O4D2b7y.js} +3 -6
  330. package/dist/esm/{index-e2cf2ceb.js → index-BLV6ykCk.js} +2 -1
  331. package/dist/esm/{index-527b9e34.js → index-B_U9CtaY.js} +1667 -654
  332. package/dist/esm/{index-9a17db3d.js → index-BlJTBdxG.js} +3 -3
  333. package/dist/esm/{index-be190feb.js → index-CWbP1eJz.js} +3 -3
  334. package/dist/esm/{index-39782642.js → index-CfgBF1SE.js} +4 -6
  335. package/dist/esm/{index-18f31305.js → index-D8sncTHY.js} +5 -6
  336. package/dist/esm/{index-68c0d151.js → index-DfBA5ztX.js} +4 -5
  337. package/dist/esm/index.js +16 -18
  338. package/dist/esm/{input-shims-279903e2.js → input-shims-C3lNp93k.js} +29 -6
  339. package/dist/esm/{input.utils-40504d6d.js → input.utils-zWijNCrx.js} +3 -3
  340. package/dist/esm/ion-accordion_2.entry.js +52 -23
  341. package/dist/esm/ion-action-sheet.entry.js +48 -36
  342. package/dist/esm/ion-alert.entry.js +53 -39
  343. package/dist/esm/ion-app_8.entry.js +99 -68
  344. package/dist/esm/ion-avatar_3.entry.js +8 -16
  345. package/dist/esm/ion-back-button.entry.js +14 -17
  346. package/dist/esm/ion-backdrop.entry.js +12 -7
  347. package/dist/esm/ion-breadcrumb_2.entry.js +37 -33
  348. package/dist/esm/ion-button_2.entry.js +31 -28
  349. package/dist/esm/ion-card_5.entry.js +31 -34
  350. package/dist/esm/ion-checkbox.entry.js +43 -21
  351. package/dist/esm/ion-chip.entry.js +10 -9
  352. package/dist/esm/ion-col_3.entry.js +8 -34
  353. package/dist/esm/ion-datetime-button.entry.js +18 -18
  354. package/dist/esm/ion-datetime_3.entry.js +253 -124
  355. package/dist/esm/ion-fab_3.entry.js +56 -30
  356. package/dist/esm/ion-img.entry.js +3 -10
  357. package/dist/esm/ion-infinite-scroll_2.entry.js +33 -18
  358. package/dist/esm/ion-input-otp.entry.js +591 -0
  359. package/dist/esm/ion-input-password-toggle.entry.js +12 -16
  360. package/dist/esm/ion-input.entry.js +84 -58
  361. package/dist/esm/ion-item-option_3.entry.js +34 -30
  362. package/dist/esm/ion-item_8.entry.js +60 -63
  363. package/dist/esm/ion-loading.entry.js +46 -31
  364. package/dist/esm/ion-menu_3.entry.js +66 -43
  365. package/dist/esm/ion-modal.entry.js +130 -54
  366. package/dist/esm/ion-nav_2.entry.js +17 -22
  367. package/dist/esm/ion-picker-column-option.entry.js +23 -12
  368. package/dist/esm/ion-picker-column.entry.js +29 -16
  369. package/dist/esm/ion-picker.entry.js +4 -7
  370. package/dist/esm/ion-popover.entry.js +137 -47
  371. package/dist/esm/ion-progress-bar.entry.js +22 -11
  372. package/dist/esm/ion-radio_2.entry.js +45 -33
  373. package/dist/esm/ion-range.entry.js +72 -34
  374. package/dist/esm/ion-refresher_2.entry.js +68 -26
  375. package/dist/esm/ion-reorder_2.entry.js +17 -19
  376. package/dist/esm/ion-ripple-effect.entry.js +12 -6
  377. package/dist/esm/ion-route_4.entry.js +35 -21
  378. package/dist/esm/ion-searchbar.entry.js +86 -39
  379. package/dist/esm/ion-segment-content.entry.js +3 -4
  380. package/dist/esm/ion-segment-view.entry.js +8 -8
  381. package/dist/esm/ion-segment_2.entry.js +50 -32
  382. package/dist/esm/ion-select-modal.entry.js +12 -19
  383. package/dist/esm/ion-select_3.entry.js +88 -58
  384. package/dist/esm/ion-spinner.entry.js +8 -11
  385. package/dist/esm/ion-split-pane.entry.js +13 -10
  386. package/dist/esm/ion-tab-bar_2.entry.js +28 -31
  387. package/dist/esm/ion-tab_2.entry.js +11 -16
  388. package/dist/esm/ion-text.entry.js +5 -9
  389. package/dist/esm/ion-textarea.entry.js +77 -43
  390. package/dist/esm/ion-toast.entry.js +65 -44
  391. package/dist/esm/ion-toggle.entry.js +62 -33
  392. package/dist/esm/ionic.js +5 -7
  393. package/dist/esm/{ios.transition-4047cb68.js → ios.transition-BmXtMRXZ.js} +5 -6
  394. package/dist/esm/{keyboard-73175e24.js → keyboard-CUw4ekVy.js} +1 -1
  395. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-BaaVITYt.js} +2 -2
  396. package/dist/esm/{keyboard-52278bd7.js → keyboard-ywgs5efA.js} +3 -3
  397. package/dist/esm/loader.js +3 -6
  398. package/dist/esm/{md.transition-30ce8d1b.js → md.transition-CLI683c7.js} +5 -6
  399. package/dist/esm/{notch-controller-1a1f7183.js → notch-controller-C5LPspO8.js} +2 -2
  400. package/dist/esm/{overlays-d99dcb0a.js → overlays-8Y2rA-ps.js} +6 -7
  401. package/dist/esm/{status-tap-42a8af65.js → status-tap-7t9T91bG.js} +3 -4
  402. package/dist/esm/{swipe-back-0184f6b3.js → swipe-back-VdaUzLWy.js} +5 -5
  403. package/dist/html.html-data.json +376 -0
  404. package/dist/index.js +1 -1
  405. package/dist/ionic/index.esm.js +1 -1
  406. package/dist/ionic/ionic.esm.js +1 -1
  407. package/dist/ionic/p-0fc6fc38.entry.js +4 -0
  408. package/dist/ionic/p-14ae45e4.entry.js +4 -0
  409. package/dist/ionic/p-15da9760.entry.js +4 -0
  410. package/dist/ionic/p-1739f5f2.entry.js +4 -0
  411. package/dist/ionic/p-18f1813b.entry.js +4 -0
  412. package/dist/ionic/p-2020aa51.entry.js +4 -0
  413. package/dist/ionic/p-2c6c6991.entry.js +4 -0
  414. package/dist/ionic/p-2cfd6b61.entry.js +4 -0
  415. package/dist/ionic/p-2da6a16b.entry.js +4 -0
  416. package/dist/ionic/p-3a4feac2.entry.js +4 -0
  417. package/dist/ionic/p-473877b6.entry.js +4 -0
  418. package/dist/ionic/p-4b7d1f35.entry.js +4 -0
  419. package/dist/ionic/p-4d61f20b.entry.js +4 -0
  420. package/dist/ionic/p-4ddc10ef.entry.js +4 -0
  421. package/dist/ionic/p-56712fd4.entry.js +4 -0
  422. package/dist/ionic/p-66510682.entry.js +4 -0
  423. package/dist/ionic/p-6b666996.entry.js +4 -0
  424. package/dist/ionic/p-7149db7e.entry.js +4 -0
  425. package/dist/ionic/p-73d7ad90.entry.js +4 -0
  426. package/dist/ionic/p-76b697a3.entry.js +4 -0
  427. package/dist/ionic/{p-ed005d9c.js → p-7qk7mxdr.js} +1 -1
  428. package/dist/ionic/p-8957540a.entry.js +4 -0
  429. package/dist/ionic/p-8a8ef46b.entry.js +4 -0
  430. package/dist/ionic/p-8c674371.entry.js +4 -0
  431. package/dist/ionic/p-8f2f76e0.entry.js +4 -0
  432. package/dist/ionic/p-90f87086.entry.js +4 -0
  433. package/dist/ionic/p-91bde659.entry.js +4 -0
  434. package/dist/ionic/p-96389029.entry.js +4 -0
  435. package/dist/ionic/p-97667b9c.entry.js +4 -0
  436. package/dist/ionic/p-9b46b31b.entry.js +4 -0
  437. package/dist/ionic/p-9e699d4a.entry.js +4 -0
  438. package/dist/ionic/p-9eeaBrnk.js +4 -0
  439. package/dist/ionic/p-B1MNHTYX.js +4 -0
  440. package/dist/ionic/p-B3XSxWNQ.js +4 -0
  441. package/dist/ionic/{p-da2b833b.js → p-BLV6ykCk.js} +1 -1
  442. package/dist/ionic/p-BROiNJRB.js +4 -0
  443. package/dist/ionic/p-B_U9CtaY.js +5 -0
  444. package/dist/ionic/{p-f08a92cc.js → p-BhLqfMrf.js} +1 -1
  445. package/dist/ionic/{p-2bb55ebc.js → p-BmQduG8c.js} +1 -1
  446. package/dist/ionic/p-CIGNaXM1.js +4 -0
  447. package/dist/ionic/{p-89b61afc.js → p-CKvCXMs9.js} +1 -1
  448. package/dist/ionic/p-CL-KfWxq.js +4 -0
  449. package/dist/ionic/p-CPgXVSua.js +4 -0
  450. package/dist/ionic/p-CRiGyYOA.js +4 -0
  451. package/dist/ionic/{p-10a1bddc.js → p-CbI9XwwW.js} +1 -1
  452. package/dist/ionic/p-Cl0B-RWe.js +4 -0
  453. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  454. package/dist/ionic/p-D-7TeYC4.js +4 -0
  455. package/dist/ionic/{p-27281edd.js → p-D13Eaw-8.js} +1 -1
  456. package/dist/ionic/{p-0f5e6225.js → p-DCfS5Jk_.js} +1 -1
  457. package/dist/ionic/p-DgdWETCP.js +4 -0
  458. package/dist/ionic/p-Do-uqmtX.js +4 -0
  459. package/dist/ionic/{p-b7b1d91a.js → p-DzH0J0yi.js} +1 -1
  460. package/dist/ionic/p-QwEXyOze.js +4 -0
  461. package/dist/ionic/p-a6282370.entry.js +4 -0
  462. package/dist/ionic/p-a9ac80bd.entry.js +4 -0
  463. package/dist/ionic/p-a9f99c74.entry.js +4 -0
  464. package/dist/ionic/p-aIxOGKys.js +4 -0
  465. package/dist/ionic/p-aa8956c2.entry.js +4 -0
  466. package/dist/ionic/p-b37dbc31.entry.js +4 -0
  467. package/dist/ionic/p-b9f79efc.entry.js +4 -0
  468. package/dist/ionic/p-bNmY-WfR.js +4 -0
  469. package/dist/ionic/p-bc01c127.entry.js +4 -0
  470. package/dist/ionic/p-bec79123.entry.js +4 -0
  471. package/dist/ionic/p-c0335397.entry.js +4 -0
  472. package/dist/ionic/p-c4912ca5.entry.js +4 -0
  473. package/dist/ionic/p-c884d7e3.entry.js +4 -0
  474. package/dist/ionic/p-cb787a4b.entry.js +4 -0
  475. package/dist/ionic/p-cd12ed1c.entry.js +4 -0
  476. package/dist/ionic/p-cf632ee2.entry.js +4 -0
  477. package/dist/ionic/p-d47b85ea.entry.js +4 -0
  478. package/dist/ionic/p-d8ed5df0.entry.js +4 -0
  479. package/dist/ionic/p-e1260ed5.entry.js +4 -0
  480. package/dist/ionic/p-e30ff968.entry.js +4 -0
  481. package/dist/ionic/p-ead42a37.entry.js +4 -0
  482. package/dist/ionic/{p-b6d324f0.js → p-ei_RiGrl.js} +1 -1
  483. package/dist/ionic/p-f83db8cd.entry.js +4 -0
  484. package/dist/ionic/p-fbc5481b.entry.js +4 -0
  485. package/dist/ionic/p-fcc7437b.entry.js +4 -0
  486. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  487. package/dist/types/components/datetime/datetime.d.ts +6 -0
  488. package/dist/types/components/datetime/utils/data.d.ts +3 -1
  489. package/dist/types/components/datetime/utils/manipulation.d.ts +1 -0
  490. package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
  491. package/dist/types/components/input-otp/input-otp.d.ts +268 -0
  492. package/dist/types/components.d.ts +784 -0
  493. package/dist/types/interface.d.ts +1 -0
  494. package/dist/types/stencil-public-runtime.d.ts +29 -1
  495. package/hydrate/index.d.ts +44 -7
  496. package/hydrate/index.js +5495 -2370
  497. package/hydrate/index.mjs +5494 -2369
  498. package/loader/cdn.js +1 -2
  499. package/loader/index.cjs.js +1 -2
  500. package/loader/index.es2017.js +0 -1
  501. package/loader/index.js +1 -2
  502. package/package.json +2 -2
  503. package/dist/cjs/app-globals-ddceb1f4.js +0 -10
  504. package/dist/cjs/index-cc858e97.js +0 -129
  505. package/dist/cjs/ionic-global-6dea5a96.js +0 -152
  506. package/dist/esm/app-globals-dbdbb3df.js +0 -8
  507. package/dist/esm/index-cfd9c1f2.js +0 -121
  508. package/dist/esm/ionic-global-b26f573e.js +0 -147
  509. package/dist/esm/polyfills/core-js.js +0 -11
  510. package/dist/esm/polyfills/dom.js +0 -79
  511. package/dist/esm/polyfills/es5-html-element.js +0 -1
  512. package/dist/esm/polyfills/index.js +0 -34
  513. package/dist/esm/polyfills/system.js +0 -6
  514. package/dist/esm-es5/animation-8b25e105.js +0 -4
  515. package/dist/esm-es5/app-globals-dbdbb3df.js +0 -4
  516. package/dist/esm-es5/button-active-90f1dbc4.js +0 -4
  517. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  518. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +0 -4
  519. package/dist/esm-es5/config-9898ed97.js +0 -4
  520. package/dist/esm-es5/cubic-bezier-fe2083dc.js +0 -4
  521. package/dist/esm-es5/data-0d7ea6eb.js +0 -4
  522. package/dist/esm-es5/dir-babeabeb.js +0 -4
  523. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  524. package/dist/esm-es5/framework-delegate-56b467ad.js +0 -4
  525. package/dist/esm-es5/gesture-controller-314a54f6.js +0 -4
  526. package/dist/esm-es5/haptic-ac164e4c.js +0 -4
  527. package/dist/esm-es5/hardware-back-button-a7eb8233.js +0 -4
  528. package/dist/esm-es5/helpers-d94bc8ad.js +0 -4
  529. package/dist/esm-es5/index-18f31305.js +0 -4
  530. package/dist/esm-es5/index-39782642.js +0 -4
  531. package/dist/esm-es5/index-527b9e34.js +0 -5
  532. package/dist/esm-es5/index-68c0d151.js +0 -4
  533. package/dist/esm-es5/index-9a17db3d.js +0 -4
  534. package/dist/esm-es5/index-a5d50daf.js +0 -4
  535. package/dist/esm-es5/index-be190feb.js +0 -4
  536. package/dist/esm-es5/index-cfd9c1f2.js +0 -5
  537. package/dist/esm-es5/index-e2cf2ceb.js +0 -4
  538. package/dist/esm-es5/index.js +0 -4
  539. package/dist/esm-es5/input-shims-279903e2.js +0 -4
  540. package/dist/esm-es5/input.utils-40504d6d.js +0 -4
  541. package/dist/esm-es5/ion-accordion_2.entry.js +0 -4
  542. package/dist/esm-es5/ion-action-sheet.entry.js +0 -4
  543. package/dist/esm-es5/ion-alert.entry.js +0 -4
  544. package/dist/esm-es5/ion-app_8.entry.js +0 -4
  545. package/dist/esm-es5/ion-avatar_3.entry.js +0 -4
  546. package/dist/esm-es5/ion-back-button.entry.js +0 -4
  547. package/dist/esm-es5/ion-backdrop.entry.js +0 -4
  548. package/dist/esm-es5/ion-breadcrumb_2.entry.js +0 -4
  549. package/dist/esm-es5/ion-button_2.entry.js +0 -4
  550. package/dist/esm-es5/ion-card_5.entry.js +0 -4
  551. package/dist/esm-es5/ion-checkbox.entry.js +0 -4
  552. package/dist/esm-es5/ion-chip.entry.js +0 -4
  553. package/dist/esm-es5/ion-col_3.entry.js +0 -4
  554. package/dist/esm-es5/ion-datetime-button.entry.js +0 -4
  555. package/dist/esm-es5/ion-datetime_3.entry.js +0 -4
  556. package/dist/esm-es5/ion-fab_3.entry.js +0 -4
  557. package/dist/esm-es5/ion-img.entry.js +0 -4
  558. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +0 -4
  559. package/dist/esm-es5/ion-input-password-toggle.entry.js +0 -4
  560. package/dist/esm-es5/ion-input.entry.js +0 -4
  561. package/dist/esm-es5/ion-item-option_3.entry.js +0 -4
  562. package/dist/esm-es5/ion-item_8.entry.js +0 -4
  563. package/dist/esm-es5/ion-loading.entry.js +0 -4
  564. package/dist/esm-es5/ion-menu_3.entry.js +0 -4
  565. package/dist/esm-es5/ion-modal.entry.js +0 -4
  566. package/dist/esm-es5/ion-nav_2.entry.js +0 -4
  567. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  568. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  569. package/dist/esm-es5/ion-picker.entry.js +0 -4
  570. package/dist/esm-es5/ion-popover.entry.js +0 -4
  571. package/dist/esm-es5/ion-progress-bar.entry.js +0 -4
  572. package/dist/esm-es5/ion-radio_2.entry.js +0 -4
  573. package/dist/esm-es5/ion-range.entry.js +0 -4
  574. package/dist/esm-es5/ion-refresher_2.entry.js +0 -4
  575. package/dist/esm-es5/ion-reorder_2.entry.js +0 -4
  576. package/dist/esm-es5/ion-ripple-effect.entry.js +0 -4
  577. package/dist/esm-es5/ion-route_4.entry.js +0 -4
  578. package/dist/esm-es5/ion-searchbar.entry.js +0 -4
  579. package/dist/esm-es5/ion-segment-content.entry.js +0 -4
  580. package/dist/esm-es5/ion-segment-view.entry.js +0 -4
  581. package/dist/esm-es5/ion-segment_2.entry.js +0 -4
  582. package/dist/esm-es5/ion-select-modal.entry.js +0 -4
  583. package/dist/esm-es5/ion-select_3.entry.js +0 -4
  584. package/dist/esm-es5/ion-spinner.entry.js +0 -4
  585. package/dist/esm-es5/ion-split-pane.entry.js +0 -4
  586. package/dist/esm-es5/ion-tab-bar_2.entry.js +0 -4
  587. package/dist/esm-es5/ion-tab_2.entry.js +0 -4
  588. package/dist/esm-es5/ion-text.entry.js +0 -4
  589. package/dist/esm-es5/ion-textarea.entry.js +0 -4
  590. package/dist/esm-es5/ion-toast.entry.js +0 -4
  591. package/dist/esm-es5/ion-toggle.entry.js +0 -4
  592. package/dist/esm-es5/ionic-global-b26f573e.js +0 -4
  593. package/dist/esm-es5/ionic.js +0 -4
  594. package/dist/esm-es5/ios.transition-4047cb68.js +0 -4
  595. package/dist/esm-es5/keyboard-52278bd7.js +0 -4
  596. package/dist/esm-es5/keyboard-73175e24.js +0 -4
  597. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  598. package/dist/esm-es5/loader.js +0 -4
  599. package/dist/esm-es5/lock-controller-316928be.js +0 -4
  600. package/dist/esm-es5/md.transition-30ce8d1b.js +0 -4
  601. package/dist/esm-es5/notch-controller-1a1f7183.js +0 -4
  602. package/dist/esm-es5/overlays-d99dcb0a.js +0 -4
  603. package/dist/esm-es5/spinner-configs-964f7cf3.js +0 -4
  604. package/dist/esm-es5/status-tap-42a8af65.js +0 -4
  605. package/dist/esm-es5/swipe-back-0184f6b3.js +0 -4
  606. package/dist/esm-es5/theme-01f3f29c.js +0 -4
  607. package/dist/esm-es5/watch-options-c2911ace.js +0 -4
  608. package/dist/ionic/ionic.js +0 -127
  609. package/dist/ionic/p-00023f5a.system.js +0 -4
  610. package/dist/ionic/p-012c3ceb.system.js +0 -4
  611. package/dist/ionic/p-019e30a3.system.entry.js +0 -4
  612. package/dist/ionic/p-03480b95.system.entry.js +0 -4
  613. package/dist/ionic/p-08cef0b1.entry.js +0 -4
  614. package/dist/ionic/p-08e01816.system.js +0 -4
  615. package/dist/ionic/p-105b2e8b.entry.js +0 -4
  616. package/dist/ionic/p-117d0013.system.entry.js +0 -4
  617. package/dist/ionic/p-11dca959.entry.js +0 -4
  618. package/dist/ionic/p-12193821.system.js +0 -4
  619. package/dist/ionic/p-12830298.system.entry.js +0 -4
  620. package/dist/ionic/p-14154301.system.entry.js +0 -4
  621. package/dist/ionic/p-14bdb5aa.entry.js +0 -4
  622. package/dist/ionic/p-1706b406.system.entry.js +0 -4
  623. package/dist/ionic/p-171ca87d.system.js +0 -4
  624. package/dist/ionic/p-17e21141.js +0 -4
  625. package/dist/ionic/p-19494658.system.entry.js +0 -4
  626. package/dist/ionic/p-1966a13c.system.js +0 -4
  627. package/dist/ionic/p-1974d5b2.system.js +0 -4
  628. package/dist/ionic/p-1a81ac09.system.js +0 -4
  629. package/dist/ionic/p-1b9c59ab.js +0 -4
  630. package/dist/ionic/p-1d307396.system.js +0 -4
  631. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  632. package/dist/ionic/p-1e4371bd.js +0 -4
  633. package/dist/ionic/p-1e955a45.system.js +0 -4
  634. package/dist/ionic/p-20d469d0.system.js +0 -4
  635. package/dist/ionic/p-21891ead.js +0 -4
  636. package/dist/ionic/p-2233344a.system.js +0 -4
  637. package/dist/ionic/p-2469240b.entry.js +0 -4
  638. package/dist/ionic/p-24a6c8a3.system.entry.js +0 -4
  639. package/dist/ionic/p-257fb777.entry.js +0 -4
  640. package/dist/ionic/p-25b10f81.js +0 -4
  641. package/dist/ionic/p-2b7827c7.js +0 -4
  642. package/dist/ionic/p-2bff0e69.system.entry.js +0 -4
  643. package/dist/ionic/p-31dc303d.entry.js +0 -4
  644. package/dist/ionic/p-3535d6b5.entry.js +0 -4
  645. package/dist/ionic/p-35cdfd77.system.entry.js +0 -4
  646. package/dist/ionic/p-393ffcc2.entry.js +0 -4
  647. package/dist/ionic/p-39fa7dd1.system.entry.js +0 -4
  648. package/dist/ionic/p-3a30f31b.system.entry.js +0 -4
  649. package/dist/ionic/p-3cee5d7c.system.entry.js +0 -4
  650. package/dist/ionic/p-3d2b2787.system.entry.js +0 -4
  651. package/dist/ionic/p-3e1e14d9.system.js +0 -4
  652. package/dist/ionic/p-3ec227cd.system.entry.js +0 -4
  653. package/dist/ionic/p-4090ce24.entry.js +0 -4
  654. package/dist/ionic/p-42f08b26.system.entry.js +0 -4
  655. package/dist/ionic/p-4393fc08.entry.js +0 -4
  656. package/dist/ionic/p-44548aa3.system.entry.js +0 -4
  657. package/dist/ionic/p-4609d030.system.js +0 -4
  658. package/dist/ionic/p-481e0885.entry.js +0 -4
  659. package/dist/ionic/p-4a5be299.system.entry.js +0 -4
  660. package/dist/ionic/p-4c667fce.js +0 -4
  661. package/dist/ionic/p-4cf4172e.entry.js +0 -4
  662. package/dist/ionic/p-4da92dac.entry.js +0 -4
  663. package/dist/ionic/p-4ed5db19.system.js +0 -4
  664. package/dist/ionic/p-4f255d5a.system.js +0 -4
  665. package/dist/ionic/p-57d6e18e.entry.js +0 -4
  666. package/dist/ionic/p-57e55ecb.system.js +0 -4
  667. package/dist/ionic/p-5b67b447.js +0 -4
  668. package/dist/ionic/p-5c9feddc.system.entry.js +0 -4
  669. package/dist/ionic/p-5fac20aa.system.entry.js +0 -4
  670. package/dist/ionic/p-612096e6.system.entry.js +0 -4
  671. package/dist/ionic/p-6201c4ba.entry.js +0 -4
  672. package/dist/ionic/p-625248d0.system.js +0 -4
  673. package/dist/ionic/p-663413be.system.js +0 -4
  674. package/dist/ionic/p-6636a436.js +0 -4
  675. package/dist/ionic/p-66a5d6a8.js +0 -5
  676. package/dist/ionic/p-66df5468.system.entry.js +0 -4
  677. package/dist/ionic/p-67077d48.entry.js +0 -4
  678. package/dist/ionic/p-6835ebdd.system.entry.js +0 -4
  679. package/dist/ionic/p-6a03fc0f.entry.js +0 -4
  680. package/dist/ionic/p-6c474e87.entry.js +0 -4
  681. package/dist/ionic/p-6dd86ff5.system.entry.js +0 -4
  682. package/dist/ionic/p-6ec0c94a.entry.js +0 -4
  683. package/dist/ionic/p-6f832afe.system.entry.js +0 -4
  684. package/dist/ionic/p-707408c5.system.entry.js +0 -4
  685. package/dist/ionic/p-712c0131.entry.js +0 -4
  686. package/dist/ionic/p-721f43f9.entry.js +0 -4
  687. package/dist/ionic/p-72b3050b.system.entry.js +0 -4
  688. package/dist/ionic/p-7445a2e5.system.js +0 -4
  689. package/dist/ionic/p-781e2dbb.system.js +0 -4
  690. package/dist/ionic/p-792919fd.system.js +0 -4
  691. package/dist/ionic/p-7b8c12c3.entry.js +0 -4
  692. package/dist/ionic/p-7c5c7ae1.system.entry.js +0 -4
  693. package/dist/ionic/p-7e3e6ed2.entry.js +0 -4
  694. package/dist/ionic/p-7ffedf77.system.entry.js +0 -4
  695. package/dist/ionic/p-809483ac.js +0 -4
  696. package/dist/ionic/p-81904a80.entry.js +0 -4
  697. package/dist/ionic/p-84096b45.system.js +0 -4
  698. package/dist/ionic/p-8450f761.entry.js +0 -4
  699. package/dist/ionic/p-8460d95a.entry.js +0 -4
  700. package/dist/ionic/p-85b01465.js +0 -4
  701. package/dist/ionic/p-865fe95c.entry.js +0 -4
  702. package/dist/ionic/p-8674af94.entry.js +0 -4
  703. package/dist/ionic/p-890a4ee2.entry.js +0 -4
  704. package/dist/ionic/p-8985cdb6.system.js +0 -4
  705. package/dist/ionic/p-8ab2f7a4.system.entry.js +0 -4
  706. package/dist/ionic/p-8b050e84.system.js +0 -4
  707. package/dist/ionic/p-8b8b4530.system.entry.js +0 -4
  708. package/dist/ionic/p-8d2d39d0.js +0 -4
  709. package/dist/ionic/p-8dacf4e2.entry.js +0 -4
  710. package/dist/ionic/p-8ededb41.js +0 -4
  711. package/dist/ionic/p-94551927.js +0 -4
  712. package/dist/ionic/p-94a18d00.entry.js +0 -4
  713. package/dist/ionic/p-95001a19.js +0 -4
  714. package/dist/ionic/p-965287fb.system.entry.js +0 -4
  715. package/dist/ionic/p-979d4f5c.system.js +0 -4
  716. package/dist/ionic/p-98fd942b.system.entry.js +0 -4
  717. package/dist/ionic/p-9df5043e.system.entry.js +0 -4
  718. package/dist/ionic/p-a0fd2fe5.system.entry.js +0 -4
  719. package/dist/ionic/p-a4866e3e.system.js +0 -4
  720. package/dist/ionic/p-a5dbe0ff.system.entry.js +0 -4
  721. package/dist/ionic/p-a7a97bf4.system.entry.js +0 -4
  722. package/dist/ionic/p-a83e3290.system.js +0 -4
  723. package/dist/ionic/p-a93873de.system.js +0 -4
  724. package/dist/ionic/p-aad57e35.entry.js +0 -4
  725. package/dist/ionic/p-ab7337e1.entry.js +0 -4
  726. package/dist/ionic/p-abe101da.system.js +0 -4
  727. package/dist/ionic/p-ad592db9.entry.js +0 -4
  728. package/dist/ionic/p-aded71ec.js +0 -4
  729. package/dist/ionic/p-ae039072.entry.js +0 -4
  730. package/dist/ionic/p-aebfab05.system.entry.js +0 -4
  731. package/dist/ionic/p-b06ac4a5.system.js +0 -4
  732. package/dist/ionic/p-b22ab9f4.js +0 -4
  733. package/dist/ionic/p-b2e7eda0.system.entry.js +0 -4
  734. package/dist/ionic/p-b445ff65.entry.js +0 -4
  735. package/dist/ionic/p-b4d17da0.system.entry.js +0 -4
  736. package/dist/ionic/p-b8050298.system.entry.js +0 -4
  737. package/dist/ionic/p-b904cfe2.system.entry.js +0 -4
  738. package/dist/ionic/p-b9c793d4.entry.js +0 -4
  739. package/dist/ionic/p-bafc3eae.system.entry.js +0 -4
  740. package/dist/ionic/p-bf184319.system.entry.js +0 -4
  741. package/dist/ionic/p-c16443a8.system.js +0 -4
  742. package/dist/ionic/p-c2160d8c.entry.js +0 -4
  743. package/dist/ionic/p-c468af8a.system.js +0 -4
  744. package/dist/ionic/p-c5b77054.entry.js +0 -4
  745. package/dist/ionic/p-c5bfa3e9.entry.js +0 -4
  746. package/dist/ionic/p-c61cc894.js +0 -4
  747. package/dist/ionic/p-cad82569.entry.js +0 -4
  748. package/dist/ionic/p-d16fab3f.entry.js +0 -4
  749. package/dist/ionic/p-d1eb2d7f.entry.js +0 -4
  750. package/dist/ionic/p-d382f09c.system.js +0 -4
  751. package/dist/ionic/p-d8d84afa.system.js +0 -4
  752. package/dist/ionic/p-d984c1ab.system.entry.js +0 -4
  753. package/dist/ionic/p-dabe3bd4.js +0 -4
  754. package/dist/ionic/p-df069a0d.entry.js +0 -4
  755. package/dist/ionic/p-e1678e42.entry.js +0 -4
  756. package/dist/ionic/p-e673a0a2.system.js +0 -4
  757. package/dist/ionic/p-e727e32d.system.entry.js +0 -4
  758. package/dist/ionic/p-e7f732ef.entry.js +0 -4
  759. package/dist/ionic/p-e8245753.entry.js +0 -4
  760. package/dist/ionic/p-e887b6a9.system.js +0 -4
  761. package/dist/ionic/p-edd2e3c7.entry.js +0 -4
  762. package/dist/ionic/p-f0c9f8e3.system.entry.js +0 -4
  763. package/dist/ionic/p-f0ef39ab.entry.js +0 -4
  764. package/dist/ionic/p-f11a9436.system.js +0 -5
  765. package/dist/ionic/p-f22490a7.system.entry.js +0 -4
  766. package/dist/ionic/p-f6bb9be7.system.entry.js +0 -4
  767. package/dist/ionic/p-f6e7d104.system.js +0 -4
  768. package/dist/ionic/p-f725bf9e.system.js +0 -4
  769. package/dist/ionic/p-f9a87db2.system.entry.js +0 -4
  770. package/dist/ionic/p-fa3f4b96.system.js +0 -4
  771. package/dist/ionic/p-fe063952.system.entry.js +0 -4
  772. package/dist/ionic/p-ffa2125f.entry.js +0 -4
  773. package/loader/package.json +0 -11
  774. /package/dist/cjs/{compare-with-utils-df1001d7.js → compare-with-utils-DSicavqM.js} +0 -0
  775. /package/dist/cjs/{cubic-bezier-f2dccc53.js → cubic-bezier-DAjy1V-e.js} +0 -0
  776. /package/dist/cjs/{dir-94c21456.js → dir-Cn0z1rJH.js} +0 -0
  777. /package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-CCvKiLh3.js} +0 -0
  778. /package/dist/cjs/{index-c8d52405.js → index-DkNv4J_i.js} +0 -0
  779. /package/dist/cjs/{lock-controller-6585a42a.js → lock-controller-aDB9wrEf.js} +0 -0
  780. /package/dist/cjs/{spinner-configs-282fd50a.js → spinner-configs-DxHKnd3-.js} +0 -0
  781. /package/dist/cjs/{theme-d1c573d2.js → theme-CeDs6Hcv.js} +0 -0
  782. /package/dist/cjs/{watch-options-f5f3e158.js → watch-options-CviOsrTS.js} +0 -0
  783. /package/dist/esm/{compare-with-utils-a96ff2ea.js → compare-with-utils-sObYyvOy.js} +0 -0
  784. /package/dist/esm/{cubic-bezier-fe2083dc.js → cubic-bezier-hHmYLOfE.js} +0 -0
  785. /package/dist/esm/{dir-babeabeb.js → dir-C53feagD.js} +0 -0
  786. /package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-BmVRXR1y.js} +0 -0
  787. /package/dist/esm/{index-a5d50daf.js → index-ZjP4CjeZ.js} +0 -0
  788. /package/dist/esm/{lock-controller-316928be.js → lock-controller-B-hirT0v.js} +0 -0
  789. /package/dist/esm/{spinner-configs-964f7cf3.js → spinner-configs-D4RIp70E.js} +0 -0
  790. /package/dist/esm/{theme-01f3f29c.js → theme-DiVJyqlX.js} +0 -0
  791. /package/dist/esm/{watch-options-c2911ace.js → watch-options-Dtdm8lKC.js} +0 -0
  792. /package/dist/ionic/{p-ccd02320.js → p-B-hirT0v.js} +0 -0
  793. /package/dist/ionic/{p-9b97df10.js → p-BTEOs1at.js} +0 -0
  794. /package/dist/ionic/{p-d47265c8.js → p-BmVRXR1y.js} +0 -0
  795. /package/dist/ionic/{p-fb813dab.js → p-C53feagD.js} +0 -0
  796. /package/dist/ionic/{p-f0c2a614.js → p-D4RIp70E.js} +0 -0
  797. /package/dist/ionic/{p-47794def.js → p-DiVJyqlX.js} +0 -0
  798. /package/dist/ionic/{p-459d13d5.js → p-Dtdm8lKC.js} +0 -0
  799. /package/dist/ionic/{p-7b30edcc.js → p-ZjP4CjeZ.js} +0 -0
  800. /package/dist/ionic/{p-2408c236.js → p-hHmYLOfE.js} +0 -0
  801. /package/dist/ionic/{p-de756e5c.js → p-sObYyvOy.js} +0 -0
@@ -44,10 +44,8 @@ const isOptionSelected = (currentValue, compareValue, compareWith) => {
44
44
  };
45
45
 
46
46
  const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color-checked:var(--ion-color-primary, #0054e9)}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{-webkit-margin-start:0;margin-inline-start:0}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:\"\";opacity:0.2}:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}.native-wrapper .radio-icon{width:0.9375rem;height:1.5rem}";
47
- const IonRadioIosStyle0 = radioIosCss;
48
47
 
49
48
  const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #0054e9);--border-width:0.125rem;--border-style:solid;--border-radius:50%}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled) .label-text-wrapper{opacity:0.38}:host(.radio-disabled) .native-wrapper{opacity:0.63}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:\"\";opacity:0.2}.native-wrapper .radio-icon{width:1.25rem;height:1.25rem}";
50
- const IonRadioMdStyle0 = radioMdCss;
51
49
 
52
50
  const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
53
51
  constructor() {
@@ -58,6 +56,31 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
58
56
  this.ionBlur = createEvent(this, "ionBlur", 7);
59
57
  this.inputId = `ion-rb-${radioButtonIds++}`;
60
58
  this.radioGroup = null;
59
+ /**
60
+ * If `true`, the radio is selected.
61
+ */
62
+ this.checked = false;
63
+ /**
64
+ * The tabindex of the radio button.
65
+ * @internal
66
+ */
67
+ this.buttonTabindex = -1;
68
+ /**
69
+ * The name of the control, which is submitted with the form data.
70
+ */
71
+ this.name = this.inputId;
72
+ /**
73
+ * If `true`, the user cannot interact with the radio.
74
+ */
75
+ this.disabled = false;
76
+ /**
77
+ * Where to place the label relative to the radio.
78
+ * `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
79
+ * `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
80
+ * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
81
+ * `"stacked"`: The label will appear above the radio regardless of the direction. The alignment of the label can be controlled with the `alignment` property.
82
+ */
83
+ this.labelPlacement = 'start';
61
84
  this.updateState = () => {
62
85
  if (this.radioGroup) {
63
86
  const { compareWith, value: radioGroupValue } = this.radioGroup;
@@ -91,15 +114,6 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
91
114
  this.onBlur = () => {
92
115
  this.ionBlur.emit();
93
116
  };
94
- this.checked = false;
95
- this.buttonTabindex = -1;
96
- this.color = undefined;
97
- this.name = this.inputId;
98
- this.disabled = false;
99
- this.value = undefined;
100
- this.labelPlacement = 'start';
101
- this.justify = undefined;
102
- this.alignment = undefined;
103
117
  }
104
118
  valueChanged() {
105
119
  /**
@@ -159,7 +173,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
159
173
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
160
174
  const mode = getIonMode(this);
161
175
  const inItem = hostContext('ion-item', el);
162
- return (h(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
176
+ return (h(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
163
177
  [mode]: true,
164
178
  'in-item': inItem,
165
179
  'radio-checked': checked,
@@ -170,18 +184,18 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
170
184
  // Focus and active styling should not apply when the radio is in an item
171
185
  'ion-activatable': !inItem,
172
186
  'ion-focusable': !inItem,
173
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, h("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
187
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, h("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
174
188
  'label-text-wrapper': true,
175
189
  'label-text-wrapper-hidden': !hasLabel,
176
- }, part: "label" }, h("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), h("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
190
+ }, part: "label" }, h("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), h("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
177
191
  }
178
192
  get el() { return this; }
179
193
  static get watchers() { return {
180
194
  "value": ["valueChanged"]
181
195
  }; }
182
196
  static get style() { return {
183
- ios: IonRadioIosStyle0,
184
- md: IonRadioMdStyle0
197
+ ios: radioIosCss,
198
+ md: radioMdCss
185
199
  }; }
186
200
  }, [33, "ion-radio", {
187
201
  "color": [513],
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { writeTask } from '@stencil/core/internal/client';
5
5
  import { c as createAnimation } from './animation.js';
6
- import { t as transitionEndAsync, c as componentOnReady, k as clamp } from './helpers.js';
6
+ import { c as componentOnReady, t as transitionEndAsync, f as clamp } from './helpers.js';
7
7
 
8
8
  const getRefresherAnimationType = (contentEl) => {
9
9
  const previousSibling = contentEl.previousElementSibling;
@@ -193,4 +193,4 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
193
193
  ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
194
194
  };
195
195
 
196
- export { setSpinnerOpacity as a, handleScrollWhilePulling as b, createPullingAnimation as c, createSnapBackAnimation as d, supportsRubberBandScrolling as e, getRefresherAnimationType as g, handleScrollWhileRefreshing as h, shouldUseNativeRefresher as s, translateElement as t };
196
+ export { setSpinnerOpacity as a, handleScrollWhilePulling as b, createSnapBackAnimation as c, createPullingAnimation as d, supportsRubberBandScrolling as e, getRefresherAnimationType as g, handleScrollWhileRefreshing as h, shouldUseNativeRefresher as s, translateElement as t };
@@ -5,13 +5,21 @@ import { proxyCustomElement, HTMLElement, readTask, writeTask, h, Host } from '@
5
5
  import { b as getIonMode } from './ionic-global.js';
6
6
 
7
7
  const rippleEffectCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}";
8
- const IonRippleEffectStyle0 = rippleEffectCss;
9
8
 
10
9
  const RippleEffect = /*@__PURE__*/ proxyCustomElement(class RippleEffect extends HTMLElement {
11
10
  constructor() {
12
11
  super();
13
12
  this.__registerHost();
14
13
  this.__attachShadow();
14
+ /**
15
+ * Sets the type of ripple-effect:
16
+ *
17
+ * - `bounded`: the ripple effect expands from the user's click position
18
+ * - `unbounded`: the ripple effect expands from the center of the button and overflows the container.
19
+ *
20
+ * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden,
21
+ * while surfaces for unbounded ripples should have it set to visible.
22
+ */
15
23
  this.type = 'bounded';
16
24
  }
17
25
  /**
@@ -66,13 +74,13 @@ const RippleEffect = /*@__PURE__*/ proxyCustomElement(class RippleEffect extends
66
74
  }
67
75
  render() {
68
76
  const mode = getIonMode(this);
69
- return (h(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
77
+ return (h(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
70
78
  [mode]: true,
71
79
  unbounded: this.unbounded,
72
80
  } }));
73
81
  }
74
82
  get el() { return this; }
75
- static get style() { return IonRippleEffectStyle0; }
83
+ static get style() { return rippleEffectCss; }
76
84
  }, [1, "ion-ripple-effect", {
77
85
  "type": [1],
78
86
  "addRipple": [64]
@@ -20,20 +20,15 @@ import { d as defineCustomElement$2 } from './title.js';
20
20
  import { d as defineCustomElement$1 } from './toolbar.js';
21
21
 
22
22
  const ionicSelectModalMdCss = ".sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container){display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
23
- const IonSelectModalIonicStyle0 = ionicSelectModalMdCss;
24
23
 
25
24
  const selectModalIosCss = ".sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:\"\"}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}";
26
- const IonSelectModalIosStyle0 = selectModalIosCss;
27
25
 
28
26
  const selectModalMdCss = ".sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container){display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
29
- const IonSelectModalMdStyle0 = selectModalMdCss;
30
27
 
31
28
  const SelectModal = /*@__PURE__*/ proxyCustomElement(class SelectModal extends HTMLElement {
32
29
  constructor() {
33
30
  super();
34
31
  this.__registerHost();
35
- this.header = undefined;
36
- this.multiple = undefined;
37
32
  this.options = [];
38
33
  }
39
34
  closeModal() {
@@ -102,13 +97,13 @@ const SelectModal = /*@__PURE__*/ proxyCustomElement(class SelectModal extends H
102
97
  } }, option.text))));
103
98
  }
104
99
  render() {
105
- return (h(Host, { key: '885198a9f21884e3bfb9bf0af53e0ee3ae37b231', class: getIonMode(this) }, h("ion-header", { key: 'd8b63726869747ac711e4fda78a50ce46f72970c' }, h("ion-toolbar", { key: '9ab2a4c1480dd74eeae38d7b580a2e87fb71270e' }, this.header !== undefined && h("ion-title", { key: '87a7034385ef57f55cefdd0371dbb66a64827290' }, this.header), h("ion-buttons", { key: '0a35424ea13ca002abc9a43b6138730254f187d0', slot: "end" }, h("ion-button", { key: '238bf40b47128d9aa995d14d9ff9ebcae4f79492', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '4a256f3381f8cabbc7194337b8ae4aa1c3ab1066' }, h("ion-list", { key: 'acd38fc52024632176467ed6a84106a454021544' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
100
+ return (h(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode(this) }, h("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, h("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && h("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), h("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, h("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, h("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
106
101
  }
107
102
  get el() { return this; }
108
103
  static get style() { return {
109
- ionic: IonSelectModalIonicStyle0,
110
- ios: IonSelectModalIosStyle0,
111
- md: IonSelectModalMdStyle0
104
+ ionic: ionicSelectModalMdCss,
105
+ ios: selectModalIosCss,
106
+ md: selectModalMdCss
112
107
  }; }
113
108
  }, [34, "ion-select-modal", {
114
109
  "header": [1],
@@ -16,19 +16,16 @@ import { d as defineCustomElement$2 } from './radio-group.js';
16
16
  import { d as defineCustomElement$1 } from './ripple-effect.js';
17
17
 
18
18
  const selectPopoverIosCss = ".sc-ion-select-popover-ios-h ion-list.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-ios,ion-label.sc-ion-select-popover-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-ios-h{overflow-y:auto}";
19
- const IonSelectPopoverIosStyle0 = selectPopoverIosCss;
20
19
 
21
20
  const selectPopoverMdCss = ".sc-ion-select-popover-md-h ion-list.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-list-header.sc-ion-select-popover-md,ion-label.sc-ion-select-popover-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-md-h{overflow-y:auto}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(container){display:none}ion-list.sc-ion-select-popover-md ion-radio.sc-ion-select-popover-md::part(label){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-popover-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-popover-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-popover-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}";
22
- const IonSelectPopoverMdStyle0 = selectPopoverMdCss;
23
21
 
24
22
  const SelectPopover = /*@__PURE__*/ proxyCustomElement(class SelectPopover extends HTMLElement {
25
23
  constructor() {
26
24
  super();
27
25
  this.__registerHost();
28
- this.header = undefined;
29
- this.subHeader = undefined;
30
- this.message = undefined;
31
- this.multiple = undefined;
26
+ /**
27
+ * An array of options for the popover
28
+ */
32
29
  this.options = [];
33
30
  }
34
31
  findOptionFromEvent(ev) {
@@ -117,12 +114,12 @@ const SelectPopover = /*@__PURE__*/ proxyCustomElement(class SelectPopover exten
117
114
  render() {
118
115
  const { header, message, options, subHeader } = this;
119
116
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
120
- return (h(Host, { key: '542367ab8fb72bfebf7e65630b91017d68827fd6', class: getIonMode(this) }, h("ion-list", { key: 'f2f0f37e1365cd7780b02de1a1698700d0df48a7' }, header !== undefined && h("ion-list-header", { key: '4b8800a68e800f19277a44b7074ca24b70218daf' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '932b7903daf97d5a57d289b7ee49e868bb9b0cf5' }, h("ion-label", { key: 'fc3f1b69aa2a0bc6125d35692dcad3a8a99fd160', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'eceab2f47afa95f04b138342b0bdbfa1f50919a8' }, subHeader), message !== undefined && h("p", { key: '70f4e27ad1316318efd0c17efce31e5e45c8fa02' }, message)))), this.renderOptions(options))));
117
+ return (h(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode(this) }, h("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && h("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, h("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && h("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
121
118
  }
122
119
  get el() { return this; }
123
120
  static get style() { return {
124
- ios: IonSelectPopoverIosStyle0,
125
- md: IonSelectPopoverMdStyle0
121
+ ios: selectPopoverIosCss,
122
+ md: selectPopoverMdCss
126
123
  }; }
127
124
  }, [34, "ion-select-popover", {
128
125
  "header": [1],
@@ -148,16 +148,15 @@ const spinners = {
148
148
  const SPINNERS = spinners;
149
149
 
150
150
  const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
151
- const IonSpinnerStyle0 = spinnerCss;
152
151
 
153
152
  const Spinner = /*@__PURE__*/ proxyCustomElement(class Spinner extends HTMLElement {
154
153
  constructor() {
155
154
  super();
156
155
  this.__registerHost();
157
156
  this.__attachShadow();
158
- this.color = undefined;
159
- this.duration = undefined;
160
- this.name = undefined;
157
+ /**
158
+ * If `true`, the spinner's animation will be paused.
159
+ */
161
160
  this.paused = false;
162
161
  }
163
162
  getName() {
@@ -186,13 +185,13 @@ const Spinner = /*@__PURE__*/ proxyCustomElement(class Spinner extends HTMLEleme
186
185
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
187
186
  }
188
187
  }
189
- return (h(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses(self.color, {
188
+ return (h(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses(self.color, {
190
189
  [mode]: true,
191
190
  [`spinner-${spinnerName}`]: true,
192
191
  'spinner-paused': self.paused || config.getBoolean('_testing'),
193
192
  }), role: "progressbar", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));
194
193
  }
195
- static get style() { return IonSpinnerStyle0; }
194
+ static get style() { return spinnerCss; }
196
195
  }, [1, "ion-spinner", {
197
196
  "color": [513],
198
197
  "duration": [2],
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { k as clamp } from './helpers.js';
4
+ import { f as clamp } from './helpers.js';
5
5
  import { i as isRTL } from './dir.js';
6
6
  import { createGesture } from './index3.js';
7
7
 
@@ -6,10 +6,8 @@ import { c as createColorClasses } from './theme.js';
6
6
  import { b as getIonMode } from './ionic-global.js';
7
7
 
8
8
  const titleIosCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}:host{inset-inline-start:0}:host(.title-small){-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}:host(.title-large){-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}:host(.title-large.title-rtl){-webkit-transform-origin:right center;transform-origin:right center}:host(.title-large.ion-cloned-element){--color:var(--ion-text-color, #000);font-family:var(--ion-font-family)}:host(.title-large) .toolbar-title{-webkit-transform-origin:inherit;transform-origin:inherit;width:auto}:host-context([dir=rtl]):host(.title-large) .toolbar-title,:host-context([dir=rtl]).title-large .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}@supports selector(:dir(rtl)){:host(.title-large:dir(rtl)) .toolbar-title{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}";
9
- const IonTitleIosStyle0 = titleIosCss;
10
9
 
11
10
  const titleMdCss = ":host{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:0;padding-bottom:0;font-size:1.25rem;font-weight:500;letter-spacing:0.0125em}:host(.title-small){width:100%;height:100%;font-size:0.9375rem;font-weight:normal}";
12
- const IonTitleMdStyle0 = titleMdCss;
13
11
 
14
12
  const ToolbarTitle = /*@__PURE__*/ proxyCustomElement(class ToolbarTitle extends HTMLElement {
15
13
  constructor() {
@@ -17,8 +15,6 @@ const ToolbarTitle = /*@__PURE__*/ proxyCustomElement(class ToolbarTitle extends
17
15
  this.__registerHost();
18
16
  this.__attachShadow();
19
17
  this.ionStyle = createEvent(this, "ionStyle", 7);
20
- this.color = undefined;
21
- this.size = undefined;
22
18
  }
23
19
  sizeChanged() {
24
20
  this.emitStyle();
@@ -38,19 +34,19 @@ const ToolbarTitle = /*@__PURE__*/ proxyCustomElement(class ToolbarTitle extends
38
34
  render() {
39
35
  const mode = getIonMode(this);
40
36
  const size = this.getSize();
41
- return (h(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses(this.color, {
37
+ return (h(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses(this.color, {
42
38
  [mode]: true,
43
39
  [`title-${size}`]: true,
44
40
  'title-rtl': document.dir === 'rtl',
45
- }) }, h("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, h("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
41
+ }) }, h("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, h("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
46
42
  }
47
43
  get el() { return this; }
48
44
  static get watchers() { return {
49
45
  "size": ["sizeChanged"]
50
46
  }; }
51
47
  static get style() { return {
52
- ios: IonTitleIosStyle0,
53
- md: IonTitleMdStyle0
48
+ ios: titleIosCss,
49
+ md: titleMdCss
54
50
  }; }
55
51
  }, [33, "ion-title", {
56
52
  "color": [513],
@@ -6,10 +6,8 @@ import { c as createColorClasses, h as hostContext } from './theme.js';
6
6
  import { b as getIonMode } from './ionic-global.js';
7
7
 
8
8
  const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-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);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:4;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:-ms-inline-flexbox;display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){-ms-flex-item-align:start;align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:3;order:3}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{-ms-flex:1;flex:1;-ms-flex-order:8;order:8;min-width:100%}";
9
- const IonToolbarIosStyle0 = toolbarIosCss;
10
9
 
11
10
  const toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;--opacity-scale:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;width:100%;padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{-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);display:-ms-flexbox;display:flex;position:relative;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;-webkit-box-sizing:border-box;box-sizing:border-box}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:calc(var(--opacity) * var(--opacity-scale));z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, #c1c4cd))));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{-ms-flex:1;flex:1;-ms-flex-order:3;order:3;min-width:0;max-width:100%}::slotted(.buttons-first-slot){-webkit-margin-start:4px;margin-inline-start:4px}::slotted(.buttons-last-slot){-webkit-margin-end:4px;margin-inline-end:4px}::slotted([slot=start]){-ms-flex-order:2;order:2}::slotted([slot=secondary]){-ms-flex-order:4;order:4}::slotted([slot=primary]){-ms-flex-order:5;order:5;text-align:end}::slotted([slot=end]){-ms-flex-order:6;order:6;text-align:end}";
12
- const IonToolbarMdStyle0 = toolbarMdCss;
13
11
 
14
12
  const Toolbar = /*@__PURE__*/ proxyCustomElement(class Toolbar extends HTMLElement {
15
13
  constructor() {
@@ -17,7 +15,6 @@ const Toolbar = /*@__PURE__*/ proxyCustomElement(class Toolbar extends HTMLEleme
17
15
  this.__registerHost();
18
16
  this.__attachShadow();
19
17
  this.childrenStyles = new Map();
20
- this.color = undefined;
21
18
  }
22
19
  componentWillLoad() {
23
20
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
@@ -63,15 +60,15 @@ const Toolbar = /*@__PURE__*/ proxyCustomElement(class Toolbar extends HTMLEleme
63
60
  this.childrenStyles.forEach((value) => {
64
61
  Object.assign(childStyles, value);
65
62
  });
66
- return (h(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
63
+ return (h(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
67
64
  [mode]: true,
68
65
  'in-toolbar': hostContext('ion-toolbar', this.el),
69
- })) }, h("div", { key: '2465a6dc8d507ec650538378d1be2abd399c58ad', class: "toolbar-background", part: "background" }), h("div", { key: '6075096afd12303b961e4fe9ad345ef2887573af', class: "toolbar-container", part: "container" }, h("slot", { key: '8b7eec1148cfeb339d87cdf9273f2104703e7601', name: "start" }), h("slot", { key: 'b102d3926cade24faf78b7af78ad5e192c4c0308', name: "secondary" }), h("div", { key: 'c6ab2e978328324c6f9e7892024cbcd8b8987067', class: "toolbar-content", part: "content" }, h("slot", { key: '86f8952c4355a9df5b4bbb95e9d0cafefd272d5b' })), h("slot", { key: '501e43431da6b9dd35b47b79222f948d445f7a78', name: "primary" }), h("slot", { key: '84bf1a15a5e52e8e94df9f479c4ce18004f5ab57', name: "end" }))));
66
+ })) }, h("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), h("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, h("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), h("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), h("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, h("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), h("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), h("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
70
67
  }
71
68
  get el() { return this; }
72
69
  static get style() { return {
73
- ios: IonToolbarIosStyle0,
74
- md: IonToolbarMdStyle0
70
+ ios: toolbarIosCss,
71
+ md: toolbarMdCss
75
72
  }; }
76
73
  }, [33, "ion-toolbar", {
77
74
  "color": [513]
@@ -1 +1 @@
1
- audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:bold}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports(-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}/*# sourceMappingURL=global.bundle.css.map */
1
+ audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:bold}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports(-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}/*# sourceMappingURL=global.bundle.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/normalize.scss","../src/css/structure.scss","../src/themes/ionic.mixins.scss","../src/css/typography.scss"],"names":[],"mappings":"AAOA,4BAIE,wBAKF,sBACE,aAEA,SAQF,SAEE,iBAOF,IACE,eAMF,GACE,WAEA,eAEA,uBAIF,IACE,cAIF,kBAIE,gCACA,cAgBF,4BAIE,oBACA,mBAGF,SACE,cAEA,YAEA,aACA,cAGF,sBACE,iBAGF,2BAIE,SAEA,aACA,cAQF,6DAGE,eAEA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,UACA,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eAEA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UAEA,SAMF,4FAEE,YAMF,+FAEE,wBAQF,MACE,yBACA,iBAGF,MAEE,UC1MF,EACE,sBAEA,0CACA,wCACA,2BAGF,KACE,WACA,YACA,8BAEA,sBAGF,yBACE,aAGF,iBACE,cAGF,aACE,aAGF,KC0EE,kCACA,mCA0NE,YDnSc,ECoSd,aDpSc,ECwThB,WDxTgB,ECyThB,cDzTgB,ECmSd,aDlSe,ECmSf,cDnSe,ECuTjB,YDvTiB,ECwTjB,eDxTiB,EAEjB,eAEA,WACA,eACA,YACA,gBAsBA,wBAEA,kCAEA,gBAEA,0BAEA,uBAEA,yBAEA,qBAEA,2BACA,8BAEA,sBEvDF,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBD0SE,WCpSgB,KDqShB,cCrS4B,KAE5B,YArD6B,IAuD7B,YApD6B,IAuD/B,GD6RE,WC5RgB,KAEhB,UAvD6B,SA0D/B,GDuRE,WCtRgB,KAEhB,UA1D6B,OA6D/B,GACE,UA3D6B,SA8D/B,GACE,UA5D6B,QA+D/B,GACE,UA7D6B,SAgE/B,GACE,UA9D6B,KAiE/B,MACE,cAGF,QAEE,kBAEA,cAEA,cAEA,wBAGF,IACE,WAGF,IACE","file":"global.bundle.css","sourcesContent":["// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n\n height: 0;\n}\n\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Makes it so the img does not flow outside container\nimg {\n max-width: 100%;\n}\n\n// Grouping content\n// ==========================================================================\n\nhr {\n height: 1px;\n\n border-width: 0;\n\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n\n height: auto;\n\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-left: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n cursor: pointer; // 3\n\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n padding: 0;\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n -webkit-text-size-adjust: 100%;\n\n text-size-adjust: 100%;\n}\n\nhtml:not(.hydrated) body {\n display: none;\n}\n\nhtml.ion-ce body {\n display: block;\n}\n\nhtml.plt-pwa {\n height: 100vh;\n}\n\nbody {\n @include font-smoothing();\n @include margin(0);\n @include padding(0);\n\n position: fixed;\n\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n\n /**\n * Because body has position: fixed,\n * it should be promoted to its own\n * layer.\n *\n * WebKit does not always promote\n * the body to its own layer on page\n * load in Ionic apps. Once scrolling on\n * ion-content starts, WebKit will promote\n * body. Unfortunately, this causes a re-paint\n * which results in scrolling being halted\n * until the next user gesture.\n *\n * This impacts the Custom Elements build.\n * The lazy loaded build causes the browser to\n * re-paint during hydration which causes WebKit\n * to promote body to its own layer.\n * In the CE Build, this hydration does not\n * happen, so the additional re-paint does not occur.\n */\n transform: translateZ(0);\n\n text-rendering: optimizeLegibility;\n\n overflow: hidden;\n\n touch-action: manipulation;\n\n -webkit-user-drag: none;\n\n -ms-content-zooming: none;\n\n word-wrap: break-word;\n\n overscroll-behavior-y: none;\n -webkit-text-size-adjust: none;\n\n text-size-adjust: none;\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// Typography\n// --------------------------------------------------\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 500;\n\n/// @prop - Line height of all headings\n$headings-line-height: 1.2;\n\n/// @prop - Font size of heading level 1\n$h1-font-size: dynamic-font(26px);\n\n/// @prop - Font size of heading level 2\n$h2-font-size: dynamic-font(24px);\n\n/// @prop - Font size of heading level 3\n$h3-font-size: dynamic-font(22px);\n\n/// @prop - Font size of heading level 4\n$h4-font-size: dynamic-font(20px);\n\n/// @prop - Font size of heading level 5\n$h5-font-size: dynamic-font(18px);\n\n/// @prop - Font size of heading level 6\n$h6-font-size: dynamic-font(16px);\n\nhtml {\n font-family: var(--ion-font-family);\n}\n\n/**\n * Dynamic Type is an iOS-only feature, so\n * this should only be enabled on iOS devices.\n */\n@supports (-webkit-touch-callout: none) {\n html {\n /**\n * Includes fallback if Dynamic Type is not enabled.\n */\n font: var(--ion-dynamic-font, 16px var(--ion-font-family));\n }\n}\n\na {\n background-color: transparent;\n color: ion-color(primary, base);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n @include margin(16px, null, 10px, null);\n\n font-weight: $headings-font-weight;\n\n line-height: $headings-line-height;\n}\n\nh1 {\n @include margin(20px, null, null, null);\n\n font-size: $h1-font-size;\n}\n\nh2 {\n @include margin(18px, null, null, null);\n\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n\n font-size: 75%;\n\n line-height: 0;\n\n vertical-align: baseline;\n}\n\nsup {\n top: -.5em;\n}\n\nsub {\n bottom: -.25em;\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/normalize.scss","../src/css/structure.scss","../src/themes/ionic.mixins.scss","../src/css/typography.scss"],"names":[],"mappings":"AAOA,4BAIE,wBAKF,sBACE,aAEA,SAQF,SAEE,iBAOF,IACE,eAMF,GACE,WAEA,eAEA,uBAIF,IACE,cAIF,kBAIE,gCACA,cAgBF,4BAIE,oBACA,mBAGF,SACE,cAEA,YAEA,aACA,cAGF,sBACE,iBAGF,2BAIE,SAEA,aACA,cAQF,6DAGE,eAEA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,UACA,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eAEA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UAEA,SAMF,4FAEE,YAMF,+FAEE,wBAQF,MACE,yBACA,iBAGF,MAEE,UC1MF,EACE,sBAEA,0CACA,wCACA,2BAGF,KACE,WACA,YACA,8BAEA,sBAGF,iBACE,cAGF,aACE,aAGF,KC8EE,kCACA,mCA0NE,YDvSc,ECwSd,aDxSc,EC4ThB,WD5TgB,EC6ThB,cD7TgB,ECuSd,aDtSe,ECuSf,cDvSe,EC2TjB,YD3TiB,EC4TjB,eD5TiB,EAEjB,eAEA,WACA,eACA,YACA,gBAsBA,wBAEA,kCAEA,gBAEA,0BAEA,uBAEA,yBAEA,qBAEA,2BACA,8BAEA,sBEnDF,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBD0SE,WCpSgB,KDqShB,cCrS4B,KAE5B,YArD6B,IAuD7B,YApD6B,IAuD/B,GD6RE,WC5RgB,KAEhB,UAvD6B,SA0D/B,GDuRE,WCtRgB,KAEhB,UA1D6B,OA6D/B,GACE,UA3D6B,SA8D/B,GACE,UA5D6B,QA+D/B,GACE,UA7D6B,SAgE/B,GACE,UA9D6B,KAiE/B,MACE,cAGF,QAEE,kBAEA,cAEA,cAEA,wBAGF,IACE,WAGF,IACE","file":"global.bundle.css","sourcesContent":["// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n\n height: 0;\n}\n\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Makes it so the img does not flow outside container\nimg {\n max-width: 100%;\n}\n\n// Grouping content\n// ==========================================================================\n\nhr {\n height: 1px;\n\n border-width: 0;\n\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n\n height: auto;\n\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-left: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n cursor: pointer; // 3\n\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n padding: 0;\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n -webkit-text-size-adjust: 100%;\n\n text-size-adjust: 100%;\n}\n\nhtml.ion-ce body {\n display: block;\n}\n\nhtml.plt-pwa {\n height: 100vh;\n}\n\nbody {\n @include font-smoothing();\n @include margin(0);\n @include padding(0);\n\n position: fixed;\n\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n\n /**\n * Because body has position: fixed,\n * it should be promoted to its own\n * layer.\n *\n * WebKit does not always promote\n * the body to its own layer on page\n * load in Ionic apps. Once scrolling on\n * ion-content starts, WebKit will promote\n * body. Unfortunately, this causes a re-paint\n * which results in scrolling being halted\n * until the next user gesture.\n *\n * This impacts the Custom Elements build.\n * The lazy loaded build causes the browser to\n * re-paint during hydration which causes WebKit\n * to promote body to its own layer.\n * In the CE Build, this hydration does not\n * happen, so the additional re-paint does not occur.\n */\n transform: translateZ(0);\n\n text-rendering: optimizeLegibility;\n\n overflow: hidden;\n\n touch-action: manipulation;\n\n -webkit-user-drag: none;\n\n -ms-content-zooming: none;\n\n word-wrap: break-word;\n\n overscroll-behavior-y: none;\n -webkit-text-size-adjust: none;\n\n text-size-adjust: none;\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// Typography\n// --------------------------------------------------\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 500;\n\n/// @prop - Line height of all headings\n$headings-line-height: 1.2;\n\n/// @prop - Font size of heading level 1\n$h1-font-size: dynamic-font(26px);\n\n/// @prop - Font size of heading level 2\n$h2-font-size: dynamic-font(24px);\n\n/// @prop - Font size of heading level 3\n$h3-font-size: dynamic-font(22px);\n\n/// @prop - Font size of heading level 4\n$h4-font-size: dynamic-font(20px);\n\n/// @prop - Font size of heading level 5\n$h5-font-size: dynamic-font(18px);\n\n/// @prop - Font size of heading level 6\n$h6-font-size: dynamic-font(16px);\n\nhtml {\n font-family: var(--ion-font-family);\n}\n\n/**\n * Dynamic Type is an iOS-only feature, so\n * this should only be enabled on iOS devices.\n */\n@supports (-webkit-touch-callout: none) {\n html {\n /**\n * Includes fallback if Dynamic Type is not enabled.\n */\n font: var(--ion-dynamic-font, 16px var(--ion-font-family));\n }\n}\n\na {\n background-color: transparent;\n color: ion-color(primary, base);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n @include margin(16px, null, 10px, null);\n\n font-weight: $headings-font-weight;\n\n line-height: $headings-line-height;\n}\n\nh1 {\n @include margin(20px, null, null, null);\n\n font-size: $h1-font-size;\n}\n\nh2 {\n @include margin(18px, null, null, null);\n\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n\n font-size: 75%;\n\n line-height: 0;\n\n vertical-align: baseline;\n}\n\nsup {\n top: -.5em;\n}\n\nsub {\n bottom: -.25em;\n}\n"]}