voyager-ionic-core 7.7.2 → 7.8.6

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 (670) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -1
  4. package/components/button.js +4 -4
  5. package/components/buttons.js +1 -1
  6. package/components/checkbox.js +1 -1
  7. package/components/data.js +23 -38
  8. package/components/hardware-back-button.js +3 -3
  9. package/components/helpers.js +2 -2
  10. package/components/input-shims.js +5 -5
  11. package/components/ion-app.js +4 -4
  12. package/components/ion-avatar.js +1 -1
  13. package/components/ion-back-button.js +2 -2
  14. package/components/ion-badge.js +2 -2
  15. package/components/ion-breadcrumb.js +4 -4
  16. package/components/ion-breadcrumbs.js +2 -2
  17. package/components/ion-card-content.js +1 -1
  18. package/components/ion-card-header.js +2 -2
  19. package/components/ion-card-subtitle.js +2 -2
  20. package/components/ion-card-title.js +2 -2
  21. package/components/ion-card.js +1 -1
  22. package/components/ion-chip.js +2 -2
  23. package/components/ion-col.js +2 -2
  24. package/components/ion-content.js +3 -3
  25. package/components/ion-datetime-button.js +12 -11
  26. package/components/ion-datetime.js +75 -12
  27. package/components/ion-fab-button.js +2 -2
  28. package/components/ion-fab-list.js +2 -2
  29. package/components/ion-fab.js +2 -2
  30. package/components/ion-footer.js +2 -2
  31. package/components/ion-grid.js +2 -2
  32. package/components/ion-header.js +3 -3
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +2 -2
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input.js +8 -0
  37. package/components/ion-item-divider.js +2 -2
  38. package/components/ion-item-group.js +1 -1
  39. package/components/ion-item-option.js +2 -2
  40. package/components/ion-item-options.js +1 -1
  41. package/components/ion-item-sliding.js +1 -1
  42. package/components/ion-loading.js +2 -2
  43. package/components/ion-menu-button.js +2 -2
  44. package/components/ion-menu-toggle.js +2 -2
  45. package/components/ion-menu.js +3 -3
  46. package/components/ion-modal.js +81 -25
  47. package/components/ion-nav-link.js +1 -1
  48. package/components/ion-nav.js +1 -1
  49. package/components/ion-picker.js +2 -2
  50. package/components/ion-progress-bar.js +1 -1
  51. package/components/ion-range.js +126 -21
  52. package/components/ion-refresher-content.js +1 -1
  53. package/components/ion-refresher.js +1 -1
  54. package/components/ion-reorder-group.js +1 -1
  55. package/components/ion-reorder.js +1 -1
  56. package/components/ion-router-link.js +2 -2
  57. package/components/ion-router-outlet.js +1 -1
  58. package/components/ion-row.js +1 -1
  59. package/components/ion-searchbar.js +35 -6
  60. package/components/ion-segment-button.js +3 -3
  61. package/components/ion-segment.js +2 -2
  62. package/components/ion-select-option.js +1 -1
  63. package/components/ion-select.js +3 -3
  64. package/components/ion-skeleton-text.js +2 -2
  65. package/components/ion-split-pane.js +2 -2
  66. package/components/ion-tab-bar.js +2 -2
  67. package/components/ion-tab-button.js +2 -2
  68. package/components/ion-tab.js +2 -2
  69. package/components/ion-tabs.js +1 -1
  70. package/components/ion-text.js +2 -2
  71. package/components/ion-thumbnail.js +1 -1
  72. package/components/ion-title.js +2 -2
  73. package/components/ion-toast.js +2 -2
  74. package/components/ion-toolbar.js +2 -2
  75. package/components/item.js +1 -1
  76. package/components/label.js +3 -3
  77. package/components/list-header.js +2 -2
  78. package/components/list.js +1 -1
  79. package/components/note.js +2 -2
  80. package/components/overlays.js +127 -39
  81. package/components/picker-column-internal.js +8 -4
  82. package/components/picker-column.js +2 -2
  83. package/components/picker-internal.js +2 -2
  84. package/components/popover.js +4 -4
  85. package/components/radio-group.js +1 -1
  86. package/components/ripple-effect.js +1 -1
  87. package/components/select-popover.js +1 -1
  88. package/components/spinner.js +1 -1
  89. package/css/core.css +1 -561
  90. package/css/core.css.map +1 -1
  91. package/css/display.css +1 -131
  92. package/css/display.css.map +1 -1
  93. package/css/flex-utils.css +1 -81
  94. package/css/flex-utils.css.map +1 -1
  95. package/css/float-elements.css +1 -293
  96. package/css/float-elements.css.map +1 -1
  97. package/css/global.bundle.css +1 -457
  98. package/css/global.bundle.css.map +1 -1
  99. package/css/ionic-swiper.css +1 -127
  100. package/css/ionic-swiper.css.map +1 -1
  101. package/css/ionic.bundle.css +1 -1
  102. package/css/ionic.bundle.css.map +1 -1
  103. package/css/normalize.css +1 -150
  104. package/css/normalize.css.map +1 -1
  105. package/css/padding.css +1 -202
  106. package/css/padding.css.map +1 -1
  107. package/css/structure.css +1 -152
  108. package/css/structure.css.map +1 -1
  109. package/css/text-alignment.css +1 -243
  110. package/css/text-alignment.css.map +1 -1
  111. package/css/text-transformation.css +1 -158
  112. package/css/text-transformation.css.map +1 -1
  113. package/css/typography.css +1 -157
  114. package/css/typography.css.map +1 -1
  115. package/css/utils.bundle.css +1 -1100
  116. package/css/utils.bundle.css.map +1 -1
  117. package/dist/cjs/{animation-fdab9de5.js → animation-c2840aea.js} +1 -1
  118. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-c5eb104c.js} +1 -1
  119. package/dist/cjs/{button-active-2d6520ec.js → button-active-181d142e.js} +1 -1
  120. package/dist/cjs/{data-a5109f09.js → data-4487a815.js} +22 -39
  121. package/dist/cjs/{form-controller-7b90d7b7.js → form-controller-c83330c0.js} +1 -1
  122. package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-e0e13baa.js} +1 -1
  123. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-adba3ac7.js} +5 -5
  124. package/dist/cjs/{helpers-2e1028fa.js → helpers-da4c0ed1.js} +2 -2
  125. package/dist/cjs/{index-c3580a90.js → index-1f7c54f8.js} +4 -4
  126. package/dist/cjs/{index-0ffe376d.js → index-22617dd6.js} +51 -7
  127. package/dist/cjs/{index-a43f7a0f.js → index-5c38afe7.js} +4 -4
  128. package/dist/cjs/{index-10da82ce.js → index-62290fec.js} +1 -1
  129. package/dist/cjs/{index-53d162b2.js → index-bef98850.js} +1 -1
  130. package/dist/cjs/index.cjs.js +11 -11
  131. package/dist/cjs/{input-shims-6f804705.js → input-shims-05ac9905.js} +7 -7
  132. package/dist/cjs/{input.utils-d693d18a.js → input.utils-d7dca90f.js} +1 -1
  133. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  134. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  135. package/dist/cjs/ion-alert.cjs.entry.js +10 -10
  136. package/dist/cjs/ion-app_8.cjs.entry.js +29 -29
  137. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  138. package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
  139. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  140. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +9 -9
  141. package/dist/cjs/ion-button_2.cjs.entry.js +7 -7
  142. package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
  143. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
  144. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  145. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  146. package/dist/cjs/ion-datetime-button.cjs.entry.js +15 -14
  147. package/dist/cjs/ion-datetime_3.cjs.entry.js +83 -23
  148. package/dist/cjs/ion-fab_3.cjs.entry.js +9 -9
  149. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  150. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  151. package/dist/cjs/ion-input.cjs.entry.js +14 -6
  152. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  153. package/dist/cjs/ion-item_8.cjs.entry.js +17 -17
  154. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  155. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
  156. package/dist/cjs/ion-modal.cjs.entry.js +90 -34
  157. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  158. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +11 -7
  159. package/dist/cjs/ion-picker-internal.cjs.entry.js +4 -4
  160. package/dist/cjs/ion-popover.cjs.entry.js +12 -12
  161. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  163. package/dist/cjs/ion-range.cjs.entry.js +131 -26
  164. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  165. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  166. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  168. package/dist/cjs/ion-searchbar.cjs.entry.js +32 -8
  169. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  170. package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
  171. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  172. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  173. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  174. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  175. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  176. package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
  177. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  178. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  179. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-c5503e93.js} +1 -1
  180. package/dist/cjs/ionic.cjs.js +5 -5
  181. package/dist/cjs/{ios.transition-c3b11cc3.js → ios.transition-30830fc4.js} +4 -4
  182. package/dist/cjs/loader.cjs.js +4 -4
  183. package/dist/cjs/{md.transition-82a8c649.js → md.transition-7f581866.js} +4 -4
  184. package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-bfbcbb7a.js} +1 -1
  185. package/dist/cjs/{overlays-fb7ca451.js → overlays-129dfc13.js} +129 -41
  186. package/dist/cjs/{status-tap-692f6d32.js → status-tap-03d82840.js} +3 -3
  187. package/dist/cjs/{swipe-back-7a848bb8.js → swipe-back-dcd0d4a9.js} +1 -1
  188. package/dist/collection/collection-manifest.json +2 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  190. package/dist/collection/components/alert/alert.js +2 -2
  191. package/dist/collection/components/alert/test/a11y/alert.e2e.js +4 -0
  192. package/dist/collection/components/app/app.js +4 -4
  193. package/dist/collection/components/avatar/avatar.js +1 -1
  194. package/dist/collection/components/back-button/back-button.js +2 -2
  195. package/dist/collection/components/backdrop/backdrop.js +1 -1
  196. package/dist/collection/components/badge/badge.js +2 -2
  197. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  198. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  199. package/dist/collection/components/button/button.ios.css +5 -5
  200. package/dist/collection/components/button/button.js +2 -2
  201. package/dist/collection/components/button/button.md.css +4 -5
  202. package/dist/collection/components/buttons/buttons.js +1 -1
  203. package/dist/collection/components/card/card.js +1 -1
  204. package/dist/collection/components/card-content/card-content.js +1 -1
  205. package/dist/collection/components/card-header/card-header.js +2 -2
  206. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  207. package/dist/collection/components/card-title/card-title.js +2 -2
  208. package/dist/collection/components/checkbox/checkbox.js +1 -1
  209. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  210. package/dist/collection/components/chip/chip.js +2 -2
  211. package/dist/collection/components/col/col.js +2 -2
  212. package/dist/collection/components/content/content.js +3 -3
  213. package/dist/collection/components/datetime/datetime.js +56 -12
  214. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
  215. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  216. package/dist/collection/components/datetime/utils/format.js +24 -37
  217. package/dist/collection/components/datetime/utils/validate.js +45 -0
  218. package/dist/collection/components/datetime-button/datetime-button.js +12 -11
  219. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  220. package/dist/collection/components/fab/fab.js +2 -2
  221. package/dist/collection/components/fab-button/fab-button.js +2 -2
  222. package/dist/collection/components/fab-list/fab-list.js +2 -2
  223. package/dist/collection/components/footer/footer.js +2 -2
  224. package/dist/collection/components/grid/grid.js +2 -2
  225. package/dist/collection/components/header/header.ios.css +5 -2
  226. package/dist/collection/components/header/header.js +2 -2
  227. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  228. package/dist/collection/components/img/img.js +1 -1
  229. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  230. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  231. package/dist/collection/components/input/input.js +8 -0
  232. package/dist/collection/components/item/item.js +1 -1
  233. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  234. package/dist/collection/components/item-divider/item-divider.js +2 -2
  235. package/dist/collection/components/item-group/item-group.js +1 -1
  236. package/dist/collection/components/item-option/item-option.js +2 -2
  237. package/dist/collection/components/item-options/item-options.js +1 -1
  238. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  239. package/dist/collection/components/label/label.ios.css +0 -4
  240. package/dist/collection/components/label/label.js +1 -1
  241. package/dist/collection/components/label/label.md.css +0 -4
  242. package/dist/collection/components/label/test/item/item.e2e.js +24 -0
  243. package/dist/collection/components/list/list.js +1 -1
  244. package/dist/collection/components/list-header/list-header.js +2 -2
  245. package/dist/collection/components/loading/loading.js +2 -2
  246. package/dist/collection/components/menu/menu.js +3 -3
  247. package/dist/collection/components/menu-button/menu-button.js +2 -2
  248. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  249. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  250. package/dist/collection/components/modal/modal.js +38 -6
  251. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  252. package/dist/collection/components/nav/nav.js +1 -1
  253. package/dist/collection/components/nav-link/nav-link.js +1 -1
  254. package/dist/collection/components/note/note.js +2 -2
  255. package/dist/collection/components/picker/picker.js +2 -2
  256. package/dist/collection/components/picker-column/picker-column.js +2 -2
  257. package/dist/collection/components/picker-column-internal/picker-column-internal.js +8 -4
  258. package/dist/collection/components/picker-internal/picker-internal.js +2 -2
  259. package/dist/collection/components/popover/popover.ios.css +0 -1
  260. package/dist/collection/components/popover/popover.js +2 -2
  261. package/dist/collection/components/popover/popover.md.css +0 -1
  262. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  263. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  264. package/dist/collection/components/radio-group/radio-group.js +1 -1
  265. package/dist/collection/components/range/range.js +126 -21
  266. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  267. package/dist/collection/components/refresher/refresher.js +1 -1
  268. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  269. package/dist/collection/components/reorder/reorder.js +1 -1
  270. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  271. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  272. package/dist/collection/components/router-link/router-link.js +2 -2
  273. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  274. package/dist/collection/components/row/row.js +1 -1
  275. package/dist/collection/components/searchbar/searchbar.js +86 -6
  276. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  277. package/dist/collection/components/segment/segment.js +2 -2
  278. package/dist/collection/components/segment-button/segment-button.js +3 -3
  279. package/dist/collection/components/select/select.js +3 -3
  280. package/dist/collection/components/select-option/select-option.js +1 -1
  281. package/dist/collection/components/select-popover/select-popover.js +1 -1
  282. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  283. package/dist/collection/components/spinner/spinner.js +1 -1
  284. package/dist/collection/components/split-pane/split-pane.js +2 -2
  285. package/dist/collection/components/tab/tab.js +2 -2
  286. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  287. package/dist/collection/components/tab-button/tab-button.js +2 -2
  288. package/dist/collection/components/tabs/tabs.js +1 -1
  289. package/dist/collection/components/text/text.js +2 -2
  290. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  291. package/dist/collection/components/title/title.js +2 -2
  292. package/dist/collection/components/toast/toast.js +2 -2
  293. package/dist/collection/components/toggle/toggle.js +1 -1
  294. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  295. package/dist/collection/components/toolbar/toolbar.js +2 -2
  296. package/dist/collection/utils/hardware-back-button.js +2 -2
  297. package/dist/collection/utils/helpers.js +1 -1
  298. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
  299. package/dist/collection/utils/overlays.js +127 -39
  300. package/dist/collection/utils/test/overlays/overlays.e2e.js +89 -0
  301. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  302. package/dist/docs.json +117 -4
  303. package/dist/esm/{animation-60dbdd13.js → animation-6a0c5338.js} +1 -1
  304. package/dist/esm/{app-globals-5cf6195b.js → app-globals-318eef52.js} +1 -1
  305. package/dist/esm/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  306. package/dist/esm/{data-0f3ab200.js → data-bb424ba8.js} +23 -38
  307. package/dist/esm/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
  308. package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-ed4ba327.js} +1 -1
  309. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-6107a37c.js} +5 -5
  310. package/dist/esm/{helpers-c0b9ca37.js → helpers-be245865.js} +2 -2
  311. package/dist/esm/{index-d64f34ea.js → index-020f5464.js} +1 -1
  312. package/dist/esm/{index-47b2066d.js → index-6e05b96e.js} +4 -4
  313. package/dist/esm/{index-4c30cddd.js → index-a1a47f01.js} +51 -7
  314. package/dist/esm/{index-eb12ef92.js → index-f3946ac1.js} +1 -1
  315. package/dist/esm/{index-0b4beb69.js → index-fae1515c.js} +4 -4
  316. package/dist/esm/index.js +11 -11
  317. package/dist/esm/{input-shims-b90ca55f.js → input-shims-a52daa3a.js} +7 -7
  318. package/dist/esm/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
  319. package/dist/esm/ion-accordion_2.entry.js +3 -3
  320. package/dist/esm/ion-action-sheet.entry.js +11 -11
  321. package/dist/esm/ion-alert.entry.js +10 -10
  322. package/dist/esm/ion-app_8.entry.js +29 -29
  323. package/dist/esm/ion-avatar_3.entry.js +6 -6
  324. package/dist/esm/ion-back-button.entry.js +5 -5
  325. package/dist/esm/ion-backdrop.entry.js +3 -3
  326. package/dist/esm/ion-breadcrumb_2.entry.js +9 -9
  327. package/dist/esm/ion-button_2.entry.js +7 -7
  328. package/dist/esm/ion-card_5.entry.js +11 -11
  329. package/dist/esm/ion-checkbox.entry.js +5 -5
  330. package/dist/esm/ion-chip.entry.js +4 -4
  331. package/dist/esm/ion-col_3.entry.js +7 -7
  332. package/dist/esm/ion-datetime-button.entry.js +15 -14
  333. package/dist/esm/ion-datetime_3.entry.js +83 -23
  334. package/dist/esm/ion-fab_3.entry.js +9 -9
  335. package/dist/esm/ion-img.entry.js +4 -4
  336. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  337. package/dist/esm/ion-input.entry.js +14 -6
  338. package/dist/esm/ion-item-option_3.entry.js +8 -8
  339. package/dist/esm/ion-item_8.entry.js +17 -17
  340. package/dist/esm/ion-loading.entry.js +9 -9
  341. package/dist/esm/ion-menu_3.entry.js +14 -14
  342. package/dist/esm/ion-modal.entry.js +90 -34
  343. package/dist/esm/ion-nav_2.entry.js +8 -8
  344. package/dist/esm/ion-picker-column-internal.entry.js +11 -7
  345. package/dist/esm/ion-picker-internal.entry.js +4 -4
  346. package/dist/esm/ion-popover.entry.js +12 -12
  347. package/dist/esm/ion-progress-bar.entry.js +4 -4
  348. package/dist/esm/ion-radio_2.entry.js +5 -5
  349. package/dist/esm/ion-range.entry.js +131 -26
  350. package/dist/esm/ion-refresher_2.entry.js +7 -7
  351. package/dist/esm/ion-reorder_2.entry.js +6 -6
  352. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  353. package/dist/esm/ion-route_4.entry.js +5 -5
  354. package/dist/esm/ion-searchbar.entry.js +32 -8
  355. package/dist/esm/ion-segment_2.entry.js +8 -8
  356. package/dist/esm/ion-select_3.entry.js +12 -12
  357. package/dist/esm/ion-spinner.entry.js +3 -3
  358. package/dist/esm/ion-split-pane.entry.js +4 -4
  359. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  360. package/dist/esm/ion-tab_2.entry.js +6 -6
  361. package/dist/esm/ion-text.entry.js +4 -4
  362. package/dist/esm/ion-textarea.entry.js +6 -6
  363. package/dist/esm/ion-toast.entry.js +9 -9
  364. package/dist/esm/ion-toggle.entry.js +4 -4
  365. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  366. package/dist/esm/ionic.js +6 -6
  367. package/dist/esm/{ios.transition-b76c7020.js → ios.transition-a50a9a55.js} +4 -4
  368. package/dist/esm/loader.js +5 -5
  369. package/dist/esm/{md.transition-564937a7.js → md.transition-0da92976.js} +4 -4
  370. package/dist/esm/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
  371. package/dist/esm/{overlays-04a9a43f.js → overlays-b874c3c3.js} +129 -41
  372. package/dist/esm/{status-tap-5a95077d.js → status-tap-dfea3607.js} +3 -3
  373. package/dist/esm/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.js} +1 -1
  374. package/dist/esm-es5/{animation-60dbdd13.js → animation-6a0c5338.js} +1 -1
  375. package/dist/esm-es5/app-globals-318eef52.js +4 -0
  376. package/dist/esm-es5/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  377. package/dist/esm-es5/data-bb424ba8.js +4 -0
  378. package/dist/esm-es5/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
  379. package/dist/esm-es5/framework-delegate-ed4ba327.js +4 -0
  380. package/dist/esm-es5/hardware-back-button-6107a37c.js +4 -0
  381. package/dist/esm-es5/helpers-be245865.js +4 -0
  382. package/dist/esm-es5/index-020f5464.js +4 -0
  383. package/dist/esm-es5/index-6e05b96e.js +4 -0
  384. package/dist/esm-es5/index-a1a47f01.js +5 -0
  385. package/dist/esm-es5/{index-eb12ef92.js → index-f3946ac1.js} +1 -1
  386. package/dist/esm-es5/{index-0b4beb69.js → index-fae1515c.js} +1 -1
  387. package/dist/esm-es5/index.js +1 -1
  388. package/dist/esm-es5/input-shims-a52daa3a.js +4 -0
  389. package/dist/esm-es5/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
  390. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  391. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  392. package/dist/esm-es5/ion-alert.entry.js +1 -1
  393. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  394. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  395. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  396. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  397. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  398. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  399. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  400. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  401. package/dist/esm-es5/ion-chip.entry.js +1 -1
  402. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  403. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  404. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  405. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  406. package/dist/esm-es5/ion-img.entry.js +1 -1
  407. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  408. package/dist/esm-es5/ion-input.entry.js +1 -1
  409. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  410. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  411. package/dist/esm-es5/ion-loading.entry.js +1 -1
  412. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  413. package/dist/esm-es5/ion-modal.entry.js +1 -1
  414. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  415. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  416. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  417. package/dist/esm-es5/ion-popover.entry.js +1 -1
  418. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  419. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  420. package/dist/esm-es5/ion-range.entry.js +1 -1
  421. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  422. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  423. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  424. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  425. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  426. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  427. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  428. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  429. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  430. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  431. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  432. package/dist/esm-es5/ion-text.entry.js +1 -1
  433. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  434. package/dist/esm-es5/ion-toast.entry.js +1 -1
  435. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  436. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  437. package/dist/esm-es5/ionic.js +1 -1
  438. package/dist/esm-es5/{ios.transition-b76c7020.js → ios.transition-a50a9a55.js} +1 -1
  439. package/dist/esm-es5/loader.js +1 -1
  440. package/dist/esm-es5/md.transition-0da92976.js +4 -0
  441. package/dist/esm-es5/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
  442. package/dist/esm-es5/overlays-b874c3c3.js +4 -0
  443. package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-dfea3607.js} +1 -1
  444. package/dist/esm-es5/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.js} +1 -1
  445. package/dist/html.html-data.json +13 -1
  446. package/dist/ionic/index.esm.js +1 -1
  447. package/dist/ionic/ionic.esm.js +1 -1
  448. package/dist/ionic/ionic.js +1 -1
  449. package/dist/ionic/{p-30cd5e7b.js → p-0047bd0e.js} +1 -1
  450. package/dist/ionic/{p-70e34286.system.entry.js → p-01a1ff55.system.entry.js} +1 -1
  451. package/dist/ionic/{p-b0ff8075.entry.js → p-01de45e4.entry.js} +1 -1
  452. package/dist/ionic/{p-2e14c533.system.js → p-0609a7d8.system.js} +1 -1
  453. package/dist/ionic/p-08ab4c96.js +4 -0
  454. package/dist/ionic/{p-e04b9647.system.entry.js → p-094cb5ba.system.entry.js} +1 -1
  455. package/dist/ionic/p-0aac3a1c.js +4 -0
  456. package/dist/ionic/{p-de55ec45.js → p-0b743628.js} +1 -1
  457. package/dist/ionic/{p-b253ad7f.js → p-12a8643e.js} +1 -1
  458. package/dist/ionic/p-185d82fc.entry.js +4 -0
  459. package/dist/ionic/p-193921ce.entry.js +4 -0
  460. package/dist/ionic/{p-b8c685a7.system.js → p-1bc9b5f5.system.js} +1 -1
  461. package/dist/ionic/p-1cd372ed.js +4 -0
  462. package/dist/ionic/{p-123b4809.js → p-1e151efb.js} +1 -1
  463. package/dist/ionic/{p-bf05cbc7.entry.js → p-211d8901.entry.js} +1 -1
  464. package/dist/ionic/p-212f2c37.entry.js +4 -0
  465. package/dist/ionic/p-2433bf5e.system.js +4 -0
  466. package/dist/ionic/p-2732a6ce.entry.js +4 -0
  467. package/dist/ionic/{p-89ca4c4b.system.js → p-280f1fe7.system.js} +1 -1
  468. package/dist/ionic/{p-94be3ad7.js → p-2c118b1e.js} +1 -1
  469. package/dist/ionic/p-2c1408df.system.js +5 -0
  470. package/dist/ionic/p-2e2808f3.entry.js +4 -0
  471. package/dist/ionic/{p-0457213c.entry.js → p-32086ea4.entry.js} +1 -1
  472. package/dist/ionic/{p-16a61810.entry.js → p-339dee28.entry.js} +1 -1
  473. package/dist/ionic/{p-88e9052d.entry.js → p-34e2b446.entry.js} +1 -1
  474. package/dist/ionic/{p-eb07b88f.entry.js → p-374838e4.entry.js} +1 -1
  475. package/dist/ionic/p-3789920e.js +4 -0
  476. package/dist/ionic/{p-bdca4784.js → p-37aab7f7.js} +1 -1
  477. package/dist/ionic/p-3b7d328b.system.entry.js +4 -0
  478. package/dist/ionic/{p-f53d074d.system.entry.js → p-3b9edd02.system.entry.js} +1 -1
  479. package/dist/ionic/{p-5e23bea8.system.entry.js → p-3d23a234.system.entry.js} +1 -1
  480. package/dist/ionic/{p-717e2526.system.entry.js → p-3f75319a.system.entry.js} +2 -2
  481. package/dist/ionic/{p-c858f685.js → p-46bcc2f5.js} +1 -1
  482. package/dist/ionic/p-47686f0a.system.entry.js +4 -0
  483. package/dist/ionic/{p-afd6d696.system.entry.js → p-47d7ffb4.system.entry.js} +1 -1
  484. package/dist/ionic/{p-7b1ed642.system.entry.js → p-48331301.system.entry.js} +1 -1
  485. package/dist/ionic/{p-a3df16b9.system.entry.js → p-491ec3d6.system.entry.js} +1 -1
  486. package/dist/ionic/p-495aabd4.system.entry.js +4 -0
  487. package/dist/ionic/{p-cde3ac34.system.entry.js → p-49616da4.system.entry.js} +1 -1
  488. package/dist/ionic/p-4c68b459.system.entry.js +4 -0
  489. package/dist/ionic/{p-5cb5f63d.system.entry.js → p-4cc54847.system.entry.js} +1 -1
  490. package/dist/ionic/p-4da978ac.entry.js +4 -0
  491. package/dist/ionic/{p-a022b684.system.entry.js → p-4f9018d4.system.entry.js} +1 -1
  492. package/dist/ionic/{p-3481d54e.system.entry.js → p-55ae3e14.system.entry.js} +1 -1
  493. package/dist/ionic/{p-aaaa615c.system.entry.js → p-56271222.system.entry.js} +1 -1
  494. package/dist/ionic/{p-42a9f663.system.entry.js → p-565a12d7.system.entry.js} +1 -1
  495. package/dist/ionic/{p-d39ab63d.entry.js → p-56b810d5.entry.js} +1 -1
  496. package/dist/ionic/{p-31c495c2.js → p-56ee6d9a.js} +1 -1
  497. package/dist/ionic/{p-a85d9047.system.entry.js → p-5a0345f7.system.entry.js} +1 -1
  498. package/dist/ionic/{p-ba97a133.system.entry.js → p-5b8d7cdb.system.entry.js} +1 -1
  499. package/dist/ionic/p-5d2011e1.entry.js +4 -0
  500. package/dist/ionic/p-5f3d659f.entry.js +4 -0
  501. package/dist/ionic/p-6236eae6.entry.js +4 -0
  502. package/dist/ionic/{p-8794fa00.system.entry.js → p-625ef2fb.system.entry.js} +1 -1
  503. package/dist/ionic/{p-6871553b.system.js → p-62b7320a.system.js} +1 -1
  504. package/dist/ionic/{p-6525a8cd.system.js → p-638865d1.system.js} +1 -1
  505. package/dist/ionic/p-662cccde.entry.js +4 -0
  506. package/dist/ionic/p-68416ff0.entry.js +4 -0
  507. package/dist/ionic/{p-c747f89b.system.entry.js → p-686ddecb.system.entry.js} +2 -2
  508. package/dist/ionic/p-6a6550fa.js +4 -0
  509. package/dist/ionic/p-6a6c61b1.system.entry.js +4 -0
  510. package/dist/ionic/p-6afef6c1.system.js +4 -0
  511. package/dist/ionic/{p-abcedc15.system.entry.js → p-6b178502.system.entry.js} +1 -1
  512. package/dist/ionic/p-6c45c617.js +4 -0
  513. package/dist/ionic/{p-74deb358.system.js → p-6ecddf53.system.js} +1 -1
  514. package/dist/ionic/{p-5c580e89.entry.js → p-70929384.entry.js} +1 -1
  515. package/dist/ionic/p-73d70509.system.js +4 -0
  516. package/dist/ionic/{p-ae35294f.system.entry.js → p-776f7b9e.system.entry.js} +1 -1
  517. package/dist/ionic/{p-a3f572a7.js → p-779aede8.js} +1 -1
  518. package/dist/ionic/p-7872e970.system.entry.js +4 -0
  519. package/dist/ionic/{p-657ccdd6.entry.js → p-804ffec9.entry.js} +1 -1
  520. package/dist/ionic/{p-a0b28c69.system.entry.js → p-81c8fa81.system.entry.js} +1 -1
  521. package/dist/ionic/{p-8e651c29.entry.js → p-8294b727.entry.js} +1 -1
  522. package/dist/ionic/p-8528c070.entry.js +4 -0
  523. package/dist/ionic/p-87e81684.system.entry.js +4 -0
  524. package/dist/ionic/p-8954015c.entry.js +4 -0
  525. package/dist/ionic/p-8a1b0abb.system.js +4 -0
  526. package/dist/ionic/{p-5928fac9.system.entry.js → p-8a335b91.system.entry.js} +1 -1
  527. package/dist/ionic/{p-cd9a7017.system.entry.js → p-8eba832c.system.entry.js} +1 -1
  528. package/dist/ionic/{p-91cb3f9a.entry.js → p-8ed4de58.entry.js} +1 -1
  529. package/dist/ionic/{p-502780e4.entry.js → p-917bb906.entry.js} +1 -1
  530. package/dist/ionic/{p-b2595011.system.entry.js → p-93f86b06.system.entry.js} +1 -1
  531. package/dist/ionic/{p-9393a49f.js → p-942a9358.js} +1 -1
  532. package/dist/ionic/p-9625a2e6.entry.js +4 -0
  533. package/dist/ionic/{p-f0194418.system.entry.js → p-9bc8bd0c.system.entry.js} +1 -1
  534. package/dist/ionic/{p-18beebdf.system.entry.js → p-9d53b773.system.entry.js} +2 -2
  535. package/dist/ionic/{p-dcb5711d.entry.js → p-9fbfbaef.entry.js} +1 -1
  536. package/dist/ionic/p-a04ecf1a.system.js +4 -0
  537. package/dist/ionic/{p-c2289cd1.js → p-a1036ce7.js} +1 -1
  538. package/dist/ionic/{p-ea25b4c8.system.entry.js → p-a3b2d4a7.system.entry.js} +2 -2
  539. package/dist/ionic/{p-5f169eba.entry.js → p-a5cd2e1f.entry.js} +1 -1
  540. package/dist/ionic/p-a5d9fafe.entry.js +4 -0
  541. package/dist/ionic/{p-49543c9c.system.js → p-a667dd1f.system.js} +1 -1
  542. package/dist/ionic/{p-df504a37.system.js → p-a875459d.system.js} +1 -1
  543. package/dist/ionic/p-ad60590b.entry.js +4 -0
  544. package/dist/ionic/{p-1924f2e0.system.entry.js → p-b1bebf4a.system.entry.js} +2 -2
  545. package/dist/ionic/p-b535c93a.entry.js +4 -0
  546. package/dist/ionic/p-b8735394.entry.js +4 -0
  547. package/dist/ionic/p-bb5bbcdf.js +4 -0
  548. package/dist/ionic/{p-37c33319.system.js → p-bd313b73.system.js} +1 -1
  549. package/dist/ionic/p-c379d010.system.entry.js +4 -0
  550. package/dist/ionic/{p-7173ba59.system.entry.js → p-c5ce0862.system.entry.js} +2 -2
  551. package/dist/ionic/p-c76ef1ea.entry.js +4 -0
  552. package/dist/ionic/p-c8580577.system.js +4 -0
  553. package/dist/ionic/{p-275705e5.entry.js → p-cc0cf2d1.entry.js} +1 -1
  554. package/dist/ionic/{p-c39cc96d.system.entry.js → p-d3a95477.system.entry.js} +1 -1
  555. package/dist/ionic/{p-ceceac26.js → p-d68ecea4.js} +1 -1
  556. package/dist/ionic/p-d873a8c2.system.entry.js +4 -0
  557. package/dist/ionic/{p-64db1331.entry.js → p-dbd77435.entry.js} +1 -1
  558. package/dist/ionic/p-dc2d302c.entry.js +4 -0
  559. package/dist/ionic/{p-601e17b4.entry.js → p-dd2996cf.entry.js} +1 -1
  560. package/dist/ionic/{p-508a4c87.entry.js → p-dec423a3.entry.js} +1 -1
  561. package/dist/ionic/{p-1131946f.system.entry.js → p-deeae694.system.entry.js} +1 -1
  562. package/dist/ionic/p-e06d65b3.system.entry.js +4 -0
  563. package/dist/ionic/{p-d4cadd34.system.js → p-e0948431.system.js} +1 -1
  564. package/dist/ionic/{p-86813176.system.entry.js → p-e15cfec4.system.entry.js} +1 -1
  565. package/dist/ionic/p-e1bd8d9c.system.entry.js +4 -0
  566. package/dist/ionic/{p-1636923f.system.js → p-e34eefb5.system.js} +1 -1
  567. package/dist/ionic/{p-b6279412.entry.js → p-e57a212a.entry.js} +1 -1
  568. package/dist/ionic/{p-3471a7c0.system.entry.js → p-e6ee6ead.system.entry.js} +1 -1
  569. package/dist/ionic/p-e7055fb8.entry.js +4 -0
  570. package/dist/ionic/p-ea723fc4.entry.js +4 -0
  571. package/dist/ionic/p-ead0d463.js +5 -0
  572. package/dist/ionic/{p-30d77a91.system.js → p-ebc1ca90.system.js} +1 -1
  573. package/dist/ionic/p-ed3ad350.entry.js +4 -0
  574. package/dist/ionic/{p-5d7e32ce.js → p-efef9f3a.js} +1 -1
  575. package/dist/ionic/p-f4ccaa64.entry.js +4 -0
  576. package/dist/ionic/p-f4fb429a.system.js +4 -0
  577. package/dist/ionic/{p-a5951821.system.js → p-f549716b.system.js} +1 -1
  578. package/dist/ionic/p-f6a50d5c.entry.js +4 -0
  579. package/dist/ionic/p-fbd01db3.system.js +4 -0
  580. package/dist/ionic/p-fc053a55.entry.js +4 -0
  581. package/dist/ionic/{p-1f19958f.system.entry.js → p-fd059a23.system.entry.js} +1 -1
  582. package/dist/ionic/{p-f8c96502.system.entry.js → p-fdcf1482.system.entry.js} +1 -1
  583. package/dist/ionic/{p-e2bb92ed.system.js → p-fe320051.system.js} +1 -1
  584. package/dist/ionic/{p-3079950e.entry.js → p-fe3ae39d.entry.js} +1 -1
  585. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  586. package/dist/types/components/datetime/datetime.d.ts +10 -1
  587. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  588. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  589. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  590. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  591. package/dist/types/components/input/input.utils.d.ts +1 -1
  592. package/dist/types/components/range/range.d.ts +29 -0
  593. package/dist/types/components/searchbar/searchbar.d.ts +37 -0
  594. package/dist/types/components/toggle/toggle.d.ts +1 -1
  595. package/dist/types/components.d.ts +36 -4
  596. package/dist/types/utils/framework-delegate.d.ts +1 -1
  597. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  598. package/dist/types/utils/helpers.d.ts +1 -1
  599. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  600. package/dist/types/utils/overlays.d.ts +7 -2
  601. package/hydrate/index.js +737 -340
  602. package/package.json +9 -5
  603. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  604. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  605. package/dist/esm-es5/data-0f3ab200.js +0 -4
  606. package/dist/esm-es5/framework-delegate-fed7fe7c.js +0 -4
  607. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  608. package/dist/esm-es5/helpers-c0b9ca37.js +0 -4
  609. package/dist/esm-es5/index-47b2066d.js +0 -4
  610. package/dist/esm-es5/index-4c30cddd.js +0 -5
  611. package/dist/esm-es5/index-d64f34ea.js +0 -4
  612. package/dist/esm-es5/input-shims-b90ca55f.js +0 -4
  613. package/dist/esm-es5/md.transition-564937a7.js +0 -4
  614. package/dist/esm-es5/overlays-04a9a43f.js +0 -4
  615. package/dist/ionic/p-027f3674.entry.js +0 -4
  616. package/dist/ionic/p-05d560ec.entry.js +0 -4
  617. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  618. package/dist/ionic/p-0e23c289.system.entry.js +0 -4
  619. package/dist/ionic/p-1f16d040.entry.js +0 -4
  620. package/dist/ionic/p-21ca1f1c.js +0 -4
  621. package/dist/ionic/p-2327064c.entry.js +0 -4
  622. package/dist/ionic/p-23c73017.entry.js +0 -4
  623. package/dist/ionic/p-2e1f014a.system.entry.js +0 -4
  624. package/dist/ionic/p-337ac0f5.entry.js +0 -4
  625. package/dist/ionic/p-396083cc.entry.js +0 -4
  626. package/dist/ionic/p-3a7de59c.entry.js +0 -4
  627. package/dist/ionic/p-3c6f02cf.system.js +0 -4
  628. package/dist/ionic/p-3d961d93.entry.js +0 -4
  629. package/dist/ionic/p-3e9ad72a.system.entry.js +0 -4
  630. package/dist/ionic/p-43a5edee.entry.js +0 -4
  631. package/dist/ionic/p-49aba878.js +0 -4
  632. package/dist/ionic/p-4f777b5e.js +0 -4
  633. package/dist/ionic/p-4fda5c35.entry.js +0 -4
  634. package/dist/ionic/p-5b40d967.entry.js +0 -4
  635. package/dist/ionic/p-5c2ae448.js +0 -4
  636. package/dist/ionic/p-5c6a04bd.entry.js +0 -4
  637. package/dist/ionic/p-61ba2137.system.js +0 -4
  638. package/dist/ionic/p-64761c90.entry.js +0 -4
  639. package/dist/ionic/p-64856c3c.system.entry.js +0 -4
  640. package/dist/ionic/p-6486e393.system.entry.js +0 -4
  641. package/dist/ionic/p-667e3e2d.entry.js +0 -4
  642. package/dist/ionic/p-68ba8e77.system.entry.js +0 -4
  643. package/dist/ionic/p-72fa96bf.system.js +0 -5
  644. package/dist/ionic/p-7330c044.system.js +0 -4
  645. package/dist/ionic/p-7ce40e7b.entry.js +0 -4
  646. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  647. package/dist/ionic/p-95d5a097.entry.js +0 -4
  648. package/dist/ionic/p-9cd7ba27.system.js +0 -4
  649. package/dist/ionic/p-9ec7208d.system.js +0 -4
  650. package/dist/ionic/p-a6e465f5.entry.js +0 -4
  651. package/dist/ionic/p-a8a56449.entry.js +0 -4
  652. package/dist/ionic/p-bd4787eb.entry.js +0 -4
  653. package/dist/ionic/p-c11bab7e.entry.js +0 -4
  654. package/dist/ionic/p-c1797ec5.system.entry.js +0 -4
  655. package/dist/ionic/p-c308f773.entry.js +0 -4
  656. package/dist/ionic/p-c80c7e90.system.js +0 -4
  657. package/dist/ionic/p-cb9e71e0.entry.js +0 -4
  658. package/dist/ionic/p-db30f71b.entry.js +0 -4
  659. package/dist/ionic/p-dbcba5a2.js +0 -4
  660. package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
  661. package/dist/ionic/p-e9f9388e.system.js +0 -4
  662. package/dist/ionic/p-ed7a529f.js +0 -5
  663. package/dist/ionic/p-edcada2b.system.entry.js +0 -4
  664. package/dist/ionic/p-f460c7ae.entry.js +0 -4
  665. package/dist/ionic/p-f7dce541.js +0 -4
  666. package/dist/ionic/p-f840d817.entry.js +0 -4
  667. package/dist/ionic/p-fb9f8495.system.entry.js +0 -4
  668. package/dist/ionic/p-fd2aa50c.js +0 -4
  669. /package/dist/ionic/{p-b5839dc2.js → p-1b3ffb2f.js} +0 -0
  670. /package/dist/ionic/{p-fd8ced99.system.js → p-5fc8d5ef.system.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/themes/ionic.functions.font.scss","../src/themes/ionic.mixins.scss","../src/css/padding.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACHA;EACE;EACA;EACA;EACA;EDsTE,cCpTe;EDqTf,eCrTe;EDyUjB,aCzUiB;ED0UjB,gBC1UiB;;;AAGnB;EACE;EACA;EACA;EACA;EDiTE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;EDqVR,aCrVQ;EDsVR,gBCtVQ;;;AAwBV;EACE;ED4TA,aCrVQ;;;AA8BV;EACE;EDqSE,uBCpUM;EDqUN,sBCrUM;;;AAoCV;EACE;EDiSE,qBCtUM;EDuUN,oBCvUM;;;AA0CV;EACE;ED2SA,gBCtVQ;;;AAgDV;EACE;EACA;EDmSA,aCrVQ;EDsVR,gBCtVQ;;;AAuDV;EACE;EACA;ED2QE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;;;AAkEV;EACE;EACA;EACA;EACA;ED0PE,aCxPc;EDyPd,cCzPc;ED6QhB,YC7QgB;ED8QhB,eC9QgB;;;AAGlB;EACE;EACA;EACA;EACA;EDqPE,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;EDoVP,YCpVO;EDqVP,eCrVO;;;AAmFT;EACE;EDgQA,YCpVO;;;AAyFT;EACE;EDyOE,sBCnUK;EDoUL,qBCpUK;;;AA+FT;EACE;EDqOE,oBCrUK;EDsUL,mBCtUK;;;AAqGT;EACE;ED+OA,eCrVO;;;AA2GT;EACE;EACA;EDuOA,YCpVO;EDqVP,eCrVO;;;AAkHT;EACE;EACA;ED+ME,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;;;AFLT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AELI;EF2fE;;;AEvfF;EFufE;;;AEnfF;EFqeE;;AAzPO;EA4PP;;;AArPO;EAqPP;;;AA/OJ;EAcW;IAiOP;;;;AEpeF;EFweE;;AAhQO;EAmQP;;;AA5PO;EA4PP;;;AAtPJ;EAcW;IAwOP;;;;AAnWF;EEpJA;IF2fE;;;EEvfF;IFufE;;;EEnfF;IFqeE;;EAzPO;IA4PP;;;EArPO;IAqPP;;;EA/OJ;IAcW;MAiOP;;;;EEpeF;IFweE;;EAhQO;IAmQP;;;EA5PO;IA4PP;;;EAtPJ;IAcW;MAwOP;;;;AAnWF;EEpJA;IF2fE;;;EEvfF;IFufE;;;EEnfF;IFqeE;;EAzPO;IA4PP;;;EArPO;IAqPP;;;EA/OJ;IAcW;MAiOP;;;;EEpeF;IFweE;;EAhQO;IAmQP;;;EA5PO;IA4PP;;;EAtPJ;IAcW;MAwOP;;;;AAnWF;EEpJA;IF2fE;;;EEvfF;IFufE;;;EEnfF;IFqeE;;EAzPO;IA4PP;;;EArPO;IAqPP;;;EA/OJ;IAcW;MAiOP;;;;EEpeF;IFweE;;EAhQO;IAmQP;;;EA5PO;IA4PP;;;EAtPJ;IAcW;MAwOP;;;;AAnWF;EEpJA;IF2fE;;;EEvfF;IFufE;;;EEnfF;IFqeE;;EAzPO;IA4PP;;;EArPO;IAqPP;;;EA/OJ;IAcW;MAiOP;;;;EEpeF;IFweE;;EAhQO;IAmQP;;;EA5PO;IA4PP;;;EAtPJ;IAcW;MAwOP;;;;AD/fN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AGLI;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AJrCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AILI;AACE;EACA;;;AAGF;AACE;EACA;;;AAGF;AACE;EACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;ACjBN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AN5FF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AMXA;EACE;;;AAUE;EACE;;;AAOF;EACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE","file":"utils.bundle.css","sourcesContent":["@use \"sass:math\";\n\n$baselineSize: 16px !default;\n$baselineUnit: 1rem !default;\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font($size, $unit: $baselineUnit) {\n @return (math.div($size, $baselineSize)) * $unit;\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-max($size, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $maxScale: $size * $maxScale;\n\n @return min($baseScale, $maxScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-min($minScale, $size, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $minScale: $size * $minScale;\n\n @return max($minScale, $baseScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-clamp($minScale, $baseSize, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($baseSize, $unit);\n $maxScale: $baseSize * $maxScale;\n $minScale: $baseSize * $minScale;\n\n @return clamp($minScale, $baseScale, $maxScale);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n @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","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA,gBACE,mBACA,iBACA,iBACA,oBCsTE,aDpTe,ECqTf,cDrTe,ECyUjB,YDzUiB,EC0UjB,eD1UiB,EAGnB,aACE,0CACA,wCACA,wCACA,2CCiTE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBCqVR,YDrVQ,yBCsVR,eDtVQ,yBAwBV,iBACE,wCC4TA,YDrVQ,yBA8BV,mBACE,0CCqSE,sBDpUM,yBCqUN,qBDrUM,yBAoCV,iBACE,wCCiSE,oBDtUM,yBCuUN,mBDvUM,yBA0CV,oBACE,2CC2SA,eDtVQ,yBAgDV,sBACE,wCACA,2CCmSA,YDrVQ,yBCsVR,eDtVQ,yBAuDV,wBACE,0CACA,wCC2QE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBAkEV,eACE,kBACA,gBACA,gBACA,mBC0PE,YDxPc,ECyPd,aDzPc,EC6QhB,WD7QgB,EC8QhB,cD9QgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCqPE,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBCoVP,WDpVO,wBCqVP,cDrVO,wBAmFT,gBACE,sCCgQA,WDpVO,wBAyFT,kBACE,wCCyOE,qBDnUK,wBCoUL,oBDpUK,wBA+FT,gBACE,sCCqOE,mBDrUK,wBCsUL,kBDtUK,wBAqGT,mBACE,yCC+OA,cDrVO,wBA2GT,qBACE,sCACA,yCCuOA,WDpVO,wBCqVP,cDrVO,wBAkHT,uBACE,wCACA,sCC+ME,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBEGL,gBD2fE,sBCvfF,iBDufE,uBCnfF,iBDqeE,sBAzPO,0CA4PP,uBArPO,2BAqPP,uBA/OJ,8BAcW,0BAiOP,wBCpeF,eDweE,uBAhQO,wCAmQP,sBA5PO,yBA4PP,sBAtPJ,8BAcW,wBAwOP,uBAnWF,yBCpJA,mBD2fE,sBCvfF,oBDufE,uBCnfF,oBDqeE,sBAzPO,6CA4PP,uBArPO,8BAqPP,uBA/OJ,8BAcW,6BAiOP,wBCpeF,kBDweE,uBAhQO,2CAmQP,sBA5PO,4BA4PP,sBAtPJ,8BAcW,2BAwOP,wBAnWF,yBCpJA,mBD2fE,sBCvfF,oBDufE,uBCnfF,oBDqeE,sBAzPO,6CA4PP,uBArPO,8BAqPP,uBA/OJ,8BAcW,6BAiOP,wBCpeF,kBDweE,uBAhQO,2CAmQP,sBA5PO,4BA4PP,sBAtPJ,8BAcW,2BAwOP,wBAnWF,yBCpJA,mBD2fE,sBCvfF,oBDufE,uBCnfF,oBDqeE,sBAzPO,6CA4PP,uBArPO,8BAqPP,uBA/OJ,8BAcW,6BAiOP,wBCpeF,kBDweE,uBAhQO,2CAmQP,sBA5PO,4BA4PP,sBAtPJ,8BAcW,2BAwOP,wBAnWF,0BCpJA,mBD2fE,sBCvfF,oBDufE,uBCnfF,oBDqeE,sBAzPO,6CA4PP,uBArPO,8BAqPP,uBA/OJ,8BAcW,6BAiOP,wBCpeF,kBDweE,uBAhQO,2CAmQP,sBA5PO,4BA4PP,sBAtPJ,8BAcW,2BAwOP,wBEvfF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,0BEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,0BGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCjBN,sBACE,iCAGF,oBACE,+BAGF,uBACE,6BAGF,wBACE,8BAGF,yBACE,+BAGF,qBACE,2BAOF,UACE,0BAGF,YACE,4BAGF,kBACE,kCAOF,2BACE,sCAGF,4BACE,kCAGF,yBACE,oCAGF,4BACE,wCAGF,6BACE,yCAGF,4BACE,wCAOF,uBACE,kCAGF,wBACE,8BAGF,qBACE,gCAGF,yBACE,+BAGF,0BACE,gCC1FF,UACE,wBAUE,aACE,wBAOF,eACE,wBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,0BK/IA,gBACE,yBLuLF,6BKhLA,kBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n @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","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-2e1028fa.js');
7
+ const helpers = require('./helpers-da4c0ed1.js');
8
8
 
9
9
  let animationPrefix;
10
10
  /**
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-59a10130.js');
6
+ const ionicGlobal = require('./ionic-global-c5503e93.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index$1 = require('./index-0ffe376d.js');
6
+ const index$1 = require('./index-22617dd6.js');
7
7
  const haptic = require('./haptic-b882e0bb.js');
8
8
  const index = require('./index-d1b59ffa.js');
9
9
 
@@ -834,7 +834,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
834
834
  }
835
835
  return dayPeriod.toUpperCase();
836
836
  };
837
- const getLocalizedTime = (locale, refParts, hourCycle) => {
837
+ /**
838
+ * Including time zone options may lead to the rendered text showing a
839
+ * different time from what was selected in the Datetime, which could cause
840
+ * confusion.
841
+ */
842
+ const stripTimeZone = (formatOptions) => {
843
+ return Object.assign(Object.assign({}, formatOptions), {
844
+ /**
845
+ * Setting the time zone to UTC ensures that the value shown is always the
846
+ * same as what was selected and safeguards against older Safari bugs with
847
+ * Intl.DateTimeFormat.
848
+ */
849
+ timeZone: 'UTC',
850
+ /**
851
+ * We do not want to display the time zone name
852
+ */
853
+ timeZoneName: undefined });
854
+ };
855
+ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
838
856
  const timeParts = {
839
857
  hour: refParts.hour,
840
858
  minute: refParts.minute,
@@ -842,28 +860,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
842
860
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
843
861
  return 'Invalid Time';
844
862
  }
845
- return new Intl.DateTimeFormat(locale, {
846
- hour: 'numeric',
847
- minute: 'numeric',
848
- /**
849
- * Setting the timeZone to UTC prevents
850
- * new Intl.DatetimeFormat from subtracting
851
- * the user's current timezone offset
852
- * when formatting the time.
853
- */
854
- timeZone: 'UTC',
863
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
855
864
  /**
856
865
  * We use hourCycle here instead of hour12 due to:
857
866
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
858
867
  */
859
- hourCycle,
860
- /**
861
- * Setting Z at the end indicates that this
862
- * date string is in the UTC time zone. This
863
- * prevents new Date from adding the time zone
864
- * offset when getting the ISO string.
865
- */
866
- }).format(new Date(convertDataToISO(Object.assign({
868
+ hourCycle })).format(new Date(convertDataToISO(Object.assign({
867
869
  /**
868
870
  * JS uses a simplified ISO 8601 format which allows for
869
871
  * date-only formats and date-time formats, but not
@@ -949,14 +951,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
949
951
  */
950
952
  return today ? `Today, ${labelString}` : labelString;
951
953
  };
952
- /**
953
- * Gets the day of the week, month, and day
954
- * Used for the header in MD mode.
955
- */
956
- const getMonthAndDay = (locale, refParts) => {
957
- const date = getNormalizedDate(refParts);
958
- return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
959
- };
960
954
  /**
961
955
  * Given a locale and a date object,
962
956
  * return a formatted string that includes
@@ -967,15 +961,6 @@ const getMonthAndYear = (locale, refParts) => {
967
961
  const date = getNormalizedDate(refParts);
968
962
  return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
969
963
  };
970
- /**
971
- * Given a locale and a date object,
972
- * return a formatted string that includes
973
- * the short month, numeric day, and full year.
974
- * Example: Apr 22, 2021
975
- */
976
- const getMonthDayAndYear = (locale, refParts) => {
977
- return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
978
- };
979
964
  /**
980
965
  * Given a locale and a date object,
981
966
  * return a formatted string that includes
@@ -1025,7 +1010,7 @@ const getNormalizedDate = (refParts) => {
1025
1010
  */
1026
1011
  const getLocalizedDateTime = (locale, refParts, options) => {
1027
1012
  const date = getNormalizedDate(refParts);
1028
- return getDateTimeFormat(locale, options).format(date);
1013
+ return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
1029
1014
  };
1030
1015
  /**
1031
1016
  * Given a locale, DatetimeParts, and options
@@ -1641,10 +1626,8 @@ exports.getEndOfWeek = getEndOfWeek;
1641
1626
  exports.getHourCycle = getHourCycle;
1642
1627
  exports.getLocalizedDateTime = getLocalizedDateTime;
1643
1628
  exports.getLocalizedTime = getLocalizedTime;
1644
- exports.getMonthAndDay = getMonthAndDay;
1645
1629
  exports.getMonthAndYear = getMonthAndYear;
1646
1630
  exports.getMonthColumnData = getMonthColumnData;
1647
- exports.getMonthDayAndYear = getMonthDayAndYear;
1648
1631
  exports.getNextDay = getNextDay;
1649
1632
  exports.getNextMonth = getNextMonth;
1650
1633
  exports.getNextWeek = getNextWeek;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-2e1028fa.js');
6
+ const helpers = require('./helpers-da4c0ed1.js');
7
7
 
8
8
  /**
9
9
  * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-2e1028fa.js');
6
+ const helpers = require('./helpers-da4c0ed1.js');
7
7
 
8
8
  // TODO(FW-2832): types
9
9
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const ionicGlobal = require('./ionic-global-59a10130.js');
8
- require('./index-0ffe376d.js');
7
+ const ionicGlobal = require('./ionic-global-c5503e93.js');
8
+ require('./index-22617dd6.js');
9
9
 
10
10
  /**
11
11
  * CloseWatcher is a newer API that lets
@@ -19,7 +19,7 @@ require('./index-0ffe376d.js');
19
19
  * moment this file is evaluated which could be
20
20
  * before the config is set.
21
21
  */
22
- const shoudUseCloseWatcher = () => ionicGlobal.config.get('experimentalCloseWatcher', false) && index.win !== undefined && 'CloseWatcher' in index.win;
22
+ const shouldUseCloseWatcher = () => ionicGlobal.config.get('experimentalCloseWatcher', false) && index.win !== undefined && 'CloseWatcher' in index.win;
23
23
  /**
24
24
  * When hardwareBackButton: false in config,
25
25
  * we need to make sure we also block the default
@@ -89,7 +89,7 @@ const startHardwareBackButton = () => {
89
89
  * backbutton event otherwise we may get duplicate
90
90
  * events firing.
91
91
  */
92
- if (shoudUseCloseWatcher()) {
92
+ if (shouldUseCloseWatcher()) {
93
93
  let watcher;
94
94
  const configureWatcher = () => {
95
95
  watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
@@ -118,5 +118,5 @@ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu
118
118
  exports.MENU_BACK_BUTTON_PRIORITY = MENU_BACK_BUTTON_PRIORITY;
119
119
  exports.OVERLAY_BACK_BUTTON_PRIORITY = OVERLAY_BACK_BUTTON_PRIORITY;
120
120
  exports.blockHardwareBackButton = blockHardwareBackButton;
121
- exports.shoudUseCloseWatcher = shoudUseCloseWatcher;
121
+ exports.shouldUseCloseWatcher = shouldUseCloseWatcher;
122
122
  exports.startHardwareBackButton = startHardwareBackButton;
@@ -239,7 +239,7 @@ const findItemLabel = (componentEl) => {
239
239
  }
240
240
  return null;
241
241
  };
242
- const focusElement = (el) => {
242
+ const focusVisibleElement = (el) => {
243
243
  el.focus();
244
244
  /**
245
245
  * When programmatically focusing an element,
@@ -424,7 +424,7 @@ exports.componentOnReady = componentOnReady;
424
424
  exports.debounce = debounce;
425
425
  exports.debounceEvent = debounceEvent;
426
426
  exports.findItemLabel = findItemLabel;
427
- exports.focusElement = focusElement;
427
+ exports.focusVisibleElement = focusVisibleElement;
428
428
  exports.getAriaLabel = getAriaLabel;
429
429
  exports.getElementRoot = getElementRoot;
430
430
  exports.hasLazyBuild = hasLazyBuild;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-0ffe376d.js');
7
- const helpers = require('./helpers-2e1028fa.js');
6
+ const index = require('./index-22617dd6.js');
7
+ const helpers = require('./helpers-da4c0ed1.js');
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
10
10
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -12,8 +12,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
12
12
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
13
13
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
14
14
 
15
- const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-c3b11cc3.js'); });
16
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-82a8c649.js'); });
15
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-30830fc4.js'); });
16
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-7f581866.js'); });
17
17
  // TODO(FW-2832): types
18
18
  const transition = (opts) => {
19
19
  return new Promise((resolve, reject) => {
@@ -886,17 +886,35 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
886
886
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
887
887
  {
888
888
  // remove attributes no longer present on the vnode by setting them to undefined
889
- for (memberName in oldVnodeAttrs) {
889
+ for (memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
890
890
  if (!(memberName in newVnodeAttrs)) {
891
891
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
892
892
  }
893
893
  }
894
894
  }
895
895
  // add new & update changed attributes
896
- for (memberName in newVnodeAttrs) {
896
+ for (memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
897
897
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
898
898
  }
899
899
  };
900
+ /**
901
+ * Sort a list of attribute names to ensure that all the attribute names which
902
+ * are _not_ `"ref"` come before `"ref"`. Preserve the order of the non-ref
903
+ * attributes.
904
+ *
905
+ * **Note**: if the supplied attributes do not include `'ref'` then the same
906
+ * (by reference) array will be returned without modification.
907
+ *
908
+ * @param attrNames attribute names to sort
909
+ * @returns a list of attribute names, sorted if they include `"ref"`
910
+ */
911
+ function sortedAttrNames(attrNames) {
912
+ return attrNames.includes('ref')
913
+ ? // we need to sort these to ensure that `'ref'` is the last attr
914
+ [...attrNames.filter((attr) => attr !== 'ref'), 'ref']
915
+ : // no need to sort, return the original array
916
+ attrNames;
917
+ }
900
918
  /**
901
919
  * Create a DOM Node corresponding to one of the children of a given VNode.
902
920
  *
@@ -908,6 +926,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
908
926
  * @returns the newly created node
909
927
  */
910
928
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
929
+ var _a;
911
930
  // tslint:disable-next-line: prefer-const
912
931
  const newVNode = newParentVNode.$children$[childIndex];
913
932
  let i = 0;
@@ -992,6 +1011,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
992
1011
  elm['s-cr'] = contentRef;
993
1012
  // remember the slot name, or empty string for default slot
994
1013
  elm['s-sn'] = newVNode.$name$ || '';
1014
+ // remember the ref callback function
1015
+ elm['s-rf'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.ref;
995
1016
  // check if we've got an old vnode for this slot
996
1017
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
997
1018
  if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
@@ -1007,7 +1028,15 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
1007
1028
  };
1008
1029
  const putBackInOriginalLocation = (parentElm, recursive) => {
1009
1030
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1010
- const oldSlotChildNodes = parentElm.childNodes;
1031
+ const oldSlotChildNodes = Array.from(parentElm.childNodes);
1032
+ if (parentElm['s-sr'] && BUILD.experimentalSlotFixes) {
1033
+ let node = parentElm;
1034
+ while ((node = node.nextSibling)) {
1035
+ if (node && node['s-sn'] === parentElm['s-sn'] && node['s-sh'] === hostTagName) {
1036
+ oldSlotChildNodes.push(node);
1037
+ }
1038
+ }
1039
+ }
1011
1040
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
1012
1041
  const childNode = oldSlotChildNodes[i];
1013
1042
  if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
@@ -1737,7 +1766,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1737
1766
  // If the node we're currently planning on inserting the new node before is an element,
1738
1767
  // we need to do some additional checks to make sure we're inserting the node in the correct order.
1739
1768
  // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1740
- // to make sure they get inserted into their new how in the same order they were declared in their original location.
1769
+ // to make sure they get inserted into their new home in the same order they were declared in their original location.
1741
1770
  //
1742
1771
  // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1743
1772
  {
@@ -1746,6 +1775,11 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1746
1775
  let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1747
1776
  if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1748
1777
  refNode = refNode.nextSibling;
1778
+ // If the refNode is the same node to be relocated or another element's slot reference, keep searching to find the
1779
+ // correct relocation target
1780
+ while (refNode === nodeToRelocate || (refNode === null || refNode === void 0 ? void 0 : refNode['s-sr'])) {
1781
+ refNode = refNode === null || refNode === void 0 ? void 0 : refNode.nextSibling;
1782
+ }
1749
1783
  if (!refNode || !refNode['s-nr']) {
1750
1784
  insertBeforeNode = refNode;
1751
1785
  break;
@@ -1778,6 +1812,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1778
1812
  }
1779
1813
  }
1780
1814
  }
1815
+ nodeToRelocate && typeof slotRefNode['s-rf'] === 'function' && slotRefNode['s-rf'](nodeToRelocate);
1781
1816
  }
1782
1817
  else {
1783
1818
  // this node doesn't have a slot home to go to, so let's hide it
@@ -2289,7 +2324,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2289
2324
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
2290
2325
  // Let the runtime know that the component has been initialized
2291
2326
  hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
2292
- {
2327
+ const bundleId = cmpMeta.$lazyBundleId$;
2328
+ if (bundleId) {
2293
2329
  // lazy loaded components
2294
2330
  // request the component's implementation to be
2295
2331
  // wired up with the host element
@@ -2336,6 +2372,14 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2336
2372
  endNewInstance();
2337
2373
  fireConnectedCallback(hostRef.$lazyInstance$);
2338
2374
  }
2375
+ else {
2376
+ // sync constructor component
2377
+ Cstr = elm.constructor;
2378
+ // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,
2379
+ // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_
2380
+ // Stencil has completed instantiating the component.
2381
+ customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */));
2382
+ }
2339
2383
  if (Cstr.style) {
2340
2384
  // this component has styles but we haven't registered them yet
2341
2385
  let style = Cstr.style;
@@ -2591,11 +2635,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2591
2635
  if (cmpTags.length > 0) {
2592
2636
  // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2593
2637
  if (hasSlotRelocation) {
2594
- dataStyles.innerHTML += SLOT_FB_CSS;
2638
+ dataStyles.textContent += SLOT_FB_CSS;
2595
2639
  }
2596
2640
  // Add hydration styles
2597
2641
  {
2598
- dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
2642
+ dataStyles.textContent += cmpTags + HYDRATED_CSS;
2599
2643
  }
2600
2644
  // If we have styles, add them to the DOM
2601
2645
  if (dataStyles.innerHTML.length) {
@@ -4,11 +4,11 @@
4
4
  'use strict';
5
5
 
6
6
  const index$1 = require('./index-c8d52405.js');
7
- const hardwareBackButton = require('./hardware-back-button-2696acaf.js');
7
+ const hardwareBackButton = require('./hardware-back-button-adba3ac7.js');
8
8
  const index = require('./index-5915f9b3.js');
9
- const helpers = require('./helpers-2e1028fa.js');
10
- const ionicGlobal = require('./ionic-global-59a10130.js');
11
- const animation = require('./animation-fdab9de5.js');
9
+ const helpers = require('./helpers-da4c0ed1.js');
10
+ const ionicGlobal = require('./ionic-global-c5503e93.js');
11
+ const animation = require('./animation-c2840aea.js');
12
12
 
13
13
  /**
14
14
  * baseAnimation
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-2e1028fa.js');
7
+ const helpers = require('./helpers-da4c0ed1.js');
8
8
 
9
9
  const startTapClick = (config) => {
10
10
  if (index.doc === undefined) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-2e1028fa.js');
6
+ const helpers = require('./helpers-da4c0ed1.js');
7
7
  const index = require('./index-5915f9b3.js');
8
8
 
9
9
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
@@ -5,24 +5,24 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const animation = require('./animation-fdab9de5.js');
9
- const index = require('./index-c3580a90.js');
10
- const ios_transition = require('./ios.transition-c3b11cc3.js');
11
- const md_transition = require('./md.transition-82a8c649.js');
8
+ const animation = require('./animation-c2840aea.js');
9
+ const index = require('./index-1f7c54f8.js');
10
+ const ios_transition = require('./ios.transition-30830fc4.js');
11
+ const md_transition = require('./md.transition-7f581866.js');
12
12
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
13
13
  const index$1 = require('./index-d1b59ffa.js');
14
- const ionicGlobal = require('./ionic-global-59a10130.js');
15
- const helpers = require('./helpers-2e1028fa.js');
14
+ const ionicGlobal = require('./ionic-global-c5503e93.js');
15
+ const helpers = require('./helpers-da4c0ed1.js');
16
16
  const config = require('./config-4f60b98a.js');
17
17
  const theme = require('./theme-d1c573d2.js');
18
- const index$2 = require('./index-a43f7a0f.js');
19
- const overlays = require('./overlays-fb7ca451.js');
18
+ const index$2 = require('./index-5c38afe7.js');
19
+ const overlays = require('./overlays-129dfc13.js');
20
20
  require('./index-c8d52405.js');
21
- require('./index-0ffe376d.js');
21
+ require('./index-22617dd6.js');
22
22
  require('./gesture-controller-c40c045a.js');
23
- require('./hardware-back-button-2696acaf.js');
23
+ require('./hardware-back-button-adba3ac7.js');
24
24
  require('./index-5915f9b3.js');
25
- require('./framework-delegate-a3e6d060.js');
25
+ require('./framework-delegate-e0e13baa.js');
26
26
 
27
27
  const IonicSlides = (opts) => {
28
28
  const { swiper, extendParams } = opts;