voyager-ionic-core 7.2.3 → 7.4.4

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 (1192) hide show
  1. package/components/action-sheet.js +12 -17
  2. package/components/alert.js +17 -20
  3. package/components/animation.js +60 -1
  4. package/components/button-active.js +1 -1
  5. package/components/button.js +18 -0
  6. package/components/checkbox.js +18 -7
  7. package/components/data.js +47 -9
  8. package/components/framework-delegate.js +21 -2
  9. package/components/icon.js +6 -0
  10. package/components/index.d.ts +6 -0
  11. package/components/index.js +3 -3
  12. package/components/index2.js +203 -429
  13. package/components/index3.js +429 -203
  14. package/components/input-shims.js +88 -7
  15. package/components/ion-accordion-group.js +5 -1
  16. package/components/ion-accordion.js +2 -0
  17. package/components/ion-breadcrumbs.js +5 -1
  18. package/components/ion-content.js +51 -5
  19. package/components/ion-datetime-button.js +3 -0
  20. package/components/ion-datetime.js +142 -92
  21. package/components/ion-fab-list.js +3 -1
  22. package/components/ion-fab.js +3 -1
  23. package/components/ion-header.js +1 -1
  24. package/components/ion-img.js +2 -0
  25. package/components/ion-infinite-scroll.js +3 -0
  26. package/components/ion-input.js +6 -1
  27. package/components/ion-item-sliding.js +3 -1
  28. package/components/ion-loading.js +11 -16
  29. package/components/ion-menu.js +76 -26
  30. package/components/ion-modal.js +46 -42
  31. package/components/ion-nav.js +5 -2
  32. package/components/ion-picker.js +11 -16
  33. package/components/ion-range.js +41 -6
  34. package/components/ion-refresher.js +5 -3
  35. package/components/ion-reorder-group.js +3 -1
  36. package/components/ion-route-redirect.js +3 -0
  37. package/components/ion-route.js +4 -0
  38. package/components/ion-router-outlet.js +10 -14
  39. package/components/ion-searchbar.js +4 -0
  40. package/components/ion-segment-button.js +2 -0
  41. package/components/ion-segment.js +42 -25
  42. package/components/ion-select.js +36 -17
  43. package/components/ion-split-pane.js +4 -0
  44. package/components/ion-tab-bar.js +6 -0
  45. package/components/ion-tab.js +2 -0
  46. package/components/ion-textarea.js +8 -4
  47. package/components/ion-title.js +3 -1
  48. package/components/ion-toast.js +15 -17
  49. package/components/ion-toggle.js +12 -4
  50. package/components/ion-toolbar.js +2 -2
  51. package/components/ios.transition.js +1 -1
  52. package/components/item.js +48 -10
  53. package/components/label.js +5 -2
  54. package/components/lock-controller.js +38 -0
  55. package/components/md.transition.js +1 -1
  56. package/components/notch-controller.js +1 -1
  57. package/components/overlays.js +30 -10
  58. package/components/picker-column-internal.js +2 -0
  59. package/components/picker-column.js +3 -1
  60. package/components/popover.js +20 -30
  61. package/components/radio-group.js +4 -2
  62. package/components/radio.js +15 -4
  63. package/components/swipe-back.js +8 -4
  64. package/css/core.css +0 -1
  65. package/css/core.css.map +1 -1
  66. package/css/ionic.bundle.css +1 -1
  67. package/css/ionic.bundle.css.map +1 -1
  68. package/dist/cjs/{animation-c68ec4cb.js → animation-c8bdd3c7.js} +62 -3
  69. package/dist/cjs/{app-globals-3ba8ddad.js → app-globals-fe1ad535.js} +1 -1
  70. package/dist/cjs/{button-active-7578c6c2.js → button-active-0932cee9.js} +3 -3
  71. package/dist/cjs/{capacitor-a77e977e.js → capacitor-2ffba62a.js} +1 -1
  72. package/dist/cjs/{data-3a7f5c1a.js → data-db832785.js} +48 -10
  73. package/dist/cjs/{form-controller-d42b8c05.js → form-controller-5e223b54.js} +1 -1
  74. package/dist/cjs/{framework-delegate-d2bbe945.js → framework-delegate-c0873a6f.js} +22 -3
  75. package/dist/cjs/{haptic-89b33156.js → haptic-c5f6b4d5.js} +1 -1
  76. package/dist/cjs/{index-def9efb5.js → index-0ee995e4.js} +1 -1
  77. package/dist/cjs/{index-dc56ac38.js → index-10873539.js} +2 -2
  78. package/dist/cjs/{index-b358eb23.js → index-305a23dc.js} +283 -96
  79. package/dist/cjs/{index-404c1016.js → index-9f379eaa.js} +2 -2
  80. package/dist/cjs/{index-4e642409.js → index-d3568232.js} +4 -4
  81. package/dist/cjs/{index-1901dd17.js → index-f94cbab1.js} +4 -4
  82. package/dist/cjs/index.cjs.js +24 -23
  83. package/dist/cjs/{input-shims-9b42b3fe.js → input-shims-da7dc0de.js} +96 -16
  84. package/dist/cjs/{input.utils-7e077818.js → input.utils-0fe3097c.js} +3 -3
  85. package/dist/cjs/ion-accordion_2.cjs.entry.js +5 -5
  86. package/dist/cjs/ion-action-sheet.cjs.entry.js +24 -32
  87. package/dist/cjs/ion-alert.cjs.entry.js +27 -35
  88. package/dist/cjs/ion-app_8.cjs.entry.js +81 -41
  89. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  90. package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
  91. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +5 -5
  93. package/dist/cjs/ion-button_2.cjs.entry.js +21 -5
  94. package/dist/cjs/ion-card_5.cjs.entry.js +4 -4
  95. package/dist/cjs/ion-checkbox.cjs.entry.js +20 -13
  96. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -6
  99. package/dist/cjs/ion-datetime_3.cjs.entry.js +156 -125
  100. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -7
  101. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  102. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +6 -6
  103. package/dist/cjs/ion-input.cjs.entry.js +11 -11
  104. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  105. package/dist/cjs/ion-item_8.cjs.entry.js +43 -16
  106. package/dist/cjs/ion-loading.cjs.entry.js +19 -27
  107. package/dist/cjs/ion-menu_3.cjs.entry.js +83 -38
  108. package/dist/cjs/ion-modal.cjs.entry.js +59 -58
  109. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  110. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +7 -7
  111. package/dist/cjs/ion-picker-internal.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-popover.cjs.entry.js +26 -40
  113. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  114. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -11
  115. package/dist/cjs/ion-range.cjs.entry.js +42 -14
  116. package/dist/cjs/ion-refresher_2.cjs.entry.js +16 -16
  117. package/dist/cjs/ion-reorder_2.cjs.entry.js +10 -10
  118. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  120. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  121. package/dist/cjs/ion-segment_2.cjs.entry.js +40 -29
  122. package/dist/cjs/ion-select_3.cjs.entry.js +45 -31
  123. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  124. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  125. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +12 -8
  126. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  127. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  128. package/dist/cjs/ion-textarea.cjs.entry.js +12 -12
  129. package/dist/cjs/ion-toast.cjs.entry.js +23 -28
  130. package/dist/cjs/ion-toggle.cjs.entry.js +20 -15
  131. package/dist/cjs/{ionic-global-5e671da5.js → ionic-global-fb752503.js} +1 -1
  132. package/dist/cjs/ionic.cjs.js +5 -8
  133. package/dist/cjs/{ios.transition-0b0d2e7f.js → ios.transition-7d688757.js} +5 -5
  134. package/dist/cjs/{keyboard-2eabd73b.js → keyboard-38f2bb7b.js} +3 -3
  135. package/dist/cjs/{keyboard-controller-4aa8c1d6.js → keyboard-controller-50beb83a.js} +2 -2
  136. package/dist/cjs/{keyboard-f35d0b9d.js → keyboard-fd7db491.js} +1 -1
  137. package/dist/cjs/loader.cjs.js +5 -14
  138. package/dist/cjs/lock-controller-4ae2eb59.js +40 -0
  139. package/dist/cjs/{md.transition-481e9b5f.js → md.transition-d77d3c2e.js} +5 -5
  140. package/dist/cjs/{notch-controller-159c65d4.js → notch-controller-f4f6af5d.js} +3 -3
  141. package/dist/cjs/{overlays-d17b3668.js → overlays-7e1a08fa.js} +36 -16
  142. package/dist/cjs/{status-tap-6061aa3f.js → status-tap-778e8054.js} +4 -4
  143. package/dist/cjs/{swipe-back-75dad2d4.js → swipe-back-7e843e77.js} +11 -7
  144. package/dist/collection/collection-manifest.json +94 -94
  145. package/dist/collection/components/accordion/accordion.js +4 -4
  146. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +1 -1
  147. package/dist/collection/components/accordion/test/accordion.e2e.js +1 -1
  148. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +1 -1
  149. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +1 -1
  150. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +1 -1
  151. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +2 -2
  152. package/dist/collection/components/accordion-group/accordion-group.js +12 -7
  153. package/dist/collection/components/action-sheet/action-sheet.js +47 -39
  154. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +19 -4
  155. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +1 -1
  156. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +2 -2
  157. package/dist/collection/components/action-sheet/test/basic/fixture.js +1 -1
  158. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +1 -1
  159. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +1 -1
  160. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +1 -1
  161. package/dist/collection/components/alert/alert.ios.css +3 -8
  162. package/dist/collection/components/alert/alert.js +52 -42
  163. package/dist/collection/components/alert/alert.md.css +3 -9
  164. package/dist/collection/components/alert/test/a11y/alert.e2e.js +11 -2
  165. package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
  166. package/dist/collection/components/alert/test/is-open/alert.e2e.js +1 -1
  167. package/dist/collection/components/alert/test/standalone/alert.e2e.js +1 -1
  168. package/dist/collection/components/alert/test/trigger/alert.e2e.js +1 -1
  169. package/dist/collection/components/app/app.js +7 -5
  170. package/dist/collection/components/app/test/safe-area/app.e2e.js +1 -1
  171. package/dist/collection/components/avatar/avatar.js +2 -2
  172. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +1 -1
  173. package/dist/collection/components/back-button/back-button.js +8 -6
  174. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +1 -1
  175. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +1 -1
  176. package/dist/collection/components/backdrop/backdrop.js +2 -2
  177. package/dist/collection/components/badge/badge.js +4 -3
  178. package/dist/collection/components/badge/test/basic/badge.e2e.js +1 -1
  179. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -7
  180. package/dist/collection/components/breadcrumbs/breadcrumbs.js +6 -4
  181. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +2 -2
  182. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +1 -1
  183. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +1 -1
  184. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +1 -1
  185. package/dist/collection/components/button/button.js +26 -6
  186. package/dist/collection/components/button/test/basic/button.e2e.js +1 -1
  187. package/dist/collection/components/button/test/clear/button.e2e.js +1 -1
  188. package/dist/collection/components/button/test/expand/button.e2e.js +1 -1
  189. package/dist/collection/components/button/test/form-reference/button.e2e.js +1 -1
  190. package/dist/collection/components/button/test/icon/button.e2e.js +1 -1
  191. package/dist/collection/components/button/test/outline/button.e2e.js +1 -1
  192. package/dist/collection/components/button/test/round/button.e2e.js +1 -1
  193. package/dist/collection/components/button/test/size/button.e2e.js +1 -1
  194. package/dist/collection/components/button/test/strong/button.e2e.js +1 -1
  195. package/dist/collection/components/button/test/wrap/button.e2e.js +1 -1
  196. package/dist/collection/components/buttons/buttons.js +2 -2
  197. package/dist/collection/components/card/card.js +8 -5
  198. package/dist/collection/components/card/test/basic/card.e2e.js +1 -1
  199. package/dist/collection/components/card-content/card-content.js +2 -2
  200. package/dist/collection/components/card-header/card-header.js +4 -3
  201. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +1 -1
  202. package/dist/collection/components/card-subtitle/card-subtitle.js +4 -3
  203. package/dist/collection/components/card-title/card-title.js +4 -3
  204. package/dist/collection/components/checkbox/checkbox.ios.css +67 -0
  205. package/dist/collection/components/checkbox/checkbox.js +41 -13
  206. package/dist/collection/components/checkbox/checkbox.md.css +67 -0
  207. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -2
  208. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +18 -1
  209. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +3 -3
  210. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +1 -1
  211. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +18 -5
  212. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +38 -11
  213. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +19 -2
  214. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +2 -2
  215. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +5 -5
  216. package/dist/collection/components/chip/chip.js +4 -3
  217. package/dist/collection/components/chip/test/basic/chip.e2e.js +1 -1
  218. package/dist/collection/components/chip/test/states/chip.e2e.js +1 -1
  219. package/dist/collection/components/col/col.js +2 -2
  220. package/dist/collection/components/content/content.js +76 -24
  221. package/dist/collection/components/content/test/basic/content.e2e.js +1 -1
  222. package/dist/collection/components/content/test/fixed/content.e2e.js +1 -1
  223. package/dist/collection/components/content/test/fullscreen/content.e2e.js +1 -1
  224. package/dist/collection/components/content/test/standalone/content.e2e.js +1 -1
  225. package/dist/collection/components/datetime/datetime.ios.css +32 -29
  226. package/dist/collection/components/datetime/datetime.js +169 -114
  227. package/dist/collection/components/datetime/datetime.md.css +20 -28
  228. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +26 -1
  229. package/dist/collection/components/datetime/test/color/datetime.e2e.js +2 -2
  230. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +28 -9
  231. package/dist/collection/components/datetime/test/datetime.e2e.js +1 -1
  232. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +1 -1
  233. package/dist/collection/components/datetime/test/display/datetime.e2e.js +1 -1
  234. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +1 -1
  235. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +1 -1
  236. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +1 -1
  237. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +1 -1
  238. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +1 -1
  239. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  240. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +1 -1
  241. package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
  242. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +16 -1
  243. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +49 -18
  244. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +10 -13
  245. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +1 -1
  246. package/dist/collection/components/datetime/test/values/datetime.e2e.js +1 -1
  247. package/dist/collection/components/datetime/utils/data.js +18 -10
  248. package/dist/collection/components/datetime/utils/format.js +1 -1
  249. package/dist/collection/components/datetime/utils/manipulation.js +3 -3
  250. package/dist/collection/components/datetime/utils/parse.js +36 -5
  251. package/dist/collection/components/datetime/utils/state.js +3 -3
  252. package/dist/collection/components/datetime-button/datetime-button.js +11 -7
  253. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +1 -1
  254. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +1 -1
  255. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +1 -1
  256. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +1 -1
  257. package/dist/collection/components/fab/fab.css +88 -28
  258. package/dist/collection/components/fab/fab.js +6 -4
  259. package/dist/collection/components/fab/test/basic/fab.e2e.js +1 -1
  260. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +17 -0
  261. package/dist/collection/components/fab/test/states/fab.e2e.js +1 -1
  262. package/dist/collection/components/fab/test/translucent/fab.e2e.js +1 -1
  263. package/dist/collection/components/fab-button/fab-button.js +9 -6
  264. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
  265. package/dist/collection/components/fab-list/fab-list.css +17 -10
  266. package/dist/collection/components/fab-list/fab-list.js +2 -2
  267. package/dist/collection/components/footer/footer.js +3 -3
  268. package/dist/collection/components/footer/footer.utils.js +1 -1
  269. package/dist/collection/components/footer/test/basic/footer.e2e.js +1 -1
  270. package/dist/collection/components/footer/test/fade/footer.e2e.js +1 -1
  271. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +1 -1
  272. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +1 -1
  273. package/dist/collection/components/grid/grid.js +2 -2
  274. package/dist/collection/components/grid/test/basic/grid.e2e.js +1 -1
  275. package/dist/collection/components/grid/test/offsets/grid.e2e.js +1 -1
  276. package/dist/collection/components/grid/test/padding/grid.e2e.js +1 -1
  277. package/dist/collection/components/grid/test/sizes/grid.e2e.js +1 -1
  278. package/dist/collection/components/header/header.ios.css +26 -1
  279. package/dist/collection/components/header/header.js +3 -3
  280. package/dist/collection/components/header/header.utils.js +1 -1
  281. package/dist/collection/components/header/test/a11y/header.e2e.js +2 -2
  282. package/dist/collection/components/header/test/basic/header.e2e.js +1 -1
  283. package/dist/collection/components/header/test/condense/header.e2e.js +1 -1
  284. package/dist/collection/components/header/test/fade/header.e2e.js +1 -1
  285. package/dist/collection/components/header/test/scroll-target/header.e2e.js +1 -1
  286. package/dist/collection/components/icon/test/basic/icon.e2e.js +1 -1
  287. package/dist/collection/components/icon/test/dir/icon.e2e.js +1 -1
  288. package/dist/collection/components/img/img.js +2 -2
  289. package/dist/collection/components/img/test/basic/img.e2e.js +1 -1
  290. package/dist/collection/components/img/test/draggable/img.e2e.js +1 -1
  291. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -3
  292. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +1 -1
  293. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +1 -1
  294. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +1 -1
  295. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +7 -5
  296. package/dist/collection/components/input/input.js +27 -16
  297. package/dist/collection/components/input/test/a11y/input.e2e.js +2 -2
  298. package/dist/collection/components/input/test/basic/input.e2e.js +1 -1
  299. package/dist/collection/components/input/test/bottom-content/input.e2e.js +8 -8
  300. package/dist/collection/components/input/test/card/input.e2e.js +2 -2
  301. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +33 -0
  302. package/dist/collection/components/input/test/color/input.e2e.js +16 -16
  303. package/dist/collection/components/input/test/fill/input.e2e.js +11 -11
  304. package/dist/collection/components/input/test/highlight/input.e2e.js +10 -10
  305. package/dist/collection/components/input/test/input.e2e.js +1 -1
  306. package/dist/collection/components/input/test/item/input.e2e.js +3 -3
  307. package/dist/collection/components/input/test/label-placement/input.e2e.js +17 -17
  308. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +1 -1
  309. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +11 -11
  310. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +1 -1
  311. package/dist/collection/components/input/test/legacy/input-events.e2e.js +1 -1
  312. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +1 -1
  313. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +1 -1
  314. package/dist/collection/components/input/test/states/input.e2e.js +3 -3
  315. package/dist/collection/components/item/item.ios.css +8 -4
  316. package/dist/collection/components/item/item.js +57 -14
  317. package/dist/collection/components/item/item.md.css +8 -4
  318. package/dist/collection/components/item/test/a11y/item.e2e.js +2 -2
  319. package/dist/collection/components/item/test/alignment/item.e2e.js +1 -1
  320. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  321. package/dist/collection/components/item/test/buttons/item.e2e.js +1 -1
  322. package/dist/collection/components/item/test/colors/item.e2e.js +1 -1
  323. package/dist/collection/components/item/test/counter/item.e2e.js +1 -1
  324. package/dist/collection/components/item/test/css-variables/item.e2e.js +1 -1
  325. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -1
  326. package/dist/collection/components/item/test/dividers/item.e2e.js +1 -1
  327. package/dist/collection/components/item/test/groups/item.e2e.js +1 -1
  328. package/dist/collection/components/item/test/highlight/item.e2e.js +1 -1
  329. package/dist/collection/components/item/test/icons/item.e2e.js +1 -1
  330. package/dist/collection/components/item/test/images/item.e2e.js +1 -1
  331. package/dist/collection/components/item/test/inputs/item.e2e.js +1 -1
  332. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +1 -1
  333. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +1 -1
  334. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +1 -1
  335. package/dist/collection/components/item/test/legacy/form/item.e2e.js +1 -1
  336. package/dist/collection/components/item/test/lines/item.e2e.js +1 -1
  337. package/dist/collection/components/item/test/media/item.e2e.js +1 -1
  338. package/dist/collection/components/item/test/reorder/item.e2e.js +1 -1
  339. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +1 -1
  340. package/dist/collection/components/item/test/states/item.e2e.js +1 -1
  341. package/dist/collection/components/item/test/text/item.e2e.js +1 -1
  342. package/dist/collection/components/item-divider/item-divider.js +4 -3
  343. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +1 -1
  344. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +1 -1
  345. package/dist/collection/components/item-group/item-group.js +2 -2
  346. package/dist/collection/components/item-option/item-option.js +4 -3
  347. package/dist/collection/components/item-options/item-options.js +6 -4
  348. package/dist/collection/components/item-sliding/item-sliding.js +14 -8
  349. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +1 -1
  350. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +39 -13
  351. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +22 -7
  352. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +4 -10
  353. package/dist/collection/components/item-sliding/test/test.utils.js +9 -1
  354. package/dist/collection/components/label/label.ios.css +2 -4
  355. package/dist/collection/components/label/label.js +8 -5
  356. package/dist/collection/components/label/label.md.css +2 -4
  357. package/dist/collection/components/label/test/basic/label.e2e.js +1 -1
  358. package/dist/collection/components/label/test/color/label.e2e.js +1 -1
  359. package/dist/collection/components/label/test/headings/label.e2e.js +1 -1
  360. package/dist/collection/components/list/list.js +4 -3
  361. package/dist/collection/components/list/test/a11y/list.e2e.js +2 -2
  362. package/dist/collection/components/list/test/basic/list.e2e.js +1 -1
  363. package/dist/collection/components/list/test/inset/list.e2e.js +1 -1
  364. package/dist/collection/components/list/test/lines/list.e2e.js +1 -1
  365. package/dist/collection/components/list-header/list-header.js +4 -3
  366. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +1 -1
  367. package/dist/collection/components/loading/loading.js +49 -40
  368. package/dist/collection/components/loading/test/a11y/loading.e2e.js +2 -2
  369. package/dist/collection/components/loading/test/basic/loading.e2e.js +1 -1
  370. package/dist/collection/components/loading/test/is-open/loading.e2e.js +1 -1
  371. package/dist/collection/components/loading/test/standalone/loading.e2e.js +1 -1
  372. package/dist/collection/components/loading/test/trigger/loading.e2e.js +1 -1
  373. package/dist/collection/components/menu/menu.ios.css +102 -0
  374. package/dist/collection/components/menu/menu.js +86 -33
  375. package/dist/collection/components/menu/menu.md.css +102 -0
  376. package/dist/collection/components/menu/test/a11y/menu.e2e.js +2 -2
  377. package/dist/collection/components/menu/test/basic/menu.e2e.js +1 -1
  378. package/dist/collection/components/menu/test/disable/menu.e2e.js +55 -0
  379. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +1 -1
  380. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +87 -0
  381. package/dist/collection/components/menu-button/menu-button.js +7 -6
  382. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +2 -2
  383. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +23 -0
  384. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +1 -1
  385. package/dist/collection/components/menu-toggle/menu-toggle.js +3 -3
  386. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +1 -1
  387. package/dist/collection/components/modal/animations/ios.enter.js +2 -2
  388. package/dist/collection/components/modal/animations/ios.leave.js +2 -2
  389. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  390. package/dist/collection/components/modal/animations/md.leave.js +1 -1
  391. package/dist/collection/components/modal/animations/sheet.js +1 -1
  392. package/dist/collection/components/modal/gestures/sheet.js +2 -2
  393. package/dist/collection/components/modal/gestures/swipe-to-close.js +2 -2
  394. package/dist/collection/components/modal/modal.js +102 -76
  395. package/dist/collection/components/modal/test/a11y/modal.e2e.js +2 -2
  396. package/dist/collection/components/modal/test/basic/modal.e2e.js +1 -1
  397. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +1 -1
  398. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +2 -2
  399. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +1 -1
  400. package/dist/collection/components/modal/test/card/modal-card.e2e.js +2 -2
  401. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +6 -6
  402. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +5 -6
  403. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +2 -2
  404. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +2 -2
  405. package/dist/collection/components/modal/test/custom/modal.e2e.js +1 -1
  406. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +1 -1
  407. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +1 -1
  408. package/dist/collection/components/modal/test/fixtures.js +1 -1
  409. package/dist/collection/components/modal/test/inline/modal.e2e.js +1 -1
  410. package/dist/collection/components/modal/test/is-open/modal.e2e.js +1 -1
  411. package/dist/collection/components/modal/test/sheet/modal.e2e.js +2 -2
  412. package/dist/collection/components/modal/test/trigger/modal.e2e.js +1 -1
  413. package/dist/collection/components/modal/utils.spec.js +1 -1
  414. package/dist/collection/components/nav/nav.css +0 -1
  415. package/dist/collection/components/nav/nav.js +129 -67
  416. package/dist/collection/components/nav/test/basic/nav.e2e.js +1 -1
  417. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +1 -1
  418. package/dist/collection/components/nav/test/nested/nav.e2e.js +1 -1
  419. package/dist/collection/components/nav/test/routing/nav.e2e.js +1 -1
  420. package/dist/collection/components/nav-link/nav-link.js +10 -6
  421. package/dist/collection/components/note/note.js +4 -3
  422. package/dist/collection/components/note/test/basic/note.e2e.js +1 -1
  423. package/dist/collection/components/picker/picker.js +50 -39
  424. package/dist/collection/components/picker/test/basic/picker.e2e.js +1 -1
  425. package/dist/collection/components/picker/test/is-open/picker.e2e.js +1 -1
  426. package/dist/collection/components/picker/test/trigger/picker.e2e.js +1 -1
  427. package/dist/collection/components/picker-column/picker-column.js +6 -4
  428. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +1 -1
  429. package/dist/collection/components/picker-column/test/test.utils.js +2 -2
  430. package/dist/collection/components/picker-column-internal/picker-column-internal.js +12 -7
  431. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +1 -1
  432. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +1 -1
  433. package/dist/collection/components/picker-internal/picker-internal.js +5 -3
  434. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +2 -2
  435. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +1 -1
  436. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +1 -1
  437. package/dist/collection/components/popover/animations/ios.enter.js +1 -1
  438. package/dist/collection/components/popover/animations/md.enter.js +1 -1
  439. package/dist/collection/components/popover/popover.js +84 -67
  440. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +1 -1
  441. package/dist/collection/components/popover/test/arrow/popover.e2e.js +2 -2
  442. package/dist/collection/components/popover/test/async/popover.e2e.js +42 -0
  443. package/dist/collection/components/popover/test/basic/popover.e2e.js +2 -2
  444. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +2 -2
  445. package/dist/collection/components/popover/test/fixture.js +1 -1
  446. package/dist/collection/components/popover/test/inline/popover.e2e.js +2 -2
  447. package/dist/collection/components/popover/test/is-open/popover.e2e.js +1 -1
  448. package/dist/collection/components/popover/test/nested/popover.e2e.js +1 -1
  449. package/dist/collection/components/popover/test/position/popover.e2e.js +2 -2
  450. package/dist/collection/components/popover/test/reference/popover.e2e.js +1 -1
  451. package/dist/collection/components/popover/test/size/popover.e2e.js +2 -2
  452. package/dist/collection/components/popover/test/standalone/popover.e2e.js +1 -1
  453. package/dist/collection/components/popover/test/test.utils.js +1 -1
  454. package/dist/collection/components/popover/test/trigger/popover.e2e.js +2 -2
  455. package/dist/collection/components/progress-bar/progress-bar.js +5 -4
  456. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +1 -1
  457. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +20 -0
  458. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +20 -0
  459. package/dist/collection/components/radio/radio.ios.css +67 -0
  460. package/dist/collection/components/radio/radio.js +38 -11
  461. package/dist/collection/components/radio/radio.md.css +67 -0
  462. package/dist/collection/components/radio/test/a11y/radio.e2e.js +2 -2
  463. package/dist/collection/components/radio/test/color/radio.e2e.js +3 -3
  464. package/dist/collection/components/radio/test/item/radio.e2e.js +42 -4
  465. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +41 -10
  466. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +5 -3
  467. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +1 -1
  468. package/dist/collection/components/radio/test/states/radio.e2e.js +5 -5
  469. package/dist/collection/components/radio-group/radio-group.js +7 -5
  470. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +2 -2
  471. package/dist/collection/components/radio-group/test/fixtures.js +1 -1
  472. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +1 -1
  473. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +1 -1
  474. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +1 -1
  475. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +1 -1
  476. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +1 -1
  477. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +2 -2
  478. package/dist/collection/components/range/range.ios.css +80 -1
  479. package/dist/collection/components/range/range.js +53 -17
  480. package/dist/collection/components/range/range.md.css +80 -1
  481. package/dist/collection/components/range/test/a11y/range.e2e.js +2 -2
  482. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +1 -1
  483. package/dist/collection/components/range/test/basic/range.e2e.js +1 -1
  484. package/dist/collection/components/range/test/color/range.e2e.js +2 -2
  485. package/dist/collection/components/range/test/custom/range.e2e.js +2 -2
  486. package/dist/collection/components/range/test/item/range.e2e.js +30 -4
  487. package/dist/collection/components/range/test/label/range.e2e.js +72 -13
  488. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +4 -4
  489. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +2 -2
  490. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +3 -8
  491. package/dist/collection/components/range/test/legacy/range-events.e2e.js +1 -1
  492. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +1 -1
  493. package/dist/collection/components/range/test/range-events.e2e.js +17 -18
  494. package/dist/collection/components/range/test/scroll-target/range.e2e.js +1 -1
  495. package/dist/collection/components/range/test/states/range.e2e.js +5 -5
  496. package/dist/collection/components/refresher/refresher.js +11 -7
  497. package/dist/collection/components/refresher/refresher.utils.js +1 -1
  498. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +3 -4
  499. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +5 -6
  500. package/dist/collection/components/refresher/test/test.utils.js +4 -1
  501. package/dist/collection/components/refresher-content/refresher-content.js +13 -9
  502. package/dist/collection/components/reorder/reorder.js +3 -3
  503. package/dist/collection/components/reorder-group/reorder-group.js +6 -4
  504. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +1 -1
  505. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +3 -5
  506. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +3 -5
  507. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +3 -5
  508. package/dist/collection/components/ripple-effect/ripple-effect.js +4 -3
  509. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +1 -1
  510. package/dist/collection/components/route/route.js +4 -2
  511. package/dist/collection/components/router/router.js +26 -16
  512. package/dist/collection/components/router/test/basic/router.e2e.js +1 -1
  513. package/dist/collection/components/router/test/guards/href/router.e2e.js +2 -2
  514. package/dist/collection/components/router/test/guards/link/router.e2e.js +2 -2
  515. package/dist/collection/components/router/test/guards/push/router.e2e.js +2 -2
  516. package/dist/collection/components/router/test/guards/router.e2e.js +1 -1
  517. package/dist/collection/components/router/utils/debug.js +1 -1
  518. package/dist/collection/components/router/utils/dom.js +1 -1
  519. package/dist/collection/components/router/utils/parser.js +1 -1
  520. package/dist/collection/components/router/utils/path.js +1 -1
  521. package/dist/collection/components/router-link/router-link.js +8 -5
  522. package/dist/collection/components/router-outlet/{route-outlet.css → router-outlet.css} +0 -1
  523. package/dist/collection/components/router-outlet/{route-outlet.js → router-outlet.js} +42 -30
  524. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +1 -1
  525. package/dist/collection/components/row/row.js +2 -2
  526. package/dist/collection/components/searchbar/searchbar.js +20 -12
  527. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +1 -1
  528. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +1 -1
  529. package/dist/collection/components/segment/segment.js +47 -30
  530. package/dist/collection/components/segment/test/a11y/segment.e2e.js +2 -2
  531. package/dist/collection/components/segment/test/basic/segment.e2e.js +1 -1
  532. package/dist/collection/components/segment/test/custom/segment.e2e.js +1 -1
  533. package/dist/collection/components/segment/test/icon/segment.e2e.js +1 -1
  534. package/dist/collection/components/segment/test/modes/segment.e2e.js +1 -1
  535. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +41 -2
  536. package/dist/collection/components/segment/test/segment-events.e2e.js +1 -1
  537. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +1 -1
  538. package/dist/collection/components/segment/test/wrap/segment.e2e.js +1 -1
  539. package/dist/collection/components/segment-button/segment-button.js +8 -5
  540. package/dist/collection/components/select/select.js +50 -28
  541. package/dist/collection/components/select/test/a11y/select.e2e.js +2 -2
  542. package/dist/collection/components/select/test/async/select.e2e.js +1 -1
  543. package/dist/collection/components/select/test/basic/select.e2e.js +22 -1
  544. package/dist/collection/components/select/test/card/select.e2e.js +2 -2
  545. package/dist/collection/components/select/test/color/select.e2e.js +4 -4
  546. package/dist/collection/components/select/test/compare-with/select.e2e.js +1 -1
  547. package/dist/collection/components/select/test/custom/select.e2e.js +1 -1
  548. package/dist/collection/components/select/test/disabled/select.e2e.js +30 -0
  549. package/dist/collection/components/select/test/fill/select.e2e.js +11 -11
  550. package/dist/collection/components/select/test/highlight/select.e2e.js +4 -4
  551. package/dist/collection/components/select/test/item/select.e2e.js +3 -3
  552. package/dist/collection/components/select/test/label/select.e2e.js +21 -21
  553. package/dist/collection/components/select/test/legacy/async/select.e2e.js +1 -1
  554. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +1 -1
  555. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +1 -1
  556. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +1 -1
  557. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +1 -1
  558. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +1 -1
  559. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  560. package/dist/collection/components/select/test/popover-size/select.e2e.js +1 -1
  561. package/dist/collection/components/select/test/states/select.e2e.js +5 -5
  562. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +1 -1
  563. package/dist/collection/components/select/test/wrapping/select.e2e.js +1 -1
  564. package/dist/collection/components/select-option/select-option.js +2 -2
  565. package/dist/collection/components/select-popover/select-popover.js +4 -3
  566. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +2 -2
  567. package/dist/collection/components/select-popover/test/fixtures.js +1 -1
  568. package/dist/collection/components/skeleton-text/skeleton-text.js +3 -3
  569. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +1 -1
  570. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +1 -1
  571. package/dist/collection/components/spinner/spinner.js +8 -6
  572. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +1 -1
  573. package/dist/collection/components/spinner/test/color/spinner.e2e.js +1 -1
  574. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +1 -1
  575. package/dist/collection/components/split-pane/split-pane.js +2 -2
  576. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +1 -1
  577. package/dist/collection/components/tab/tab.js +7 -4
  578. package/dist/collection/components/tab-bar/tab-bar.js +27 -4
  579. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +1 -1
  580. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +31 -1
  581. package/dist/collection/components/tab-button/tab-button.js +7 -5
  582. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +2 -2
  583. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +1 -1
  584. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +1 -1
  585. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +1 -1
  586. package/dist/collection/components/tabs/tabs.js +19 -10
  587. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +1 -1
  588. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +1 -1
  589. package/dist/collection/components/text/test/basic/text.e2e.js +1 -1
  590. package/dist/collection/components/text/text.js +4 -3
  591. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +2 -2
  592. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +1 -1
  593. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +7 -7
  594. package/dist/collection/components/textarea/test/card/textarea.e2e.js +2 -2
  595. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +25 -0
  596. package/dist/collection/components/textarea/test/color/textarea.e2e.js +16 -16
  597. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +37 -0
  598. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +11 -11
  599. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +10 -10
  600. package/dist/collection/components/textarea/test/item/textarea.e2e.js +3 -3
  601. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +22 -22
  602. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +1 -1
  603. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +6 -6
  604. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +1 -1
  605. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +1 -1
  606. package/dist/collection/components/textarea/test/states/textarea.e2e.js +3 -3
  607. package/dist/collection/components/textarea/test/textarea-events.e2e.js +1 -1
  608. package/dist/collection/components/textarea/textarea.ios.css +16 -0
  609. package/dist/collection/components/textarea/textarea.js +23 -14
  610. package/dist/collection/components/textarea/textarea.md.css +16 -0
  611. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +1 -1
  612. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  613. package/dist/collection/components/title/test/basic/title.e2e.js +16 -1
  614. package/dist/collection/components/title/title.ios.css +1 -1
  615. package/dist/collection/components/title/title.js +6 -4
  616. package/dist/collection/components/toast/test/a11y/toast.e2e.js +14 -6
  617. package/dist/collection/components/toast/test/basic/toast.e2e.js +1 -1
  618. package/dist/collection/components/toast/test/is-open/toast.e2e.js +1 -1
  619. package/dist/collection/components/toast/test/layout/toast.e2e.js +1 -1
  620. package/dist/collection/components/toast/test/standalone/toast.e2e.js +1 -1
  621. package/dist/collection/components/toast/test/trigger/toast.e2e.js +1 -1
  622. package/dist/collection/components/toast/toast.js +64 -46
  623. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -2
  624. package/dist/collection/components/toggle/test/color/toggle.e2e.js +3 -3
  625. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +1 -1
  626. package/dist/collection/components/toggle/test/item/toggle.e2e.js +48 -5
  627. package/dist/collection/components/toggle/test/label/toggle.e2e.js +37 -10
  628. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +1 -1
  629. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +3 -3
  630. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +2 -2
  631. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +1 -1
  632. package/dist/collection/components/toggle/test/states/toggle.e2e.js +4 -4
  633. package/dist/collection/components/toggle/toggle.ios.css +67 -1
  634. package/dist/collection/components/toggle/toggle.js +37 -11
  635. package/dist/collection/components/toggle/toggle.md.css +67 -1
  636. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +1 -1
  637. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +1 -1
  638. package/dist/collection/components/toolbar/toolbar.ios.css +12 -4
  639. package/dist/collection/components/toolbar/toolbar.js +4 -3
  640. package/dist/collection/components/toolbar/toolbar.md.css +2 -4
  641. package/dist/collection/global/ionic-global.js +3 -3
  642. package/dist/collection/index.js +2 -1
  643. package/dist/collection/utils/animation/animation.js +63 -4
  644. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +3 -0
  645. package/dist/collection/utils/animation/test/display/animation.e2e.js +1 -1
  646. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +1 -1
  647. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +1 -1
  648. package/dist/collection/utils/content/content.utils.spec.js +1 -1
  649. package/dist/collection/utils/content/index.js +2 -2
  650. package/dist/collection/utils/floating-point/floating-point.spec.js +1 -1
  651. package/dist/collection/utils/forms/notch-controller.js +1 -1
  652. package/dist/collection/utils/framework-delegate.js +22 -3
  653. package/dist/collection/utils/gesture/button-active.js +3 -3
  654. package/dist/collection/utils/gesture/index.js +3 -3
  655. package/dist/collection/utils/gesture/pointer-events.js +1 -1
  656. package/dist/collection/utils/gesture/swipe-back.js +10 -6
  657. package/dist/collection/utils/helpers.spec.js +1 -1
  658. package/dist/collection/utils/input-shims/hacks/hide-caret.js +2 -2
  659. package/dist/collection/utils/input-shims/hacks/input-blurring.js +1 -1
  660. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +92 -10
  661. package/dist/collection/utils/input-shims/hacks/scroll-data.js +3 -4
  662. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +1 -1
  663. package/dist/collection/utils/input-shims/input-shims.js +6 -6
  664. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -1
  665. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  666. package/dist/collection/utils/lock-controller.js +36 -0
  667. package/dist/collection/utils/menu-controller/animations/base.js +1 -1
  668. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  669. package/dist/collection/utils/menu-controller/animations/push.js +3 -3
  670. package/dist/collection/utils/menu-controller/animations/reveal.js +3 -3
  671. package/dist/collection/utils/menu-controller/index.js +5 -5
  672. package/dist/collection/utils/native/haptic.js +1 -1
  673. package/dist/collection/utils/native/keyboard.js +2 -2
  674. package/dist/collection/utils/native/status-bar.js +1 -1
  675. package/dist/collection/utils/overlays.js +35 -15
  676. package/dist/collection/utils/platform.js +1 -1
  677. package/dist/collection/utils/rtl/dir.spec.js +1 -1
  678. package/dist/collection/utils/status-tap.js +3 -3
  679. package/dist/collection/utils/tap-click/index.js +1 -1
  680. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +1 -1
  681. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +1 -1
  682. package/dist/collection/utils/test/overlays/overlays.e2e.js +1 -1
  683. package/dist/collection/utils/test/playwright/drag-element.js +67 -8
  684. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  685. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +2 -2
  686. package/dist/collection/utils/test/playwright/page/utils/goto.js +3 -0
  687. package/dist/collection/utils/test/playwright/page/utils/index.js +0 -1
  688. package/dist/collection/utils/test/playwright/page/utils/locator.js +1 -1
  689. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -0
  690. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +1 -1
  691. package/dist/collection/utils/test/playwright/playwright-page.js +4 -5
  692. package/dist/collection/utils/test/playwright/viewports/index.js +4 -0
  693. package/dist/collection/utils/transition/index.js +3 -3
  694. package/dist/collection/utils/transition/ios.transition.js +2 -2
  695. package/dist/collection/utils/transition/md.transition.js +2 -2
  696. package/dist/docs.d.ts +361 -88
  697. package/dist/docs.json +7176 -117
  698. package/dist/esm/{animation-258fd22b.js → animation-92066c62.js} +62 -3
  699. package/dist/esm/{app-globals-70454efb.js → app-globals-ec816a70.js} +1 -1
  700. package/dist/esm/{button-active-aef107f0.js → button-active-5136c12d.js} +3 -3
  701. package/dist/esm/{capacitor-6d1861b7.js → capacitor-b4979570.js} +1 -1
  702. package/dist/esm/{data-605c040f.js → data-009dbf15.js} +48 -10
  703. package/dist/esm/{form-controller-6cd7ebd1.js → form-controller-ed77647a.js} +1 -1
  704. package/dist/esm/{framework-delegate-6a45ed30.js → framework-delegate-aa433dea.js} +22 -3
  705. package/dist/esm/{haptic-d85b8584.js → haptic-6447af60.js} +1 -1
  706. package/dist/esm/{index-afea2bcf.js → index-641aeeed.js} +4 -4
  707. package/dist/esm/{index-7373924f.js → index-746a238e.js} +2 -2
  708. package/dist/esm/{index-36a5fd75.js → index-b49b173c.js} +283 -96
  709. package/dist/esm/{index-6e89f340.js → index-d78b533e.js} +4 -4
  710. package/dist/esm/{index-2d0c7c77.js → index-f0cc4e14.js} +2 -2
  711. package/dist/esm/{index-422b6e83.js → index-ff313b19.js} +2 -2
  712. package/dist/esm/index.js +17 -17
  713. package/dist/esm/{input-shims-5b912f6d.js → input-shims-d78a3c77.js} +93 -13
  714. package/dist/esm/{input.utils-4c00ca72.js → input.utils-ec063df4.js} +3 -3
  715. package/dist/esm/ion-accordion_2.entry.js +5 -5
  716. package/dist/esm/ion-action-sheet.entry.js +24 -32
  717. package/dist/esm/ion-alert.entry.js +27 -35
  718. package/dist/esm/ion-app_8.entry.js +81 -41
  719. package/dist/esm/ion-avatar_3.entry.js +3 -3
  720. package/dist/esm/ion-back-button.entry.js +5 -5
  721. package/dist/esm/ion-backdrop.entry.js +3 -3
  722. package/dist/esm/ion-breadcrumb_2.entry.js +5 -5
  723. package/dist/esm/ion-button_2.entry.js +21 -5
  724. package/dist/esm/ion-card_5.entry.js +4 -4
  725. package/dist/esm/ion-checkbox.entry.js +20 -13
  726. package/dist/esm/ion-chip.entry.js +3 -3
  727. package/dist/esm/ion-col_3.entry.js +2 -2
  728. package/dist/esm/ion-datetime-button.entry.js +9 -6
  729. package/dist/esm/ion-datetime_3.entry.js +156 -125
  730. package/dist/esm/ion-fab_3.entry.js +7 -7
  731. package/dist/esm/ion-img.entry.js +3 -3
  732. package/dist/esm/ion-infinite-scroll_2.entry.js +6 -6
  733. package/dist/esm/ion-input.entry.js +11 -11
  734. package/dist/esm/ion-item-option_3.entry.js +8 -8
  735. package/dist/esm/ion-item_8.entry.js +43 -16
  736. package/dist/esm/ion-loading.entry.js +19 -27
  737. package/dist/esm/ion-menu_3.entry.js +83 -38
  738. package/dist/esm/ion-modal.entry.js +59 -58
  739. package/dist/esm/ion-nav_2.entry.js +8 -8
  740. package/dist/esm/ion-picker-column-internal.entry.js +7 -7
  741. package/dist/esm/ion-picker-internal.entry.js +2 -2
  742. package/dist/esm/ion-popover.entry.js +26 -40
  743. package/dist/esm/ion-progress-bar.entry.js +4 -4
  744. package/dist/esm/ion-radio_2.entry.js +16 -11
  745. package/dist/esm/ion-range.entry.js +42 -14
  746. package/dist/esm/ion-refresher_2.entry.js +16 -16
  747. package/dist/esm/ion-reorder_2.entry.js +10 -10
  748. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  749. package/dist/esm/ion-route_4.entry.js +4 -4
  750. package/dist/esm/ion-searchbar.entry.js +6 -6
  751. package/dist/esm/ion-segment_2.entry.js +40 -29
  752. package/dist/esm/ion-select_3.entry.js +45 -31
  753. package/dist/esm/ion-spinner.entry.js +4 -4
  754. package/dist/esm/ion-split-pane.entry.js +2 -2
  755. package/dist/esm/ion-tab-bar_2.entry.js +12 -8
  756. package/dist/esm/ion-tab_2.entry.js +3 -3
  757. package/dist/esm/ion-text.entry.js +3 -3
  758. package/dist/esm/ion-textarea.entry.js +12 -12
  759. package/dist/esm/ion-toast.entry.js +23 -28
  760. package/dist/esm/ion-toggle.entry.js +20 -15
  761. package/dist/esm/{ionic-global-a9abd569.js → ionic-global-246ca78f.js} +1 -1
  762. package/dist/esm/ionic.js +6 -9
  763. package/dist/esm/{ios.transition-6a838b0c.js → ios.transition-04c9a97a.js} +5 -5
  764. package/dist/esm/{keyboard-cdb83866.js → keyboard-b063f012.js} +1 -1
  765. package/dist/esm/{keyboard-a818f780.js → keyboard-b551279d.js} +3 -3
  766. package/dist/esm/{keyboard-controller-4149afc6.js → keyboard-controller-0c2dce71.js} +2 -2
  767. package/dist/esm/loader.js +6 -15
  768. package/dist/esm/lock-controller-e8c6c051.js +38 -0
  769. package/dist/esm/{md.transition-b7d7b475.js → md.transition-67a8aabd.js} +5 -5
  770. package/dist/esm/{notch-controller-cfcb8c01.js → notch-controller-8c9c0e54.js} +3 -3
  771. package/dist/esm/{overlays-4801a327.js → overlays-2fa52617.js} +35 -15
  772. package/dist/esm/{status-tap-211f1ad8.js → status-tap-9aeeaca5.js} +4 -4
  773. package/dist/esm/{swipe-back-1bb66ed2.js → swipe-back-cd4295f3.js} +11 -7
  774. package/dist/esm-es5/animation-92066c62.js +4 -0
  775. package/dist/esm-es5/app-globals-ec816a70.js +4 -0
  776. package/dist/esm-es5/{button-active-aef107f0.js → button-active-5136c12d.js} +1 -1
  777. package/dist/esm-es5/{capacitor-6d1861b7.js → capacitor-b4979570.js} +1 -1
  778. package/dist/esm-es5/data-009dbf15.js +4 -0
  779. package/dist/esm-es5/form-controller-ed77647a.js +4 -0
  780. package/dist/esm-es5/framework-delegate-aa433dea.js +4 -0
  781. package/dist/esm-es5/{haptic-d85b8584.js → haptic-6447af60.js} +1 -1
  782. package/dist/esm-es5/{index-afea2bcf.js → index-641aeeed.js} +1 -1
  783. package/dist/esm-es5/{index-7373924f.js → index-746a238e.js} +1 -1
  784. package/dist/esm-es5/index-b49b173c.js +5 -0
  785. package/dist/esm-es5/{index-6e89f340.js → index-d78b533e.js} +1 -1
  786. package/dist/esm-es5/{index-2d0c7c77.js → index-f0cc4e14.js} +1 -1
  787. package/dist/esm-es5/{index-422b6e83.js → index-ff313b19.js} +1 -1
  788. package/dist/esm-es5/index.js +1 -1
  789. package/dist/esm-es5/input-shims-d78a3c77.js +4 -0
  790. package/dist/esm-es5/{input.utils-4c00ca72.js → input.utils-ec063df4.js} +1 -1
  791. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  792. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  793. package/dist/esm-es5/ion-alert.entry.js +1 -1
  794. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  795. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  796. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  797. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  798. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  799. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  800. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  801. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  802. package/dist/esm-es5/ion-chip.entry.js +1 -1
  803. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  804. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  805. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  806. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  807. package/dist/esm-es5/ion-img.entry.js +1 -1
  808. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  809. package/dist/esm-es5/ion-input.entry.js +1 -1
  810. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  811. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  812. package/dist/esm-es5/ion-loading.entry.js +1 -1
  813. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  814. package/dist/esm-es5/ion-modal.entry.js +1 -1
  815. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  816. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  817. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  818. package/dist/esm-es5/ion-popover.entry.js +1 -1
  819. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  820. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  821. package/dist/esm-es5/ion-range.entry.js +1 -1
  822. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  823. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  824. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  825. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  826. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  827. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  828. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  829. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  830. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  831. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  832. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  833. package/dist/esm-es5/ion-text.entry.js +1 -1
  834. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  835. package/dist/esm-es5/ion-toast.entry.js +1 -1
  836. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  837. package/dist/esm-es5/{ionic-global-a9abd569.js → ionic-global-246ca78f.js} +1 -1
  838. package/dist/esm-es5/ionic.js +1 -1
  839. package/dist/esm-es5/{ios.transition-6a838b0c.js → ios.transition-04c9a97a.js} +1 -1
  840. package/dist/esm-es5/{keyboard-cdb83866.js → keyboard-b063f012.js} +1 -1
  841. package/dist/esm-es5/{keyboard-a818f780.js → keyboard-b551279d.js} +1 -1
  842. package/dist/esm-es5/{keyboard-controller-4149afc6.js → keyboard-controller-0c2dce71.js} +1 -1
  843. package/dist/esm-es5/loader.js +1 -1
  844. package/dist/esm-es5/lock-controller-e8c6c051.js +4 -0
  845. package/dist/esm-es5/md.transition-67a8aabd.js +4 -0
  846. package/dist/esm-es5/{notch-controller-cfcb8c01.js → notch-controller-8c9c0e54.js} +1 -1
  847. package/dist/esm-es5/overlays-2fa52617.js +4 -0
  848. package/dist/esm-es5/{status-tap-211f1ad8.js → status-tap-9aeeaca5.js} +1 -1
  849. package/dist/esm-es5/swipe-back-cd4295f3.js +4 -0
  850. package/dist/html.html-data.json +139 -91
  851. package/dist/ionic/index.esm.js +1 -1
  852. package/dist/ionic/ionic.esm.js +1 -1
  853. package/dist/ionic/ionic.js +2 -6
  854. package/dist/ionic/p-015187e5.system.js +4 -0
  855. package/dist/ionic/{p-40f778e6.js → p-02a4e81a.js} +1 -1
  856. package/dist/ionic/{p-e4146230.system.entry.js → p-03c381ec.system.entry.js} +1 -1
  857. package/dist/ionic/p-048f1ebe.entry.js +4 -0
  858. package/dist/ionic/{p-54d3d2b6.entry.js → p-04e7c8fd.entry.js} +1 -1
  859. package/dist/ionic/p-05ae600a.system.js +4 -0
  860. package/dist/ionic/p-06ac429a.js +5 -0
  861. package/dist/ionic/p-0c37546b.system.entry.js +4 -0
  862. package/dist/ionic/{p-9a7f5ed5.entry.js → p-108f9d49.entry.js} +1 -1
  863. package/dist/ionic/{p-f67dfe83.system.entry.js → p-117cd69f.system.entry.js} +1 -1
  864. package/dist/ionic/p-1289b3b5.system.entry.js +4 -0
  865. package/dist/ionic/p-13d6e57a.js +4 -0
  866. package/dist/ionic/{p-e3f387af.system.js → p-14d7b7e2.system.js} +1 -1
  867. package/dist/ionic/p-164b0e76.entry.js +4 -0
  868. package/dist/ionic/p-170e9de0.system.entry.js +4 -0
  869. package/dist/ionic/{p-609ac308.js → p-181b7c2a.js} +1 -1
  870. package/dist/ionic/p-19384b9e.entry.js +4 -0
  871. package/dist/ionic/p-1c82e9ff.js +4 -0
  872. package/dist/ionic/{p-f6f393ee.system.entry.js → p-1d0aa82f.system.entry.js} +1 -1
  873. package/dist/ionic/{p-ee5049fd.entry.js → p-1ecba429.entry.js} +1 -1
  874. package/dist/ionic/{p-5d6123f1.entry.js → p-1f81b5be.entry.js} +1 -1
  875. package/dist/ionic/{p-8a9d2a85.system.entry.js → p-238f0ac5.system.entry.js} +1 -1
  876. package/dist/ionic/{p-8a95273c.js → p-276afddd.js} +1 -1
  877. package/dist/ionic/{p-cd582fdb.system.entry.js → p-2784263e.system.entry.js} +1 -1
  878. package/dist/ionic/p-29073efe.system.entry.js +4 -0
  879. package/dist/ionic/p-29e3a9bb.entry.js +4 -0
  880. package/dist/ionic/{p-dcf7bf1d.entry.js → p-2a7c0093.entry.js} +1 -1
  881. package/dist/ionic/p-32083c2d.js +4 -0
  882. package/dist/ionic/{p-d267077c.system.entry.js → p-32717950.system.entry.js} +1 -1
  883. package/dist/ionic/p-32d364f0.entry.js +4 -0
  884. package/dist/ionic/{p-088a58a8.system.entry.js → p-33a8349a.system.entry.js} +1 -1
  885. package/dist/ionic/p-35818410.entry.js +4 -0
  886. package/dist/ionic/{p-f3116c14.system.js → p-3632220b.system.js} +1 -1
  887. package/dist/ionic/p-37448ac1.entry.js +4 -0
  888. package/dist/ionic/{p-9dcf76ff.system.entry.js → p-38ccfd71.system.entry.js} +1 -1
  889. package/dist/ionic/{p-9edd7119.system.entry.js → p-3a58e3a4.system.entry.js} +1 -1
  890. package/dist/ionic/p-3bad5c1a.js +4 -0
  891. package/dist/ionic/{p-f7515628.entry.js → p-3c2c6fce.entry.js} +1 -1
  892. package/dist/ionic/{p-aa7b8135.system.js → p-3d726a67.system.js} +1 -1
  893. package/dist/ionic/{p-e8b9a6b2.system.entry.js → p-3f3da911.system.entry.js} +1 -1
  894. package/dist/ionic/{p-59a47aff.system.js → p-41477ad9.system.js} +1 -1
  895. package/dist/ionic/{p-d7fd994b.js → p-419eb426.js} +1 -1
  896. package/dist/ionic/p-446230d7.js +4 -0
  897. package/dist/ionic/p-44ef7224.system.js +4 -0
  898. package/dist/ionic/{p-355aae8e.system.entry.js → p-45f5c8ba.system.entry.js} +1 -1
  899. package/dist/ionic/p-47db15c6.entry.js +4 -0
  900. package/dist/ionic/p-4811e4af.system.entry.js +4 -0
  901. package/dist/ionic/p-4b8db805.entry.js +4 -0
  902. package/dist/ionic/p-4bb26b01.system.entry.js +4 -0
  903. package/dist/ionic/{p-43060640.system.entry.js → p-4d6ac0fe.system.entry.js} +1 -1
  904. package/dist/ionic/p-4dd96c8d.entry.js +4 -0
  905. package/dist/ionic/{p-138fcf0f.entry.js → p-4e6e43c1.entry.js} +1 -1
  906. package/dist/ionic/{p-fa98c2a6.system.js → p-51269f3b.system.js} +1 -1
  907. package/dist/ionic/p-53b2a46f.js +4 -0
  908. package/dist/ionic/{p-465e0121.system.entry.js → p-54f6cd27.system.entry.js} +1 -1
  909. package/dist/ionic/{p-a7016aef.entry.js → p-55d3a9b2.entry.js} +1 -1
  910. package/dist/ionic/p-576e6d0f.system.entry.js +4 -0
  911. package/dist/ionic/{p-ab692eeb.entry.js → p-5b32b053.entry.js} +1 -1
  912. package/dist/ionic/p-5b976d70.entry.js +4 -0
  913. package/dist/ionic/p-5bc5008c.entry.js +4 -0
  914. package/dist/ionic/p-5c3e72a8.system.js +4 -0
  915. package/dist/ionic/p-5c651aab.system.entry.js +4 -0
  916. package/dist/ionic/p-5cd791b3.system.entry.js +4 -0
  917. package/dist/ionic/{p-0b761768.system.js → p-5ece7025.system.js} +1 -1
  918. package/dist/ionic/p-5efb899f.entry.js +4 -0
  919. package/dist/ionic/{p-9cfa25d2.system.entry.js → p-6129af0a.system.entry.js} +1 -1
  920. package/dist/ionic/{p-084b2140.system.js → p-613d4042.system.js} +1 -1
  921. package/dist/ionic/p-629aa3fd.system.js +5 -0
  922. package/dist/ionic/p-63505fbb.js +4 -0
  923. package/dist/ionic/{p-4c9a0825.system.js → p-64475ab5.system.js} +2 -2
  924. package/dist/ionic/{p-fc431180.entry.js → p-64e20cd9.entry.js} +1 -1
  925. package/dist/ionic/p-65a5761f.js +4 -0
  926. package/dist/ionic/p-6ac3e877.system.entry.js +4 -0
  927. package/dist/ionic/p-6ba7fad7.system.js +4 -0
  928. package/dist/ionic/{p-477f7813.entry.js → p-6ea2e653.entry.js} +1 -1
  929. package/dist/ionic/{p-94d4b708.system.entry.js → p-6f8a95a3.system.entry.js} +1 -1
  930. package/dist/ionic/p-6fb80ef3.system.entry.js +4 -0
  931. package/dist/ionic/p-706a0391.entry.js +4 -0
  932. package/dist/ionic/{p-c05662ba.system.entry.js → p-72aea40e.system.entry.js} +1 -1
  933. package/dist/ionic/p-73ed9a91.js +4 -0
  934. package/dist/ionic/{p-c1f5d275.js → p-76378400.js} +1 -1
  935. package/dist/ionic/p-772f6c84.system.js +4 -0
  936. package/dist/ionic/p-7cfd253c.js +4 -0
  937. package/dist/ionic/{p-a780a377.entry.js → p-818b2e75.entry.js} +1 -1
  938. package/dist/ionic/p-81c818e7.js +4 -0
  939. package/dist/ionic/p-8297652e.entry.js +4 -0
  940. package/dist/ionic/{p-322237d0.entry.js → p-839276d4.entry.js} +1 -1
  941. package/dist/ionic/{p-b46c09ac.system.entry.js → p-8a2801f1.system.entry.js} +1 -1
  942. package/dist/ionic/{p-46956a85.js → p-8b1be026.js} +1 -1
  943. package/dist/ionic/{p-0c92638a.js → p-8cf94fc1.js} +1 -1
  944. package/dist/ionic/p-8e24ebbc.js +4 -0
  945. package/dist/ionic/p-8ee012cb.system.entry.js +4 -0
  946. package/dist/ionic/{p-ec8a20f7.system.entry.js → p-908720f3.system.entry.js} +1 -1
  947. package/dist/ionic/p-914ac0fc.entry.js +4 -0
  948. package/dist/ionic/{p-f9f3ef7c.system.js → p-939e0fa1.system.js} +1 -1
  949. package/dist/ionic/p-95b14c73.system.entry.js +4 -0
  950. package/dist/ionic/{p-0dd11651.entry.js → p-96ba8eac.entry.js} +1 -1
  951. package/dist/ionic/{p-7c63a67f.system.entry.js → p-99dfa53f.system.entry.js} +1 -1
  952. package/dist/ionic/{p-86e57430.system.js → p-9ab6f3e6.system.js} +1 -1
  953. package/dist/ionic/{p-7cc4d08a.system.entry.js → p-9b4a77fc.system.entry.js} +1 -1
  954. package/dist/ionic/p-9f2e0db9.js +4 -0
  955. package/dist/ionic/p-a04bfada.entry.js +4 -0
  956. package/dist/ionic/p-a18ec02b.entry.js +4 -0
  957. package/dist/ionic/{p-2d55f2bd.system.js → p-ab4cff27.system.js} +1 -1
  958. package/dist/ionic/p-b109a3d7.system.entry.js +4 -0
  959. package/dist/ionic/p-b132c2c0.system.js +4 -0
  960. package/dist/ionic/p-b24aa895.js +4 -0
  961. package/dist/ionic/p-b287ab05.js +4 -0
  962. package/dist/ionic/{p-163145e8.system.entry.js → p-b3690814.system.entry.js} +1 -1
  963. package/dist/ionic/{p-c75da7cf.system.js → p-b3c68723.system.js} +1 -1
  964. package/dist/ionic/p-b61a2fa0.system.entry.js +4 -0
  965. package/dist/ionic/p-b912e055.system.js +4 -0
  966. package/dist/ionic/{p-28342e96.js → p-bb6f38ed.js} +1 -1
  967. package/dist/ionic/{p-c3325038.system.js → p-bba2ce59.system.js} +1 -1
  968. package/dist/ionic/{p-46cac66d.system.entry.js → p-beb864e4.system.entry.js} +1 -1
  969. package/dist/ionic/{p-40ed5852.system.js → p-c3efbcf5.system.js} +1 -1
  970. package/dist/ionic/p-c48fc95d.system.entry.js +4 -0
  971. package/dist/ionic/{p-505d3b57.system.js → p-c49672d8.system.js} +1 -1
  972. package/dist/ionic/{p-ed70dec7.entry.js → p-c4a5de01.entry.js} +1 -1
  973. package/dist/ionic/p-c7428627.system.entry.js +4 -0
  974. package/dist/ionic/p-ca5cf574.js +4 -0
  975. package/dist/ionic/p-cc196b34.js +4 -0
  976. package/dist/ionic/{p-0fba861a.system.js → p-ccdcb022.system.js} +1 -1
  977. package/dist/ionic/{p-fc2c5521.system.entry.js → p-cf0c93e3.system.entry.js} +1 -1
  978. package/dist/ionic/p-d0ad0430.system.entry.js +4 -0
  979. package/dist/ionic/{p-9912d985.js → p-d1de1188.js} +1 -1
  980. package/dist/ionic/p-d35217be.entry.js +4 -0
  981. package/dist/ionic/p-d55c9f92.system.entry.js +4 -0
  982. package/dist/ionic/{p-6f59ad61.entry.js → p-d7b8d224.entry.js} +1 -1
  983. package/dist/ionic/{p-66bd7d60.entry.js → p-d89d0de0.entry.js} +1 -1
  984. package/dist/ionic/{p-c056132d.entry.js → p-db1a1e00.entry.js} +1 -1
  985. package/dist/ionic/p-deb6ddad.entry.js +4 -0
  986. package/dist/ionic/{p-49ead5cb.system.js → p-df5fe0be.system.js} +1 -1
  987. package/dist/ionic/{p-13cb1942.system.entry.js → p-e0f52215.system.entry.js} +1 -1
  988. package/dist/ionic/p-e1ac688a.entry.js +4 -0
  989. package/dist/ionic/{p-54ada505.entry.js → p-e2fd0895.entry.js} +1 -1
  990. package/dist/ionic/{p-dd54d07b.system.entry.js → p-eab10949.system.entry.js} +1 -1
  991. package/dist/ionic/p-eac263dd.entry.js +4 -0
  992. package/dist/ionic/{p-30ae30f8.entry.js → p-ec9052a4.entry.js} +1 -1
  993. package/dist/ionic/p-f588e951.entry.js +4 -0
  994. package/dist/ionic/p-f623aa6d.entry.js +4 -0
  995. package/dist/ionic/p-f960fd84.system.entry.js +4 -0
  996. package/dist/ionic/{p-c3da26fd.system.js → p-fa8d4788.system.js} +1 -1
  997. package/dist/ionic/{p-d7e0a42b.system.js → p-fbcb157b.system.js} +2 -2
  998. package/dist/ionic/{p-a2e57f27.entry.js → p-fccfe602.entry.js} +1 -1
  999. package/dist/ionic/{p-1699be8e.entry.js → p-fcf47f80.entry.js} +1 -1
  1000. package/dist/ionic/p-ff555f6f.system.entry.js +4 -0
  1001. package/dist/ionic/{p-3ca87455.system.js → p-ff5a10f9.system.js} +1 -1
  1002. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -0
  1003. package/dist/types/components/action-sheet/action-sheet.d.ts +1 -1
  1004. package/dist/types/components/alert/alert-interface.d.ts +3 -0
  1005. package/dist/types/components/alert/alert.d.ts +1 -1
  1006. package/dist/types/components/button/button.d.ts +9 -0
  1007. package/dist/types/components/checkbox/checkbox.d.ts +9 -1
  1008. package/dist/types/components/content/content.d.ts +2 -1
  1009. package/dist/types/components/datetime/datetime.d.ts +23 -10
  1010. package/dist/types/components/datetime/utils/data.d.ts +1 -1
  1011. package/dist/types/components/datetime/utils/parse.d.ts +5 -5
  1012. package/dist/types/components/item/item.d.ts +2 -0
  1013. package/dist/types/components/item-sliding/test/test.utils.d.ts +5 -0
  1014. package/dist/types/components/loading/loading.d.ts +1 -1
  1015. package/dist/types/components/menu/menu.d.ts +10 -1
  1016. package/dist/types/components/modal/modal.d.ts +1 -1
  1017. package/dist/types/components/picker/picker-interface.d.ts +3 -0
  1018. package/dist/types/components/picker/picker.d.ts +1 -1
  1019. package/dist/types/components/popover/popover.d.ts +1 -1
  1020. package/dist/types/components/radio/radio.d.ts +8 -1
  1021. package/dist/types/components/range/range.d.ts +10 -1
  1022. package/dist/types/components/router-outlet/{route-outlet.d.ts → router-outlet.d.ts} +1 -2
  1023. package/dist/types/components/segment/segment.d.ts +1 -0
  1024. package/dist/types/components/tab-bar/tab-bar.d.ts +8 -0
  1025. package/dist/types/components/toast/toast-interface.d.ts +6 -0
  1026. package/dist/types/components/toast/toast.d.ts +2 -1
  1027. package/dist/types/components/toggle/toggle.d.ts +8 -1
  1028. package/dist/types/components.d.ts +42 -16
  1029. package/dist/types/index.d.ts +1 -0
  1030. package/dist/types/interface.d.ts +1 -0
  1031. package/dist/types/stencil-public-runtime.d.ts +17 -5
  1032. package/dist/types/utils/browser/index.d.ts +16 -1
  1033. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
  1034. package/dist/types/utils/lock-controller.d.ts +10 -0
  1035. package/dist/types/utils/overlays.d.ts +5 -2
  1036. package/dist/types/utils/test/playwright/drag-element.d.ts +8 -1
  1037. package/dist/types/utils/test/playwright/page/utils/index.d.ts +0 -1
  1038. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +0 -5
  1039. package/dist/types/utils/test/playwright/viewports/index.d.ts +4 -0
  1040. package/hydrate/index.d.ts +6 -6
  1041. package/hydrate/index.js +931 -552
  1042. package/hydrate/package.json +1 -1
  1043. package/loader/index.d.ts +1 -1
  1044. package/package.json +8 -6
  1045. package/dist/collection/utils/test/playwright/page/utils/get-snapshot-settings.js +0 -32
  1046. package/dist/esm/polyfills/css-shim.js +0 -1
  1047. package/dist/esm-es5/animation-258fd22b.js +0 -4
  1048. package/dist/esm-es5/app-globals-70454efb.js +0 -4
  1049. package/dist/esm-es5/data-605c040f.js +0 -4
  1050. package/dist/esm-es5/form-controller-6cd7ebd1.js +0 -4
  1051. package/dist/esm-es5/framework-delegate-6a45ed30.js +0 -4
  1052. package/dist/esm-es5/index-36a5fd75.js +0 -5
  1053. package/dist/esm-es5/input-shims-5b912f6d.js +0 -4
  1054. package/dist/esm-es5/md.transition-b7d7b475.js +0 -4
  1055. package/dist/esm-es5/overlays-4801a327.js +0 -4
  1056. package/dist/esm-es5/swipe-back-1bb66ed2.js +0 -4
  1057. package/dist/ionic/p-004db8b3.entry.js +0 -4
  1058. package/dist/ionic/p-026e6f00.system.entry.js +0 -4
  1059. package/dist/ionic/p-05111967.entry.js +0 -4
  1060. package/dist/ionic/p-0e51ceb7.system.entry.js +0 -4
  1061. package/dist/ionic/p-164b025e.system.js +0 -4
  1062. package/dist/ionic/p-1ce8e1ca.system.entry.js +0 -4
  1063. package/dist/ionic/p-1f05aa2b.system.entry.js +0 -4
  1064. package/dist/ionic/p-21e3627d.entry.js +0 -4
  1065. package/dist/ionic/p-2e5dc115.entry.js +0 -4
  1066. package/dist/ionic/p-335e3cfe.js +0 -4
  1067. package/dist/ionic/p-34f66fef.entry.js +0 -4
  1068. package/dist/ionic/p-37184fe8.js +0 -4
  1069. package/dist/ionic/p-39a30df1.entry.js +0 -4
  1070. package/dist/ionic/p-3bf5cd2e.system.entry.js +0 -4
  1071. package/dist/ionic/p-3f9dbcfc.system.entry.js +0 -4
  1072. package/dist/ionic/p-4108c24e.entry.js +0 -4
  1073. package/dist/ionic/p-451cbc39.js +0 -4
  1074. package/dist/ionic/p-4ab679fd.system.js +0 -4
  1075. package/dist/ionic/p-4f7973ad.entry.js +0 -4
  1076. package/dist/ionic/p-52540082.js +0 -4
  1077. package/dist/ionic/p-565d288e.system.js +0 -4
  1078. package/dist/ionic/p-5a3ee051.system.js +0 -4
  1079. package/dist/ionic/p-5db06d92.system.entry.js +0 -4
  1080. package/dist/ionic/p-5dc1aee9.entry.js +0 -4
  1081. package/dist/ionic/p-5de3c520.js +0 -4
  1082. package/dist/ionic/p-627e74b4.js +0 -4
  1083. package/dist/ionic/p-69a66969.js +0 -4
  1084. package/dist/ionic/p-6a0edd6d.system.js +0 -5
  1085. package/dist/ionic/p-6eeeee8b.system.entry.js +0 -4
  1086. package/dist/ionic/p-72969d37.entry.js +0 -4
  1087. package/dist/ionic/p-74a23266.system.entry.js +0 -4
  1088. package/dist/ionic/p-8711de04.entry.js +0 -4
  1089. package/dist/ionic/p-871802fe.entry.js +0 -4
  1090. package/dist/ionic/p-897e142d.entry.js +0 -4
  1091. package/dist/ionic/p-8da248f0.system.entry.js +0 -4
  1092. package/dist/ionic/p-90bfa7eb.system.entry.js +0 -4
  1093. package/dist/ionic/p-9131f2ce.system.entry.js +0 -4
  1094. package/dist/ionic/p-921d49a0.entry.js +0 -4
  1095. package/dist/ionic/p-94bb8e22.entry.js +0 -4
  1096. package/dist/ionic/p-954ce757.system.entry.js +0 -4
  1097. package/dist/ionic/p-99eac672.system.js +0 -4
  1098. package/dist/ionic/p-9c935c1f.system.entry.js +0 -4
  1099. package/dist/ionic/p-9ee9d00e.js +0 -4
  1100. package/dist/ionic/p-a18e77cb.system.entry.js +0 -4
  1101. package/dist/ionic/p-a4ef5b36.js +0 -4
  1102. package/dist/ionic/p-a5808f22.entry.js +0 -4
  1103. package/dist/ionic/p-acd4af3a.entry.js +0 -4
  1104. package/dist/ionic/p-b04873a4.system.js +0 -4
  1105. package/dist/ionic/p-b096113b.js +0 -4
  1106. package/dist/ionic/p-b159246b.entry.js +0 -4
  1107. package/dist/ionic/p-b6098fdf.entry.js +0 -4
  1108. package/dist/ionic/p-b6519389.system.entry.js +0 -4
  1109. package/dist/ionic/p-b94d3454.entry.js +0 -4
  1110. package/dist/ionic/p-c60bc054.system.entry.js +0 -4
  1111. package/dist/ionic/p-c7d59299.js +0 -4
  1112. package/dist/ionic/p-c9b94b63.system.entry.js +0 -4
  1113. package/dist/ionic/p-cd83e6cc.system.entry.js +0 -4
  1114. package/dist/ionic/p-d0dedc45.entry.js +0 -4
  1115. package/dist/ionic/p-d34c3e77.js +0 -4
  1116. package/dist/ionic/p-d834e36b.entry.js +0 -4
  1117. package/dist/ionic/p-d9bc4210.js +0 -5
  1118. package/dist/ionic/p-e171bd9c.system.js +0 -4
  1119. package/dist/ionic/p-e614b5ba.system.entry.js +0 -4
  1120. package/dist/ionic/p-ee9863ad.js +0 -4
  1121. package/dist/ionic/p-f16ea33b.entry.js +0 -4
  1122. package/dist/ionic/p-f321535c.js +0 -4
  1123. package/dist/ionic/p-f3c381f2.entry.js +0 -4
  1124. package/dist/ionic/p-f484f0e1.system.entry.js +0 -4
  1125. package/dist/ionic/p-f810e0d3.js +0 -4
  1126. package/dist/ionic/p-ffe2c670.js +0 -4
  1127. package/dist/types/utils/test/playwright/page/utils/get-snapshot-settings.d.ts +0 -8
  1128. /package/dist/cjs/{config-172736e4.js → config-d5882735.js} +0 -0
  1129. /package/dist/cjs/{cubic-bezier-0e51923d.js → cubic-bezier-6b9222ad.js} +0 -0
  1130. /package/dist/cjs/{dir-186d3a4d.js → dir-f1e0ca26.js} +0 -0
  1131. /package/dist/cjs/{focus-visible-6163be3a.js → focus-visible-a7545600.js} +0 -0
  1132. /package/dist/cjs/{gesture-controller-e2865472.js → gesture-controller-b46721be.js} +0 -0
  1133. /package/dist/cjs/{hardware-back-button-bae6e13a.js → hardware-back-button-b67c8e75.js} +0 -0
  1134. /package/dist/cjs/{helpers-77560954.js → helpers-ea4ccbcb.js} +0 -0
  1135. /package/dist/cjs/{index-f0d7c9cc.js → index-306a7476.js} +0 -0
  1136. /package/dist/cjs/{index-79605113.js → index-cc7dfb7c.js} +0 -0
  1137. /package/dist/cjs/{index-b0e73ba0.js → index-d8d1fc0b.js} +0 -0
  1138. /package/dist/cjs/{spinner-configs-7d30ff6f.js → spinner-configs-f7b5105b.js} +0 -0
  1139. /package/dist/cjs/{theme-e6fec71e.js → theme-fbc56b3b.js} +0 -0
  1140. /package/dist/cjs/{watch-options-4d182698.js → watch-options-f3f77e54.js} +0 -0
  1141. /package/dist/esm/{config-80c044f2.js → config-96c9ace3.js} +0 -0
  1142. /package/dist/esm/{cubic-bezier-e78d1307.js → cubic-bezier-66542bc5.js} +0 -0
  1143. /package/dist/esm/{dir-e8b767a8.js → dir-912e3e13.js} +0 -0
  1144. /package/dist/esm/{focus-visible-10ad4867.js → focus-visible-85493433.js} +0 -0
  1145. /package/dist/esm/{gesture-controller-17060b7c.js → gesture-controller-0fa396c4.js} +0 -0
  1146. /package/dist/esm/{hardware-back-button-490df115.js → hardware-back-button-39299f84.js} +0 -0
  1147. /package/dist/esm/{helpers-f586db1c.js → helpers-3379ba19.js} +0 -0
  1148. /package/dist/esm/{index-e86f0117.js → index-595d62c9.js} +0 -0
  1149. /package/dist/esm/{index-b32cad98.js → index-7a14ecec.js} +0 -0
  1150. /package/dist/esm/{index-393bc14a.js → index-ecfc2c9f.js} +0 -0
  1151. /package/dist/esm/{spinner-configs-40ada8cd.js → spinner-configs-d09fbbbb.js} +0 -0
  1152. /package/dist/esm/{theme-7670341c.js → theme-17531cdf.js} +0 -0
  1153. /package/dist/esm/{watch-options-4d421847.js → watch-options-355a920a.js} +0 -0
  1154. /package/dist/esm-es5/{config-80c044f2.js → config-96c9ace3.js} +0 -0
  1155. /package/dist/esm-es5/{cubic-bezier-e78d1307.js → cubic-bezier-66542bc5.js} +0 -0
  1156. /package/dist/esm-es5/{dir-e8b767a8.js → dir-912e3e13.js} +0 -0
  1157. /package/dist/esm-es5/{focus-visible-10ad4867.js → focus-visible-85493433.js} +0 -0
  1158. /package/dist/esm-es5/{gesture-controller-17060b7c.js → gesture-controller-0fa396c4.js} +0 -0
  1159. /package/dist/esm-es5/{hardware-back-button-490df115.js → hardware-back-button-39299f84.js} +0 -0
  1160. /package/dist/esm-es5/{helpers-f586db1c.js → helpers-3379ba19.js} +0 -0
  1161. /package/dist/esm-es5/{index-e86f0117.js → index-595d62c9.js} +0 -0
  1162. /package/dist/esm-es5/{index-b32cad98.js → index-7a14ecec.js} +0 -0
  1163. /package/dist/esm-es5/{index-393bc14a.js → index-ecfc2c9f.js} +0 -0
  1164. /package/dist/esm-es5/{spinner-configs-40ada8cd.js → spinner-configs-d09fbbbb.js} +0 -0
  1165. /package/dist/esm-es5/{theme-7670341c.js → theme-17531cdf.js} +0 -0
  1166. /package/dist/esm-es5/{watch-options-4d421847.js → watch-options-355a920a.js} +0 -0
  1167. /package/dist/ionic/{p-35d01c78.js → p-0a87858b.js} +0 -0
  1168. /package/dist/ionic/{p-3b753651.system.js → p-0e94957a.system.js} +0 -0
  1169. /package/dist/ionic/{p-6561b0e5.js → p-185e427e.js} +0 -0
  1170. /package/dist/ionic/{p-e1bc9a81.js → p-1b8e1d03.js} +0 -0
  1171. /package/dist/ionic/{p-fe01417c.js → p-1d072d3d.js} +0 -0
  1172. /package/dist/ionic/{p-5503807a.system.js → p-2b89ea1b.system.js} +0 -0
  1173. /package/dist/ionic/{p-1ef14636.system.js → p-44bc8b45.system.js} +0 -0
  1174. /package/dist/ionic/{p-97891b6b.system.js → p-479cdbf8.system.js} +0 -0
  1175. /package/dist/ionic/{p-09292468.system.js → p-56dc022e.system.js} +0 -0
  1176. /package/dist/ionic/{p-c099b4c9.js → p-5bf16a18.js} +0 -0
  1177. /package/dist/ionic/{p-38bc7b29.js → p-63eb0acd.js} +0 -0
  1178. /package/dist/ionic/{p-bb5b0f18.js → p-6dbfe5d4.js} +0 -0
  1179. /package/dist/ionic/{p-d2405689.js → p-76fce40e.js} +0 -0
  1180. /package/dist/ionic/{p-7ec7dc35.js → p-7b021525.js} +0 -0
  1181. /package/dist/ionic/{p-bb38e011.js → p-7c2bac85.js} +0 -0
  1182. /package/dist/ionic/{p-86d4b2bf.system.js → p-815c2fba.system.js} +0 -0
  1183. /package/dist/ionic/{p-c2257c28.system.js → p-819ff3b9.system.js} +0 -0
  1184. /package/dist/ionic/{p-56929710.system.js → p-87411e39.system.js} +0 -0
  1185. /package/dist/ionic/{p-dc3c3a0a.system.js → p-8985b268.system.js} +0 -0
  1186. /package/dist/ionic/{p-04f1268e.system.js → p-8c15eda7.system.js} +0 -0
  1187. /package/dist/ionic/{p-72dbfdd4.system.js → p-9e852ff1.system.js} +0 -0
  1188. /package/dist/ionic/{p-3c349187.js → p-b347cfd1.js} +0 -0
  1189. /package/dist/ionic/{p-896b72c9.js → p-c18d6eac.js} +0 -0
  1190. /package/dist/ionic/{p-eb54056c.system.js → p-c4f2dce7.system.js} +0 -0
  1191. /package/dist/ionic/{p-4a212c9c.system.js → p-c87827ca.system.js} +0 -0
  1192. /package/dist/ionic/{p-e1c318e0.js → p-e0b06b65.js} +0 -0
