voyager-ionic-core 8.0.0-rc.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) 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 +2 -2
  6. package/components/checkbox.js +5 -5
  7. package/components/ion-app.js +1 -1
  8. package/components/ion-avatar.js +1 -1
  9. package/components/ion-back-button.js +2 -2
  10. package/components/ion-badge.js +2 -2
  11. package/components/ion-breadcrumb.js +4 -4
  12. package/components/ion-breadcrumbs.js +2 -2
  13. package/components/ion-card-content.js +1 -1
  14. package/components/ion-card-header.js +2 -2
  15. package/components/ion-card-subtitle.js +2 -2
  16. package/components/ion-card-title.js +2 -2
  17. package/components/ion-card.js +1 -1
  18. package/components/ion-chip.js +2 -2
  19. package/components/ion-col.js +2 -2
  20. package/components/ion-content.js +3 -3
  21. package/components/ion-datetime-button.js +2 -2
  22. package/components/ion-datetime.js +2 -2
  23. package/components/ion-fab-button.js +2 -2
  24. package/components/ion-fab-list.js +2 -2
  25. package/components/ion-fab.js +2 -2
  26. package/components/ion-footer.js +2 -2
  27. package/components/ion-grid.js +2 -2
  28. package/components/ion-header.js +2 -2
  29. package/components/ion-img.js +1 -1
  30. package/components/ion-infinite-scroll-content.js +2 -2
  31. package/components/ion-infinite-scroll.js +1 -1
  32. package/components/ion-input-password-toggle.js +3 -3
  33. package/components/ion-input.js +3 -3
  34. package/components/ion-item-divider.js +2 -2
  35. package/components/ion-item-group.js +1 -1
  36. package/components/ion-item-option.js +2 -2
  37. package/components/ion-item-options.js +1 -1
  38. package/components/ion-item-sliding.js +1 -1
  39. package/components/ion-loading.js +2 -2
  40. package/components/ion-menu-button.js +2 -2
  41. package/components/ion-menu-toggle.js +2 -2
  42. package/components/ion-menu.js +2 -2
  43. package/components/ion-modal.js +47 -23
  44. package/components/ion-nav-link.js +1 -1
  45. package/components/ion-nav.js +1 -1
  46. package/components/ion-note.js +2 -2
  47. package/components/ion-picker-legacy.js +2 -2
  48. package/components/ion-progress-bar.js +1 -1
  49. package/components/ion-range.js +3 -3
  50. package/components/ion-refresher-content.js +1 -1
  51. package/components/ion-refresher.js +1 -1
  52. package/components/ion-reorder-group.js +1 -1
  53. package/components/ion-reorder.js +1 -1
  54. package/components/ion-router-link.js +2 -2
  55. package/components/ion-router-outlet.js +1 -1
  56. package/components/ion-row.js +1 -1
  57. package/components/ion-searchbar.js +4 -4
  58. package/components/ion-segment-button.js +3 -3
  59. package/components/ion-segment.js +2 -2
  60. package/components/ion-select-option.js +1 -1
  61. package/components/ion-select.js +2 -2
  62. package/components/ion-skeleton-text.js +2 -2
  63. package/components/ion-split-pane.js +2 -2
  64. package/components/ion-tab-bar.js +2 -2
  65. package/components/ion-tab-button.js +2 -2
  66. package/components/ion-tab.js +2 -2
  67. package/components/ion-tabs.js +1 -1
  68. package/components/ion-text.js +2 -2
  69. package/components/ion-textarea.js +2 -2
  70. package/components/ion-thumbnail.js +1 -1
  71. package/components/ion-title.js +2 -2
  72. package/components/ion-toast.js +2 -2
  73. package/components/ion-toggle.js +5 -5
  74. package/components/ion-toolbar.js +2 -2
  75. package/components/item.js +1 -1
  76. package/components/label.js +2 -2
  77. package/components/list-header.js +2 -2
  78. package/components/list.js +1 -1
  79. package/components/picker-column-option.js +2 -2
  80. package/components/picker-column.js +3 -3
  81. package/components/picker-column2.js +2 -2
  82. package/components/picker.js +2 -2
  83. package/components/popover.js +4 -4
  84. package/components/radio-group.js +1 -1
  85. package/components/radio.js +5 -5
  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 -624
  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/palettes/dark.always.css +1 -160
  108. package/css/palettes/dark.always.css.map +1 -1
  109. package/css/palettes/dark.class.css +1 -160
  110. package/css/palettes/dark.class.css.map +1 -1
  111. package/css/palettes/dark.css +0 -2
  112. package/css/palettes/dark.system.css +1 -162
  113. package/css/palettes/dark.system.css.map +1 -1
  114. package/css/palettes/high-contrast-dark.always.css +1 -180
  115. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  116. package/css/palettes/high-contrast-dark.class.css +1 -180
  117. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  118. package/css/palettes/high-contrast-dark.css +0 -2
  119. package/css/palettes/high-contrast-dark.system.css +1 -182
  120. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  121. package/css/palettes/high-contrast.always.css +1 -101
  122. package/css/palettes/high-contrast.always.css.map +1 -1
  123. package/css/palettes/high-contrast.class.css +1 -101
  124. package/css/palettes/high-contrast.class.css.map +1 -1
  125. package/css/palettes/high-contrast.css +0 -2
  126. package/css/palettes/high-contrast.system.css +1 -103
  127. package/css/palettes/high-contrast.system.css.map +1 -1
  128. package/css/structure.css +1 -152
  129. package/css/structure.css.map +1 -1
  130. package/css/text-alignment.css +1 -243
  131. package/css/text-alignment.css.map +1 -1
  132. package/css/text-transformation.css +1 -158
  133. package/css/text-transformation.css.map +1 -1
  134. package/css/typography.css +1 -157
  135. package/css/typography.css.map +1 -1
  136. package/css/utils.bundle.css +1 -1100
  137. package/css/utils.bundle.css.map +1 -1
  138. package/dist/cjs/{app-globals-63aebf89.js → app-globals-5bfa2d7f.js} +1 -1
  139. package/dist/cjs/{button-active-bd13859e.js → button-active-564be49f.js} +1 -1
  140. package/dist/cjs/{hardware-back-button-ad9299b4.js → hardware-back-button-44e7c052.js} +2 -2
  141. package/dist/cjs/{index-ff66cc7c.js → index-6d6ac424.js} +3 -3
  142. package/dist/cjs/{index-af6d0fbb.js → index-bbc6c29f.js} +32 -8
  143. package/dist/cjs/{index-5cf05f94.js → index-defd575f.js} +2 -2
  144. package/dist/cjs/index.cjs.js +8 -8
  145. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  146. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  147. package/dist/cjs/ion-alert.cjs.entry.js +7 -7
  148. package/dist/cjs/ion-app_8.cjs.entry.js +21 -21
  149. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  150. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  151. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  152. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -8
  153. package/dist/cjs/ion-button_2.cjs.entry.js +6 -6
  154. package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
  155. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  156. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  157. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  158. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  159. package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
  160. package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
  161. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  162. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  163. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  164. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  165. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  166. package/dist/cjs/ion-item_8.cjs.entry.js +15 -15
  167. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  169. package/dist/cjs/ion-modal.cjs.entry.js +52 -28
  170. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  172. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
  173. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-popover.cjs.entry.js +9 -9
  175. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  176. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -8
  177. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  178. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  179. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  180. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  181. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  182. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  183. package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
  184. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  185. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  186. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  187. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  188. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  189. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  190. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  191. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-toggle.cjs.entry.js +7 -7
  193. package/dist/cjs/{ionic-global-1adf9bc4.js → ionic-global-62487d02.js} +1 -1
  194. package/dist/cjs/ionic.cjs.js +4 -4
  195. package/dist/cjs/{ios.transition-06673f18.js → ios.transition-d4f0ca4e.js} +2 -2
  196. package/dist/cjs/loader.cjs.js +3 -3
  197. package/dist/cjs/{md.transition-4d7bb4b1.js → md.transition-857328f3.js} +2 -2
  198. package/dist/cjs/{overlays-6487955a.js → overlays-10c452b2.js} +2 -2
  199. package/dist/cjs/{status-tap-0be20572.js → status-tap-81daddfa.js} +1 -1
  200. package/dist/collection/collection-manifest.json +2 -2
  201. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  202. package/dist/collection/components/alert/alert.js +2 -2
  203. package/dist/collection/components/app/app.js +1 -1
  204. package/dist/collection/components/avatar/avatar.js +1 -1
  205. package/dist/collection/components/back-button/back-button.js +2 -2
  206. package/dist/collection/components/backdrop/backdrop.js +1 -1
  207. package/dist/collection/components/badge/badge.js +2 -2
  208. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  209. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  210. package/dist/collection/components/button/button.ios.css +47 -8
  211. package/dist/collection/components/button/button.js +2 -2
  212. package/dist/collection/components/button/button.md.css +49 -8
  213. package/dist/collection/components/buttons/buttons.js +2 -2
  214. package/dist/collection/components/card/card.js +1 -1
  215. package/dist/collection/components/card-content/card-content.js +1 -1
  216. package/dist/collection/components/card-header/card-header.js +2 -2
  217. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  218. package/dist/collection/components/card-title/card-title.js +2 -2
  219. package/dist/collection/components/checkbox/checkbox.ios.css +1 -0
  220. package/dist/collection/components/checkbox/checkbox.js +3 -3
  221. package/dist/collection/components/checkbox/checkbox.md.css +1 -0
  222. package/dist/collection/components/chip/chip.js +2 -2
  223. package/dist/collection/components/col/col.js +2 -2
  224. package/dist/collection/components/content/content.js +3 -3
  225. package/dist/collection/components/datetime/datetime.js +2 -2
  226. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  227. package/dist/collection/components/fab/fab.js +2 -2
  228. package/dist/collection/components/fab-button/fab-button.js +2 -2
  229. package/dist/collection/components/fab-list/fab-list.js +2 -2
  230. package/dist/collection/components/footer/footer.js +2 -2
  231. package/dist/collection/components/grid/grid.js +2 -2
  232. package/dist/collection/components/header/header.js +2 -2
  233. package/dist/collection/components/img/img.js +1 -1
  234. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  235. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  236. package/dist/collection/components/input/input.js +4 -4
  237. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  238. package/dist/collection/components/item/item.js +1 -1
  239. package/dist/collection/components/item-divider/item-divider.js +2 -2
  240. package/dist/collection/components/item-group/item-group.js +1 -1
  241. package/dist/collection/components/item-option/item-option.js +2 -2
  242. package/dist/collection/components/item-options/item-options.js +1 -1
  243. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  244. package/dist/collection/components/label/label.js +2 -2
  245. package/dist/collection/components/list/list.js +1 -1
  246. package/dist/collection/components/list-header/list-header.js +2 -2
  247. package/dist/collection/components/loading/loading.js +2 -2
  248. package/dist/collection/components/menu/menu.js +2 -2
  249. package/dist/collection/components/menu-button/menu-button.js +2 -2
  250. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  251. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  252. package/dist/collection/components/modal/modal.js +4 -4
  253. package/dist/collection/components/nav/nav.js +1 -1
  254. package/dist/collection/components/nav-link/nav-link.js +1 -1
  255. package/dist/collection/components/note/note.js +2 -2
  256. package/dist/collection/components/picker/picker.js +2 -2
  257. package/dist/collection/components/picker-column/picker-column.js +3 -3
  258. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  259. package/dist/collection/components/picker-legacy/picker.js +2 -2
  260. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  261. package/dist/collection/components/popover/popover.ios.css +0 -1
  262. package/dist/collection/components/popover/popover.js +2 -2
  263. package/dist/collection/components/popover/popover.md.css +0 -1
  264. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  265. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  266. package/dist/collection/components/radio/radio.ios.css +1 -0
  267. package/dist/collection/components/radio/radio.js +3 -3
  268. package/dist/collection/components/radio/radio.md.css +1 -0
  269. package/dist/collection/components/radio-group/radio-group.js +1 -1
  270. package/dist/collection/components/range/range.js +3 -3
  271. package/dist/collection/components/refresher/refresher.js +1 -1
  272. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  273. package/dist/collection/components/reorder/reorder.js +1 -1
  274. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  275. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  276. package/dist/collection/components/router-link/router-link.js +2 -2
  277. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  278. package/dist/collection/components/row/row.js +1 -1
  279. package/dist/collection/components/searchbar/searchbar.js +5 -5
  280. package/dist/collection/components/segment/segment.js +2 -2
  281. package/dist/collection/components/segment-button/segment-button.js +3 -3
  282. package/dist/collection/components/select/select.js +2 -2
  283. package/dist/collection/components/select-option/select-option.js +1 -1
  284. package/dist/collection/components/select-popover/select-popover.js +1 -1
  285. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  286. package/dist/collection/components/spinner/spinner.js +1 -1
  287. package/dist/collection/components/split-pane/split-pane.js +2 -2
  288. package/dist/collection/components/tab/tab.js +2 -2
  289. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  290. package/dist/collection/components/tab-button/tab-button.js +2 -2
  291. package/dist/collection/components/tabs/tabs.js +1 -1
  292. package/dist/collection/components/text/text.js +2 -2
  293. package/dist/collection/components/textarea/textarea.js +2 -2
  294. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  295. package/dist/collection/components/title/title.js +2 -2
  296. package/dist/collection/components/toast/toast.js +2 -2
  297. package/dist/collection/components/toggle/toggle.ios.css +1 -0
  298. package/dist/collection/components/toggle/toggle.js +3 -3
  299. package/dist/collection/components/toggle/toggle.md.css +1 -0
  300. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  301. package/dist/collection/components/toolbar/toolbar.js +2 -2
  302. package/dist/docs.json +31 -31
  303. package/dist/esm/{app-globals-b8e5e7fa.js → app-globals-49873df1.js} +1 -1
  304. package/dist/esm/{button-active-a411da52.js → button-active-46df59c1.js} +1 -1
  305. package/dist/esm/{hardware-back-button-329c81fd.js → hardware-back-button-ba8f64c2.js} +2 -2
  306. package/dist/esm/{index-10916999.js → index-56d90da9.js} +2 -2
  307. package/dist/esm/{index-6e4709ff.js → index-bcd8859b.js} +32 -8
  308. package/dist/esm/{index-f1f5de26.js → index-f0d7371a.js} +3 -3
  309. package/dist/esm/index.js +8 -8
  310. package/dist/esm/ion-accordion_2.entry.js +2 -2
  311. package/dist/esm/ion-action-sheet.entry.js +8 -8
  312. package/dist/esm/ion-alert.entry.js +7 -7
  313. package/dist/esm/ion-app_8.entry.js +21 -21
  314. package/dist/esm/ion-avatar_3.entry.js +6 -6
  315. package/dist/esm/ion-back-button.entry.js +4 -4
  316. package/dist/esm/ion-backdrop.entry.js +3 -3
  317. package/dist/esm/ion-breadcrumb_2.entry.js +8 -8
  318. package/dist/esm/ion-button_2.entry.js +6 -6
  319. package/dist/esm/ion-card_5.entry.js +10 -10
  320. package/dist/esm/ion-checkbox.entry.js +7 -7
  321. package/dist/esm/ion-chip.entry.js +4 -4
  322. package/dist/esm/ion-col_3.entry.js +7 -7
  323. package/dist/esm/ion-datetime-button.entry.js +4 -4
  324. package/dist/esm/ion-datetime_3.entry.js +10 -10
  325. package/dist/esm/ion-fab_3.entry.js +8 -8
  326. package/dist/esm/ion-img.entry.js +3 -3
  327. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  328. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  329. package/dist/esm/ion-input.entry.js +5 -5
  330. package/dist/esm/ion-item-option_3.entry.js +6 -6
  331. package/dist/esm/ion-item_8.entry.js +15 -15
  332. package/dist/esm/ion-loading.entry.js +6 -6
  333. package/dist/esm/ion-menu_3.entry.js +11 -11
  334. package/dist/esm/ion-modal.entry.js +52 -28
  335. package/dist/esm/ion-nav_2.entry.js +5 -5
  336. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  337. package/dist/esm/ion-picker-column.entry.js +5 -5
  338. package/dist/esm/ion-picker.entry.js +3 -3
  339. package/dist/esm/ion-popover.entry.js +9 -9
  340. package/dist/esm/ion-progress-bar.entry.js +3 -3
  341. package/dist/esm/ion-radio_2.entry.js +8 -8
  342. package/dist/esm/ion-range.entry.js +5 -5
  343. package/dist/esm/ion-refresher_2.entry.js +4 -4
  344. package/dist/esm/ion-reorder_2.entry.js +4 -4
  345. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  346. package/dist/esm/ion-route_4.entry.js +4 -4
  347. package/dist/esm/ion-searchbar.entry.js +6 -6
  348. package/dist/esm/ion-segment_2.entry.js +7 -7
  349. package/dist/esm/ion-select_3.entry.js +8 -8
  350. package/dist/esm/ion-spinner.entry.js +3 -3
  351. package/dist/esm/ion-split-pane.entry.js +4 -4
  352. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  353. package/dist/esm/ion-tab_2.entry.js +4 -4
  354. package/dist/esm/ion-text.entry.js +4 -4
  355. package/dist/esm/ion-textarea.entry.js +4 -4
  356. package/dist/esm/ion-toast.entry.js +6 -6
  357. package/dist/esm/ion-toggle.entry.js +7 -7
  358. package/dist/esm/{ionic-global-c4e0c089.js → ionic-global-e6c98cd0.js} +1 -1
  359. package/dist/esm/ionic.js +5 -5
  360. package/dist/esm/{ios.transition-8e181a7e.js → ios.transition-71bfa932.js} +2 -2
  361. package/dist/esm/loader.js +4 -4
  362. package/dist/esm/{md.transition-f1c3c737.js → md.transition-86aef3c0.js} +2 -2
  363. package/dist/esm/{overlays-9472c98b.js → overlays-6fb4a2f2.js} +2 -2
  364. package/dist/esm/{status-tap-39da9160.js → status-tap-299361cd.js} +1 -1
  365. package/dist/esm-es5/app-globals-49873df1.js +4 -0
  366. package/dist/esm-es5/{button-active-a411da52.js → button-active-46df59c1.js} +1 -1
  367. package/dist/esm-es5/{hardware-back-button-329c81fd.js → hardware-back-button-ba8f64c2.js} +1 -1
  368. package/dist/esm-es5/{index-10916999.js → index-56d90da9.js} +1 -1
  369. package/dist/esm-es5/index-bcd8859b.js +5 -0
  370. package/dist/esm-es5/{index-f1f5de26.js → index-f0d7371a.js} +1 -1
  371. package/dist/esm-es5/index.js +1 -1
  372. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  373. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  374. package/dist/esm-es5/ion-alert.entry.js +1 -1
  375. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  376. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  377. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  378. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  379. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  380. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  381. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  382. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  383. package/dist/esm-es5/ion-chip.entry.js +1 -1
  384. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  385. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  386. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  387. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  388. package/dist/esm-es5/ion-img.entry.js +1 -1
  389. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  390. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  391. package/dist/esm-es5/ion-input.entry.js +1 -1
  392. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  393. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  394. package/dist/esm-es5/ion-loading.entry.js +1 -1
  395. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  396. package/dist/esm-es5/ion-modal.entry.js +1 -1
  397. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  398. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  399. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  400. package/dist/esm-es5/ion-picker.entry.js +1 -1
  401. package/dist/esm-es5/ion-popover.entry.js +1 -1
  402. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  403. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  404. package/dist/esm-es5/ion-range.entry.js +1 -1
  405. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  406. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  407. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  408. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  409. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  410. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  411. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  412. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  413. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  414. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  415. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  416. package/dist/esm-es5/ion-text.entry.js +1 -1
  417. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  418. package/dist/esm-es5/ion-toast.entry.js +1 -1
  419. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  420. package/dist/esm-es5/{ionic-global-c4e0c089.js → ionic-global-e6c98cd0.js} +1 -1
  421. package/dist/esm-es5/ionic.js +1 -1
  422. package/dist/esm-es5/{ios.transition-8e181a7e.js → ios.transition-71bfa932.js} +1 -1
  423. package/dist/esm-es5/loader.js +1 -1
  424. package/dist/esm-es5/md.transition-86aef3c0.js +4 -0
  425. package/dist/esm-es5/{overlays-9472c98b.js → overlays-6fb4a2f2.js} +1 -1
  426. package/dist/esm-es5/{status-tap-39da9160.js → status-tap-299361cd.js} +1 -1
  427. package/dist/html.html-data.json +18 -18
  428. package/dist/ionic/index.esm.js +1 -1
  429. package/dist/ionic/ionic.esm.js +1 -1
  430. package/dist/ionic/ionic.js +1 -1
  431. package/dist/ionic/{p-105f7d62.system.entry.js → p-005deca1.system.entry.js} +1 -1
  432. package/dist/ionic/{p-a8f02173.system.js → p-07584ab4.system.js} +1 -1
  433. package/dist/ionic/p-0bd47555.js +4 -0
  434. package/dist/ionic/{p-75cddcc9.js → p-0e713efe.js} +1 -1
  435. package/dist/ionic/p-13cc6ee6.entry.js +4 -0
  436. package/dist/ionic/p-1472c130.entry.js +4 -0
  437. package/dist/ionic/{p-5da04d11.entry.js → p-151e8afd.entry.js} +1 -1
  438. package/dist/ionic/{p-b689b8d4.entry.js → p-1b0f4e6c.entry.js} +1 -1
  439. package/dist/ionic/p-1ba197b6.entry.js +4 -0
  440. package/dist/ionic/p-1c42ad90.entry.js +4 -0
  441. package/dist/ionic/{p-ab85debb.entry.js → p-1fa53d02.entry.js} +1 -1
  442. package/dist/ionic/{p-99daf8b7.entry.js → p-1fe1f512.entry.js} +1 -1
  443. package/dist/ionic/{p-17978fce.entry.js → p-23fdee0e.entry.js} +1 -1
  444. package/dist/ionic/{p-4dd82d9d.system.js → p-2613c305.system.js} +1 -1
  445. package/dist/ionic/{p-a1b4e619.system.entry.js → p-275dd0ba.system.entry.js} +1 -1
  446. package/dist/ionic/{p-68a1e274.system.entry.js → p-2b86020c.system.entry.js} +1 -1
  447. package/dist/ionic/{p-3d6e882f.system.entry.js → p-3008ca4e.system.entry.js} +1 -1
  448. package/dist/ionic/p-332aa81e.entry.js +4 -0
  449. package/dist/ionic/p-341b3f37.entry.js +4 -0
  450. package/dist/ionic/{p-51b68ec9.system.entry.js → p-3d977e09.system.entry.js} +2 -2
  451. package/dist/ionic/{p-d5f48185.system.entry.js → p-3de2aab8.system.entry.js} +1 -1
  452. package/dist/ionic/p-405fd996.entry.js +4 -0
  453. package/dist/ionic/{p-c1d1d004.system.entry.js → p-4809ddae.system.entry.js} +1 -1
  454. package/dist/ionic/{p-83321ee8.entry.js → p-48f60474.entry.js} +1 -1
  455. package/dist/ionic/p-495ed1c3.entry.js +4 -0
  456. package/dist/ionic/{p-c04d5a75.entry.js → p-4a01cec0.entry.js} +1 -1
  457. package/dist/ionic/p-4de53118.js +4 -0
  458. package/dist/ionic/p-4edce583.system.entry.js +4 -0
  459. package/dist/ionic/p-4f6ebc2b.entry.js +4 -0
  460. package/dist/ionic/p-4f77a080.system.entry.js +4 -0
  461. package/dist/ionic/{p-88cff52d.entry.js → p-4fadf4b0.entry.js} +1 -1
  462. package/dist/ionic/{p-8bd567ba.system.entry.js → p-50205ef9.system.entry.js} +1 -1
  463. package/dist/ionic/{p-266fc56e.system.js → p-510cb8e6.system.js} +1 -1
  464. package/dist/ionic/p-530207f9.entry.js +4 -0
  465. package/dist/ionic/p-53d37363.entry.js +4 -0
  466. package/dist/ionic/{p-49b6fee0.system.entry.js → p-53d69c70.system.entry.js} +1 -1
  467. package/dist/ionic/{p-c9c39c98.system.entry.js → p-55bc2a11.system.entry.js} +1 -1
  468. package/dist/ionic/p-582db405.system.entry.js +4 -0
  469. package/dist/ionic/p-5ad55625.entry.js +4 -0
  470. package/dist/ionic/p-5c26fed5.system.entry.js +4 -0
  471. package/dist/ionic/p-5f28cb75.js +4 -0
  472. package/dist/ionic/{p-c222f76a.js → p-67f5b57a.js} +1 -1
  473. package/dist/ionic/p-68afa357.system.entry.js +4 -0
  474. package/dist/ionic/{p-9d7fc908.system.js → p-6ac30fc3.system.js} +1 -1
  475. package/dist/ionic/p-6c5c1bb5.system.js +4 -0
  476. package/dist/ionic/{p-04070329.system.entry.js → p-6cf780b6.system.entry.js} +1 -1
  477. package/dist/ionic/p-6dc81903.entry.js +4 -0
  478. package/dist/ionic/{p-cae889f9.entry.js → p-6e4dac1a.entry.js} +1 -1
  479. package/dist/ionic/{p-fb02eeec.system.entry.js → p-6ef17d86.system.entry.js} +1 -1
  480. package/dist/ionic/p-7372cf23.system.entry.js +4 -0
  481. package/dist/ionic/p-7492572a.entry.js +4 -0
  482. package/dist/ionic/p-7596e24d.system.js +5 -0
  483. package/dist/ionic/p-76971b4f.entry.js +4 -0
  484. package/dist/ionic/{p-d2544865.system.js → p-7a7ff5e3.system.js} +1 -1
  485. package/dist/ionic/{p-5033128d.system.js → p-7bbcce53.system.js} +2 -2
  486. package/dist/ionic/{p-fb97326f.system.entry.js → p-7c93f00b.system.entry.js} +1 -1
  487. package/dist/ionic/{p-43505ff8.system.entry.js → p-7f33a6e2.system.entry.js} +2 -2
  488. package/dist/ionic/{p-07ae133d.system.entry.js → p-814efd87.system.entry.js} +1 -1
  489. package/dist/ionic/{p-6994c97a.js → p-83b445c3.js} +1 -1
  490. package/dist/ionic/{p-f818b01a.entry.js → p-8a5152e5.entry.js} +1 -1
  491. package/dist/ionic/{p-54f76ced.js → p-8f9e2850.js} +1 -1
  492. package/dist/ionic/{p-fab4ecad.system.entry.js → p-904df2ee.system.entry.js} +2 -2
  493. package/dist/ionic/{p-8e9ac22d.entry.js → p-90f8498c.entry.js} +1 -1
  494. package/dist/ionic/{p-58ea73f7.system.entry.js → p-91b568e2.system.entry.js} +1 -1
  495. package/dist/ionic/{p-25575222.system.js → p-91dabef7.system.js} +1 -1
  496. package/dist/ionic/{p-3040730e.js → p-96a561dd.js} +1 -1
  497. package/dist/ionic/p-987e38ef.system.entry.js +4 -0
  498. package/dist/ionic/{p-4429fc97.system.entry.js → p-98af538a.system.entry.js} +1 -1
  499. package/dist/ionic/p-9ccc8035.system.entry.js +4 -0
  500. package/dist/ionic/p-9fa5ff32.system.js +4 -0
  501. package/dist/ionic/{p-ea2c16b5.system.entry.js → p-9fd3ca09.system.entry.js} +2 -2
  502. package/dist/ionic/{p-049fa018.system.entry.js → p-a28ea4d8.system.entry.js} +1 -1
  503. package/dist/ionic/{p-75280815.entry.js → p-a39a73e3.entry.js} +1 -1
  504. package/dist/ionic/{p-f4cb521c.js → p-a90201f2.js} +1 -1
  505. package/dist/ionic/{p-1672c4fd.system.entry.js → p-aa79cc0e.system.entry.js} +2 -2
  506. package/dist/ionic/{p-ac4e2a74.system.entry.js → p-aa8a2f40.system.entry.js} +1 -1
  507. package/dist/ionic/p-ac045dad.entry.js +4 -0
  508. package/dist/ionic/{p-3c70b01b.entry.js → p-ad2b9596.entry.js} +1 -1
  509. package/dist/ionic/p-ae42c907.entry.js +4 -0
  510. package/dist/ionic/{p-2f6cedaf.system.entry.js → p-aea5f293.system.entry.js} +1 -1
  511. package/dist/ionic/p-b4a7f856.system.entry.js +4 -0
  512. package/dist/ionic/p-b6519a42.entry.js +4 -0
  513. package/dist/ionic/{p-a88fdfac.entry.js → p-ba35f07f.entry.js} +1 -1
  514. package/dist/ionic/{p-fda4872f.entry.js → p-bc3d649d.entry.js} +1 -1
  515. package/dist/ionic/p-c1c77386.js +5 -0
  516. package/dist/ionic/{p-76907c2f.system.entry.js → p-c2762c6a.system.entry.js} +1 -1
  517. package/dist/ionic/{p-ea4be6ac.system.js → p-c4e495a3.system.js} +1 -1
  518. package/dist/ionic/{p-d8067ea4.system.entry.js → p-c4eafa12.system.entry.js} +1 -1
  519. package/dist/ionic/{p-ff2323ba.system.entry.js → p-c54b167f.system.entry.js} +1 -1
  520. package/dist/ionic/{p-510578f3.system.entry.js → p-c927dbe2.system.entry.js} +1 -1
  521. package/dist/ionic/{p-716ab5f8.system.entry.js → p-ca5bb110.system.entry.js} +1 -1
  522. package/dist/ionic/p-ca6decbd.entry.js +4 -0
  523. package/dist/ionic/p-cbd87df6.entry.js +4 -0
  524. package/dist/ionic/p-cf45a5c7.system.entry.js +4 -0
  525. package/dist/ionic/{p-100bedc4.system.entry.js → p-cf8101a6.system.entry.js} +1 -1
  526. package/dist/ionic/p-d061515d.system.entry.js +4 -0
  527. package/dist/ionic/{p-2e12bda2.entry.js → p-d73f49d0.entry.js} +1 -1
  528. package/dist/ionic/{p-d8f66669.entry.js → p-dbc3e90c.entry.js} +1 -1
  529. package/dist/ionic/{p-4511ba0e.system.entry.js → p-dc4406d7.system.entry.js} +1 -1
  530. package/dist/ionic/p-dec86943.entry.js +4 -0
  531. package/dist/ionic/p-df0d39c7.system.entry.js +4 -0
  532. package/dist/ionic/{p-fbd30ec7.entry.js → p-e099a6f3.entry.js} +1 -1
  533. package/dist/ionic/p-e1ad8e76.entry.js +4 -0
  534. package/dist/ionic/{p-0bbb6edf.system.entry.js → p-e292247e.system.entry.js} +1 -1
  535. package/dist/ionic/p-e548fedf.system.entry.js +4 -0
  536. package/dist/ionic/{p-a7ba2dcc.system.js → p-e5a3659f.system.js} +1 -1
  537. package/dist/ionic/{p-71688099.system.entry.js → p-e6d46b5d.system.entry.js} +1 -1
  538. package/dist/ionic/p-e781c893.entry.js +4 -0
  539. package/dist/ionic/{p-3e3b34f7.system.entry.js → p-e81c3ca2.system.entry.js} +1 -1
  540. package/dist/ionic/{p-e8a0e731.entry.js → p-e8a713b5.entry.js} +1 -1
  541. package/dist/ionic/{p-d98c0112.entry.js → p-e93cd31c.entry.js} +1 -1
  542. package/dist/ionic/p-ec178f19.entry.js +4 -0
  543. package/dist/ionic/{p-7df2c495.entry.js → p-eda2459e.entry.js} +1 -1
  544. package/dist/ionic/{p-5e7c32e8.system.entry.js → p-f13dc6bd.system.entry.js} +1 -1
  545. package/dist/ionic/p-f6ca4d02.js +4 -0
  546. package/dist/ionic/{p-df48edd6.entry.js → p-f6fec6a0.entry.js} +1 -1
  547. package/dist/ionic/{p-0ebb1fe7.system.entry.js → p-f8f8c5a8.system.entry.js} +1 -1
  548. package/dist/ionic/{p-0f2d99a6.entry.js → p-f956e38a.entry.js} +1 -1
  549. package/dist/ionic/p-fea11771.entry.js +4 -0
  550. package/dist/ionic/{p-71215c1d.system.js → p-ffbc80ae.system.js} +1 -1
  551. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  552. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  553. package/dist/types/components/input/input.utils.d.ts +1 -1
  554. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  555. package/dist/types/components/refresher/refresher.utils.d.ts +2 -2
  556. package/dist/types/utils/framework-delegate.d.ts +1 -1
  557. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  558. package/hydrate/index.js +245 -199
  559. package/package.json +6 -6
  560. package/dist/esm-es5/app-globals-b8e5e7fa.js +0 -4
  561. package/dist/esm-es5/index-6e4709ff.js +0 -5
  562. package/dist/esm-es5/md.transition-f1c3c737.js +0 -4
  563. package/dist/ionic/p-0aa4682e.entry.js +0 -4
  564. package/dist/ionic/p-0de546bb.entry.js +0 -4
  565. package/dist/ionic/p-1b235142.entry.js +0 -4
  566. package/dist/ionic/p-1cff9cad.entry.js +0 -4
  567. package/dist/ionic/p-1f9cdee2.entry.js +0 -4
  568. package/dist/ionic/p-23b89985.entry.js +0 -4
  569. package/dist/ionic/p-3391d9a3.entry.js +0 -4
  570. package/dist/ionic/p-352f7037.system.entry.js +0 -4
  571. package/dist/ionic/p-35b9e842.entry.js +0 -4
  572. package/dist/ionic/p-3f70bfba.entry.js +0 -4
  573. package/dist/ionic/p-4a615fea.entry.js +0 -4
  574. package/dist/ionic/p-51ff648c.entry.js +0 -4
  575. package/dist/ionic/p-546433d2.js +0 -4
  576. package/dist/ionic/p-56c3b69c.entry.js +0 -4
  577. package/dist/ionic/p-596e0cf8.system.entry.js +0 -4
  578. package/dist/ionic/p-5ae49f12.entry.js +0 -4
  579. package/dist/ionic/p-5b1273f4.system.entry.js +0 -4
  580. package/dist/ionic/p-5d3f6707.entry.js +0 -4
  581. package/dist/ionic/p-65d26d94.system.entry.js +0 -4
  582. package/dist/ionic/p-6744e460.entry.js +0 -4
  583. package/dist/ionic/p-69bc14fd.entry.js +0 -4
  584. package/dist/ionic/p-6a7eac5a.js +0 -4
  585. package/dist/ionic/p-6f4db5ce.system.entry.js +0 -4
  586. package/dist/ionic/p-74a9cafe.system.js +0 -5
  587. package/dist/ionic/p-7d9eefb3.system.js +0 -4
  588. package/dist/ionic/p-7fc505bf.entry.js +0 -4
  589. package/dist/ionic/p-896111fa.entry.js +0 -4
  590. package/dist/ionic/p-9ad82dba.js +0 -5
  591. package/dist/ionic/p-a1f9f629.system.entry.js +0 -4
  592. package/dist/ionic/p-aa110ca0.system.entry.js +0 -4
  593. package/dist/ionic/p-aa4f2703.system.entry.js +0 -4
  594. package/dist/ionic/p-ac9f44a8.system.entry.js +0 -4
  595. package/dist/ionic/p-bb835b4d.system.entry.js +0 -4
  596. package/dist/ionic/p-c198e1e1.system.entry.js +0 -4
  597. package/dist/ionic/p-c41af68a.entry.js +0 -4
  598. package/dist/ionic/p-c80d05c9.js +0 -4
  599. package/dist/ionic/p-c8510ca2.entry.js +0 -4
  600. package/dist/ionic/p-c8f2b769.entry.js +0 -4
  601. package/dist/ionic/p-c99ccdc9.entry.js +0 -4
  602. package/dist/ionic/p-d79542bd.system.js +0 -4
  603. package/dist/ionic/p-dc1372e0.entry.js +0 -4
  604. package/dist/ionic/p-df6fa126.entry.js +0 -4
  605. package/dist/ionic/p-eb3da535.system.entry.js +0 -4
  606. package/dist/ionic/p-ec2d3928.system.entry.js +0 -4
  607. package/dist/ionic/p-f0392d49.entry.js +0 -4
  608. package/dist/ionic/p-f94cbfe9.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/themes/ionic.functions.font.scss","../src/themes/ionic.mixins.scss","../src/css/padding.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACHA;EACE;EACA;EACA;EACA;EDsTE,cCpTe;EDqTf,eCrTe;EDyUjB,aCzUiB;ED0UjB,gBC1UiB;;;AAGnB;EACE;EACA;EACA;EACA;EDiTE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;EDqVR,aCrVQ;EDsVR,gBCtVQ;;;AAwBV;EACE;ED4TA,aCrVQ;;;AA8BV;EACE;EDqSE,uBCpUM;EDqUN,sBCrUM;;;AAoCV;EACE;EDiSE,qBCtUM;EDuUN,oBCvUM;;;AA0CV;EACE;ED2SA,gBCtVQ;;;AAgDV;EACE;EACA;EDmSA,aCrVQ;EDsVR,gBCtVQ;;;AAuDV;EACE;EACA;ED2QE,uBCpUM;EDqUN,sBCrUM;EDsUN,qBCtUM;EDuUN,oBCvUM;;;AAkEV;EACE;EACA;EACA;EACA;ED0PE,aCxPc;EDyPd,cCzPc;ED6QhB,YC7QgB;ED8QhB,eC9QgB;;;AAGlB;EACE;EACA;EACA;EACA;EDqPE,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;EDoVP,YCpVO;EDqVP,eCrVO;;;AAmFT;EACE;EDgQA,YCpVO;;;AAyFT;EACE;EDyOE,sBCnUK;EDoUL,qBCpUK;;;AA+FT;EACE;EDqOE,oBCrUK;EDsUL,mBCtUK;;;AAqGT;EACE;ED+OA,eCrVO;;;AA2GT;EACE;EACA;EDuOA,YCpVO;EDqVP,eCrVO;;;AAkHT;EACE;EACA;ED+ME,sBCnUK;EDoUL,qBCpUK;EDqUL,oBCrUK;EDsUL,mBCtUK;;;AFLT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AELI;EF2dE;;;AEvdF;EFudE;;;AEndF;EFqcE;;AAzNO;EA4NP;;;AArNO;EAqNP;;;AA/MJ;EAcW;IAiMP;;;;AEpcF;EFwcE;;AAhOO;EAmOP;;;AA5NO;EA4NP;;;AAtNJ;EAcW;IAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AAnUF;EEpJA;IF2dE;;;EEvdF;IFudE;;;EEndF;IFqcE;;EAzNO;IA4NP;;;EArNO;IAqNP;;;EA/MJ;IAcW;MAiMP;;;;EEpcF;IFwcE;;EAhOO;IAmOP;;;EA5NO;IA4NP;;;EAtNJ;IAcW;MAwMP;;;;AD/dN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AGLI;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AHuHF;EGpJA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AJrCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AILI;AACE;EACA;;;AAGF;AACE;EACA;;;AAGF;AACE;EACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AJwIF;EIpJA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;ACjBN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AN5FF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC9CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAjBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AMXA;EACE;;;AAUE;EACE;;;AAOF;EACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE;;;ANsIF;EM/IA;IACE;;;ANuLF;EMhLA;IACE","file":"utils.bundle.css","sourcesContent":["@use \"sass:math\";\n\n$baselineSize: 16px !default;\n$baselineUnit: 1rem !default;\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font($size, $unit: $baselineUnit) {\n @return (math.div($size, $baselineSize)) * $unit;\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-max($size, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $maxScale: $size * $maxScale;\n\n @return min($baseScale, $maxScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-min($minScale, $size, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $minScale: $size * $minScale;\n\n @return max($minScale, $baseScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-clamp($minScale, $baseSize, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($baseSize, $unit);\n $maxScale: $baseSize * $maxScale;\n $minScale: $baseSize * $minScale;\n\n @return clamp($minScale, $baseScale, $maxScale);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA,gBACE,mBACA,iBACA,iBACA,oBCsTE,aDpTe,ECqTf,cDrTe,ECyUjB,YDzUiB,EC0UjB,eD1UiB,EAGnB,aACE,0CACA,wCACA,wCACA,2CCiTE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBCqVR,YDrVQ,yBCsVR,eDtVQ,yBAwBV,iBACE,wCC4TA,YDrVQ,yBA8BV,mBACE,0CCqSE,sBDpUM,yBCqUN,qBDrUM,yBAoCV,iBACE,wCCiSE,oBDtUM,yBCuUN,mBDvUM,yBA0CV,oBACE,2CC2SA,eDtVQ,yBAgDV,sBACE,wCACA,2CCmSA,YDrVQ,yBCsVR,eDtVQ,yBAuDV,wBACE,0CACA,wCC2QE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBAkEV,eACE,kBACA,gBACA,gBACA,mBC0PE,YDxPc,ECyPd,aDzPc,EC6QhB,WD7QgB,EC8QhB,cD9QgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCqPE,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBCoVP,WDpVO,wBCqVP,cDrVO,wBAmFT,gBACE,sCCgQA,WDpVO,wBAyFT,kBACE,wCCyOE,qBDnUK,wBCoUL,oBDpUK,wBA+FT,gBACE,sCCqOE,mBDrUK,wBCsUL,kBDtUK,wBAqGT,mBACE,yCC+OA,cDrVO,wBA2GT,qBACE,sCACA,yCCuOA,WDpVO,wBCqVP,cDrVO,wBAkHT,uBACE,wCACA,sCC+ME,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBEGL,gBD2dE,sBCvdF,iBDudE,uBCndF,iBDqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBCpcF,eDwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBEvdF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,0BEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,0BGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCjBN,sBACE,iCAGF,oBACE,+BAGF,uBACE,6BAGF,wBACE,8BAGF,yBACE,+BAGF,qBACE,2BAOF,UACE,0BAGF,YACE,4BAGF,kBACE,kCAOF,2BACE,sCAGF,4BACE,kCAGF,yBACE,oCAGF,4BACE,wCAGF,6BACE,yCAGF,4BACE,wCAOF,uBACE,kCAGF,wBACE,8BAGF,qBACE,gCAGF,yBACE,+BAGF,0BACE,gCC1FF,UACE,wBAUE,aACE,wBAOF,eACE,wBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,0BK/IA,gBACE,yBLuLF,6BKhLA,kBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
