voyager-ionic-core 7.4.3 → 7.5.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.
- package/components/action-sheet.js +2 -2
- package/components/alert.js +10 -2
- package/components/animation.js +60 -1
- package/components/button.js +2 -2
- package/components/buttons.js +2 -2
- package/components/checkbox.js +4 -1
- package/components/data.js +96 -22
- package/components/haptic.js +1 -0
- package/components/icon.js +31 -18
- package/components/index.js +1 -0
- package/components/index4.js +26 -19
- package/components/index7.js +1 -1
- package/components/ion-back-button.js +2 -2
- package/components/ion-badge.js +2 -2
- package/components/ion-breadcrumb.js +2 -2
- package/components/ion-card-content.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +2 -2
- package/components/ion-chip.js +8 -3
- package/components/ion-datetime-button.js +6 -6
- package/components/ion-datetime.js +6 -6
- package/components/ion-header.js +1 -1
- package/components/ion-input.js +2 -2
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +2 -2
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu.js +48 -28
- package/components/ion-nav.js +1 -0
- package/components/ion-range.js +2 -2
- package/components/ion-reorder.js +2 -2
- package/components/ion-router.js +3 -0
- package/components/ion-searchbar.js +9 -3
- package/components/ion-select.js +34 -20
- package/components/ion-textarea.js +2 -2
- package/components/ion-title.js +2 -2
- package/components/ion-toast.js +159 -15
- package/components/ion-toggle.js +3 -0
- package/components/ion-toolbar.js +1 -1
- package/components/ios.transition.js +5 -4
- package/components/item.js +2 -2
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/note.js +2 -2
- package/components/overlays.js +1 -0
- package/components/radio-group.js +1 -1
- package/components/radio.js +6 -3
- package/components/swipe-back.js +4 -0
- package/css/core.css +100 -0
- package/css/core.css.map +1 -1
- package/css/display.css +33 -0
- package/css/display.css.map +1 -1
- package/css/float-elements.css +33 -0
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css +84 -6
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +33 -0
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/padding.css +33 -0
- package/css/padding.css.map +1 -1
- package/css/structure.css +33 -0
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css +33 -0
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css +33 -0
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css +51 -6
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +165 -0
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-2bb33618.js → animation-c8bdd3c7.js} +60 -1
- package/dist/cjs/{app-globals-84b6a756.js → app-globals-fe1ad535.js} +1 -1
- package/dist/cjs/{button-active-c358e83c.js → button-active-c0ff1915.js} +2 -2
- package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
- package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
- package/dist/cjs/{index-d8d1fc0b.js → index-09471526.js} +1 -1
- package/dist/cjs/{index-14a4821e.js → index-305a23dc.js} +95 -51
- package/dist/cjs/{index-97a3eade.js → index-5e7529f6.js} +28 -21
- package/dist/cjs/{index-acf6bdf0.js → index-d93fb71d.js} +3 -3
- package/dist/cjs/index.cjs.js +11 -9
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +16 -8
- package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-button_2.cjs.entry.js +35 -22
- package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
- package/dist/cjs/ion-checkbox.cjs.entry.js +6 -3
- package/dist/cjs/ion-chip.cjs.entry.js +9 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-item_8.cjs.entry.js +13 -13
- package/dist/cjs/ion-loading.cjs.entry.js +6 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +59 -38
- package/dist/cjs/ion-modal.cjs.entry.js +5 -5
- package/dist/cjs/ion-nav_2.cjs.entry.js +5 -4
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +5 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +9 -6
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +12 -6
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +38 -24
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +178 -36
- package/dist/cjs/ion-toggle.cjs.entry.js +7 -4
- package/dist/cjs/{ionic-global-a71608df.js → ionic-global-fb752503.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-e31445c2.js → ios.transition-a4d545dd.js} +8 -7
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-fb13ac79.js → md.transition-80bb961b.js} +3 -3
- package/dist/cjs/{overlays-efc9d511.js → overlays-1a734051.js} +2 -1
- package/dist/cjs/{status-tap-8c22e017.js → status-tap-778e8054.js} +1 -1
- package/dist/cjs/{swipe-back-d97c74d1.js → swipe-back-7e843e77.js} +4 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/accordion/accordion.ios.css +66 -0
- package/dist/collection/components/accordion/accordion.md.css +33 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
- package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
- package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
- package/dist/collection/components/alert/alert.ios.css +138 -21
- package/dist/collection/components/alert/alert.js +8 -0
- package/dist/collection/components/alert/alert.md.css +108 -8
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +122 -0
- package/dist/collection/components/avatar/avatar.ios.css +66 -0
- package/dist/collection/components/avatar/avatar.md.css +66 -0
- package/dist/collection/components/back-button/back-button.ios.css +83 -1
- package/dist/collection/components/back-button/back-button.md.css +75 -3
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
- package/dist/collection/components/backdrop/backdrop.md.css +66 -0
- package/dist/collection/components/badge/badge.ios.css +75 -1
- package/dist/collection/components/badge/badge.md.css +67 -1
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
- package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
- package/dist/collection/components/button/button.ios.css +118 -19
- package/dist/collection/components/button/button.md.css +69 -3
- package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
- package/dist/collection/components/buttons/buttons.ios.css +102 -3
- package/dist/collection/components/buttons/buttons.md.css +101 -2
- package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
- package/dist/collection/components/card/card.ios.css +67 -1
- package/dist/collection/components/card/card.md.css +67 -1
- package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
- package/dist/collection/components/card-content/card-content.ios.css +71 -5
- package/dist/collection/components/card-content/card-content.md.css +71 -5
- package/dist/collection/components/card-header/card-header.ios.css +66 -0
- package/dist/collection/components/card-header/card-header.md.css +66 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
- package/dist/collection/components/card-title/card-title.ios.css +67 -1
- package/dist/collection/components/card-title/card-title.md.css +67 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +101 -2
- package/dist/collection/components/checkbox/checkbox.js +3 -0
- package/dist/collection/components/checkbox/checkbox.md.css +99 -0
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +18 -0
- package/dist/collection/components/chip/chip.ios.css +190 -0
- package/dist/collection/components/chip/chip.js +4 -2
- package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
- package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
- package/dist/collection/components/col/col.css +66 -0
- package/dist/collection/components/content/content.css +33 -0
- package/dist/collection/components/datetime/datetime.ios.css +198 -7
- package/dist/collection/components/datetime/datetime.js +13 -7
- package/dist/collection/components/datetime/datetime.md.css +97 -5
- package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +28 -0
- package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
- package/dist/collection/components/datetime/utils/data.js +33 -7
- package/dist/collection/components/datetime/utils/format.js +27 -10
- package/dist/collection/components/datetime/utils/helpers.js +37 -5
- package/dist/collection/components/datetime-button/datetime-button.css +36 -2
- package/dist/collection/components/datetime-button/datetime-button.js +4 -4
- package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
- package/dist/collection/components/fab/fab.css +132 -0
- package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
- package/dist/collection/components/fab-button/fab-button.md.css +66 -0
- package/dist/collection/components/fab-list/fab-list.css +66 -0
- package/dist/collection/components/footer/footer.ios.css +66 -0
- package/dist/collection/components/footer/footer.md.css +66 -0
- package/dist/collection/components/grid/grid.css +66 -0
- package/dist/collection/components/header/header.ios.css +71 -2
- package/dist/collection/components/header/header.md.css +66 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
- package/dist/collection/components/input/input.ios.css +100 -1
- package/dist/collection/components/input/input.md.css +199 -1
- package/dist/collection/components/input/test/a11y/input.e2e.js +15 -1
- package/dist/collection/components/item/item.ios.css +70 -4
- package/dist/collection/components/item/item.md.css +138 -6
- package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
- package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
- package/dist/collection/components/item-divider/item-divider.md.css +103 -11
- package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
- package/dist/collection/components/item-group/item-group.ios.css +68 -1
- package/dist/collection/components/item-group/item-group.md.css +68 -1
- package/dist/collection/components/item-option/item-option.ios.css +67 -1
- package/dist/collection/components/item-option/item-option.md.css +67 -1
- package/dist/collection/components/item-options/item-options.ios.css +99 -1
- package/dist/collection/components/item-options/item-options.md.css +99 -1
- package/dist/collection/components/item-sliding/item-sliding.css +33 -0
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
- package/dist/collection/components/label/label.ios.css +105 -6
- package/dist/collection/components/label/label.md.css +104 -5
- package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
- package/dist/collection/components/list/list.ios.css +99 -0
- package/dist/collection/components/list/list.md.css +99 -0
- package/dist/collection/components/list-header/list-header.ios.css +100 -1
- package/dist/collection/components/list-header/list-header.md.css +100 -1
- package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
- package/dist/collection/components/loading/loading.ios.css +67 -1
- package/dist/collection/components/loading/loading.md.css +67 -1
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
- package/dist/collection/components/menu/menu.ios.css +66 -0
- package/dist/collection/components/menu/menu.js +48 -28
- package/dist/collection/components/menu/menu.md.css +66 -0
- package/dist/collection/components/menu/test/disable/menu.e2e.js +55 -0
- package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
- package/dist/collection/components/menu-button/menu-button.md.css +71 -3
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
- package/dist/collection/components/modal/modal.ios.css +66 -0
- package/dist/collection/components/modal/modal.md.css +66 -0
- package/dist/collection/components/nav/nav.css +33 -0
- package/dist/collection/components/nav/nav.js +1 -0
- package/dist/collection/components/note/note.ios.css +67 -0
- package/dist/collection/components/note/note.md.css +67 -1
- package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
- package/dist/collection/components/picker/picker.ios.css +66 -0
- package/dist/collection/components/picker/picker.md.css +66 -0
- package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
- package/dist/collection/components/picker-column/picker-column.md.css +66 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
- package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
- package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
- package/dist/collection/components/popover/popover.ios.css +66 -0
- package/dist/collection/components/popover/popover.md.css +66 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
- package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
- package/dist/collection/components/radio/radio.ios.css +104 -5
- package/dist/collection/components/radio/radio.js +4 -1
- package/dist/collection/components/radio/radio.md.css +104 -5
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +21 -0
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.ios.css +82 -8
- package/dist/collection/components/range/range.md.css +99 -11
- package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
- package/dist/collection/components/refresher/refresher.ios.css +66 -0
- package/dist/collection/components/refresher/refresher.md.css +66 -0
- package/dist/collection/components/reorder/reorder.ios.css +75 -2
- package/dist/collection/components/reorder/reorder.md.css +75 -2
- package/dist/collection/components/reorder-group/reorder-group.css +33 -0
- package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
- package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
- package/dist/collection/components/router/router.js +2 -0
- package/dist/collection/components/router/utils/path.js +1 -0
- package/dist/collection/components/router-link/router-link.css +33 -0
- package/dist/collection/components/router-outlet/router-outlet.css +33 -0
- package/dist/collection/components/row/row.css +66 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
- package/dist/collection/components/searchbar/searchbar.js +7 -1
- package/dist/collection/components/searchbar/searchbar.md.css +77 -10
- package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
- package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
- package/dist/collection/components/segment/segment.ios.css +99 -0
- package/dist/collection/components/segment/segment.md.css +99 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
- package/dist/collection/components/segment-button/segment-button.md.css +66 -0
- package/dist/collection/components/select/select.ios.css +102 -3
- package/dist/collection/components/select/select.js +32 -18
- package/dist/collection/components/select/select.md.css +167 -2
- package/dist/collection/components/select/test/a11y/select.e2e.js +22 -0
- package/dist/collection/components/select/test/disabled/select.e2e.js +30 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
- package/dist/collection/components/select-popover/select-popover.md.css +99 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
- package/dist/collection/components/spinner/spinner.css +33 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
- package/dist/collection/components/split-pane/split-pane.md.css +99 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
- package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
- package/dist/collection/components/tab-button/tab-button.md.css +66 -0
- package/dist/collection/components/tabs/tabs.css +33 -0
- package/dist/collection/components/text/text.css +33 -0
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
- package/dist/collection/components/textarea/textarea.ios.css +133 -1
- package/dist/collection/components/textarea/textarea.md.css +199 -1
- package/dist/collection/components/thumbnail/thumbnail.css +33 -0
- package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
- package/dist/collection/components/title/title.ios.css +43 -10
- package/dist/collection/components/title/title.md.css +35 -2
- package/dist/collection/components/toast/animations/ios.enter.js +2 -3
- package/dist/collection/components/toast/animations/ios.leave.js +2 -3
- package/dist/collection/components/toast/animations/md.enter.js +2 -3
- package/dist/collection/components/toast/animations/utils.js +85 -0
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
- package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
- package/dist/collection/components/toast/toast.ios.css +74 -3
- package/dist/collection/components/toast/toast.js +98 -9
- package/dist/collection/components/toast/toast.md.css +74 -4
- package/dist/collection/components/toggle/toggle.ios.css +99 -0
- package/dist/collection/components/toggle/toggle.js +3 -0
- package/dist/collection/components/toggle/toggle.md.css +99 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +66 -14
- package/dist/collection/components/toolbar/toolbar.md.css +66 -0
- package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/animation/animation.js +60 -1
- package/dist/collection/utils/gesture/swipe-back.js +4 -0
- package/dist/collection/utils/menu-controller/index.js +26 -19
- package/dist/collection/utils/native/haptic.js +1 -0
- package/dist/collection/utils/overlays.js +1 -0
- package/dist/collection/utils/transition/ios.transition.js +5 -4
- package/dist/docs.json +74 -11
- package/dist/esm/{animation-a1d9e088.js → animation-92066c62.js} +60 -1
- package/dist/esm/{app-globals-df292a32.js → app-globals-ec816a70.js} +1 -1
- package/dist/esm/{button-active-7180a130.js → button-active-d926d4f4.js} +2 -2
- package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
- package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
- package/dist/esm/{index-32c6828b.js → index-7d2b2808.js} +3 -3
- package/dist/esm/{index-cb894020.js → index-b49b173c.js} +95 -51
- package/dist/esm/{index-ecfc2c9f.js → index-c132c5f1.js} +1 -1
- package/dist/esm/{index-3d6aefa2.js → index-df55802d.js} +28 -21
- package/dist/esm/index.js +10 -9
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +16 -8
- package/dist/esm/ion-app_8.entry.js +11 -11
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +5 -5
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +5 -5
- package/dist/esm/ion-button_2.entry.js +35 -22
- package/dist/esm/ion-card_5.entry.js +10 -10
- package/dist/esm/ion-checkbox.entry.js +6 -3
- package/dist/esm/ion-chip.entry.js +9 -4
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +8 -8
- package/dist/esm/ion-datetime_3.entry.js +12 -12
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item-option_3.entry.js +6 -6
- package/dist/esm/ion-item_8.entry.js +13 -13
- package/dist/esm/ion-loading.entry.js +6 -6
- package/dist/esm/ion-menu_3.entry.js +58 -37
- package/dist/esm/ion-modal.entry.js +5 -5
- package/dist/esm/ion-nav_2.entry.js +5 -4
- package/dist/esm/ion-picker-column-internal.entry.js +3 -3
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +5 -5
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +9 -6
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +5 -5
- package/dist/esm/ion-reorder_2.entry.js +6 -6
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +5 -2
- package/dist/esm/ion-searchbar.entry.js +12 -6
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +38 -24
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +162 -20
- package/dist/esm/ion-toggle.entry.js +7 -4
- package/dist/esm/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-d8223b18.js → ios.transition-a86d7bbe.js} +8 -7
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-caed184e.js → md.transition-365ef6b6.js} +3 -3
- package/dist/esm/{overlays-84621c0a.js → overlays-cec6bac8.js} +2 -1
- package/dist/esm/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/esm/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +4 -0
- package/dist/esm-es5/animation-92066c62.js +4 -0
- package/dist/esm-es5/app-globals-ec816a70.js +4 -0
- package/dist/esm-es5/{button-active-7180a130.js → button-active-d926d4f4.js} +1 -1
- package/dist/esm-es5/data-44d9e816.js +4 -0
- package/dist/esm-es5/{index-32c6828b.js → index-7d2b2808.js} +1 -1
- package/dist/esm-es5/index-b49b173c.js +5 -0
- package/dist/esm-es5/index-df55802d.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-63a8d8c9.js → ionic-global-246ca78f.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-a86d7bbe.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-caed184e.js → md.transition-365ef6b6.js} +1 -1
- package/dist/esm-es5/{overlays-84621c0a.js → overlays-cec6bac8.js} +1 -1
- package/dist/esm-es5/{status-tap-73e982b6.js → status-tap-9aeeaca5.js} +1 -1
- package/dist/html.html-data.json +11 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/p-012952cd.system.entry.js +4 -0
- package/dist/ionic/p-015187e5.system.js +4 -0
- package/dist/ionic/p-06ac429a.js +5 -0
- package/dist/ionic/{p-dd0c00ed.entry.js → p-0ac3fb2c.entry.js} +1 -1
- package/dist/ionic/{p-a1d7f4ef.entry.js → p-0b00b937.entry.js} +1 -1
- package/dist/ionic/{p-a8403bed.system.entry.js → p-0b7c25ee.system.entry.js} +1 -1
- package/dist/ionic/p-0bbede6a.system.entry.js +4 -0
- package/dist/ionic/{p-a4e95028.system.entry.js → p-0f1f59da.system.entry.js} +1 -1
- package/dist/ionic/{p-7887ac7a.entry.js → p-108f9d49.entry.js} +1 -1
- package/dist/ionic/{p-e263255c.system.entry.js → p-1289b3b5.system.entry.js} +1 -1
- package/dist/ionic/{p-a760fd9a.system.js → p-128a98e8.system.js} +1 -1
- package/dist/ionic/{p-63f39d2f.entry.js → p-15decbec.entry.js} +1 -1
- package/dist/ionic/p-16e44585.js +4 -0
- package/dist/ionic/p-17240d90.js +4 -0
- package/dist/ionic/{p-8a289322.js → p-181b7c2a.js} +1 -1
- package/dist/ionic/p-19fba51c.entry.js +4 -0
- package/dist/ionic/p-1a463b1e.system.entry.js +4 -0
- package/dist/ionic/{p-9201a4d3.entry.js → p-1ecba429.entry.js} +1 -1
- package/dist/ionic/p-1edb53a1.entry.js +4 -0
- package/dist/ionic/p-1f260a7b.entry.js +4 -0
- package/dist/ionic/{p-3db27dec.entry.js → p-1f81b5be.entry.js} +1 -1
- package/dist/ionic/p-28ea45b9.js +4 -0
- package/dist/ionic/{p-8f36cde3.system.entry.js → p-29073efe.system.entry.js} +1 -1
- package/dist/ionic/p-2bbf3ac4.system.entry.js +4 -0
- package/dist/ionic/p-303bf1e8.system.entry.js +4 -0
- package/dist/ionic/p-31119a15.entry.js +4 -0
- package/dist/ionic/{p-c09e1da9.system.entry.js → p-33a8349a.system.entry.js} +1 -1
- package/dist/ionic/p-34259245.system.entry.js +4 -0
- package/dist/ionic/{p-7cad90ed.entry.js → p-35b26732.entry.js} +1 -1
- package/dist/ionic/p-35e399bd.entry.js +4 -0
- package/dist/ionic/p-38089641.entry.js +4 -0
- package/dist/ionic/{p-a6c52452.entry.js → p-3818f63f.entry.js} +1 -1
- package/dist/ionic/p-38c5fe2b.system.entry.js +4 -0
- package/dist/ionic/{p-6f3099b6.system.entry.js → p-3a58e3a4.system.entry.js} +1 -1
- package/dist/ionic/{p-9a6f6789.system.entry.js → p-3f3da911.system.entry.js} +1 -1
- package/dist/ionic/p-4215652f.system.entry.js +4 -0
- package/dist/ionic/p-446230d7.js +4 -0
- package/dist/ionic/p-4e50b8d1.entry.js +4 -0
- package/dist/ionic/{p-0793ebfd.entry.js → p-4e6e43c1.entry.js} +1 -1
- package/dist/ionic/p-4f97c112.entry.js +4 -0
- package/dist/ionic/p-54200074.entry.js +4 -0
- package/dist/ionic/{p-abfd1f2e.system.entry.js → p-54f6cd27.system.entry.js} +1 -1
- package/dist/ionic/p-572cce26.system.entry.js +4 -0
- package/dist/ionic/{p-b79eb3cd.entry.js → p-5b976d70.entry.js} +1 -1
- package/dist/ionic/p-5c3e72a8.system.js +4 -0
- package/dist/ionic/{p-6c7d61b9.system.entry.js → p-6129af0a.system.entry.js} +1 -1
- package/dist/ionic/{p-26fbffd4.system.js → p-629aa3fd.system.js} +1 -1
- package/dist/ionic/p-62e7d4fa.js +4 -0
- package/dist/ionic/p-673846f6.entry.js +4 -0
- package/dist/ionic/p-6ce0a709.system.entry.js +4 -0
- package/dist/ionic/{p-92d72ad8.entry.js → p-6ea2e653.entry.js} +1 -1
- package/dist/ionic/p-6f6646bf.system.entry.js +4 -0
- package/dist/ionic/{p-a9b13f18.system.entry.js → p-6f8a95a3.system.entry.js} +1 -1
- package/dist/ionic/{p-7a590a28.js → p-76378400.js} +1 -1
- package/dist/ionic/p-78030c1f.system.entry.js +4 -0
- package/dist/ionic/p-8083aadb.entry.js +4 -0
- package/dist/ionic/{p-3dce88bf.entry.js → p-818b2e75.entry.js} +1 -1
- package/dist/ionic/p-81ef7437.system.entry.js +4 -0
- package/dist/ionic/{p-b4daca17.system.entry.js → p-8a2801f1.system.entry.js} +1 -1
- package/dist/ionic/p-8c1805f4.system.entry.js +4 -0
- package/dist/ionic/p-8d6728a1.system.entry.js +4 -0
- package/dist/ionic/{p-00cf2d6c.js → p-8e24ebbc.js} +1 -1
- package/dist/ionic/{p-c8ec0d79.system.js → p-8f01a9a2.system.js} +1 -1
- package/dist/ionic/{p-9f9efb31.system.js → p-939e0fa1.system.js} +1 -1
- package/dist/ionic/{p-21085f64.system.entry.js → p-95817276.system.entry.js} +1 -1
- package/dist/ionic/{p-ca655a7c.entry.js → p-96ba8eac.entry.js} +1 -1
- package/dist/ionic/{p-95e44641.system.entry.js → p-9b9dcc3e.system.entry.js} +1 -1
- package/dist/ionic/p-9dc85536.system.entry.js +4 -0
- package/dist/ionic/{p-50d83224.entry.js → p-a04bfada.entry.js} +1 -1
- package/dist/ionic/p-a164e3ab.system.entry.js +4 -0
- package/dist/ionic/{p-018ad59f.entry.js → p-a200a7fc.entry.js} +1 -1
- package/dist/ionic/p-a34fc12e.system.entry.js +4 -0
- package/dist/ionic/p-a7f8dc42.entry.js +4 -0
- package/dist/ionic/p-a9c32660.entry.js +4 -0
- package/dist/ionic/p-aa377971.system.js +4 -0
- package/dist/ionic/p-ad48dd13.system.js +4 -0
- package/dist/ionic/{p-0e070fbe.entry.js → p-afb6658f.entry.js} +1 -1
- package/dist/ionic/{p-534a1cbc.system.js → p-b3c68723.system.js} +1 -1
- package/dist/ionic/{p-4e76e29a.system.entry.js → p-b61a2fa0.system.entry.js} +1 -1
- package/dist/ionic/{p-f6f4d4bb.system.entry.js → p-b753ec0d.system.entry.js} +1 -1
- package/dist/ionic/p-b8c3f071.system.js +4 -0
- package/dist/ionic/p-b9047b05.system.js +4 -0
- package/dist/ionic/{p-f37d6823.system.entry.js → p-beb864e4.system.entry.js} +1 -1
- package/dist/ionic/{p-58565369.system.entry.js → p-c05315f5.system.entry.js} +1 -1
- package/dist/ionic/p-c105bd36.entry.js +4 -0
- package/dist/ionic/p-c42c86c0.system.entry.js +4 -0
- package/dist/ionic/{p-5c24c115.system.js → p-c49672d8.system.js} +1 -1
- package/dist/ionic/{p-57743e20.entry.js → p-c4a5de01.entry.js} +1 -1
- package/dist/ionic/{p-c2d6b2fb.entry.js → p-c679fcb5.entry.js} +1 -1
- package/dist/ionic/p-c8c9d699.system.entry.js +4 -0
- package/dist/ionic/p-c92f0a6d.system.entry.js +4 -0
- package/dist/ionic/p-c956e82c.system.entry.js +4 -0
- package/dist/ionic/{p-a732cfec.system.js → p-c994fff0.system.js} +1 -1
- package/dist/ionic/p-cabd2c6d.entry.js +4 -0
- package/dist/ionic/p-cd2d17c3.system.entry.js +4 -0
- package/dist/ionic/{p-6db9035a.system.entry.js → p-ce7d67a7.system.entry.js} +1 -1
- package/dist/ionic/p-ced41304.system.js +4 -0
- package/dist/ionic/{p-84549737.system.entry.js → p-cf0c93e3.system.entry.js} +1 -1
- package/dist/ionic/{p-68a3da51.js → p-cf62e1c8.js} +1 -1
- package/dist/ionic/{p-7b15d413.entry.js → p-d35217be.entry.js} +1 -1
- package/dist/ionic/p-d6e53e66.entry.js +4 -0
- package/dist/ionic/{p-fa06c407.entry.js → p-db1a1e00.entry.js} +1 -1
- package/dist/ionic/{p-d90f0779.system.entry.js → p-e0f52215.system.entry.js} +1 -1
- package/dist/ionic/p-e1d5752d.system.entry.js +4 -0
- package/dist/ionic/p-e2bb634f.js +4 -0
- package/dist/ionic/p-e38a5f77.js +4 -0
- package/dist/ionic/{p-4b23f472.entry.js → p-e42aaa8b.entry.js} +1 -1
- package/dist/ionic/p-e65ebe96.entry.js +4 -0
- package/dist/ionic/p-e74faf2a.entry.js +4 -0
- package/dist/ionic/{p-9e91c83f.system.entry.js → p-eab10949.system.entry.js} +1 -1
- package/dist/ionic/{p-ac32f6ce.entry.js → p-eac263dd.entry.js} +1 -1
- package/dist/ionic/{p-e3272ed8.entry.js → p-f34f001c.entry.js} +1 -1
- package/dist/ionic/p-f4309ac7.entry.js +4 -0
- package/dist/ionic/p-f5bf698b.entry.js +4 -0
- package/dist/ionic/p-f7566bad.entry.js +4 -0
- package/dist/ionic/p-f919c026.entry.js +4 -0
- package/dist/ionic/{p-c381a9a9.system.entry.js → p-f9fa802c.system.entry.js} +1 -1
- package/dist/ionic/{p-3bf7c0dc.entry.js → p-fcf47f80.entry.js} +1 -1
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +49 -6
- package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
- package/dist/types/components/datetime/datetime.d.ts +2 -2
- package/dist/types/components/datetime/utils/data.d.ts +3 -3
- package/dist/types/components/datetime/utils/format.d.ts +3 -3
- package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
- package/dist/types/components/menu/menu-interface.d.ts +0 -1
- package/dist/types/components/menu/menu.d.ts +8 -1
- package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
- package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
- package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
- package/dist/types/components/toast/animations/utils.d.ts +18 -0
- package/dist/types/components/toast/toast-interface.d.ts +11 -0
- package/dist/types/components/toast/toast.d.ts +21 -1
- package/dist/types/components.d.ts +16 -8
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/menu-controller/index.d.ts +1 -2
- package/hydrate/index.js +607 -232
- package/package.json +7 -8
- package/dist/esm-es5/animation-a1d9e088.js +0 -4
- package/dist/esm-es5/app-globals-df292a32.js +0 -4
- package/dist/esm-es5/data-009dbf15.js +0 -4
- package/dist/esm-es5/index-3d6aefa2.js +0 -4
- package/dist/esm-es5/index-cb894020.js +0 -5
- package/dist/esm-es5/ios.transition-d8223b18.js +0 -4
- package/dist/ionic/p-007168b8.system.entry.js +0 -4
- package/dist/ionic/p-037e2738.system.entry.js +0 -4
- package/dist/ionic/p-043e8328.system.js +0 -4
- package/dist/ionic/p-15278928.entry.js +0 -4
- package/dist/ionic/p-1c59608c.system.entry.js +0 -4
- package/dist/ionic/p-1caf1ec6.entry.js +0 -4
- package/dist/ionic/p-1d2d1ab5.system.entry.js +0 -4
- package/dist/ionic/p-23e76249.entry.js +0 -4
- package/dist/ionic/p-28678af4.system.entry.js +0 -4
- package/dist/ionic/p-2992f2a8.entry.js +0 -4
- package/dist/ionic/p-30b04d8d.js +0 -4
- package/dist/ionic/p-37fc0d22.system.entry.js +0 -4
- package/dist/ionic/p-3e6b0330.system.entry.js +0 -4
- package/dist/ionic/p-44ef7224.system.js +0 -4
- package/dist/ionic/p-469d6a98.entry.js +0 -4
- package/dist/ionic/p-4af11953.entry.js +0 -4
- package/dist/ionic/p-4c20879c.entry.js +0 -4
- package/dist/ionic/p-57c5eca2.system.js +0 -4
- package/dist/ionic/p-5fd0a13e.system.entry.js +0 -4
- package/dist/ionic/p-6641d7fa.js +0 -4
- package/dist/ionic/p-67e21699.entry.js +0 -4
- package/dist/ionic/p-68b405cc.entry.js +0 -4
- package/dist/ionic/p-6b2641f6.system.js +0 -4
- package/dist/ionic/p-6ce891b2.entry.js +0 -4
- package/dist/ionic/p-73eba881.system.js +0 -4
- package/dist/ionic/p-7c901810.system.js +0 -4
- package/dist/ionic/p-7cfd253c.js +0 -4
- package/dist/ionic/p-7d6f2bbb.system.entry.js +0 -4
- package/dist/ionic/p-7fd0f045.system.entry.js +0 -4
- package/dist/ionic/p-8957b1de.system.entry.js +0 -4
- package/dist/ionic/p-89e3d112.system.entry.js +0 -4
- package/dist/ionic/p-8c17d825.js +0 -4
- package/dist/ionic/p-903c36fe.js +0 -5
- package/dist/ionic/p-90ebbca0.entry.js +0 -4
- package/dist/ionic/p-94a4ce40.js +0 -4
- package/dist/ionic/p-9649c54e.js +0 -4
- package/dist/ionic/p-96ad49f1.entry.js +0 -4
- package/dist/ionic/p-9d0916cb.system.js +0 -4
- package/dist/ionic/p-9e727d1d.entry.js +0 -4
- package/dist/ionic/p-a0e2f6d8.entry.js +0 -4
- package/dist/ionic/p-a51f5932.entry.js +0 -4
- package/dist/ionic/p-ab7edc16.system.entry.js +0 -4
- package/dist/ionic/p-b2397f35.entry.js +0 -4
- package/dist/ionic/p-b27772bf.entry.js +0 -4
- package/dist/ionic/p-b370d1b4.js +0 -4
- package/dist/ionic/p-b3bcef34.system.entry.js +0 -4
- package/dist/ionic/p-b4c0e9ee.entry.js +0 -4
- package/dist/ionic/p-b9e2aede.entry.js +0 -4
- package/dist/ionic/p-d2a278b1.entry.js +0 -4
- package/dist/ionic/p-d511de89.system.entry.js +0 -4
- package/dist/ionic/p-d580cbb7.system.entry.js +0 -4
- package/dist/ionic/p-da024961.entry.js +0 -4
- package/dist/ionic/p-e40b2cb4.system.entry.js +0 -4
- package/dist/ionic/p-e6d2cca2.system.entry.js +0 -4
- package/dist/ionic/p-e88ed929.system.entry.js +0 -4
- package/dist/ionic/p-ec29338e.entry.js +0 -4
- package/dist/ionic/p-ec451ef7.system.entry.js +0 -4
- package/dist/ionic/p-f1c2678b.system.entry.js +0 -4
- package/dist/ionic/p-f4267847.system.entry.js +0 -4
- package/dist/ionic/p-fb18f74b.system.entry.js +0 -4
- package/dist/ionic/p-fbc7995a.system.entry.js +0 -4
- /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
- /package/dist/esm-es5/{index-ecfc2c9f.js → index-c132c5f1.js} +0 -0
- /package/dist/esm-es5/{swipe-back-6e8158bc.js → swipe-back-cd4295f3.js} +0 -0
- /package/dist/ionic/{p-0e9a055c.js → p-32083c2d.js} +0 -0
- /package/dist/ionic/{p-8985b268.system.js → p-8050b9b9.system.js} +0 -0
- /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
- /package/dist/ionic/{p-eacb02b2.system.js → p-b912e055.system.js} +0 -0
- /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
- /package/dist/ionic/{p-0a87858b.js → p-ea96fa73.js} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('title: font scaling'), () => {
|
|
8
|
+
test('should scale default title text on larger font sizes', async ({ page }) => {
|
|
9
|
+
await page.setContent(`
|
|
10
|
+
<style>
|
|
11
|
+
html {
|
|
12
|
+
font-size: 36px;
|
|
13
|
+
}
|
|
14
|
+
</style>
|
|
15
|
+
<ion-header>
|
|
16
|
+
<ion-toolbar>
|
|
17
|
+
<ion-title>Title</ion-title>
|
|
18
|
+
</ion-toolbar>
|
|
19
|
+
</ion-header>
|
|
20
|
+
`, config);
|
|
21
|
+
const title = page.locator('ion-title');
|
|
22
|
+
await expect(title).toHaveScreenshot(screenshot(`title-default-scale`));
|
|
23
|
+
});
|
|
24
|
+
test('should scale small title text on larger font sizes', async ({ page }) => {
|
|
25
|
+
await page.setContent(`
|
|
26
|
+
<style>
|
|
27
|
+
html {
|
|
28
|
+
font-size: 36px;
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
31
|
+
<ion-header>
|
|
32
|
+
<ion-toolbar>
|
|
33
|
+
<ion-title size="small">Title</ion-title>
|
|
34
|
+
</ion-toolbar>
|
|
35
|
+
</ion-header>
|
|
36
|
+
`, config);
|
|
37
|
+
const title = page.locator('ion-title');
|
|
38
|
+
await expect(title).toHaveScreenshot(screenshot(`title-small-scale`));
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, screenshot, config }) => {
|
|
43
|
+
test.describe(title('title: font scaling for large attribute'), () => {
|
|
44
|
+
test('should scale text on larger font sizes', async ({ page }) => {
|
|
45
|
+
await page.setContent(`
|
|
46
|
+
<style>
|
|
47
|
+
html {
|
|
48
|
+
font-size: 36px;
|
|
49
|
+
}
|
|
50
|
+
</style>
|
|
51
|
+
<ion-header>
|
|
52
|
+
<ion-toolbar>
|
|
53
|
+
<ion-title size="large">Title</ion-title>
|
|
54
|
+
</ion-toolbar>
|
|
55
|
+
</ion-header>
|
|
56
|
+
`, config);
|
|
57
|
+
const title = page.locator('ion-title');
|
|
58
|
+
await expect(title).toHaveScreenshot(screenshot(`title-large-scale`));
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
1
34
|
:host {
|
|
2
35
|
/**
|
|
3
36
|
* @prop --color: Text color of the title
|
|
@@ -39,7 +72,7 @@
|
|
|
39
72
|
width: 100%;
|
|
40
73
|
height: 100%;
|
|
41
74
|
transform: translateZ(0);
|
|
42
|
-
font-size:
|
|
75
|
+
font-size: min(1.0625rem, 20.4px);
|
|
43
76
|
font-weight: 600;
|
|
44
77
|
text-align: center;
|
|
45
78
|
box-sizing: border-box;
|
|
@@ -76,22 +109,22 @@
|
|
|
76
109
|
padding-top: 6px;
|
|
77
110
|
padding-bottom: 16px;
|
|
78
111
|
position: relative;
|
|
79
|
-
font-size:
|
|
112
|
+
font-size: min(0.8125rem, 23.4px);
|
|
80
113
|
font-weight: normal;
|
|
81
114
|
}
|
|
82
115
|
|
|
83
116
|
:host(.title-large) {
|
|
84
|
-
-webkit-padding-start:
|
|
85
|
-
padding-inline-start:
|
|
86
|
-
-webkit-padding-end:
|
|
87
|
-
padding-inline-end:
|
|
88
|
-
padding-top:
|
|
89
|
-
padding-bottom:
|
|
117
|
+
-webkit-padding-start: 12px;
|
|
118
|
+
padding-inline-start: 12px;
|
|
119
|
+
-webkit-padding-end: 12px;
|
|
120
|
+
padding-inline-end: 12px;
|
|
121
|
+
padding-top: 2px;
|
|
122
|
+
padding-bottom: 4px;
|
|
90
123
|
transform-origin: left center;
|
|
91
|
-
|
|
124
|
+
position: static;
|
|
92
125
|
align-items: flex-end;
|
|
93
126
|
min-width: 100%;
|
|
94
|
-
font-size:
|
|
127
|
+
font-size: min(2.125rem, 61.2px);
|
|
95
128
|
font-weight: 700;
|
|
96
129
|
text-align: start;
|
|
97
130
|
}
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
1
34
|
:host {
|
|
2
35
|
/**
|
|
3
36
|
* @prop --color: Text color of the title
|
|
@@ -34,7 +67,7 @@
|
|
|
34
67
|
padding-inline-end: 20px;
|
|
35
68
|
padding-top: 0;
|
|
36
69
|
padding-bottom: 0;
|
|
37
|
-
font-size:
|
|
70
|
+
font-size: 1.25rem;
|
|
38
71
|
font-weight: 500;
|
|
39
72
|
letter-spacing: 0.0125em;
|
|
40
73
|
}
|
|
@@ -42,6 +75,6 @@
|
|
|
42
75
|
:host(.title-small) {
|
|
43
76
|
width: 100%;
|
|
44
77
|
height: 100%;
|
|
45
|
-
font-size:
|
|
78
|
+
font-size: 0.9375rem;
|
|
46
79
|
font-weight: normal;
|
|
47
80
|
}
|
|
@@ -6,13 +6,12 @@ import { getElementRoot } from "../../../utils/helpers";
|
|
|
6
6
|
/**
|
|
7
7
|
* iOS Toast Enter Animation
|
|
8
8
|
*/
|
|
9
|
-
export const iosEnterAnimation = (baseEl,
|
|
9
|
+
export const iosEnterAnimation = (baseEl, opts) => {
|
|
10
10
|
const baseAnimation = createAnimation();
|
|
11
11
|
const wrapperAnimation = createAnimation();
|
|
12
|
+
const { position, top, bottom } = opts;
|
|
12
13
|
const root = getElementRoot(baseEl);
|
|
13
14
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
14
|
-
const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
|
|
15
|
-
const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
|
|
16
15
|
wrapperAnimation.addElement(wrapperEl);
|
|
17
16
|
switch (position) {
|
|
18
17
|
case 'top':
|
|
@@ -6,13 +6,12 @@ import { getElementRoot } from "../../../utils/helpers";
|
|
|
6
6
|
/**
|
|
7
7
|
* iOS Toast Leave Animation
|
|
8
8
|
*/
|
|
9
|
-
export const iosLeaveAnimation = (baseEl,
|
|
9
|
+
export const iosLeaveAnimation = (baseEl, opts) => {
|
|
10
10
|
const baseAnimation = createAnimation();
|
|
11
11
|
const wrapperAnimation = createAnimation();
|
|
12
|
+
const { position, top, bottom } = opts;
|
|
12
13
|
const root = getElementRoot(baseEl);
|
|
13
14
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
14
|
-
const bottom = `calc(-10px - var(--ion-safe-area-bottom, 0px))`;
|
|
15
|
-
const top = `calc(10px + var(--ion-safe-area-top, 0px))`;
|
|
16
15
|
wrapperAnimation.addElement(wrapperEl);
|
|
17
16
|
switch (position) {
|
|
18
17
|
case 'top':
|
|
@@ -6,13 +6,12 @@ import { getElementRoot } from "../../../utils/helpers";
|
|
|
6
6
|
/**
|
|
7
7
|
* MD Toast Enter Animation
|
|
8
8
|
*/
|
|
9
|
-
export const mdEnterAnimation = (baseEl,
|
|
9
|
+
export const mdEnterAnimation = (baseEl, opts) => {
|
|
10
10
|
const baseAnimation = createAnimation();
|
|
11
11
|
const wrapperAnimation = createAnimation();
|
|
12
|
+
const { position, top, bottom } = opts;
|
|
12
13
|
const root = getElementRoot(baseEl);
|
|
13
14
|
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
14
|
-
const bottom = `calc(8px + var(--ion-safe-area-bottom, 0px))`;
|
|
15
|
-
const top = `calc(8px + var(--ion-safe-area-top, 0px))`;
|
|
16
15
|
wrapperAnimation.addElement(wrapperEl);
|
|
17
16
|
switch (position) {
|
|
18
17
|
case 'top':
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { win } from "../../../utils/browser/index";
|
|
5
|
+
import { printIonWarning } from "../../../utils/logging/index";
|
|
6
|
+
/**
|
|
7
|
+
* Calculate the CSS top and bottom position of the toast, to be used
|
|
8
|
+
* as starting points for the animation keyframes.
|
|
9
|
+
*
|
|
10
|
+
* Note that MD animates bottom-positioned toasts using style.bottom,
|
|
11
|
+
* which calculates from the bottom edge of the screen, while iOS uses
|
|
12
|
+
* translateY, which calculates from the top edge of the screen. This
|
|
13
|
+
* is why the bottom calculates differ slightly between modes.
|
|
14
|
+
*
|
|
15
|
+
* @param position The value of the toast's position prop.
|
|
16
|
+
* @param positionAnchor The element the toast should be anchored to,
|
|
17
|
+
* if applicable.
|
|
18
|
+
* @param mode The toast component's mode (md, ios, etc).
|
|
19
|
+
* @param toast A reference to the toast element itself.
|
|
20
|
+
*/
|
|
21
|
+
export function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
22
|
+
/**
|
|
23
|
+
* Start with a predefined offset from the edge the toast will be
|
|
24
|
+
* positioned relative to, whether on the screen or anchor element.
|
|
25
|
+
*/
|
|
26
|
+
let offset;
|
|
27
|
+
if (mode === 'md') {
|
|
28
|
+
offset = 8;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
offset = position === 'top' ? 10 : -10;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* If positionAnchor is defined, add in the distance from the target
|
|
35
|
+
* screen edge to the target anchor edge. For position="top", the
|
|
36
|
+
* bottom anchor edge is targeted. For position="bottom", the top
|
|
37
|
+
* anchor edge is targeted.
|
|
38
|
+
*/
|
|
39
|
+
if (positionAnchor && win) {
|
|
40
|
+
warnIfAnchorIsHidden(positionAnchor, toast);
|
|
41
|
+
const box = positionAnchor.getBoundingClientRect();
|
|
42
|
+
if (position === 'top') {
|
|
43
|
+
offset += box.bottom;
|
|
44
|
+
}
|
|
45
|
+
else if (position === 'bottom') {
|
|
46
|
+
/**
|
|
47
|
+
* Just box.top is the distance from the top edge of the screen
|
|
48
|
+
* to the top edge of the anchor. We want to calculate from the
|
|
49
|
+
* bottom edge of the screen instead.
|
|
50
|
+
*/
|
|
51
|
+
if (mode === 'md') {
|
|
52
|
+
offset += win.innerHeight - box.top;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
offset -= win.innerHeight - box.top;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* We don't include safe area here because that should already be
|
|
60
|
+
* accounted for when checking the position of the anchor.
|
|
61
|
+
*/
|
|
62
|
+
return {
|
|
63
|
+
top: `${offset}px`,
|
|
64
|
+
bottom: `${offset}px`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return {
|
|
69
|
+
top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
|
|
70
|
+
bottom: mode === 'md'
|
|
71
|
+
? `calc(${offset}px + var(--ion-safe-area-bottom, 0px))`
|
|
72
|
+
: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* If the anchor element is hidden, getBoundingClientRect()
|
|
78
|
+
* will return all 0s for it, which can cause unexpected
|
|
79
|
+
* results in the position calculation when animating.
|
|
80
|
+
*/
|
|
81
|
+
function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
82
|
+
if (positionAnchor.offsetParent === null) {
|
|
83
|
+
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -7,7 +7,7 @@ import { configs, test } from "../../../../utils/test/playwright/index";
|
|
|
7
7
|
/**
|
|
8
8
|
* This test does not check LTR vs RTL layouts
|
|
9
9
|
*/
|
|
10
|
-
configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
10
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
11
11
|
test.describe(title('toast: a11y'), () => {
|
|
12
12
|
test.beforeEach(async ({ page }) => {
|
|
13
13
|
await page.goto(`/src/components/toast/test/a11y`, config);
|
|
@@ -45,4 +45,101 @@ configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
|
|
|
45
45
|
await expect(toastButton).toHaveAttribute('aria-label', 'close button');
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
|
+
test.describe(title('toast: font scaling'), () => {
|
|
49
|
+
test('should scale header text on larger font sizes', async ({ page }) => {
|
|
50
|
+
await page.setContent(`
|
|
51
|
+
<style>
|
|
52
|
+
html {
|
|
53
|
+
font-size: 310%;
|
|
54
|
+
}
|
|
55
|
+
</style>
|
|
56
|
+
|
|
57
|
+
<ion-toast is-open="true" header="Testing" message="Hello world"></ion-toast>
|
|
58
|
+
`, config);
|
|
59
|
+
const toast = page.locator('ion-toast');
|
|
60
|
+
await expect(toast).toBeVisible();
|
|
61
|
+
const toastWrapper = toast.locator('.toast-wrapper');
|
|
62
|
+
await expect(toastWrapper).toHaveScreenshot(screenshot('toast-header-scale'));
|
|
63
|
+
});
|
|
64
|
+
test('should scale message text on larger font sizes', async ({ page }) => {
|
|
65
|
+
await page.setContent(`
|
|
66
|
+
<style>
|
|
67
|
+
html {
|
|
68
|
+
font-size: 310%;
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
71
|
+
|
|
72
|
+
<ion-toast is-open="true" message="Hello world"></ion-toast>
|
|
73
|
+
`, config);
|
|
74
|
+
const toast = page.locator('ion-toast');
|
|
75
|
+
await expect(toast).toBeVisible();
|
|
76
|
+
const toastWrapper = toast.locator('.toast-wrapper');
|
|
77
|
+
await expect(toastWrapper).toHaveScreenshot(screenshot('toast-message-scale'));
|
|
78
|
+
});
|
|
79
|
+
test('should scale content icon on larger font sizes', async ({ page }) => {
|
|
80
|
+
await page.setContent(`
|
|
81
|
+
<style>
|
|
82
|
+
html {
|
|
83
|
+
font-size: 310%;
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
86
|
+
|
|
87
|
+
<ion-toast is-open="true" message="Hello world" icon="alert"></ion-toast>
|
|
88
|
+
`, config);
|
|
89
|
+
const toast = page.locator('ion-toast');
|
|
90
|
+
await expect(toast).toBeVisible();
|
|
91
|
+
const toastWrapper = toast.locator('.toast-wrapper');
|
|
92
|
+
await expect(toastWrapper).toHaveScreenshot(screenshot('toast-icon-scale'));
|
|
93
|
+
});
|
|
94
|
+
test('should scale button text on larger font sizes', async ({ page }) => {
|
|
95
|
+
await page.setContent(`
|
|
96
|
+
<style>
|
|
97
|
+
html {
|
|
98
|
+
font-size: 310%;
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
101
|
+
|
|
102
|
+
<ion-toast is-open="true" message="Hello world"></ion-toast>
|
|
103
|
+
`, config);
|
|
104
|
+
const toast = page.locator('ion-toast');
|
|
105
|
+
toast.evaluate((el) => {
|
|
106
|
+
el.buttons = [
|
|
107
|
+
{
|
|
108
|
+
text: 'Cancel',
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
});
|
|
112
|
+
await expect(toast).toBeVisible();
|
|
113
|
+
const toastWrapper = toast.locator('.toast-wrapper');
|
|
114
|
+
await expect(toastWrapper).toHaveScreenshot(screenshot('toast-buttons-scale'));
|
|
115
|
+
});
|
|
116
|
+
test('should scale buttons and icons on larger font sizes', async ({ page }) => {
|
|
117
|
+
await page.setContent(`
|
|
118
|
+
<style>
|
|
119
|
+
html {
|
|
120
|
+
font-size: 310%;
|
|
121
|
+
}
|
|
122
|
+
</style>
|
|
123
|
+
|
|
124
|
+
<ion-toast is-open="true" message="Hello world"></ion-toast>
|
|
125
|
+
`, config);
|
|
126
|
+
const toast = page.locator('ion-toast');
|
|
127
|
+
toast.evaluate((el) => {
|
|
128
|
+
el.buttons = [
|
|
129
|
+
{
|
|
130
|
+
text: 'Cancel',
|
|
131
|
+
icon: 'close',
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
});
|
|
135
|
+
await expect(toast).toBeVisible();
|
|
136
|
+
/**
|
|
137
|
+
* Linux incorrectly clips the screenshot when capturing the toast container
|
|
138
|
+
* with the inset styling.
|
|
139
|
+
*
|
|
140
|
+
* We capture the entire toast container (entire page) to avoid this issue.
|
|
141
|
+
*/
|
|
142
|
+
await expect(toast).toHaveScreenshot(screenshot('toast-buttons-icon-scale'));
|
|
143
|
+
});
|
|
144
|
+
});
|
|
48
145
|
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { expect } from "@playwright/test";
|
|
5
|
+
import { configs, test } from "../../../../utils/test/playwright/index";
|
|
6
|
+
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
|
7
|
+
test.describe(title('toast: positionAnchor'), () => {
|
|
8
|
+
test.beforeEach(async ({ page }) => {
|
|
9
|
+
await page.goto('/src/components/toast/test/position-anchor', config);
|
|
10
|
+
/**
|
|
11
|
+
* We need to screenshot the whole page to ensure the toasts are positioned
|
|
12
|
+
* correctly, but we don't need much extra white space between the header
|
|
13
|
+
* and footer.
|
|
14
|
+
*/
|
|
15
|
+
await page.setViewportSize({
|
|
16
|
+
width: 425,
|
|
17
|
+
height: 425,
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
test('should place top-position toast underneath anchor', async ({ page }) => {
|
|
21
|
+
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
22
|
+
await page.click('#headerAnchor');
|
|
23
|
+
await ionToastDidPresent.next();
|
|
24
|
+
await expect(page).toHaveScreenshot(screenshot(`toast-header-anchor`));
|
|
25
|
+
});
|
|
26
|
+
test('should place bottom-position toast above anchor', async ({ page }) => {
|
|
27
|
+
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
28
|
+
await page.click('#footerAnchor');
|
|
29
|
+
await ionToastDidPresent.next();
|
|
30
|
+
await expect(page).toHaveScreenshot(screenshot(`toast-footer-anchor`));
|
|
31
|
+
});
|
|
32
|
+
test('should ignore anchor for middle-position toast', async ({ page }) => {
|
|
33
|
+
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
34
|
+
await page.click('#middleAnchor');
|
|
35
|
+
await ionToastDidPresent.next();
|
|
36
|
+
await expect(page).toHaveScreenshot(screenshot(`toast-middle-anchor`));
|
|
37
|
+
});
|
|
38
|
+
test('should correctly anchor toast when using an element reference', async ({ page }) => {
|
|
39
|
+
const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent');
|
|
40
|
+
await page.click('#headerElAnchor');
|
|
41
|
+
await ionToastDidPresent.next();
|
|
42
|
+
await expect(page).toHaveScreenshot(screenshot(`toast-header-el-anchor`));
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
1
34
|
:host {
|
|
2
35
|
/**
|
|
3
36
|
* @prop --background: Background of the toast
|
|
@@ -160,6 +193,10 @@
|
|
|
160
193
|
margin-inline-start: 16px;
|
|
161
194
|
}
|
|
162
195
|
|
|
196
|
+
.toast-content {
|
|
197
|
+
min-width: 0;
|
|
198
|
+
}
|
|
199
|
+
|
|
163
200
|
.toast-message {
|
|
164
201
|
flex: 1;
|
|
165
202
|
white-space: var(--white-space);
|
|
@@ -196,15 +233,49 @@
|
|
|
196
233
|
cursor: pointer;
|
|
197
234
|
}
|
|
198
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Convert a font size to a dynamic font size.
|
|
238
|
+
* Fonts that participate in Dynamic Type should use
|
|
239
|
+
* dynamic font sizes.
|
|
240
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
241
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
242
|
+
* convert to a unit other than $baselineUnit.
|
|
243
|
+
*/
|
|
244
|
+
/**
|
|
245
|
+
* Convert a font size to a dynamic font size but impose
|
|
246
|
+
* a maximum font size.
|
|
247
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
248
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
249
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
250
|
+
* convert to a unit other than $baselineUnit.
|
|
251
|
+
*/
|
|
252
|
+
/**
|
|
253
|
+
* Convert a font size to a dynamic font size but impose
|
|
254
|
+
* a minimum font size.
|
|
255
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
256
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
257
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
258
|
+
* convert to a unit other than $baselineUnit.
|
|
259
|
+
*/
|
|
260
|
+
/**
|
|
261
|
+
* Convert a font size to a dynamic font size but impose
|
|
262
|
+
* maximum and minimum font sizes.
|
|
263
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
264
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
265
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
266
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
267
|
+
* convert to a unit other than $baselineUnit.
|
|
268
|
+
*/
|
|
199
269
|
:host {
|
|
200
270
|
--background: var(--ion-color-step-50, #f2f2f2);
|
|
201
271
|
--border-radius: 14px;
|
|
202
272
|
--button-color: var(--ion-color-primary, #3880ff);
|
|
203
273
|
--color: var(--ion-color-step-850, #262626);
|
|
204
274
|
--max-width: 700px;
|
|
275
|
+
--max-height: 478px;
|
|
205
276
|
--start: 10px;
|
|
206
277
|
--end: 10px;
|
|
207
|
-
font-size: 14px;
|
|
278
|
+
font-size: clamp(14px, 0.875rem, 43.4px);
|
|
208
279
|
}
|
|
209
280
|
|
|
210
281
|
.toast-wrapper {
|
|
@@ -263,12 +334,12 @@
|
|
|
263
334
|
padding-inline-end: 15px;
|
|
264
335
|
padding-top: 10px;
|
|
265
336
|
padding-bottom: 10px;
|
|
266
|
-
height: 44px;
|
|
337
|
+
min-height: 44px;
|
|
267
338
|
transition: background-color, opacity 100ms linear;
|
|
268
339
|
border: 0;
|
|
269
340
|
background-color: transparent;
|
|
270
341
|
font-family: var(--ion-font-family);
|
|
271
|
-
font-size: 17px;
|
|
342
|
+
font-size: clamp(17px, 1.0625rem, 21.998px);
|
|
272
343
|
font-weight: 500;
|
|
273
344
|
overflow: hidden;
|
|
274
345
|
}
|