@@ -4,11 +4,12 @@
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate.js';
6
6
  import { r as raf, g as getElementRoot, a as addEventListener, l as hasLazyBuild } from './helpers.js';
7
+ import { c as createLockController } from './lock-controller.js';
7
8
  import { p as printIonWarning } from './index6.js';
8
9
  import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod } from './overlays.js';
9
10
  import { b as getIonMode, a as isPlatform } from './ionic-global.js';
10
11
  import { g as getClassMap } from './theme.js';
11
- import { e as deepReady, w as waitForMount } from './index3.js';
12
+ import { e as deepReady, w as waitForMount } from './index2.js';
12
13
  import { c as createAnimation } from './animation.js';
13
14
  import { d as defineCustomElement$1 } from './backdrop.js';
14
15
 
@@ -984,6 +985,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
984
985
  this.ionMount = createEvent(this, "ionMount", 7);
985
986
  this.parentPopover = null;
986
987
  this.coreDelegate = CoreDelegate();
988
+ this.lockController = createLockController();
987
989
  this.inline = false;
988
990
  this.focusDescendantOnPresent = false;
989
991
  this.onBackdropTap = () => {
@@ -1157,28 +1159,24 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1157
1159
  * was dispatched.
1158
1160
  */
1159
1161
  async present(event) {
1162
+ const unlock = await this.lockController.lock();
1160
1163
  if (this.presented) {
1164
+ unlock();
1161
1165
  return;
1162
1166
  }
1163
- /**
1164
- * When using an inline popover
1165
- * and dismissing a popover it is possible to
1166
- * quickly present the popover while it is
1167
- * dismissing. We need to await any current
1168
- * transition to allow the dismiss to finish
1169
- * before presenting again.
1170
- */
1171
- if (this.currentTransition !== undefined) {
1172
- await this.currentTransition;
1173
- }
1174
1167
  const { el } = this;
1175
1168
  const { inline, delegate } = this.getDelegate(true);
1169
+ /**
1170
+ * Emit ionMount so JS Frameworks have an opportunity
1171
+ * to add the child component to the DOM. The child
1172
+ * component will be assigned to this.usersElement below.
1173
+ */
1174
+ this.ionMount.emit();
1176
1175
  this.usersElement = await attachComponent(delegate, el, this.component, ['popover-viewport'], this.componentProps, inline);
1177
1176
  if (!this.keyboardEvents) {
1178
1177
  this.configureKeyboardInteraction();
1179
1178
  }
1180
1179
  this.configureDismissInteraction();
1181
- this.ionMount.emit();
1182
1180
  /**
1183
1181
  * When using the lazy loaded build of Stencil, we need to wait
1184
1182
  * for every Stencil component instance to be ready before presenting
@@ -1201,7 +1199,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1201
1199
  else if (!this.keepContentsMounted) {
1202
1200
  await waitForMount();
1203
1201
  }
1204
- this.currentTransition = present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, {
1202
+ await present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, {
1205
1203
  event: event || this.event,
1206
1204
  size: this.size,
1207
1205
  trigger: this.triggerEl,
@@ -1209,8 +1207,6 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1209
1207
  side: this.side,
1210
1208
  align: this.alignment,
1211
1209
  });
1212
- await this.currentTransition;
1213
- this.currentTransition = undefined;
1214
1210
  /**
1215
1211
  * If popover is nested and was
1216
1212
  * presented using the "Right" arrow key,
@@ -1220,6 +1216,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1220
1216
  if (this.focusDescendantOnPresent) {
1221
1217
  focusFirstDescendant(this.el, this.el);
1222
1218
  }
1219
+ unlock();
1223
1220
  }
1224
1221
  /**
1225
1222
  * Dismiss the popover overlay after it has been presented.
@@ -1230,23 +1227,12 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1230
1227
  * a parent popover if this popover is nested. Defaults to `true`.
1231
1228
  */
1232
1229
  async dismiss(data, role, dismissParentPopover = true) {
1233
- /**
1234
- * When using an inline popover
1235
- * and presenting a popover it is possible to
1236
- * quickly dismiss the popover while it is
1237
- * presenting. We need to await any current
1238
- * transition to allow the present to finish
1239
- * before dismissing again.
1240
- */
1241
- if (this.currentTransition !== undefined) {
1242
- await this.currentTransition;
1243
- }
1230
+ const unlock = await this.lockController.lock();
1244
1231
  const { destroyKeyboardInteraction, destroyDismissInteraction } = this;
1245
1232
  if (dismissParentPopover && this.parentPopover) {
1246
1233
  this.parentPopover.dismiss(data, role, dismissParentPopover);
1247
1234
  }
1248
- this.currentTransition = dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);
1249
- const shouldDismiss = await this.currentTransition;
1235
+ const shouldDismiss = await dismiss(this, data, role, 'popoverLeave', iosLeaveAnimation, mdLeaveAnimation, this.event);
1250
1236
  if (shouldDismiss) {
1251
1237
  if (destroyKeyboardInteraction) {
1252
1238
  destroyKeyboardInteraction();
@@ -1264,7 +1250,7 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1264
1250
  const { delegate } = this.getDelegate();
1265
1251
  await detachComponent(delegate, this.usersElement);
1266
1252
  }
1267
- this.currentTransition = undefined;
1253
+ unlock();
1268
1254
  return shouldDismiss;
1269
1255
  }
1270
1256
  /**
@@ -1338,6 +1324,10 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1338
1324
  "getParentPopover": [64],
1339
1325
  "onDidDismiss": [64],
1340
1326
  "onWillDismiss": [64]
1327
+ }, undefined, {
1328
+ "trigger": ["onTriggerChange"],
1329
+ "triggerAction": ["onTriggerChange"],
1330
+ "isOpen": ["onIsOpenChange"]
1341
1331
  }]);
1342
1332
  const LIFECYCLE_MAP = {
1343
1333
  ionPopoverDidPresent: 'ionViewDidEnter',
@@ -38,7 +38,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
38
38
  * using the `name` attribute.
39
39
  */
40
40
  const selectedRadio = ev.target && ev.target.closest('ion-radio');
41
- if (selectedRadio) {
41
+ if (selectedRadio && selectedRadio.disabled === false) {
42
42
  const currentValue = this.value;
43
43
  const newValue = selectedRadio.value;
44
44
  if (newValue !== currentValue) {
@@ -150,7 +150,9 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
150
150
  "allowEmptySelection": [4, "allow-empty-selection"],
151
151
  "name": [1],
152
152
  "value": [1032]
153
- }, [[4, "keydown", "onKeydown"]]]);
153
+ }, [[4, "keydown", "onKeydown"]], {
154
+ "value": ["valueChanged"]
155
+ }]);
154
156
  let radioGroupIds = 0;