6
+ const ionicGlobal = require('./ionic-global-62487d02.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-af6d0fbb.js');
6
+ const index$1 = require('./index-bbc6c29f.js');
7
7
  const haptic = require('./haptic-f6b37aa3.js');
8
8
  const index = require('./index-ee07ed59.js');
9
9
 
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
8
- require('./index-af6d0fbb.js');
7
+ const ionicGlobal = require('./ionic-global-62487d02.js');
8
+ require('./index-bbc6c29f.js');
9
9
 
10
10
  /**
11
11
  * CloseWatcher is a newer API that lets
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-af6d0fbb.js');
6
+ const index = require('./index-bbc6c29f.js');
7
7
  const helpers = require('./helpers-afaa9001.js');
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -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-06673f18.js'); });
16
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-4d7bb4b1.js'); });
15
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-d4f0ca4e.js'); });
16
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-857328f3.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
  *
@@ -1792,6 +1810,11 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1792
1810
  let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1793
1811
  if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1794
1812
  refNode = refNode.nextSibling;
1813
+ // If the refNode is the same node to be relocated or another element's slot reference, keep searching to find the
1814
+ // correct relocation target
1815
+ while (refNode === nodeToRelocate || (refNode === null || refNode === void 0 ? void 0 : refNode['s-sr'])) {
1816
+ refNode = refNode === null || refNode === void 0 ? void 0 : refNode.nextSibling;
1817
+ }
1795
1818
  if (!refNode || !refNode['s-nr']) {
1796
1819
  insertBeforeNode = refNode;
1797
1820
  break;
@@ -2618,7 +2641,7 @@ const patchSlotAppendChild = (HostElementPrototype) => {
2618
2641
  HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
2619
2642
  HostElementPrototype.appendChild = function (newChild) {
2620
2643
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2621
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2644
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2622
2645
  if (slotNode) {
2623
2646
  const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);
2624
2647
  const appendAfter = slotChildNodes[slotChildNodes.length - 1];
@@ -2641,7 +2664,7 @@ const patchSlotRemoveChild = (ElementPrototype) => {
2641
2664
  ElementPrototype.__removeChild = ElementPrototype.removeChild;
2642
2665
  ElementPrototype.removeChild = function (toRemove) {
2643
2666
  if (toRemove && typeof toRemove['s-sn'] !== 'undefined') {
2644
- const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn']);
2667
+ const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn'], this.tagName);
2645
2668
  if (slotNode) {
2646
2669
  // Get all slot content
2647
2670
  const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove['s-sn']);
@@ -2672,7 +2695,7 @@ const patchSlotPrepend = (HostElementPrototype) => {
2672
2695
  newChild = this.ownerDocument.createTextNode(newChild);
2673
2696
  }
2674
2697
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2675
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2698
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2676
2699
  if (slotNode) {
2677
2700
  const slotPlaceholder = document.createTextNode('');
2678
2701
  slotPlaceholder['s-nr'] = newChild;
@@ -2889,17 +2912,18 @@ const getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAt
2889
2912
  * Recursively searches a series of child nodes for a slot with the provided name.
2890
2913
  * @param childNodes the nodes to search for a slot with a specific name.
2891
2914
  * @param slotName the name of the slot to match on.
2915
+ * @param hostName the host name of the slot to match on.
2892
2916
  * @returns a reference to the slot node that matches the provided name, `null` otherwise
2893
2917
  */