155
157
  function defineCustomElement() {
156
158
  if (typeof customElements === "undefined") {
@@ -8,9 +8,9 @@ import { p as printIonWarning } from './index6.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme.js';
9
9
  import { b as getIonMode } from './ionic-global.js';
10
10
 
11
- const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;min-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(:not(.legacy-radio)){cursor:pointer}: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}:host(.legacy-radio) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-radio) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-radio) label{left:0}:host-context([dir=rtl]):host(.legacy-radio) label,:host-context([dir=rtl]).legacy-radio label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-radio) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-radio) label::-moz-focus-inner{border:0}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:not(.legacy-radio)){width:100%;height:100%}:host([slot=start]:not(.legacy-radio)),:host([slot=end]:not(.legacy-radio)){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;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-radio)) .label-text-wrapper{margin-top:10px;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-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{--color-checked:var(--ion-color-primary, #3880ff)}:host(.legacy-radio){width:15px;height:24px}: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:2px;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, #4c8dff);content:\"\";opacity:0.2}@supports (inset-inline-start: 0){:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}}@supports not (inset-inline-start: 0){:host(.ion-focused) .radio-icon::after{left:-9px}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}@supports selector(:dir(rtl)){:host(.ion-focused) .radio-icon::after:dir(rtl){left:unset;right:unset;right:-9px}}}:host(.in-item.legacy-radio){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:11px;margin-inline-end:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}:host(.in-item.legacy-radio[slot=start]){-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px;margin-top:8px;margin-bottom:8px}.native-wrapper .radio-icon{width:15px;height:24px}";
11
+ const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;min-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(:not(.legacy-radio)){cursor:pointer}: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}:host(.legacy-radio) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-radio) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-radio) label{left:0}:host-context([dir=rtl]):host(.legacy-radio) label,:host-context([dir=rtl]).legacy-radio label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-radio) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-radio) label::-moz-focus-inner{border:0}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:not(.legacy-radio)){width:100%;height:100%}:host([slot=start]:not(.legacy-radio)),:host([slot=end]:not(.legacy-radio)){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;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-radio)) .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-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) .label-text-wrapper:dir(rtl){-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) .label-text-wrapper:dir(rtl){-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host{--color-checked:var(--ion-color-primary, #3880ff)}:host(.legacy-radio){width:15px;height:24px}: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:2px;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, #4c8dff);content:\"\";opacity:0.2}@supports (inset-inline-start: 0){:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}}@supports not (inset-inline-start: 0){:host(.ion-focused) .radio-icon::after{left:-9px}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-9px}@supports selector(:dir(rtl)){:host(.ion-focused) .radio-icon::after:dir(rtl){left:unset;right:unset;right:-9px}}}:host(.in-item.legacy-radio){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:11px;margin-inline-end:11px;margin-top:8px;margin-bottom:8px;display:block;position:static}:host(.in-item.legacy-radio[slot=start]){-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:21px;margin-inline-end:21px;margin-top:8px;margin-bottom:8px}.native-wrapper .radio-icon{width:15px;height:24px}";
12
12
 
13
- const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;min-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(:not(.legacy-radio)){cursor:pointer}: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}:host(.legacy-radio) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-radio) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-radio) label{left:0}:host-context([dir=rtl]):host(.legacy-radio) label,:host-context([dir=rtl]).legacy-radio label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-radio) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-radio) label::-moz-focus-inner{border:0}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:not(.legacy-radio)){width:100%;height:100%}:host([slot=start]:not(.legacy-radio)),:host([slot=end]:not(.legacy-radio)){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;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-radio)) .label-text-wrapper{margin-top:10px;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-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{--color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%}:host(.legacy-radio){width:20px;height:20px}: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(.legacy-radio.radio-disabled),:host(.radio-disabled) .label-text-wrapper{opacity:0.38}:host(.radio-disabled) .native-wrapper{opacity:0.63}:host(.ion-focused.legacy-radio) .radio-icon::after{top:-12px}@supports (inset-inline-start: 0){:host(.ion-focused.legacy-radio) .radio-icon::after{inset-inline-start:-12px}}@supports not (inset-inline-start: 0){:host(.ion-focused.legacy-radio) .radio-icon::after{left:-12px}:host-context([dir=rtl]):host(.ion-focused.legacy-radio) .radio-icon::after,:host-context([dir=rtl]).ion-focused.legacy-radio .radio-icon::after{left:unset;right:unset;right:-12px}@supports selector(:dir(rtl)){:host(.ion-focused.legacy-radio) .radio-icon::after:dir(rtl){left:unset;right:unset;right:-12px}}}: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, #4c8dff);content:\"\";opacity:0.2}:host(.in-item.legacy-radio){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item.legacy-radio[slot=start]){-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px;margin-top:11px;margin-bottom:10px}.native-wrapper .radio-icon{width:20px;height:20px}";
13
+ const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;min-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(:not(.legacy-radio)){cursor:pointer}: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}:host(.legacy-radio) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-radio) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-radio) label{left:0}:host-context([dir=rtl]):host(.legacy-radio) label,:host-context([dir=rtl]).legacy-radio label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-radio) label:dir(rtl){left:unset;right:unset;right:0}}}:host(.legacy-radio) label::-moz-focus-inner{border:0}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:not(.legacy-radio)){width:100%;height:100%}:host([slot=start]:not(.legacy-radio)),:host([slot=end]:not(.legacy-radio)){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;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-radio)) .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-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) .label-text-wrapper:dir(rtl){-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) .label-text-wrapper:dir(rtl){-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, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%}:host(.legacy-radio){width:20px;height:20px}: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(.legacy-radio.radio-disabled),:host(.radio-disabled) .label-text-wrapper{opacity:0.38}:host(.radio-disabled) .native-wrapper{opacity:0.63}:host(.ion-focused.legacy-radio) .radio-icon::after{top:-12px}@supports (inset-inline-start: 0){:host(.ion-focused.legacy-radio) .radio-icon::after{inset-inline-start:-12px}}@supports not (inset-inline-start: 0){:host(.ion-focused.legacy-radio) .radio-icon::after{left:-12px}:host-context([dir=rtl]):host(.ion-focused.legacy-radio) .radio-icon::after,:host-context([dir=rtl]).ion-focused.legacy-radio .radio-icon::after{left:unset;right:unset;right:-12px}@supports selector(:dir(rtl)){:host(.ion-focused.legacy-radio) .radio-icon::after:dir(rtl){left:unset;right:unset;right:-12px}}}: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, #4c8dff);content:\"\";opacity:0.2}:host(.in-item.legacy-radio){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item.legacy-radio[slot=start]){-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px;margin-top:11px;margin-bottom:10px}.native-wrapper .radio-icon{width:20px;height:20px}";
14
14
 
15
15
  const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
16
16
  constructor() {
@@ -30,7 +30,10 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
30
30
  }
31
31
  };
32
32
  this.onClick = () => {
33
- const { radioGroup, checked } = this;
33
+ const { radioGroup, checked, disabled } = this;
34
+ if (disabled) {
35
+ return;
36
+ }
34
37
  /**
35
38
  * The legacy control uses a native input inside
36
39
  * of the radio host, so we can set this.checked
@@ -73,6 +76,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
73
76
  this.labelPlacement = 'start';
74
77
  this.legacy = undefined;
75
78
  this.justify = 'space-between';
79
+ this.alignment = 'center';
76
80
  }
77
81
  valueChanged() {
78
82
  /**
@@ -137,7 +141,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
137
141
  return legacyFormController.hasLegacyControl() ? this.renderLegacyRadio() : this.renderRadio();
138
142
  }
139
143
  renderRadio() {
140
- const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex } = this;
144
+ const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
141
145
  const mode = getIonMode(this);
142
146
  const inItem = hostContext('ion-item', el);
143
147
  return (h(Host, { onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
@@ -146,6 +150,7 @@ const Radio = /*@__PURE__*/ proxyCustomElement(class Radio extends HTMLElement {
146
150
  'radio-checked': checked,
147
151
  'radio-disabled': disabled,
148
152
  [`radio-justify-${justify}`]: true,
153
+ [`radio-alignment-${alignment}`]: true,
149
154
  [`radio-label-placement-${labelPlacement}`]: true,
150
155
  // Focus and active styling should not apply when the radio is in an item
151
156
  'ion-activatable': !inItem,
@@ -201,10 +206,16 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
201
206
  "labelPlacement": [1, "label-placement"],
202
207
  "legacy": [4],
203
208
  "justify": [1],
209
+ "alignment": [1],
204
210
  "checked": [32],
205
211
  "buttonTabindex": [32],
206
212
  "setFocus": [64],
207
213
  "setButtonTabindex": [64]
214
+ }, undefined, {
215
+ "value": ["valueChanged"],
216
+ "checked": ["styleChanged"],
217
+ "color": ["styleChanged"],
218
+ "disabled": ["styleChanged"]
208
219
  }]);