2894
- const getHostSlotNode = (childNodes, slotName) => {
2918
+ const getHostSlotNode = (childNodes, slotName, hostName) => {
2895
2919
  let i = 0;
2896
2920
  let childNode;
2897
2921
  for (; i < childNodes.length; i++) {
2898
2922
  childNode = childNodes[i];
2899
- if (childNode['s-sr'] && childNode['s-sn'] === slotName) {
2923
+ if (childNode['s-sr'] && childNode['s-sn'] === slotName && childNode['s-hn'] === hostName) {
2900
2924
  return childNode;
2901
2925
  }
2902
- childNode = getHostSlotNode(childNode.childNodes, slotName);
2926
+ childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);
2903
2927
  if (childNode) {
2904
2928
  return childNode;
2905
2929
  }
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index$1 = require('./index-c8d52405.js');
7
- const hardwareBackButton = require('./hardware-back-button-ad9299b4.js');
7
+ const hardwareBackButton = require('./hardware-back-button-44e7c052.js');
8
8
  const index = require('./index-5915f9b3.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
10
+ const ionicGlobal = require('./ionic-global-62487d02.js');
11
11
  const animation = require('./animation-b4fdf128.js');
12
12
 
13
13
  /**
@@ -6,21 +6,21 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const animation = require('./animation-b4fdf128.js');
9
- const index = require('./index-ff66cc7c.js');
10
- const ios_transition = require('./ios.transition-06673f18.js');
11
- const md_transition = require('./md.transition-4d7bb4b1.js');
9
+ const index = require('./index-6d6ac424.js');
10
+ const ios_transition = require('./ios.transition-d4f0ca4e.js');
11
+ const md_transition = require('./md.transition-857328f3.js');
12
12
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
13
13
  const index$1 = require('./index-ee07ed59.js');
14
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
14
+ const ionicGlobal = require('./ionic-global-62487d02.js');
15
15
  const helpers = require('./helpers-afaa9001.js');
16
16
  const config = require('./config-4f60b98a.js');
17
17
  const theme = require('./theme-d1c573d2.js');
18
- const index$2 = require('./index-5cf05f94.js');
19
- const overlays = require('./overlays-6487955a.js');
18
+ const index$2 = require('./index-defd575f.js');
19
+ const overlays = require('./overlays-10c452b2.js');
20
20
  require('./index-c8d52405.js');
21
- require('./index-af6d0fbb.js');
21
+ require('./index-bbc6c29f.js');
22
22
  require('./gesture-controller-9436f482.js');
23
- require('./hardware-back-button-ad9299b4.js');
23
+ require('./hardware-back-button-44e7c052.js');
24
24
  require('./index-5915f9b3.js');
25
25
  require('./framework-delegate-55f5683a.js');
26
26
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-af6d0fbb.js');
8
+ const index = require('./index-bbc6c29f.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const index$1 = require('./index-073c7cdc.js');
11
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
11
+ const ionicGlobal = require('./ionic-global-62487d02.js');
12
12
  const index$2 = require('./index-5915f9b3.js');
13
13
 
14
14
  const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
@@ -5,20 +5,20 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-af6d0fbb.js');
9
- const buttonActive = require('./button-active-bd13859e.js');
8
+ const index = require('./index-bbc6c29f.js');
9
+ const buttonActive = require('./button-active-564be49f.js');
10
10
  const helpers = require('./helpers-afaa9001.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-6487955a.js');
12
+ const overlays = require('./overlays-10c452b2.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
14
+ const ionicGlobal = require('./ionic-global-62487d02.js');
15
15
  const animation = require('./animation-b4fdf128.js');
16
16
  require('./haptic-f6b37aa3.js');
17
17
  require('./capacitor-c04564bf.js');
18
18
  require('./index-c8d52405.js');
19
19
  require('./index-ee07ed59.js');
20
20
  require('./gesture-controller-9436f482.js');
21
- require('./hardware-back-button-ad9299b4.js');
21
+ require('./hardware-back-button-44e7c052.js');
22
22
  require('./framework-delegate-55f5683a.js');
23
23
  require('./index-5915f9b3.js');
24
24
 
@@ -297,12 +297,12 @@ const ActionSheet = class {
297
297
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
298
298
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
299
299
  const headerID = `action-sheet-${overlayIndex}-header`;
300
- return (index.h(index.Host, Object.assign({ key: 'b81b5301c2544d6474561047fa8f3cf1b27882fb', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
300
+ return (index.h(index.Host, Object.assign({ key: 'b640e9730af4bd9ec569884cf203c63102e0ea59', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
301
301
  zIndex: `${20000 + this.overlayIndex}`,
302
- }, class: Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index.h("ion-backdrop", { key: 'b98bfa2ed6b6c8f5648f5fe52968c7f79fd3557b', tappable: this.backdropDismiss }), index.h("div", { key: '15354a41ab7eb1014bb65638dad9daa7c8bf8167', tabindex: "0" }), index.h("div", { key: 'dff2e93f5f44b5f6488cf2a7da55563ce9a9cfdb', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, index.h("div", { key: '25981afc3a174fb44a6d97b4118b3a39792211c8', class: "action-sheet-container" }, index.h("div", { key: '5a9d5174b3fe7b59e08f8022df8ead909650da53', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (index.h("div", { id: headerID, class: {
302
+ }, class: Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index.h("ion-backdrop", { key: 'bcfa5b7ffb5c265ef54caa114e697ada11f20c12', tappable: this.backdropDismiss }), index.h("div", { key: '207ae95b5365ce1d76170a05bdf8c83c3ba5de42', tabindex: "0" }), index.h("div", { key: 'bf2b4e8d57c822a4ea2bbe6c34b1b2f2067e4c02', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, index.h("div", { key: '9c4841eb03ca1378c5abc1e3aafbbcfaaa43c345', class: "action-sheet-container" }, index.h("div", { key: 'fa438b8663f5d30852e5967da0471489efa783b2', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (index.h("div", { key: '2c600f1cd8314d65137fb1bfa180312b4791121a', id: headerID, class: {
303
303
  'action-sheet-title': true,
304
304
  'action-sheet-has-sub-title': this.subHeader !== undefined,
305
- } }, header, this.subHeader && index.h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (index.h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), index.h("span", { class: "action-sheet-button-inner" }, b.icon && index.h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && index.h("ion-ripple-effect", null))))), cancelButton && (index.h("div", { class: "action-sheet-group action-sheet-group-cancel" }, index.h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), index.h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (index.h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && index.h("ion-ripple-effect", null)))))), index.h("div", { key: 'b1891248a8269c9077f48cd4af210072daf7c119', tabindex: "0" })));
305
+ } }, header, this.subHeader && index.h("div", { key: 'a98d6a3f7948733de22a07432e56255f11243b7b', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (index.h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), index.h("span", { class: "action-sheet-button-inner" }, b.icon && index.h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && index.h("ion-ripple-effect", null))))), cancelButton && (index.h("div", { key: '5c5abd0e0b3d486ba2bfe437e28a23b2c7c4c955', class: "action-sheet-group action-sheet-group-cancel" }, index.h("button", Object.assign({ key: '520a23bbbe6c7436f5bc58bad162d7894b870e54' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), index.h("span", { key: '28c90f66786ee82316adc6cfd68d322d2038357d', class: "action-sheet-button-inner" }, cancelButton.icon && (index.h("ion-icon", { key: 'fd49fcea260c7addc9b07718eeb02d4fa6e4d900', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && index.h("ion-ripple-effect", { key: 'c83f636e171fe77635a4fce2b97161447e10546a' })))))), index.h("div", { key: 'd304920fc7cb006b87542183a3224a7e460abd3d', tabindex: "0" })));
306
306
  }
307
307
  get el() { return index.getElement(this); }
308
308
  static get watchers() { return {
@@ -5,21 +5,21 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-af6d0fbb.js');
8
+ const index = require('./index-bbc6c29f.js');
9
9
  const config = require('./config-4f60b98a.js');
10
- const buttonActive = require('./button-active-bd13859e.js');
10
+ const buttonActive = require('./button-active-564be49f.js');
11
11
  const helpers = require('./helpers-afaa9001.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
- const overlays = require('./overlays-6487955a.js');
13
+ const overlays = require('./overlays-10c452b2.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
- const ionicGlobal = require('./ionic-global-1adf9bc4.js');
15
+ const ionicGlobal = require('./ionic-global-62487d02.js');
16
16
  const animation = require('./animation-b4fdf128.js');
17
17
  require('./haptic-f6b37aa3.js');
18
18
  require('./capacitor-c04564bf.js');
19
19
  require('./index-c8d52405.js');
20
20
  require('./index-ee07ed59.js');
21
21
  require('./gesture-controller-9436f482.js');
22
- require('./hardware-back-button-ad9299b4.js');
22
+ require('./hardware-back-button-44e7c052.js');
23
23
  require('./framework-delegate-55f5683a.js');
24
24
  require('./index-5915f9b3.js');
25
25
 
@@ -495,9 +495,9 @@ const Alert = class {
495
495
  * If neither is defined, don't set aria-labelledby.
496
496
  */
497
497
  const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
498
- return (index.h(index.Host, Object.assign({ key: 'fe991967332781c792690760d63857f28e20e928', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
498
+ return (index.h(index.Host, Object.assign({ key: 'b1875ea565c40a25915e26e61864f8c61d840ccc', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
499
499
  zIndex: `${20000 + overlayIndex}`,
500
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index.h("ion-backdrop", { key: 'd2cf69281264c779cd583acc6466b67bbeffff77', tappable: this.backdropDismiss }), index.h("div", { key: 'cf1613444b085bf41326703a8ee39a0e7da4fbbd', tabindex: "0" }), index.h("div", { key: 'da4106c5da97987844b9404d968e895d3399d09b', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, index.h("div", { key: '0880f30325c25f08a27f5feaf44c497c64318819', class: "alert-head" }, header && (index.h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (index.h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), index.h("div", { key: '20c5e7f555e64750e5043aa62a511f2b56cc9e42', tabindex: "0" })));
500
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index.h("ion-backdrop", { key: '37d9d7d1a47bfa23c3bb8d8d9805f52a5bbedf61', tappable: this.backdropDismiss }), index.h("div", { key: '0134cc90b7f02dcdd13dfdc39a72f2259182de90', tabindex: "0" }), index.h("div", { key: 'ed054b063ec2d1847b3234d5bdf3e66054784ed7', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, index.h("div", { key: 'fb81befae081424f03c64b434ffdd79bb1b00d0c', class: "alert-head" }, header && (index.h("h2", { key: '92596dfdd92c4f63c82ed86b4a2473b3110daae3', id: hdrId, class: "alert-title" }, header)), subHeader && (index.h("h2", { key: 'ba7a0734cf818224f453604ec638770ca61bfef6', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), index.h("div", { key: '41a2619836a4af5d158216ef14b49985c7941b78', tabindex: "0" })));
501
501
  }
502
502
  get el() { return index.getElement(this); }
503
503
  static get watchers() { return {