209
220
  let radioButtonIds = 0;
210
221
  function defineCustomElement() {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { m as clamp } from './helpers.js';
5
5
  import { i as isRTL } from './dir.js';
6
- import { createGesture } from './index2.js';
6
+ import { createGesture } from './index3.js';
7
7
 
8
8
  const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
9
9
  const win = el.ownerDocument.defaultView;
@@ -14,7 +14,7 @@ const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandl
14
14
  * to go back gesture should proceed.
15
15
  */
16
16
  const isAtEdge = (detail) => {
17
- const threshold = 50;
17
+ const threshold = localStorage.getItem('FULL_SWIPE_BACK') ? win.innerWidth : 60;
18
18
  const { startX } = detail;
19
19
  if (rtl) {
20
20
  return startX >= win.innerWidth - threshold;
@@ -55,14 +55,18 @@ const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandl
55
55
  let realDur = 0;
56
56
  if (missingDistance > 5) {
57
57
  const dur = missingDistance / Math.abs(velocity);
58
- realDur = Math.min(dur, 540);
58
+ realDur = Math.min(dur, 200);
59
59
  }
60
60
  onEndHandler(shouldComplete, stepValue <= 0 ? 0.01 : clamp(0, stepValue, 0.9999), realDur);
61
61
  };
62
62
  return createGesture({
63
63
  el,
64
64
  gestureName: 'goback-swipe',
65
- gesturePriority: 40,
65
+ /**
66
+ * Swipe to go back should have priority over other horizontal swipe
67
+ * gestures. These gestures have a priority of 100 which is why 101 was chosen here.
68
+ */
69
+ gesturePriority: 101,
66
70
  threshold: 10,
67
71
  canStart,
68
72
  onStart: onStartHandler,
package/css/core.css CHANGED
@@ -197,7 +197,6 @@ html.ios ion-modal.modal-card .ion-page {
197
197
  flex-direction: column;
198
198
  justify-content: space-between;
199
199
  contain: layout size style;
200
- overflow: hidden;
201
200
  z-index: 0;
202
201
  }
203
202
 
package/css/core.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/core.scss","../src/themes/ionic.mixins.scss","../src/themes/ionic.globals.scss","../src/components/menu/menu.ios.vars.scss","../src/components/menu/menu.md.vars.scss"],"names":[],"mappings":"AAOA;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;EAGE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;IACE;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EACE;;;AAyBA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAaF;EC0NM,MDzNuB;EC0NvB,OD1NiB;ECmQrB,KDnQkB;ECoQlB,QDpQwB;EAExB;EACA;EAEA;EACA;EAEA;EACA;EACA,SEzG+B;;;AF4GjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;EACE;EAEA;EAEA;;;AAGF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;IACE;;;AAKJ;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;;AAQJ;AAAA;EAEE;;;AAOF;ECuUM;;;ADnUN;EACE;EACA;EAIA;;;AAGF;EACE,YGhQ+B;;;AHmQjC;EACE,YGjQ+B;;;AHwQjC;EACE,YI/Q8B;;;AJkRhC;EACE,YInR8B;;;AJuRhC;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;AACE;IACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAMF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA","file":"core.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../components/menu/menu.ios.vars\";\n@import \"../components/menu/menu.md.vars\";\n\n// Ionic Font Family\n// --------------------------------------------------\n\nhtml.ios {\n --ion-default-font: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif;\n}\nhtml.md {\n --ion-default-font: \"Roboto\", \"Helvetica Neue\", sans-serif;\n}\n\nhtml {\n --ion-font-family: var(--ion-default-font);\n}\n\nbody {\n background: var(--ion-background-color);\n}\n\nbody.backdrop-no-scroll {\n overflow: hidden;\n}\n\n// Modal - Card Style\n// --------------------------------------------------\n/**\n * Card style modal needs additional padding on the\n * top of the header. We accomplish this by targeting\n * the first toolbar in the header.\n * Footer also needs this. We do not adjust the bottom\n * padding though because of the safe area.\n */\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal ion-footer ion-toolbar:first-of-type {\n padding-top: 6px;\n}\n\n/**\n* Card style modal needs additional padding on the\n* bottom of the header. We accomplish this by targeting\n* the last toolbar in the header.\n*/\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {\n padding-bottom: 6px;\n}\n\n/**\n* Add padding on the left and right\n* of toolbars while accounting for\n* safe area values when in landscape.\n*/\nhtml.ios ion-modal ion-toolbar {\n padding-right: calc(var(--ion-safe-area-right) + 8px);\n padding-left: calc(var(--ion-safe-area-left) + 8px);\n}\n\n/**\n * Card style modal on iPadOS\n * should only have backdrop on first instance.\n */\n@media screen and (min-width: 768px) {\n html.ios ion-modal.modal-card:first-of-type {\n --backdrop-opacity: 0.18;\n }\n}\n\n/**\n * Subsequent modals should not have a backdrop/box shadow\n * as it will cause the screen to appear to get progressively\n * darker. With Ionic 6, declarative modals made it\n * possible to have multiple non-presented modals in the DOM,\n * so we could no longer rely on ion-modal:first-of-type.\n * Here we disable the opacity/box-shadow for every modal\n * that comes after the first presented modal.\n *\n * Note: ion-modal:not(.overlay-hidden):first-of-type\n * does not match the first modal to not have\n * the .overlay-hidden class, it will match the\n * first modal in general only if it does not\n * have the .overlay-hidden class.\n * The :nth-child() pseudo-class has support\n * for selectors which would help us here. At the\n * time of writing it does not have great cross browser\n * support.\n *\n * Note 2: This should only apply to non-card and\n * non-sheet modals. Card and sheet modals have their\n * own criteria for displaying backdrops/box shadows.\n *\n * Do not use :not(.overlay-hidden) in place of\n * .show-modal because that triggers a memory\n * leak in Blink: https://bugs.chromium.org/p/chromium/issues/detail?id=1418768\n */\nion-modal.modal-default.show-modal ~ ion-modal.modal-default {\n --backdrop-opacity: 0;\n --box-shadow: none;\n}\n\n/**\n * This works around a bug in WebKit where the\n * content will overflow outside of the bottom border\n * radius when re-painting. As long as a single\n * border radius value is set on .ion-page, this\n * issue does not happen. We set the top left radius\n * here because the top left corner will always have a\n * radius no matter the platform.\n * This behavior only applies to card modals.\n */\nhtml.ios ion-modal.modal-card .ion-page {\n border-top-left-radius: var(--border-radius);\n}\n\n// Ionic Colors\n// --------------------------------------------------\n// Generates the color classes and variables based on the\n// colors map\n\n@mixin generate-color($color-name) {\n $value: map-get($colors, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --ion-color-base: var(--ion-color-#{$color-name}, #{$base}) !important;\n --ion-color-base-rgb: var(--ion-color-#{$color-name}-rgb, #{color-to-rgb-list($base)}) !important;\n --ion-color-contrast: var(--ion-color-#{$color-name}-contrast, #{$contrast}) !important;\n --ion-color-contrast-rgb: var(--ion-color-#{$color-name}-contrast-rgb, #{color-to-rgb-list($contrast)}) !important;\n --ion-color-shade: var(--ion-color-#{$color-name}-shade, #{$shade}) !important;\n --ion-color-tint: var(--ion-color-#{$color-name}-tint, #{$tint}) !important;\n}\n\n@each $color-name, $value in $colors {\n .ion-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n\n// Page Container Structure\n// --------------------------------------------------\n\n.ion-page {\n @include position(0, 0, 0, 0);\n\n display: flex;\n position: absolute;\n\n flex-direction: column;\n justify-content: space-between;\n\n contain: layout size style;\n overflow: hidden;\n z-index: $z-index-page-container;\n}\n\n/**\n * When making custom dialogs, using\n * ion-content is not required. As a result,\n * some developers may wish to have dialogs\n * that are automatically sized by the browser.\n * These changes allow certain dimension values\n * such as fit-content to work correctly.\n */\nion-modal > .ion-page {\n position: relative;\n\n contain: layout style;\n\n height: 100%;\n}\n\n.split-pane-visible > .ion-page.split-pane-main {\n position: relative;\n}\n\nion-route,\nion-route-redirect,\nion-router,\nion-select-option,\nion-nav-controller,\nion-menu-controller,\nion-action-sheet-controller,\nion-alert-controller,\nion-loading-controller,\nion-modal-controller,\nion-picker-controller,\nion-popover-controller,\nion-toast-controller,\n.ion-page-hidden {\n /* stylelint-disable-next-line declaration-no-important */\n display: none !important;\n}\n\n.ion-page-invisible {\n opacity: 0;\n}\n\n.can-go-back > ion-header ion-back-button {\n display: block;\n}\n\n\n// Ionic Safe Margins\n// --------------------------------------------------\n\nhtml.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {\n --ion-statusbar-padding: 20px;\n}\n\n@supports (padding-top: 20px) {\n html {\n --ion-safe-area-top: var(--ion-statusbar-padding);\n }\n}\n\n// TODO: remove once Safari 11.2 is no longer supported\n@supports (padding-top: constant(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: constant(safe-area-inset-top);\n --ion-safe-area-bottom: constant(safe-area-inset-bottom);\n --ion-safe-area-left: constant(safe-area-inset-left);\n --ion-safe-area-right: constant(safe-area-inset-right);\n }\n}\n\n@supports (padding-top: env(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: env(safe-area-inset-top);\n --ion-safe-area-bottom: env(safe-area-inset-bottom);\n --ion-safe-area-left: env(safe-area-inset-left);\n --ion-safe-area-right: env(safe-area-inset-right);\n }\n}\n\n\n// Global Card Styles\n// --------------------------------------------------\n\nion-card.ion-color .ion-inherit-color,\nion-card-header.ion-color .ion-inherit-color {\n color: inherit;\n}\n\n\n// Menu Styles\n// --------------------------------------------------\n\n.menu-content {\n @include transform(translate3d(0, 0, 0));\n}\n\n.menu-content-open {\n cursor: pointer;\n touch-action: manipulation;\n\n // the containing element itself should be clickable but\n // everything inside of it should not clickable when menu is open\n pointer-events: none;\n}\n\n.ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal;\n}\n\n[dir=rtl].ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal-rtl;\n}\n\n.ios .menu-content-push {\n box-shadow: $menu-ios-box-shadow-push;\n}\n\n.md .menu-content-reveal {\n box-shadow: $menu-md-box-shadow;\n}\n\n.md .menu-content-push {\n box-shadow: $menu-md-box-shadow;\n}\n\n// Accordion Styles\nion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\nion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\nion-accordion-group > ion-accordion:last-of-type ion-item[slot=\"header\"] {\n --border-width: 0px;\n}\n\nion-accordion.accordion-animated > [slot=\"header\"] .ion-accordion-toggle-icon {\n transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n ion-accordion .ion-accordion-toggle-icon {\n /* stylelint-disable declaration-no-important */\n transition: none !important;\n }\n}\n/**\n * The > [slot=\"header\"] selector ensures that we do\n * not modify toggle icons for any nested accordions. The state\n * of one accordion should not affect any accordions inside\n * of a nested accordion group.\n */\nion-accordion.accordion-expanding > [slot=\"header\"] .ion-accordion-toggle-icon,\nion-accordion.accordion-expanded > [slot=\"header\"] .ion-accordion-toggle-icon {\n transform: rotate(180deg);\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=\"header\"] {\n --border-width: 0px;\n --inner-border-width: 0px;\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type,\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {\n margin-top: 0;\n}\n\n// Safari/iOS 15 changes the appearance of input[type=\"date\"].\n// For backwards compatibility from Ionic 5/Safari 14 designs,\n// we override the appearance only when using within an ion-input.\nion-input input::-webkit-date-and-time-value {\n text-align: start;\n}\n\n/**\n * The .ion-datetime-button-overlay class contains\n * styles that allow any modal/popover to be\n * sized according to the dimensions of the datetime\n * when used with ion-datetime-button.\n */\n.ion-datetime-button-overlay {\n --width: fit-content;\n --height: fit-content;\n}\n\n/**\n * The grid variant can scale down when inline.\n * When used in a `fit-content` overlay, this causes\n * the overlay to shrink when the month/year picker is open.\n * Explicitly setting the dimensions lets us have a consistently\n * sized grid interface.\n */\n.ion-datetime-button-overlay ion-datetime.datetime-grid {\n width: 320px;\n min-height: 320px;\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 @each $selector in $rootSplit {\n $dirSelector: \"#{$selector}:dir(rtl)\";\n // Group the selectors back into a single selector to optimize the output.\n $dirSelectors: append($dirSelectors, $dirSelector, comma);\n }\n\n // Supported by Firefox.\n @if length($dirSelectors) > 0 {\n @at-root #{$dirSelectors} {\n @content;\n }\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 @supports (inset-inline-start: 0) {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n\n // TODO FW-3766\n @at-root {\n @supports not (inset-inline-start: 0) {\n & {\n @include ltr() {\n left: $start;\n right: $end;\n }\n @include rtl() {\n left: unset;\n right: unset;\n\n left: $end;\n right: $start;\n }\n }\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 @include multi-dir() {\n border-radius: $top-start;\n }\n } @else {\n @include ltr() {\n border-top-left-radius: $top-start;\n border-top-right-radius: $top-end;\n border-bottom-right-radius: $bottom-end;\n border-bottom-left-radius: $bottom-start;\n }\n\n @include rtl() {\n border-top-left-radius: $top-end;\n border-top-right-radius: $top-start;\n border-bottom-right-radius: $bottom-start;\n border-bottom-left-radius: $bottom-end;\n }\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","\n// Global Utility Functions\n@import \"./ionic.functions.string\";\n\n// Global Color Functions\n@import \"./ionic.functions.color\";\n\n// Global Mixins\n@import \"./ionic.mixins\";\n\n// Default Theme\n@import \"./ionic.theme.default\";\n\n\n// Default General\n// --------------------------------------------------\n$font-family-base: var(--ion-font-family, inherit) !default;\n\n// Global app direction\n$app-direction: null !default;\n\n// Hairlines width\n$hairlines-width: .55px !default;\n\n// The minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries\n$screen-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n// Input placeholder opacity\n// Ensures that the placeholder has the\n// correct color contrast against the background.\n$placeholder-opacity: 0.6 !default;\n\n$form-control-label-margin: 16px !default;\n\n\n// Z-Index\n// --------------------------------------------------\n// Grouped by elements which would be siblings\n\n$z-index-menu-overlay: 1000;\n$z-index-overlay: 1001;\n$z-index-click-block: 99999;\n\n$z-index-fixed-content: 999;\n$z-index-scroll-content: 1;\n$z-index-refresher: -1;\n\n$z-index-page-container: 0;\n$z-index-toolbar: 10;\n$z-index-toolbar-background: -1;\n$z-index-toolbar-buttons: 99;\n\n$z-index-backdrop: 2;\n$z-index-overlay-wrapper: 10;\n\n$z-index-item-options: 1;\n$z-index-item-input: 2;\n$z-index-item-divider: 100;\n\n$z-index-reorder-selected: 100;\n","@import \"../../themes/ionic.globals.ios\";\n\n// iOS Menu\n// --------------------------------------------------\n\n/// @prop - Background of the menu\n$menu-ios-background: $background-color !default;\n\n/// @prop - Box shadow color of the menu\n$menu-ios-box-shadow-color: rgba(0, 0, 0, .08) !default;\n\n/// @prop - Box shadow of the menu\n$menu-ios-box-shadow: -8px 0 42px $menu-ios-box-shadow-color !default;\n\n/// @prop - Box shadow of the menu in rtl mode\n$menu-ios-box-shadow-rtl: 8px 0 42px $menu-ios-box-shadow-color !default;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal: $menu-ios-box-shadow !default;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal-rtl: $menu-ios-box-shadow-rtl !default;\n\n/// @prop - Box shadow of the push menu\n$menu-ios-box-shadow-push: null !default;\n\n/// @prop - Box shadow of the overlay menu\n$menu-ios-box-shadow-overlay: null !default;\n","@import \"../../themes/ionic.globals.md\";\n\n// Material Design Menu\n// --------------------------------------------------\n\n/// @prop - Background of the menu\n$menu-md-background: $background-color !default;\n\n/// @prop - Box shadow of the menu\n$menu-md-box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18) !default;\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/core.scss","../src/themes/ionic.mixins.scss","../src/themes/ionic.globals.scss","../src/components/menu/menu.ios.vars.scss","../src/components/menu/menu.md.vars.scss"],"names":[],"mappings":"AAOA;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;EAGE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;IACE;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EACE;;;AAyBA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAIA;EATA;EACA;EACA;EACA;EACA;EACA;;;AAaF;EC0NM,MDzNuB;EC0NvB,OD1NiB;ECmQrB,KDnQkB;ECoQlB,QDpQwB;EAExB;EACA;EAEA;EACA;EAEA;EACA,SEnG+B;;;AFsGjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;EACE;EAEA;EAEA;;;AAGF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;IACE;;;AAKJ;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;IACE;IACA;IACA;IACA;;;AAQJ;AAAA;EAEE;;;AAOF;ECwUM;;;ADpUN;EACE;EACA;EAIA;;;AAGF;EACE,YG/P+B;;;AHkQjC;EACE,YGhQ+B;;;AHuQjC;EACE,YI9Q8B;;;AJiRhC;EACE,YIlR8B;;;AJsRhC;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACE;;;AAGF;EACE;AACE;IACA;;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAMF;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA","file":"core.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../components/menu/menu.ios.vars\";\n@import \"../components/menu/menu.md.vars\";\n\n// Ionic Font Family\n// --------------------------------------------------\n\nhtml.ios {\n --ion-default-font: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif;\n}\nhtml.md {\n --ion-default-font: \"Roboto\", \"Helvetica Neue\", sans-serif;\n}\n\nhtml {\n --ion-font-family: var(--ion-default-font);\n}\n\nbody {\n background: var(--ion-background-color);\n}\n\nbody.backdrop-no-scroll {\n overflow: hidden;\n}\n\n// Modal - Card Style\n// --------------------------------------------------\n/**\n * Card style modal needs additional padding on the\n * top of the header. We accomplish this by targeting\n * the first toolbar in the header.\n * Footer also needs this. We do not adjust the bottom\n * padding though because of the safe area.\n */\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal ion-footer ion-toolbar:first-of-type {\n padding-top: 6px;\n}\n\n/**\n* Card style modal needs additional padding on the\n* bottom of the header. We accomplish this by targeting\n* the last toolbar in the header.\n*/\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {\n padding-bottom: 6px;\n}\n\n/**\n* Add padding on the left and right\n* of toolbars while accounting for\n* safe area values when in landscape.\n*/\nhtml.ios ion-modal ion-toolbar {\n padding-right: calc(var(--ion-safe-area-right) + 8px);\n padding-left: calc(var(--ion-safe-area-left) + 8px);\n}\n\n/**\n * Card style modal on iPadOS\n * should only have backdrop on first instance.\n */\n@media screen and (min-width: 768px) {\n html.ios ion-modal.modal-card:first-of-type {\n --backdrop-opacity: 0.18;\n }\n}\n\n/**\n * Subsequent modals should not have a backdrop/box shadow\n * as it will cause the screen to appear to get progressively\n * darker. With Ionic 6, declarative modals made it\n * possible to have multiple non-presented modals in the DOM,\n * so we could no longer rely on ion-modal:first-of-type.\n * Here we disable the opacity/box-shadow for every modal\n * that comes after the first presented modal.\n *\n * Note: ion-modal:not(.overlay-hidden):first-of-type\n * does not match the first modal to not have\n * the .overlay-hidden class, it will match the\n * first modal in general only if it does not\n * have the .overlay-hidden class.\n * The :nth-child() pseudo-class has support\n * for selectors which would help us here. At the\n * time of writing it does not have great cross browser\n * support.\n *\n * Note 2: This should only apply to non-card and\n * non-sheet modals. Card and sheet modals have their\n * own criteria for displaying backdrops/box shadows.\n *\n * Do not use :not(.overlay-hidden) in place of\n * .show-modal because that triggers a memory\n * leak in Blink: https://bugs.chromium.org/p/chromium/issues/detail?id=1418768\n */\nion-modal.modal-default.show-modal ~ ion-modal.modal-default {\n --backdrop-opacity: 0;\n --box-shadow: none;\n}\n\n/**\n * This works around a bug in WebKit where the\n * content will overflow outside of the bottom border\n * radius when re-painting. As long as a single\n * border radius value is set on .ion-page, this\n * issue does not happen. We set the top left radius\n * here because the top left corner will always have a\n * radius no matter the platform.\n * This behavior only applies to card modals.\n */\nhtml.ios ion-modal.modal-card .ion-page {\n border-top-left-radius: var(--border-radius);\n}\n\n// Ionic Colors\n// --------------------------------------------------\n// Generates the color classes and variables based on the\n// colors map\n\n@mixin generate-color($color-name) {\n $value: map-get($colors, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --ion-color-base: var(--ion-color-#{$color-name}, #{$base}) !important;\n --ion-color-base-rgb: var(--ion-color-#{$color-name}-rgb, #{color-to-rgb-list($base)}) !important;\n --ion-color-contrast: var(--ion-color-#{$color-name}-contrast, #{$contrast}) !important;\n --ion-color-contrast-rgb: var(--ion-color-#{$color-name}-contrast-rgb, #{color-to-rgb-list($contrast)}) !important;\n --ion-color-shade: var(--ion-color-#{$color-name}-shade, #{$shade}) !important;\n --ion-color-tint: var(--ion-color-#{$color-name}-tint, #{$tint}) !important;\n}\n\n@each $color-name, $value in $colors {\n .ion-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n\n// Page Container Structure\n// --------------------------------------------------\n\n.ion-page {\n @include position(0, 0, 0, 0);\n\n display: flex;\n position: absolute;\n\n flex-direction: column;\n justify-content: space-between;\n\n contain: layout size style;\n z-index: $z-index-page-container;\n}\n\n/**\n * When making custom dialogs, using\n * ion-content is not required. As a result,\n * some developers may wish to have dialogs\n * that are automatically sized by the browser.\n * These changes allow certain dimension values\n * such as fit-content to work correctly.\n */\nion-modal > .ion-page {\n position: relative;\n\n contain: layout style;\n\n height: 100%;\n}\n\n.split-pane-visible > .ion-page.split-pane-main {\n position: relative;\n}\n\nion-route,\nion-route-redirect,\nion-router,\nion-select-option,\nion-nav-controller,\nion-menu-controller,\nion-action-sheet-controller,\nion-alert-controller,\nion-loading-controller,\nion-modal-controller,\nion-picker-controller,\nion-popover-controller,\nion-toast-controller,\n.ion-page-hidden {\n /* stylelint-disable-next-line declaration-no-important */\n display: none !important;\n}\n\n.ion-page-invisible {\n opacity: 0;\n}\n\n.can-go-back > ion-header ion-back-button {\n display: block;\n}\n\n\n// Ionic Safe Margins\n// --------------------------------------------------\n\nhtml.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {\n --ion-statusbar-padding: 20px;\n}\n\n@supports (padding-top: 20px) {\n html {\n --ion-safe-area-top: var(--ion-statusbar-padding);\n }\n}\n\n// TODO: remove once Safari 11.2 is no longer supported\n@supports (padding-top: constant(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: constant(safe-area-inset-top);\n --ion-safe-area-bottom: constant(safe-area-inset-bottom);\n --ion-safe-area-left: constant(safe-area-inset-left);\n --ion-safe-area-right: constant(safe-area-inset-right);\n }\n}\n\n@supports (padding-top: env(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: env(safe-area-inset-top);\n --ion-safe-area-bottom: env(safe-area-inset-bottom);\n --ion-safe-area-left: env(safe-area-inset-left);\n --ion-safe-area-right: env(safe-area-inset-right);\n }\n}\n\n\n// Global Card Styles\n// --------------------------------------------------\n\nion-card.ion-color .ion-inherit-color,\nion-card-header.ion-color .ion-inherit-color {\n color: inherit;\n}\n\n\n// Menu Styles\n// --------------------------------------------------\n\n.menu-content {\n @include transform(translate3d(0, 0, 0));\n}\n\n.menu-content-open {\n cursor: pointer;\n touch-action: manipulation;\n\n // the containing element itself should be clickable but\n // everything inside of it should not clickable when menu is open\n pointer-events: none;\n}\n\n.ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal;\n}\n\n[dir=rtl].ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal-rtl;\n}\n\n.ios .menu-content-push {\n box-shadow: $menu-ios-box-shadow-push;\n}\n\n.md .menu-content-reveal {\n box-shadow: $menu-md-box-shadow;\n}\n\n.md .menu-content-push {\n box-shadow: $menu-md-box-shadow;\n}\n\n// Accordion Styles\nion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\nion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\nion-accordion-group > ion-accordion:last-of-type ion-item[slot=\"header\"] {\n --border-width: 0px;\n}\n\nion-accordion.accordion-animated > [slot=\"header\"] .ion-accordion-toggle-icon {\n transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n ion-accordion .ion-accordion-toggle-icon {\n /* stylelint-disable declaration-no-important */\n transition: none !important;\n }\n}\n/**\n * The > [slot=\"header\"] selector ensures that we do\n * not modify toggle icons for any nested accordions. The state\n * of one accordion should not affect any accordions inside\n * of a nested accordion group.\n */\nion-accordion.accordion-expanding > [slot=\"header\"] .ion-accordion-toggle-icon,\nion-accordion.accordion-expanded > [slot=\"header\"] .ion-accordion-toggle-icon {\n transform: rotate(180deg);\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=\"header\"] {\n --border-width: 0px;\n --inner-border-width: 0px;\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type,\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {\n margin-top: 0;\n}\n\n// Safari/iOS 15 changes the appearance of input[type=\"date\"].\n// For backwards compatibility from Ionic 5/Safari 14 designs,\n// we override the appearance only when using within an ion-input.\nion-input input::-webkit-date-and-time-value {\n text-align: start;\n}\n\n/**\n * The .ion-datetime-button-overlay class contains\n * styles that allow any modal/popover to be\n * sized according to the dimensions of the datetime\n * when used with ion-datetime-button.\n */\n.ion-datetime-button-overlay {\n --width: fit-content;\n --height: fit-content;\n}\n\n/**\n * The grid variant can scale down when inline.\n * When used in a `fit-content` overlay, this causes\n * the overlay to shrink when the month/year picker is open.\n * Explicitly setting the dimensions lets us have a consistently\n * sized grid interface.\n */\n.ion-datetime-button-overlay ion-datetime.datetime-grid {\n width: 320px;\n min-height: 320px;\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 @each $selector in $rootSplit {\n $dirSelector: \"#{$selector}:dir(rtl)\";\n // Group the selectors back into a single selector to optimize the output.\n $dirSelectors: append($dirSelectors, $dirSelector, comma);\n }\n\n // Supported by Firefox.\n @if length($dirSelectors) > 0 {\n @at-root #{$dirSelectors} {\n @content;\n }\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 @supports (inset-inline-start: 0) {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n\n // TODO FW-3766\n @at-root {\n @supports not (inset-inline-start: 0) {\n & {\n @include ltr() {\n left: $start;\n right: $end;\n }\n @include rtl() {\n left: unset;\n right: unset;\n\n left: $end;\n right: $start;\n }\n }\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 @include multi-dir() {\n border-radius: $top-start;\n }\n } @else {\n @include ltr() {\n border-top-left-radius: $top-start;\n border-top-right-radius: $top-end;\n border-bottom-right-radius: $bottom-end;\n border-bottom-left-radius: $bottom-start;\n }\n\n @include rtl() {\n border-top-left-radius: $top-end;\n border-top-right-radius: $top-start;\n border-bottom-right-radius: $bottom-start;\n border-bottom-left-radius: $bottom-end;\n }\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","\n// Global Utility Functions\n@import \"./ionic.functions.string\";\n\n// Global Color Functions\n@import \"./ionic.functions.color\";\n\n// Global Mixins\n@import \"./ionic.mixins\";\n\n// Default Theme\n@import \"./ionic.theme.default\";\n\n\n// Default General\n// --------------------------------------------------\n$font-family-base: var(--ion-font-family, inherit) !default;\n\n// Global app direction\n$app-direction: null !default;\n\n// Hairlines width\n$hairlines-width: .55px !default;\n\n// The minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries\n$screen-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n// Input placeholder opacity\n// Ensures that the placeholder has the\n// correct color contrast against the background.\n$placeholder-opacity: 0.6 !default;\n\n$form-control-label-margin: 16px !default;\n\n// How much the stacked labels should be scaled by\n/// The value 0.75 is used to match the MD spec.\n/// iOS does not have a floating label design spec, so we standardize on 0.75.\n$form-control-label-stacked-scale: 0.75 !default;\n\n\n// Z-Index\n// --------------------------------------------------\n// Grouped by elements which would be siblings\n\n$z-index-menu-overlay: 1000;\n$z-index-overlay: 1001;\n$z-index-click-block: 99999;\n\n$z-index-fixed-content: 999;\n$z-index-scroll-content: 1;\n$z-index-refresher: -1;\n\n$z-index-page-container: 0;\n$z-index-toolbar: 10;\n$z-index-toolbar-background: -1;\n$z-index-toolbar-buttons: 99;\n\n$z-index-backdrop: 2;\n$z-index-overlay-wrapper: 10;\n\n$z-index-item-options: 1;\n$z-index-item-input: 2;\n$z-index-item-divider: 100;\n\n$z-index-reorder-selected: 100;\n","@import \"../../themes/ionic.globals.ios\";\n\n// iOS Menu\n// --------------------------------------------------\n\n/// @prop - Background of the menu\n$menu-ios-background: $background-color !default;\n\n/// @prop - Box shadow color of the menu\n$menu-ios-box-shadow-color: rgba(0, 0, 0, .08) !default;\n\n/// @prop - Box shadow of the menu\n$menu-ios-box-shadow: -8px 0 42px $menu-ios-box-shadow-color !default;\n\n/// @prop - Box shadow of the menu in rtl mode\n$menu-ios-box-shadow-rtl: 8px 0 42px $menu-ios-box-shadow-color !default;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal: $menu-ios-box-shadow !default;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal-rtl: $menu-ios-box-shadow-rtl !default;\n\n/// @prop - Box shadow of the push menu\n$menu-ios-box-shadow-push: null !default;\n\n/// @prop - Box shadow of the overlay menu\n$menu-ios-box-shadow-overlay: null !default;\n","@import \"../../themes/ionic.globals.md\";\n\n// Material Design Menu\n// --------------------------------------------------\n\n/// @prop - Background of the menu\n$menu-md-background: $background-color !default;\n\n/// @prop - Box shadow of the menu\n$menu-md-box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18) !default;\n"]}
@@ -1 +1 @@
1
- html.ios{--ion-default-font:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Roboto",sans-serif}html.md{--ion-default-font:"Roboto","Helvetica Neue",sans-serif}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity:0.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity:0;--box-shadow:none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base:var(--ion-color-primary, #3880ff)!important;--ion-color-base-rgb:var(--ion-color-primary-rgb, 56, 128, 255)!important;--ion-color-contrast:var(--ion-color-primary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-primary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-primary-shade, #3171e0)!important;--ion-color-tint:var(--ion-color-primary-tint, #4c8dff)!important}.ion-color-secondary{--ion-color-base:var(--ion-color-secondary, #3dc2ff)!important;--ion-color-base-rgb:var(--ion-color-secondary-rgb, 61, 194, 255)!important;--ion-color-contrast:var(--ion-color-secondary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-secondary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-secondary-shade, #36abe0)!important;--ion-color-tint:var(--ion-color-secondary-tint, #50c8ff)!important}.ion-color-tertiary{--ion-color-base:var(--ion-color-tertiary, #5260ff)!important;--ion-color-base-rgb:var(--ion-color-tertiary-rgb, 82, 96, 255)!important;--ion-color-contrast:var(--ion-color-tertiary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-tertiary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-tertiary-shade, #4854e0)!important;--ion-color-tint:var(--ion-color-tertiary-tint, #6370ff)!important}.ion-color-success{--ion-color-base:var(--ion-color-success, #2dd36f)!important;--ion-color-base-rgb:var(--ion-color-success-rgb, 45, 211, 111)!important;--ion-color-contrast:var(--ion-color-success-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-success-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-success-shade, #28ba62)!important;--ion-color-tint:var(--ion-color-success-tint, #42d77d)!important}.ion-color-warning{--ion-color-base:var(--ion-color-warning, #ffc409)!important;--ion-color-base-rgb:var(--ion-color-warning-rgb, 255, 196, 9)!important;--ion-color-contrast:var(--ion-color-warning-contrast, #000)!important;--ion-color-contrast-rgb:var(--ion-color-warning-contrast-rgb, 0, 0, 0)!important;--ion-color-shade:var(--ion-color-warning-shade, #e0ac08)!important;--ion-color-tint:var(--ion-color-warning-tint, #ffca22)!important}.ion-color-danger{--ion-color-base:var(--ion-color-danger, #eb445a)!important;--ion-color-base-rgb:var(--ion-color-danger-rgb, 235, 68, 90)!important;--ion-color-contrast:var(--ion-color-danger-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-danger-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-danger-shade, #cf3c4f)!important;--ion-color-tint:var(--ion-color-danger-tint, #ed576b)!important}.ion-color-light{--ion-color-base:var(--ion-color-light, #f4f5f8)!important;--ion-color-base-rgb:var(--ion-color-light-rgb, 244, 245, 248)!important;--ion-color-contrast:var(--ion-color-light-contrast, #000)!important;--ion-color-contrast-rgb:var(--ion-color-light-contrast-rgb, 0, 0, 0)!important;--ion-color-shade:var(--ion-color-light-shade, #d7d8da)!important;--ion-color-tint:var(--ion-color-light-tint, #f5f6f9)!important}.ion-color-medium{--ion-color-base:var(--ion-color-medium, #92949c)!important;--ion-color-base-rgb:var(--ion-color-medium-rgb, 146, 148, 156)!important;--ion-color-contrast:var(--ion-color-medium-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-medium-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-medium-shade, #808289)!important;--ion-color-tint:var(--ion-color-medium-tint, #9d9fa6)!important}.ion-color-dark{--ion-color-base:var(--ion-color-dark, #222428)!important;--ion-color-base-rgb:var(--ion-color-dark-rgb, 34, 36, 40)!important;--ion-color-contrast:var(--ion-color-dark-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-dark-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-dark-shade, #1e2023)!important;--ion-color-tint:var(--ion-color-dark-tint, #383a3e)!important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;overflow:hidden;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}.ion-page-hidden,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-menu-controller,ion-modal-controller,ion-nav-controller,ion-picker-controller,ion-popover-controller,ion-route,ion-route-redirect,ion-router,ion-select-option,ion-toast-controller{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding:20px}@supports (padding-top:20px){html{--ion-safe-area-top:var(--ion-statusbar-padding)}}@supports (padding-top:constant(safe-area-inset-top)){html{--ion-safe-area-top:constant(safe-area-inset-top);--ion-safe-area-bottom:constant(safe-area-inset-bottom);--ion-safe-area-left:constant(safe-area-inset-left);--ion-safe-area-right:constant(safe-area-inset-right)}}@supports (padding-top:env(safe-area-inset-top)){html{--ion-safe-area-top:env(safe-area-inset-top);--ion-safe-area-bottom:env(safe-area-inset-bottom);--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:env(safe-area-inset-right)}}ion-card-header.ion-color .ion-inherit-color,ion-card.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate3d(0,0,0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-push,.md .menu-content-reveal{box-shadow:4px 0 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width:0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:transform .3s cubic-bezier(.25, .8, .5, 1)}@media (prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width:0px;--inner-border-width:0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width:fit-content;--height:fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}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}input,label,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}.ion-tappable,[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,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:transparent;-webkit-touch-callout:none}html{--ion-font-family:var(--ion-default-font);width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--ion-font-family)}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{background:var(--ion-background-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding: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}a{background-color:transparent;color:var(--ion-color-primary,#3880ff)}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:26px}h2{margin-top:18px;font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;padding:0}.ion-padding{--padding-start:var(--ion-padding, 16px);--padding-end:var(--ion-padding, 16px);--padding-top:var(--ion-padding, 16px);--padding-bottom:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-top{--padding-top:var(--ion-padding, 16px);padding-top:var(--ion-padding,16px)}.ion-padding-start{--padding-start:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px)}.ion-padding-end{--padding-end:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-padding-bottom{--padding-bottom:var(--ion-padding, 16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-vertical{--padding-top:var(--ion-padding, 16px);--padding-bottom:var(--ion-padding, 16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-horizontal{--padding-start:var(--ion-padding, 16px);--padding-end:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-no-margin{--margin-start:0;--margin-end:0;--margin-top:0;--margin-bottom:0;margin:0}.ion-margin{--margin-start:var(--ion-margin, 16px);--margin-end:var(--ion-margin, 16px);--margin-top:var(--ion-margin, 16px);--margin-bottom:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-top{--margin-top:var(--ion-margin, 16px);margin-top:var(--ion-margin,16px)}.ion-margin-start{--margin-start:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px)}.ion-margin-end{--margin-end:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-margin-bottom{--margin-bottom:var(--ion-margin, 16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-vertical{--margin-top:var(--ion-margin, 16px);--margin-bottom:var(--ion-margin, 16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-horizontal{--margin-start:var(--ion-margin, 16px);--margin-end:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}.ion-float-end:dir(rtl){float:left!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}.ion-align-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}.ion-hide,.ion-hide-down,.ion-hide-up{display:none!important}@media (min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}.ion-float-sm-end:dir(rtl){float:left!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}.ion-hide-sm-up{display:none!important}}@media (max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media (min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}.ion-float-md-end:dir(rtl){float:left!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}.ion-hide-md-up{display:none!important}}@media (max-width:767.98px){.ion-hide-md-down{display:none!important}}@media (min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}.ion-float-lg-end:dir(rtl){float:left!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}.ion-hide-lg-up{display:none!important}}@media (max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media (min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}.ion-float-xl-end:dir(rtl){float:left!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}.ion-hide-xl-up{display:none!important}}@media (max-width:1199.98px){.ion-hide-xl-down{display:none!important}}
1
+ html.ios{--ion-default-font:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Roboto",sans-serif}html.md{--ion-default-font:"Roboto","Helvetica Neue",sans-serif}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity:0.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity:0;--box-shadow:none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base:var(--ion-color-primary, #3880ff)!important;--ion-color-base-rgb:var(--ion-color-primary-rgb, 56, 128, 255)!important;--ion-color-contrast:var(--ion-color-primary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-primary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-primary-shade, #3171e0)!important;--ion-color-tint:var(--ion-color-primary-tint, #4c8dff)!important}.ion-color-secondary{--ion-color-base:var(--ion-color-secondary, #3dc2ff)!important;--ion-color-base-rgb:var(--ion-color-secondary-rgb, 61, 194, 255)!important;--ion-color-contrast:var(--ion-color-secondary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-secondary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-secondary-shade, #36abe0)!important;--ion-color-tint:var(--ion-color-secondary-tint, #50c8ff)!important}.ion-color-tertiary{--ion-color-base:var(--ion-color-tertiary, #5260ff)!important;--ion-color-base-rgb:var(--ion-color-tertiary-rgb, 82, 96, 255)!important;--ion-color-contrast:var(--ion-color-tertiary-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-tertiary-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-tertiary-shade, #4854e0)!important;--ion-color-tint:var(--ion-color-tertiary-tint, #6370ff)!important}.ion-color-success{--ion-color-base:var(--ion-color-success, #2dd36f)!important;--ion-color-base-rgb:var(--ion-color-success-rgb, 45, 211, 111)!important;--ion-color-contrast:var(--ion-color-success-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-success-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-success-shade, #28ba62)!important;--ion-color-tint:var(--ion-color-success-tint, #42d77d)!important}.ion-color-warning{--ion-color-base:var(--ion-color-warning, #ffc409)!important;--ion-color-base-rgb:var(--ion-color-warning-rgb, 255, 196, 9)!important;--ion-color-contrast:var(--ion-color-warning-contrast, #000)!important;--ion-color-contrast-rgb:var(--ion-color-warning-contrast-rgb, 0, 0, 0)!important;--ion-color-shade:var(--ion-color-warning-shade, #e0ac08)!important;--ion-color-tint:var(--ion-color-warning-tint, #ffca22)!important}.ion-color-danger{--ion-color-base:var(--ion-color-danger, #eb445a)!important;--ion-color-base-rgb:var(--ion-color-danger-rgb, 235, 68, 90)!important;--ion-color-contrast:var(--ion-color-danger-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-danger-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-danger-shade, #cf3c4f)!important;--ion-color-tint:var(--ion-color-danger-tint, #ed576b)!important}.ion-color-light{--ion-color-base:var(--ion-color-light, #f4f5f8)!important;--ion-color-base-rgb:var(--ion-color-light-rgb, 244, 245, 248)!important;--ion-color-contrast:var(--ion-color-light-contrast, #000)!important;--ion-color-contrast-rgb:var(--ion-color-light-contrast-rgb, 0, 0, 0)!important;--ion-color-shade:var(--ion-color-light-shade, #d7d8da)!important;--ion-color-tint:var(--ion-color-light-tint, #f5f6f9)!important}.ion-color-medium{--ion-color-base:var(--ion-color-medium, #92949c)!important;--ion-color-base-rgb:var(--ion-color-medium-rgb, 146, 148, 156)!important;--ion-color-contrast:var(--ion-color-medium-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-medium-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-medium-shade, #808289)!important;--ion-color-tint:var(--ion-color-medium-tint, #9d9fa6)!important}.ion-color-dark{--ion-color-base:var(--ion-color-dark, #222428)!important;--ion-color-base-rgb:var(--ion-color-dark-rgb, 34, 36, 40)!important;--ion-color-contrast:var(--ion-color-dark-contrast, #fff)!important;--ion-color-contrast-rgb:var(--ion-color-dark-contrast-rgb, 255, 255, 255)!important;--ion-color-shade:var(--ion-color-dark-shade, #1e2023)!important;--ion-color-tint:var(--ion-color-dark-tint, #383a3e)!important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}.ion-page-hidden,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-menu-controller,ion-modal-controller,ion-nav-controller,ion-picker-controller,ion-popover-controller,ion-route,ion-route-redirect,ion-router,ion-select-option,ion-toast-controller{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding:20px}@supports (padding-top:20px){html{--ion-safe-area-top:var(--ion-statusbar-padding)}}@supports (padding-top:constant(safe-area-inset-top)){html{--ion-safe-area-top:constant(safe-area-inset-top);--ion-safe-area-bottom:constant(safe-area-inset-bottom);--ion-safe-area-left:constant(safe-area-inset-left);--ion-safe-area-right:constant(safe-area-inset-right)}}@supports (padding-top:env(safe-area-inset-top)){html{--ion-safe-area-top:env(safe-area-inset-top);--ion-safe-area-bottom:env(safe-area-inset-bottom);--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:env(safe-area-inset-right)}}ion-card-header.ion-color .ion-inherit-color,ion-card.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate3d(0,0,0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-push,.md .menu-content-reveal{box-shadow:4px 0 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width:0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:transform .3s cubic-bezier(.25, .8, .5, 1)}@media (prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width:0px;--inner-border-width:0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width:fit-content;--height:fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}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}input,label,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}.ion-tappable,[tappable],[tappable] div,[tappable] ion-icon,[tappable] ion-label,[tappable] span,a,a div,a ion-icon,a ion-label,a span,button,button div,button ion-icon,button ion-label,button span,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:transparent;-webkit-touch-callout:none}html{--ion-font-family:var(--ion-default-font);width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--ion-font-family)}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{background:var(--ion-background-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding: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}a{background-color:transparent;color:var(--ion-color-primary,#3880ff)}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:26px}h2{margin-top:18px;font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;padding:0}.ion-padding{--padding-start:var(--ion-padding, 16px);--padding-end:var(--ion-padding, 16px);--padding-top:var(--ion-padding, 16px);--padding-bottom:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-top{--padding-top:var(--ion-padding, 16px);padding-top:var(--ion-padding,16px)}.ion-padding-start{--padding-start:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px)}.ion-padding-end{--padding-end:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-padding-bottom{--padding-bottom:var(--ion-padding, 16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-vertical{--padding-top:var(--ion-padding, 16px);--padding-bottom:var(--ion-padding, 16px);padding-top:var(--ion-padding,16px);padding-bottom:var(--ion-padding,16px)}.ion-padding-horizontal{--padding-start:var(--ion-padding, 16px);--padding-end:var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding,16px);padding-inline-start:var(--ion-padding,16px);-webkit-padding-end:var(--ion-padding,16px);padding-inline-end:var(--ion-padding,16px)}.ion-no-margin{--margin-start:0;--margin-end:0;--margin-top:0;--margin-bottom:0;margin:0}.ion-margin{--margin-start:var(--ion-margin, 16px);--margin-end:var(--ion-margin, 16px);--margin-top:var(--ion-margin, 16px);--margin-bottom:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-top{--margin-top:var(--ion-margin, 16px);margin-top:var(--ion-margin,16px)}.ion-margin-start{--margin-start:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px)}.ion-margin-end{--margin-end:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-margin-bottom{--margin-bottom:var(--ion-margin, 16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-vertical{--margin-top:var(--ion-margin, 16px);--margin-bottom:var(--ion-margin, 16px);margin-top:var(--ion-margin,16px);margin-bottom:var(--ion-margin,16px)}.ion-margin-horizontal{--margin-start:var(--ion-margin, 16px);--margin-end:var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin,16px);margin-inline-start:var(--ion-margin,16px);-webkit-margin-end:var(--ion-margin,16px);margin-inline-end:var(--ion-margin,16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}.ion-float-end:dir(rtl){float:left!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}.ion-align-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}.ion-hide,.ion-hide-down,.ion-hide-up{display:none!important}@media (min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}.ion-float-sm-end:dir(rtl){float:left!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}.ion-hide-sm-up{display:none!important}}@media (max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media (min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}.ion-float-md-end:dir(rtl){float:left!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}.ion-hide-md-up{display:none!important}}@media (max-width:767.98px){.ion-hide-md-down{display:none!important}}@media (min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}.ion-float-lg-end:dir(rtl){float:left!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}.ion-hide-lg-up{display:none!important}}@media (max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media (min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}.ion-float-xl-end:dir(rtl){float:left!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}.ion-hide-xl-up{display:none!important}}@media (max-width:1199.98px){.ion-hide-xl-down{display:none!important}}