voyager-ionic-core 8.0.0-beta.3 → 8.0.0-rc.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/animation.js +9 -250
- package/components/button.js +18 -5
- package/components/haptic.js +6 -54
- package/components/helpers.js +1 -4
- package/components/index7.js +3 -1
- package/components/index9.js +5 -34
- package/components/ion-input-password-toggle.d.ts +11 -0
- package/components/ion-input-password-toggle.js +132 -0
- package/components/ion-input.js +27 -8
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +3 -3
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-modal.js +3 -3
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher-content.js +2 -2
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +2 -2
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +7 -7
- package/components/ion-segment-button.js +3 -3
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +3 -3
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -3
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +4 -4
- package/components/ion-toolbar.js +2 -2
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +1 -1
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/dist/cjs/{animation-58ecfe20.js → animation-b4fdf128.js} +9 -250
- package/dist/cjs/{app-globals-e132c781.js → app-globals-63aebf89.js} +1 -1
- package/dist/cjs/{button-active-60ecf64d.js → button-active-bd13859e.js} +2 -2
- package/dist/cjs/{framework-delegate-df3a2b04.js → framework-delegate-55f5683a.js} +1 -1
- package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
- package/dist/cjs/{hardware-back-button-1c67a5a2.js → hardware-back-button-ad9299b4.js} +2 -2
- package/dist/cjs/{helpers-71097d9c.js → helpers-afaa9001.js} +0 -4
- package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
- package/dist/cjs/{index-7479ea5a.js → index-5b6a7459.js} +1 -1
- package/dist/cjs/{index-289297dc.js → index-5cf05f94.js} +4 -4
- package/dist/cjs/{index-a91a3e24.js → index-9509ecad.js} +5 -34
- package/dist/cjs/{index-2d21d526.js → index-af6d0fbb.js} +16 -4
- package/dist/cjs/{index-14ae0c27.js → index-ff66cc7c.js} +4 -4
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-77b14f24.js → input-shims-20d639e6.js} +2 -2
- package/dist/cjs/{input.utils-ca74d73a.js → input.utils-611cde0b.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -9
- package/dist/cjs/ion-alert.cjs.entry.js +9 -9
- package/dist/cjs/ion-app_8.cjs.entry.js +17 -17
- package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-button_2.cjs.entry.js +19 -7
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +13 -13
- package/dist/cjs/ion-fab_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +93 -0
- package/dist/cjs/ion-input.cjs.entry.js +30 -12
- package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-item_8.cjs.entry.js +16 -16
- package/dist/cjs/ion-loading.cjs.entry.js +9 -9
- package/dist/cjs/ion-menu_3.cjs.entry.js +15 -15
- package/dist/cjs/ion-modal.cjs.entry.js +12 -12
- package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +10 -10
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-range.cjs.entry.js +7 -7
- package/dist/cjs/ion-refresher_2.cjs.entry.js +9 -9
- package/dist/cjs/ion-reorder_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
- package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +10 -10
- package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
- package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
- package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
- package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-textarea.cjs.entry.js +7 -8
- package/dist/cjs/ion-toast.cjs.entry.js +9 -9
- package/dist/cjs/ion-toggle.cjs.entry.js +8 -8
- package/dist/cjs/{ionic-global-5762eca9.js → ionic-global-1adf9bc4.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-8e0ca8ed.js → ios.transition-06673f18.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-5d0f134b.js → md.transition-4d7bb4b1.js} +4 -4
- package/dist/cjs/{notch-controller-0042ad49.js → notch-controller-d69150f5.js} +1 -1
- package/dist/cjs/{overlays-30b83581.js → overlays-6487955a.js} +4 -4
- package/dist/cjs/{status-tap-dc3b8fda.js → status-tap-0be20572.js} +3 -3
- package/dist/cjs/{swipe-back-49825f1f.js → swipe-back-f38a434a.js} +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/button/button.ios.css +32 -10
- package/dist/collection/components/button/button.js +19 -2
- package/dist/collection/components/button/button.md.css +28 -13
- package/dist/collection/components/button/test/round/button.e2e.js +39 -4
- package/dist/collection/components/input/input.ios.css +9 -0
- package/dist/collection/components/input/input.js +27 -30
- package/dist/collection/components/input/input.md.css +9 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
- package/dist/collection/components/input-password-toggle/test/a11y/input-password-toggle.e2e.js +21 -0
- package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +38 -0
- package/dist/collection/components/input-password-toggle/test/input-password-toggle.spec.js +76 -0
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +3 -3
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +10 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.js +2 -2
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -26
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/animation/animation-utils.js +0 -102
- package/dist/collection/utils/animation/animation.js +10 -141
- package/dist/collection/utils/animation/test/animation.spec.js +0 -89
- package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
- package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
- package/dist/collection/utils/native/haptic.js +6 -54
- package/dist/collection/utils/tap-click/index.js +5 -34
- package/dist/docs.json +210 -35
- package/dist/esm/{animation-6a3c0abb.js → animation-eab5a4ca.js} +9 -250
- package/dist/esm/{app-globals-80842d68.js → app-globals-b8e5e7fa.js} +1 -1
- package/dist/esm/{button-active-c6e18fac.js → button-active-a411da52.js} +2 -2
- package/dist/esm/{framework-delegate-3dede018.js → framework-delegate-63d1a679.js} +1 -1
- package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
- package/dist/esm/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +2 -2
- package/dist/esm/{helpers-eab4f597.js → helpers-da915de8.js} +1 -4
- package/dist/esm/{index-95a691d4.js → index-10916999.js} +4 -4
- package/dist/esm/{index-044b5a86.js → index-5cc724f3.js} +1 -1
- package/dist/esm/{index-5d6a0317.js → index-6e4709ff.js} +16 -4
- package/dist/esm/{index-fa221975.js → index-79b30591.js} +5 -34
- package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
- package/dist/esm/{index-136e99c8.js → index-f1f5de26.js} +4 -4
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-196afa11.js → input-shims-4530285e.js} +2 -2
- package/dist/esm/{input.utils-426cc674.js → input.utils-09c71bc7.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +9 -9
- package/dist/esm/ion-alert.entry.js +9 -9
- package/dist/esm/ion-app_8.entry.js +17 -17
- package/dist/esm/ion-avatar_3.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +4 -4
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +4 -4
- package/dist/esm/ion-button_2.entry.js +19 -7
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +3 -3
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +3 -3
- package/dist/esm/ion-datetime_3.entry.js +13 -13
- package/dist/esm/ion-fab_3.entry.js +4 -4
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
- package/dist/esm/ion-input-password-toggle.entry.js +89 -0
- package/dist/esm/ion-input.entry.js +30 -12
- package/dist/esm/ion-item-option_3.entry.js +8 -8
- package/dist/esm/ion-item_8.entry.js +16 -16
- package/dist/esm/ion-loading.entry.js +9 -9
- package/dist/esm/ion-menu_3.entry.js +15 -15
- package/dist/esm/ion-modal.entry.js +12 -12
- package/dist/esm/ion-nav_2.entry.js +8 -8
- package/dist/esm/ion-picker-column-option.entry.js +5 -5
- package/dist/esm/ion-picker-column.entry.js +4 -4
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +10 -10
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +7 -7
- package/dist/esm/ion-range.entry.js +7 -7
- package/dist/esm/ion-refresher_2.entry.js +9 -9
- package/dist/esm/ion-reorder_2.entry.js +8 -8
- package/dist/esm/ion-ripple-effect.entry.js +3 -3
- package/dist/esm/ion-route_4.entry.js +5 -5
- package/dist/esm/ion-searchbar.entry.js +10 -10
- package/dist/esm/ion-segment_2.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +12 -12
- package/dist/esm/ion-spinner.entry.js +3 -3
- package/dist/esm/ion-split-pane.entry.js +4 -4
- package/dist/esm/ion-tab-bar_2.entry.js +7 -7
- package/dist/esm/ion-tab_2.entry.js +6 -6
- package/dist/esm/ion-text.entry.js +4 -4
- package/dist/esm/ion-textarea.entry.js +7 -8
- package/dist/esm/ion-toast.entry.js +9 -9
- package/dist/esm/ion-toggle.entry.js +8 -8
- package/dist/esm/{ionic-global-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-d1c8eea2.js → ios.transition-8e181a7e.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-0d2de76d.js → md.transition-f1c3c737.js} +4 -4
- package/dist/esm/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm/{overlays-d41f74ac.js → overlays-9472c98b.js} +4 -4
- package/dist/esm/{status-tap-45595148.js → status-tap-39da9160.js} +3 -3
- package/dist/esm/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
- package/dist/esm-es5/animation-eab5a4ca.js +4 -0
- package/dist/esm-es5/app-globals-b8e5e7fa.js +4 -0
- package/dist/esm-es5/{button-active-c6e18fac.js → button-active-a411da52.js} +1 -1
- package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
- package/dist/esm-es5/haptic-ac164e4c.js +4 -0
- package/dist/esm-es5/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +1 -1
- package/dist/esm-es5/{helpers-eab4f597.js → helpers-da915de8.js} +1 -1
- package/dist/esm-es5/index-10916999.js +4 -0
- package/dist/esm-es5/{index-044b5a86.js → index-5cc724f3.js} +1 -1
- package/dist/esm-es5/index-6e4709ff.js +5 -0
- package/dist/esm-es5/index-79b30591.js +4 -0
- package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
- package/dist/esm-es5/{index-136e99c8.js → index-f1f5de26.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-4530285e.js +4 -0
- package/dist/esm-es5/{input.utils-426cc674.js → input.utils-09c71bc7.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-password-toggle.entry.js +4 -0
- 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-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.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-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-d1c8eea2.js → ios.transition-8e181a7e.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-f1c3c737.js +4 -0
- package/dist/esm-es5/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm-es5/{overlays-d41f74ac.js → overlays-9472c98b.js} +1 -1
- package/dist/esm-es5/{status-tap-45595148.js → status-tap-39da9160.js} +1 -1
- package/dist/esm-es5/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
- package/dist/html.html-data.json +86 -18
- 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-92b05b70.system.entry.js → p-04070329.system.entry.js} +1 -1
- package/dist/ionic/p-049fa018.system.entry.js +4 -0
- package/dist/ionic/{p-325c61a4.js → p-06e58c4e.js} +1 -1
- package/dist/ionic/{p-7adde43c.system.entry.js → p-07ae133d.system.entry.js} +1 -1
- package/dist/ionic/p-0aa4682e.entry.js +4 -0
- package/dist/ionic/{p-d286cfbe.system.entry.js → p-0bbb6edf.system.entry.js} +1 -1
- package/dist/ionic/{p-4a3055ef.system.js → p-0c06e09b.system.js} +1 -1
- package/dist/ionic/{p-d8090ce4.entry.js → p-0de546bb.entry.js} +1 -1
- package/dist/ionic/{p-2852c537.system.entry.js → p-0ebb1fe7.system.entry.js} +1 -1
- package/dist/ionic/p-0f2d99a6.entry.js +4 -0
- package/dist/ionic/{p-1685d81c.system.entry.js → p-100bedc4.system.entry.js} +1 -1
- package/dist/ionic/{p-91567c90.system.entry.js → p-105f7d62.system.entry.js} +1 -1
- package/dist/ionic/{p-185db19b.system.entry.js → p-1672c4fd.system.entry.js} +1 -1
- package/dist/ionic/{p-fb870c48.entry.js → p-17978fce.entry.js} +1 -1
- package/dist/ionic/p-184fbc9e.system.js +4 -0
- package/dist/ionic/{p-2cc2c631.system.js → p-19ea7bff.system.js} +1 -1
- package/dist/ionic/{p-29ef3b9b.entry.js → p-1b235142.entry.js} +1 -1
- package/dist/ionic/{p-fe35b5c0.entry.js → p-1cff9cad.entry.js} +1 -1
- package/dist/ionic/p-1e955a45.system.js +4 -0
- package/dist/ionic/p-1f9cdee2.entry.js +4 -0
- package/dist/ionic/p-23b89985.entry.js +4 -0
- package/dist/ionic/{p-07759435.system.js → p-25575222.system.js} +1 -1
- package/dist/ionic/{p-6d9f8fac.system.js → p-266fc56e.system.js} +1 -1
- package/dist/ionic/{p-3ae4a2a2.entry.js → p-2e12bda2.entry.js} +1 -1
- package/dist/ionic/{p-23838a94.system.entry.js → p-2f6cedaf.system.entry.js} +1 -1
- package/dist/ionic/{p-78b3da77.js → p-3040730e.js} +1 -1
- package/dist/ionic/{p-ebc5b98f.entry.js → p-3391d9a3.entry.js} +1 -1
- package/dist/ionic/{p-a600a3e3.js → p-34b11c24.js} +1 -1
- package/dist/ionic/{p-4d325220.system.entry.js → p-352f7037.system.entry.js} +1 -1
- package/dist/ionic/{p-2130b526.entry.js → p-35b9e842.entry.js} +1 -1
- package/dist/ionic/{p-668607c2.system.js → p-3ad285e3.system.js} +1 -1
- package/dist/ionic/{p-dd9168f3.entry.js → p-3c70b01b.entry.js} +1 -1
- package/dist/ionic/{p-c6f9f3eb.js → p-3cc276f4.js} +1 -1
- package/dist/ionic/{p-d0496c22.system.entry.js → p-3d6e882f.system.entry.js} +1 -1
- package/dist/ionic/{p-d8ffe61c.system.entry.js → p-3e3b34f7.system.entry.js} +1 -1
- package/dist/ionic/{p-f1d1524c.entry.js → p-3f70bfba.entry.js} +1 -1
- package/dist/ionic/{p-9e6a5e3d.system.entry.js → p-43505ff8.system.entry.js} +1 -1
- package/dist/ionic/{p-a88b41d1.system.entry.js → p-4429fc97.system.entry.js} +2 -2
- package/dist/ionic/{p-70c278c4.system.entry.js → p-4511ba0e.system.entry.js} +1 -1
- package/dist/ionic/p-46111310.js +4 -0
- package/dist/ionic/p-46f407f0.system.js +4 -0
- package/dist/ionic/{p-7d29dff0.system.entry.js → p-49b6fee0.system.entry.js} +1 -1
- package/dist/ionic/{p-6a448415.entry.js → p-4a615fea.entry.js} +1 -1
- package/dist/ionic/{p-f85a4df5.system.js → p-4dd82d9d.system.js} +1 -1
- package/dist/ionic/{p-6a62da36.system.js → p-5033128d.system.js} +2 -2
- package/dist/ionic/{p-17ee2784.system.entry.js → p-510578f3.system.entry.js} +1 -1
- package/dist/ionic/{p-40976b1c.system.entry.js → p-51b68ec9.system.entry.js} +1 -1
- package/dist/ionic/{p-610f0e12.entry.js → p-51ff648c.entry.js} +1 -1
- package/dist/ionic/p-546433d2.js +4 -0
- package/dist/ionic/{p-976c7c54.js → p-54f76ced.js} +1 -1
- package/dist/ionic/{p-66e50777.entry.js → p-56c3b69c.entry.js} +1 -1
- package/dist/ionic/p-58ea73f7.system.entry.js +4 -0
- package/dist/ionic/p-596e0cf8.system.entry.js +4 -0
- package/dist/ionic/{p-ba0290d1.entry.js → p-5ae49f12.entry.js} +1 -1
- package/dist/ionic/{p-ec34194e.system.entry.js → p-5b1273f4.system.entry.js} +2 -2
- package/dist/ionic/p-5d3f6707.entry.js +4 -0
- package/dist/ionic/{p-bb5eba12.entry.js → p-5da04d11.entry.js} +1 -1
- package/dist/ionic/p-5e7c32e8.system.entry.js +4 -0
- package/dist/ionic/p-65d26d94.system.entry.js +4 -0
- package/dist/ionic/{p-5e39b9d8.entry.js → p-6744e460.entry.js} +1 -1
- package/dist/ionic/{p-42fecf9c.system.entry.js → p-68a1e274.system.entry.js} +1 -1
- package/dist/ionic/{p-031c5621.js → p-6994c97a.js} +1 -1
- package/dist/ionic/p-69bc14fd.entry.js +4 -0
- package/dist/ionic/p-6a7eac5a.js +4 -0
- package/dist/ionic/p-6f4db5ce.system.entry.js +4 -0
- package/dist/ionic/{p-30dfa360.system.js → p-71215c1d.system.js} +1 -1
- package/dist/ionic/{p-5a277399.system.entry.js → p-71688099.system.entry.js} +1 -1
- package/dist/ionic/{p-282bd5f9.system.entry.js → p-716ab5f8.system.entry.js} +1 -1
- package/dist/ionic/p-72812e99.js +4 -0
- package/dist/ionic/p-74a9cafe.system.js +5 -0
- package/dist/ionic/{p-2bb65deb.entry.js → p-75280815.entry.js} +1 -1
- package/dist/ionic/{p-98c86cdd.js → p-75cddcc9.js} +1 -1
- package/dist/ionic/{p-85f43165.system.entry.js → p-76907c2f.system.entry.js} +1 -1
- package/dist/ionic/p-7d9eefb3.system.js +4 -0
- package/dist/ionic/{p-3cd3214e.entry.js → p-7df2c495.entry.js} +1 -1
- package/dist/ionic/p-7fc505bf.entry.js +4 -0
- package/dist/ionic/{p-8a881b39.entry.js → p-83321ee8.entry.js} +1 -1
- package/dist/ionic/p-8635f5e6.system.js +4 -0
- package/dist/ionic/{p-da5bbd4f.entry.js → p-88cff52d.entry.js} +1 -1
- package/dist/ionic/{p-ed3463be.entry.js → p-896111fa.entry.js} +1 -1
- package/dist/ionic/p-89b61afc.js +4 -0
- package/dist/ionic/{p-db7fcadb.system.entry.js → p-8bd567ba.system.entry.js} +2 -2
- package/dist/ionic/{p-02a803dc.entry.js → p-8e9ac22d.entry.js} +1 -1
- package/dist/ionic/p-9146695e.system.js +4 -0
- package/dist/ionic/{p-a3dae2ce.js → p-96cc4814.js} +1 -1
- package/dist/ionic/{p-7680d0ec.entry.js → p-99daf8b7.entry.js} +1 -1
- package/dist/ionic/p-9ad82dba.js +5 -0
- package/dist/ionic/{p-af9256a0.system.js → p-9d7fc908.system.js} +1 -1
- package/dist/ionic/{p-e0d52ee3.system.js → p-9ea607bd.system.js} +2 -2
- package/dist/ionic/p-a15ddedb.system.js +4 -0
- package/dist/ionic/{p-a6b8342e.system.entry.js → p-a1b4e619.system.entry.js} +1 -1
- package/dist/ionic/{p-d372938e.system.entry.js → p-a1f9f629.system.entry.js} +1 -1
- package/dist/ionic/{p-7c7e495d.system.js → p-a7ba2dcc.system.js} +1 -1
- package/dist/ionic/{p-54c31b4f.entry.js → p-a88fdfac.entry.js} +1 -1
- package/dist/ionic/{p-853bd866.system.js → p-a8f02173.system.js} +1 -1
- package/dist/ionic/p-a93873de.system.js +4 -0
- package/dist/ionic/{p-9b5d033a.system.entry.js → p-aa110ca0.system.entry.js} +1 -1
- package/dist/ionic/{p-103ec049.system.entry.js → p-aa4f2703.system.entry.js} +1 -1
- package/dist/ionic/{p-a94092b9.entry.js → p-ab85debb.entry.js} +1 -1
- package/dist/ionic/{p-1bb1ef31.system.entry.js → p-ac4e2a74.system.entry.js} +1 -1
- package/dist/ionic/p-ac9f44a8.system.entry.js +4 -0
- package/dist/ionic/{p-364044f0.js → p-b51e4004.js} +1 -1
- package/dist/ionic/{p-d5ab02f5.entry.js → p-b689b8d4.entry.js} +1 -1
- package/dist/ionic/p-b7af48c0.js +4 -0
- package/dist/ionic/p-bb835b4d.system.entry.js +4 -0
- package/dist/ionic/{p-7002bc75.entry.js → p-c04d5a75.entry.js} +1 -1
- package/dist/ionic/{p-cbf0a046.system.entry.js → p-c198e1e1.system.entry.js} +1 -1
- package/dist/ionic/{p-bb608006.system.entry.js → p-c1d1d004.system.entry.js} +1 -1
- package/dist/ionic/{p-239906f1.js → p-c222f76a.js} +1 -1
- package/dist/ionic/{p-c8383c20.entry.js → p-c41af68a.entry.js} +1 -1
- package/dist/ionic/p-c7e16491.js +4 -0
- package/dist/ionic/p-c80d05c9.js +4 -0
- package/dist/ionic/{p-23efc001.entry.js → p-c8510ca2.entry.js} +1 -1
- package/dist/ionic/{p-a4c287f9.entry.js → p-c8f2b769.entry.js} +1 -1
- package/dist/ionic/{p-b1d9b078.entry.js → p-c99ccdc9.entry.js} +1 -1
- package/dist/ionic/{p-af2e3481.system.entry.js → p-c9c39c98.system.entry.js} +1 -1
- package/dist/ionic/{p-8ed900e4.entry.js → p-cae889f9.entry.js} +1 -1
- package/dist/ionic/{p-9e3177a5.system.js → p-d2544865.system.js} +1 -1
- package/dist/ionic/{p-219c17cf.system.entry.js → p-d5f48185.system.entry.js} +1 -1
- package/dist/ionic/p-d79542bd.system.js +4 -0
- package/dist/ionic/p-d8067ea4.system.entry.js +4 -0
- package/dist/ionic/p-d8f66669.entry.js +4 -0
- package/dist/ionic/{p-b141e253.entry.js → p-d98c0112.entry.js} +1 -1
- package/dist/ionic/p-da2b833b.js +4 -0
- package/dist/ionic/{p-4d361c89.entry.js → p-dc1372e0.entry.js} +1 -1
- package/dist/ionic/{p-1807190c.entry.js → p-df48edd6.entry.js} +1 -1
- package/dist/ionic/{p-a0e8f913.entry.js → p-df6fa126.entry.js} +1 -1
- package/dist/ionic/{p-fa8ee4c3.entry.js → p-e8a0e731.entry.js} +1 -1
- package/dist/ionic/{p-8dd3d9c3.system.entry.js → p-ea2c16b5.system.entry.js} +2 -2
- package/dist/ionic/p-ea4be6ac.system.js +4 -0
- package/dist/ionic/{p-43c751c6.system.entry.js → p-eb3da535.system.entry.js} +1 -1
- package/dist/ionic/{p-2f6bc4a9.system.entry.js → p-ec2d3928.system.entry.js} +1 -1
- package/dist/ionic/p-f0392d49.entry.js +4 -0
- package/dist/ionic/{p-978f4710.js → p-f4cb521c.js} +1 -1
- package/dist/ionic/{p-00a6f38d.entry.js → p-f818b01a.entry.js} +1 -1
- package/dist/ionic/p-f94cbfe9.js +4 -0
- package/dist/ionic/{p-c41e0b5f.system.entry.js → p-fab4ecad.system.entry.js} +1 -1
- package/dist/ionic/{p-6a888b39.system.entry.js → p-fb02eeec.system.entry.js} +1 -1
- package/dist/ionic/{p-5ac63b19.system.entry.js → p-fb97326f.system.entry.js} +1 -1
- package/dist/ionic/{p-1a8bbd2e.entry.js → p-fbd30ec7.entry.js} +1 -1
- package/dist/ionic/{p-d4d17d47.entry.js → p-fda4872f.entry.js} +1 -1
- package/dist/ionic/{p-294c47cd.system.entry.js → p-ff2323ba.system.entry.js} +1 -1
- package/dist/types/components/button/button.d.ts +5 -0
- package/dist/types/components/input/input.d.ts +7 -6
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +37 -0
- package/dist/types/components/modal/animations/sheet.d.ts +4 -4
- package/dist/types/components/refresher/refresher.utils.d.ts +2 -2
- package/dist/types/components/searchbar/searchbar.d.ts +0 -14
- package/dist/types/components/textarea/textarea.d.ts +1 -6
- package/dist/types/components.d.ts +47 -3
- package/dist/types/utils/animation/animation-utils.d.ts +0 -12
- package/dist/types/utils/focus-trap.d.ts +2 -2
- package/dist/types/utils/overlays.d.ts +2 -2
- package/hydrate/index.js +282 -428
- package/package.json +1 -1
- package/dist/esm-es5/animation-6a3c0abb.js +0 -4
- package/dist/esm-es5/app-globals-80842d68.js +0 -4
- package/dist/esm-es5/framework-delegate-3dede018.js +0 -4
- package/dist/esm-es5/haptic-554688a5.js +0 -4
- package/dist/esm-es5/index-5d6a0317.js +0 -5
- package/dist/esm-es5/index-95a691d4.js +0 -4
- package/dist/esm-es5/index-fa221975.js +0 -4
- package/dist/esm-es5/input-shims-196afa11.js +0 -4
- package/dist/esm-es5/md.transition-0d2de76d.js +0 -4
- package/dist/ionic/p-0051ceb9.entry.js +0 -4
- package/dist/ionic/p-08a8971e.system.js +0 -4
- package/dist/ionic/p-0e4c9e45.system.js +0 -4
- package/dist/ionic/p-17043350.system.js +0 -4
- package/dist/ionic/p-1c801dd4.entry.js +0 -4
- package/dist/ionic/p-22b5c888.system.entry.js +0 -4
- package/dist/ionic/p-23cff6c1.system.js +0 -4
- package/dist/ionic/p-244f56fd.js +0 -4
- package/dist/ionic/p-27c668a0.entry.js +0 -4
- package/dist/ionic/p-2f53c3eb.js +0 -4
- package/dist/ionic/p-34c50a42.system.entry.js +0 -4
- package/dist/ionic/p-3785c067.entry.js +0 -4
- package/dist/ionic/p-3e6e53fe.system.entry.js +0 -4
- package/dist/ionic/p-42f189f4.js +0 -4
- package/dist/ionic/p-5b2951c1.system.entry.js +0 -4
- package/dist/ionic/p-5b52897c.js +0 -4
- package/dist/ionic/p-7d4d9c40.system.entry.js +0 -4
- package/dist/ionic/p-7e7d534c.js +0 -4
- package/dist/ionic/p-831269de.js +0 -4
- package/dist/ionic/p-86c17a09.entry.js +0 -4
- package/dist/ionic/p-ac6db4c2.js +0 -4
- package/dist/ionic/p-b0aaa59a.system.entry.js +0 -4
- package/dist/ionic/p-c385e49d.entry.js +0 -4
- package/dist/ionic/p-c3f5d0e7.js +0 -4
- package/dist/ionic/p-c629d22b.system.js +0 -5
- package/dist/ionic/p-c995da88.system.js +0 -4
- package/dist/ionic/p-d704f798.system.js +0 -4
- package/dist/ionic/p-d80b7e31.system.js +0 -4
- package/dist/ionic/p-dad515dc.js +0 -4
- package/dist/ionic/p-dfb6de03.system.js +0 -4
- package/dist/ionic/p-e3611c25.entry.js +0 -4
- package/dist/ionic/p-e4ca94bd.js +0 -4
- package/dist/ionic/p-e7b0b64d.system.js +0 -4
- package/dist/ionic/p-ec613387.entry.js +0 -4
- package/dist/ionic/p-f7a1318d.system.entry.js +0 -4
- package/dist/ionic/p-f7af3144.system.entry.js +0 -4
- package/dist/ionic/p-f8502e85.js +0 -5
- package/dist/ionic/p-fe1fd531.system.js +0 -4
|
@@ -2,39 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-a5d50daf.js';
|
|
5
|
-
import { r as raf } from './helpers-eab4f597.js';
|
|
6
5
|
|
|
7
6
|
let animationPrefix;
|
|
8
|
-
/**
|
|
9
|
-
* Web Animations requires hyphenated CSS properties
|
|
10
|
-
* to be written in camelCase when animating
|
|
11
|
-
*/
|
|
12
|
-
const processKeyframes = (keyframes) => {
|
|
13
|
-
keyframes.forEach((keyframe) => {
|
|
14
|
-
for (const key in keyframe) {
|
|
15
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
16
|
-
if (keyframe.hasOwnProperty(key)) {
|
|
17
|
-
const value = keyframe[key];
|
|
18
|
-
if (key === 'easing') {
|
|
19
|
-
const newKey = 'animation-timing-function';
|
|
20
|
-
keyframe[newKey] = value;
|
|
21
|
-
delete keyframe[key];
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
const newKey = convertCamelCaseToHypen(key);
|
|
25
|
-
if (newKey !== key) {
|
|
26
|
-
keyframe[newKey] = value;
|
|
27
|
-
delete keyframe[key];
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return keyframes;
|
|
34
|
-
};
|
|
35
|
-
const convertCamelCaseToHypen = (str) => {
|
|
36
|
-
return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
37
|
-
};
|
|
38
7
|
const getAnimationPrefix = (el) => {
|
|
39
8
|
if (animationPrefix === undefined) {
|
|
40
9
|
const supportsUnprefixed = el.style.animationName !== undefined;
|
|
@@ -47,78 +16,6 @@ const setStyleProperty = (element, propertyName, value) => {
|
|
|
47
16
|
const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
|
|
48
17
|
element.style.setProperty(prefix + propertyName, value);
|
|
49
18
|
};
|
|
50
|
-
const removeStyleProperty = (element, propertyName) => {
|
|
51
|
-
const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
|
|
52
|
-
element.style.removeProperty(prefix + propertyName);
|
|
53
|
-
};
|
|
54
|
-
const animationEnd = (el, callback) => {
|
|
55
|
-
let unRegTrans;
|
|
56
|
-
const opts = { passive: true };
|
|
57
|
-
const unregister = () => {
|
|
58
|
-
if (unRegTrans) {
|
|
59
|
-
unRegTrans();
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
const onTransitionEnd = (ev) => {
|
|
63
|
-
if (el === ev.target) {
|
|
64
|
-
unregister();
|
|
65
|
-
callback(ev);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
if (el) {
|
|
69
|
-
el.addEventListener('webkitAnimationEnd', onTransitionEnd, opts);
|
|
70
|
-
el.addEventListener('animationend', onTransitionEnd, opts);
|
|
71
|
-
unRegTrans = () => {
|
|
72
|
-
el.removeEventListener('webkitAnimationEnd', onTransitionEnd, opts);
|
|
73
|
-
el.removeEventListener('animationend', onTransitionEnd, opts);
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
return unregister;
|
|
77
|
-
};
|
|
78
|
-
// TODO(FW-2832): type
|
|
79
|
-
const generateKeyframeRules = (keyframes = []) => {
|
|
80
|
-
return keyframes
|
|
81
|
-
.map((keyframe) => {
|
|
82
|
-
const offset = keyframe.offset;
|
|
83
|
-
const frameString = [];
|
|
84
|
-
for (const property in keyframe) {
|
|
85
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
86
|
-
if (keyframe.hasOwnProperty(property) && property !== 'offset') {
|
|
87
|
-
frameString.push(`${property}: ${keyframe[property]};`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return `${offset * 100}% { ${frameString.join(' ')} }`;
|
|
91
|
-
})
|
|
92
|
-
.join(' ');
|
|
93
|
-
};
|
|
94
|
-
const keyframeIds = [];
|
|
95
|
-
const generateKeyframeName = (keyframeRules) => {
|
|
96
|
-
let index = keyframeIds.indexOf(keyframeRules);
|
|
97
|
-
if (index < 0) {
|
|
98
|
-
index = keyframeIds.push(keyframeRules) - 1;
|
|
99
|
-
}
|
|
100
|
-
return `ion-animation-${index}`;
|
|
101
|
-
};
|
|
102
|
-
const getStyleContainer = (element) => {
|
|
103
|
-
// getRootNode is not always available in SSR environments.
|
|
104
|
-
// TODO(FW-2832): types
|
|
105
|
-
const rootNode = element.getRootNode !== undefined ? element.getRootNode() : element;
|
|
106
|
-
return rootNode.head || rootNode;
|
|
107
|
-
};
|
|
108
|
-
const createKeyframeStylesheet = (keyframeName, keyframeRules, element) => {
|
|
109
|
-
var _a;
|
|
110
|
-
const styleContainer = getStyleContainer(element);
|
|
111
|
-
const keyframePrefix = getAnimationPrefix(element);
|
|
112
|
-
const existingStylesheet = styleContainer.querySelector('#' + keyframeName);
|
|
113
|
-
if (existingStylesheet) {
|
|
114
|
-
return existingStylesheet;
|
|
115
|
-
}
|
|
116
|
-
const stylesheet = ((_a = element.ownerDocument) !== null && _a !== void 0 ? _a : document).createElement('style');
|
|
117
|
-
stylesheet.id = keyframeName;
|
|
118
|
-
stylesheet.textContent = `@${keyframePrefix}keyframes ${keyframeName} { ${keyframeRules} } @${keyframePrefix}keyframes ${keyframeName}-alt { ${keyframeRules} }`;
|
|
119
|
-
styleContainer.appendChild(stylesheet);
|
|
120
|
-
return stylesheet;
|
|
121
|
-
};
|
|
122
19
|
const addClassToArray = (classes = [], className) => {
|
|
123
20
|
if (className !== undefined) {
|
|
124
21
|
const classNameToAppend = Array.isArray(className) ? className : [className];
|
|
@@ -146,14 +43,12 @@ const createAnimation = (animationId) => {
|
|
|
146
43
|
let numAnimationsRunning = 0;
|
|
147
44
|
let shouldForceLinearEasing = false;
|
|
148
45
|
let shouldForceSyncPlayback = false;
|
|
149
|
-
let cssAnimationsTimerFallback;
|
|
150
46
|
let forceDirectionValue;
|
|
151
47
|
let forceDurationValue;
|
|
152
48
|
let forceDelayValue;
|
|
153
49
|
let willComplete = true;
|
|
154
50
|
let finished = false;
|
|
155
51
|
let shouldCalculateNumAnimations = true;
|
|
156
|
-
let keyframeName;
|
|
157
52
|
let ani;
|
|
158
53
|
let paused = false;
|
|
159
54
|
const id = animationId;
|
|
@@ -170,10 +65,16 @@ const createAnimation = (animationId) => {
|
|
|
170
65
|
const webAnimations = [];
|
|
171
66
|
const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
|
|
172
67
|
(win !== undefined && typeof win.AnimationEffect === 'function');
|
|
68
|
+
/**
|
|
69
|
+
* This is a feature detection for Web Animations.
|
|
70
|
+
*
|
|
71
|
+
* Certain environments such as emulated browser environments for testing,
|
|
72
|
+
* do not support Web Animations. As a result, we need to check for support
|
|
73
|
+
* and provide a fallback to test certain functionality related to Web Animations.
|
|
74
|
+
*/
|
|
173
75
|
const supportsWebAnimations = typeof Element === 'function' &&
|
|
174
76
|
typeof Element.prototype.animate === 'function' &&
|
|
175
77
|
supportsAnimationEffect;
|
|
176
|
-
const ANIMATION_END_FALLBACK_PADDING_MS = 100;
|
|
177
78
|
const getWebAnimations = () => {
|
|
178
79
|
return webAnimations;
|
|
179
80
|
};
|
|
@@ -261,21 +162,6 @@ const createAnimation = (animationId) => {
|
|
|
261
162
|
});
|
|
262
163
|
webAnimations.length = 0;
|
|
263
164
|
}
|
|
264
|
-
else {
|
|
265
|
-
const elementsArray = elements.slice();
|
|
266
|
-
raf(() => {
|
|
267
|
-
elementsArray.forEach((element) => {
|
|
268
|
-
removeStyleProperty(element, 'animation-name');
|
|
269
|
-
removeStyleProperty(element, 'animation-duration');
|
|
270
|
-
removeStyleProperty(element, 'animation-timing-function');
|
|
271
|
-
removeStyleProperty(element, 'animation-iteration-count');
|
|
272
|
-
removeStyleProperty(element, 'animation-delay');
|
|
273
|
-
removeStyleProperty(element, 'animation-play-state');
|
|
274
|
-
removeStyleProperty(element, 'animation-fill-mode');
|
|
275
|
-
removeStyleProperty(element, 'animation-direction');
|
|
276
|
-
});
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
165
|
};
|
|
280
166
|
/**
|
|
281
167
|
* Removes the animation's stylesheets
|
|
@@ -533,9 +419,6 @@ const createAnimation = (animationId) => {
|
|
|
533
419
|
}
|
|
534
420
|
});
|
|
535
421
|
}
|
|
536
|
-
else {
|
|
537
|
-
initializeCSSAnimation();
|
|
538
|
-
}
|
|
539
422
|
};
|
|
540
423
|
/**
|
|
541
424
|
* Run all "before" animation hooks.
|
|
@@ -565,7 +448,6 @@ const createAnimation = (animationId) => {
|
|
|
565
448
|
* Run all "after" animation hooks.
|
|
566
449
|
*/
|
|
567
450
|
const afterAnimation = () => {
|
|
568
|
-
clearCSSAnimationsTimeout();
|
|
569
451
|
// Runs all after read callbacks
|
|
570
452
|
_afterAddReadFunctions.forEach((callback) => callback());
|
|
571
453
|
// Runs all after write callbacks
|
|
@@ -621,32 +503,6 @@ const createAnimation = (animationId) => {
|
|
|
621
503
|
}
|
|
622
504
|
}
|
|
623
505
|
};
|
|
624
|
-
const initializeCSSAnimation = (toggleAnimationName = true) => {
|
|
625
|
-
cleanUpStyleSheets();
|
|
626
|
-
const processedKeyframes = processKeyframes(_keyframes);
|
|
627
|
-
elements.forEach((element) => {
|
|
628
|
-
if (processedKeyframes.length > 0) {
|
|
629
|
-
const keyframeRules = generateKeyframeRules(processedKeyframes);
|
|
630
|
-
keyframeName = animationId !== undefined ? animationId : generateKeyframeName(keyframeRules);
|
|
631
|
-
const stylesheet = createKeyframeStylesheet(keyframeName, keyframeRules, element);
|
|
632
|
-
stylesheets.push(stylesheet);
|
|
633
|
-
setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);
|
|
634
|
-
setStyleProperty(element, 'animation-timing-function', getEasing());
|
|
635
|
-
setStyleProperty(element, 'animation-delay', `${getDelay()}ms`);
|
|
636
|
-
setStyleProperty(element, 'animation-fill-mode', getFill());
|
|
637
|
-
setStyleProperty(element, 'animation-direction', getDirection());
|
|
638
|
-
const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();
|
|
639
|
-
setStyleProperty(element, 'animation-iteration-count', iterationsCount);
|
|
640
|
-
setStyleProperty(element, 'animation-play-state', 'paused');
|
|
641
|
-
if (toggleAnimationName) {
|
|
642
|
-
setStyleProperty(element, 'animation-name', `${stylesheet.id}-alt`);
|
|
643
|
-
}
|
|
644
|
-
raf(() => {
|
|
645
|
-
setStyleProperty(element, 'animation-name', stylesheet.id || null);
|
|
646
|
-
});
|
|
647
|
-
}
|
|
648
|
-
});
|
|
649
|
-
};
|
|
650
506
|
const initializeWebAnimation = () => {
|
|
651
507
|
elements.forEach((element) => {
|
|
652
508
|
const animation = element.animate(_keyframes, {
|
|
@@ -667,15 +523,12 @@ const createAnimation = (animationId) => {
|
|
|
667
523
|
};
|
|
668
524
|
}
|
|
669
525
|
};
|
|
670
|
-
const initializeAnimation = (
|
|
526
|
+
const initializeAnimation = () => {
|
|
671
527
|
beforeAnimation();
|
|
672
528
|
if (_keyframes.length > 0) {
|
|
673
529
|
if (supportsWebAnimations) {
|
|
674
530
|
initializeWebAnimation();
|
|
675
531
|
}
|
|
676
|
-
else {
|
|
677
|
-
initializeCSSAnimation(toggleAnimationName);
|
|
678
|
-
}
|
|
679
532
|
}
|
|
680
533
|
initialized = true;
|
|
681
534
|
};
|
|
@@ -688,15 +541,6 @@ const createAnimation = (animationId) => {
|
|
|
688
541
|
animation.pause();
|
|
689
542
|
});
|
|
690
543
|
}
|
|
691
|
-
else {
|
|
692
|
-
const animationDuration = `-${getDuration() * step}ms`;
|
|
693
|
-
elements.forEach((element) => {
|
|
694
|
-
if (_keyframes.length > 0) {
|
|
695
|
-
setStyleProperty(element, 'animation-delay', animationDuration);
|
|
696
|
-
setStyleProperty(element, 'animation-play-state', 'paused');
|
|
697
|
-
}
|
|
698
|
-
});
|
|
699
|
-
}
|
|
700
544
|
};
|
|
701
545
|
const updateWebAnimation = (step) => {
|
|
702
546
|
webAnimations.forEach((animation) => {
|
|
@@ -713,26 +557,6 @@ const createAnimation = (animationId) => {
|
|
|
713
557
|
setAnimationStep(step);
|
|
714
558
|
}
|
|
715
559
|
};
|
|
716
|
-
const updateCSSAnimation = (toggleAnimationName = true, step) => {
|
|
717
|
-
raf(() => {
|
|
718
|
-
elements.forEach((element) => {
|
|
719
|
-
setStyleProperty(element, 'animation-name', keyframeName || null);
|
|
720
|
-
setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);
|
|
721
|
-
setStyleProperty(element, 'animation-timing-function', getEasing());
|
|
722
|
-
setStyleProperty(element, 'animation-delay', step !== undefined ? `-${step * getDuration()}ms` : `${getDelay()}ms`);
|
|
723
|
-
setStyleProperty(element, 'animation-fill-mode', getFill() || null);
|
|
724
|
-
setStyleProperty(element, 'animation-direction', getDirection() || null);
|
|
725
|
-
const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();
|
|
726
|
-
setStyleProperty(element, 'animation-iteration-count', iterationsCount);
|
|
727
|
-
if (toggleAnimationName) {
|
|
728
|
-
setStyleProperty(element, 'animation-name', `${keyframeName}-alt`);
|
|
729
|
-
}
|
|
730
|
-
raf(() => {
|
|
731
|
-
setStyleProperty(element, 'animation-name', keyframeName || null);
|
|
732
|
-
});
|
|
733
|
-
});
|
|
734
|
-
});
|
|
735
|
-
};
|
|
736
560
|
const update = (deep = false, toggleAnimationName = true, step) => {
|
|
737
561
|
if (deep) {
|
|
738
562
|
childAnimations.forEach((animation) => {
|
|
@@ -742,9 +566,6 @@ const createAnimation = (animationId) => {
|
|
|
742
566
|
if (supportsWebAnimations) {
|
|
743
567
|
updateWebAnimation(step);
|
|
744
568
|
}
|
|
745
|
-
else {
|
|
746
|
-
updateCSSAnimation(toggleAnimationName, step);
|
|
747
|
-
}
|
|
748
569
|
return ani;
|
|
749
570
|
};
|
|
750
571
|
const progressStart = (forceLinearEasing = false, step) => {
|
|
@@ -827,67 +648,8 @@ const createAnimation = (animationId) => {
|
|
|
827
648
|
pauseAnimation();
|
|
828
649
|
return ani;
|
|
829
650
|
};
|
|
830
|
-
const onAnimationEndFallback = () => {
|
|
831
|
-
cssAnimationsTimerFallback = undefined;
|
|
832
|
-
animationFinish();
|
|
833
|
-
};
|
|
834
|
-
const clearCSSAnimationsTimeout = () => {
|
|
835
|
-
if (cssAnimationsTimerFallback) {
|
|
836
|
-
clearTimeout(cssAnimationsTimerFallback);
|
|
837
|
-
}
|
|
838
|
-
};
|
|
839
651
|
const playCSSAnimations = () => {
|
|
840
|
-
|
|
841
|
-
raf(() => {
|
|
842
|
-
elements.forEach((element) => {
|
|
843
|
-
if (_keyframes.length > 0) {
|
|
844
|
-
setStyleProperty(element, 'animation-play-state', 'running');
|
|
845
|
-
}
|
|
846
|
-
});
|
|
847
|
-
});
|
|
848
|
-
if (_keyframes.length === 0 || elements.length === 0) {
|
|
849
|
-
animationFinish();
|
|
850
|
-
}
|
|
851
|
-
else {
|
|
852
|
-
/**
|
|
853
|
-
* This is a catchall in the event that a CSS Animation did not finish.
|
|
854
|
-
* The Web Animations API has mechanisms in place for preventing this.
|
|
855
|
-
* CSS Animations will not fire an `animationend` event
|
|
856
|
-
* for elements with `display: none`. The Web Animations API
|
|
857
|
-
* accounts for this, but using raw CSS Animations requires
|
|
858
|
-
* this workaround.
|
|
859
|
-
*/
|
|
860
|
-
const animationDelay = getDelay() || 0;
|
|
861
|
-
const animationDuration = getDuration() || 0;
|
|
862
|
-
const animationIterations = getIterations() || 1;
|
|
863
|
-
// No need to set a timeout when animation has infinite iterations
|
|
864
|
-
if (isFinite(animationIterations)) {
|
|
865
|
-
cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + animationDuration * animationIterations + ANIMATION_END_FALLBACK_PADDING_MS);
|
|
866
|
-
}
|
|
867
|
-
animationEnd(elements[0], () => {
|
|
868
|
-
clearCSSAnimationsTimeout();
|
|
869
|
-
/**
|
|
870
|
-
* Ensure that clean up
|
|
871
|
-
* is always done a frame
|
|
872
|
-
* before the onFinish handlers
|
|
873
|
-
* are fired. Otherwise, there
|
|
874
|
-
* may be flickering if a new
|
|
875
|
-
* animation is started on the same
|
|
876
|
-
* element too quickly
|
|
877
|
-
*/
|
|
878
|
-
raf(() => {
|
|
879
|
-
clearCSSAnimationPlayState();
|
|
880
|
-
raf(animationFinish);
|
|
881
|
-
});
|
|
882
|
-
});
|
|
883
|
-
}
|
|
884
|
-
};
|
|
885
|
-
const clearCSSAnimationPlayState = () => {
|
|
886
|
-
elements.forEach((element) => {
|
|
887
|
-
removeStyleProperty(element, 'animation-duration');
|
|
888
|
-
removeStyleProperty(element, 'animation-delay');
|
|
889
|
-
removeStyleProperty(element, 'animation-play-state');
|
|
890
|
-
});
|
|
652
|
+
animationFinish();
|
|
891
653
|
};
|
|
892
654
|
const playWebAnimations = () => {
|
|
893
655
|
webAnimations.forEach((animation) => {
|
|
@@ -902,9 +664,6 @@ const createAnimation = (animationId) => {
|
|
|
902
664
|
setAnimationStep(0);
|
|
903
665
|
updateWebAnimation();
|
|
904
666
|
}
|
|
905
|
-
else {
|
|
906
|
-
updateCSSAnimation();
|
|
907
|
-
}
|
|
908
667
|
};
|
|
909
668
|
const play = (opts) => {
|
|
910
669
|
return new Promise((resolve) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { w as writeTask } from './index-
|
|
5
|
-
import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-
|
|
4
|
+
import { w as writeTask } from './index-6e4709ff.js';
|
|
5
|
+
import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-ac164e4c.js';
|
|
6
6
|
import { createGesture } from './index-39782642.js';
|
|
7
7
|
|
|
8
8
|
const createButtonActiveGesture = (el, isButton) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { c as componentOnReady } from './helpers-da915de8.js';
|
|
5
5
|
|
|
6
6
|
// TODO(FW-2832): types
|
|
7
7
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
@@ -47,12 +47,6 @@ var NotificationType;
|
|
|
47
47
|
})(NotificationType || (NotificationType = {}));
|
|
48
48
|
const HapticEngine = {
|
|
49
49
|
getEngine() {
|
|
50
|
-
const tapticEngine = window.TapticEngine;
|
|
51
|
-
if (tapticEngine) {
|
|
52
|
-
// Cordova
|
|
53
|
-
// TODO FW-4707 - Remove this in Ionic 8
|
|
54
|
-
return tapticEngine;
|
|
55
|
-
}
|
|
56
50
|
const capacitor = getCapacitor();
|
|
57
51
|
if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('Haptics')) {
|
|
58
52
|
// Capacitor
|
|
@@ -81,85 +75,43 @@ const HapticEngine = {
|
|
|
81
75
|
}
|
|
82
76
|
return true;
|
|
83
77
|
},
|
|
84
|
-
isCordova() {
|
|
85
|
-
return window.TapticEngine !== undefined;
|
|
86
|
-
},
|
|
87
|
-
isCapacitor() {
|
|
88
|
-
return getCapacitor() !== undefined;
|
|
89
|
-
},
|
|
90
78
|
impact(options) {
|
|
91
79
|
const engine = this.getEngine();
|
|
92
80
|
if (!engine) {
|
|
93
81
|
return;
|
|
94
82
|
}
|
|
95
|
-
|
|
96
|
-
* To provide backwards compatibility with Cordova apps,
|
|
97
|
-
* we convert the style to lowercase.
|
|
98
|
-
*
|
|
99
|
-
* TODO: FW-4707 - Remove this in Ionic 8
|
|
100
|
-
*/
|
|
101
|
-
const style = this.isCapacitor() ? options.style : options.style.toLowerCase();
|
|
102
|
-
engine.impact({ style });
|
|
83
|
+
engine.impact({ style: options.style });
|
|
103
84
|
},
|
|
104
85
|
notification(options) {
|
|
105
86
|
const engine = this.getEngine();
|
|
106
87
|
if (!engine) {
|
|
107
88
|
return;
|
|
108
89
|
}
|
|
109
|
-
|
|
110
|
-
* To provide backwards compatibility with Cordova apps,
|
|
111
|
-
* we convert the style to lowercase.
|
|
112
|
-
*
|
|
113
|
-
* TODO: FW-4707 - Remove this in Ionic 8
|
|
114
|
-
*/
|
|
115
|
-
const type = this.isCapacitor() ? options.type : options.type.toLowerCase();
|
|
116
|
-
engine.notification({ type });
|
|
90
|
+
engine.notification({ type: options.type });
|
|
117
91
|
},
|
|
118
92
|
selection() {
|
|
119
|
-
|
|
120
|
-
* To provide backwards compatibility with Cordova apps,
|
|
121
|
-
* we convert the style to lowercase.
|
|
122
|
-
*
|
|
123
|
-
* TODO: FW-4707 - Remove this in Ionic 8
|
|
124
|
-
*/
|
|
125
|
-
const style = this.isCapacitor() ? ImpactStyle.Light : 'light';
|
|
126
|
-
this.impact({ style });
|
|
93
|
+
this.impact({ style: ImpactStyle.Light });
|
|
127
94
|
},
|
|
128
95
|
selectionStart() {
|
|
129
96
|
const engine = this.getEngine();
|
|
130
97
|
if (!engine) {
|
|
131
98
|
return;
|
|
132
99
|
}
|
|
133
|
-
|
|
134
|
-
engine.selectionStart();
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
engine.gestureSelectionStart();
|
|
138
|
-
}
|
|
100
|
+
engine.selectionStart();
|
|
139
101
|
},
|
|
140
102
|
selectionChanged() {
|
|
141
103
|
const engine = this.getEngine();
|
|
142
104
|
if (!engine) {
|
|
143
105
|
return;
|
|
144
106
|
}
|
|
145
|
-
|
|
146
|
-
engine.selectionChanged();
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
engine.gestureSelectionChanged();
|
|
150
|
-
}
|
|
107
|
+
engine.selectionChanged();
|
|
151
108
|
},
|
|
152
109
|
selectionEnd() {
|
|
153
110
|
const engine = this.getEngine();
|
|
154
111
|
if (!engine) {
|
|
155
112
|
return;
|
|
156
113
|
}
|
|
157
|
-
|
|
158
|
-
engine.selectionEnd();
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
engine.gestureSelectionEnd();
|
|
162
|
-
}
|
|
114
|
+
engine.selectionEnd();
|
|
163
115
|
},
|
|
164
116
|
};
|
|
165
117
|
/**
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-a5d50daf.js';
|
|
5
|
-
import { c as config } from './ionic-global-
|
|
6
|
-
import './index-
|
|
5
|
+
import { c as config } from './ionic-global-c4e0c089.js';
|
|
6
|
+
import './index-6e4709ff.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* CloseWatcher is a newer API that lets
|
|
@@ -284,9 +284,6 @@ const assert = (actual, reason) => {
|
|
|
284
284
|
throw new Error(message);
|
|
285
285
|
}
|
|
286
286
|
};
|
|
287
|
-
const now = (ev) => {
|
|
288
|
-
return ev.timeStamp || Date.now();
|
|
289
|
-
};
|
|
290
287
|
const pointerCoord = (ev) => {
|
|
291
288
|
// get X coordinates for either a mouse click
|
|
292
289
|
// or a touch depending on the given event
|
|
@@ -362,4 +359,4 @@ const shallowEqualStringMap = (map1, map2) => {
|
|
|
362
359
|
return true;
|
|
363
360
|
};
|
|
364
361
|
|
|
365
|
-
export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o,
|
|
362
|
+
export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o, pointerCoord as p, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-a5d50daf.js';
|
|
5
|
-
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-
|
|
5
|
+
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-329c81fd.js';
|
|
6
6
|
import { p as printIonWarning } from './index-9b0d46f4.js';
|
|
7
|
-
import { c as componentOnReady } from './helpers-
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
9
|
-
import { c as createAnimation } from './animation-
|
|
7
|
+
import { c as componentOnReady } from './helpers-da915de8.js';
|
|
8
|
+
import { b as getIonMode } from './ionic-global-c4e0c089.js';
|
|
9
|
+
import { c as createAnimation } from './animation-eab5a4ca.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* baseAnimation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers-
|
|
4
|
+
import { c as componentOnReady } from './helpers-da915de8.js';
|
|
5
5
|
import { b as printRequiredElementError } from './index-9b0d46f4.js';
|
|
6
6
|
|
|
7
7
|
const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
const NAMESPACE = 'ionic';
|
|
5
|
+
const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: true, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: true, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: true, experimentalSlotFixes: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Virtual DOM patching algorithm based on Snabbdom by
|
|
@@ -885,6 +886,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
885
886
|
* @returns the newly created node
|
|
886
887
|
*/
|
|
887
888
|
const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
889
|
+
var _a;
|
|
888
890
|
// tslint:disable-next-line: prefer-const
|
|
889
891
|
const newVNode = newParentVNode.$children$[childIndex];
|
|
890
892
|
let i = 0;
|
|
@@ -969,6 +971,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
969
971
|
elm['s-cr'] = contentRef;
|
|
970
972
|
// remember the slot name, or empty string for default slot
|
|
971
973
|
elm['s-sn'] = newVNode.$name$ || '';
|
|
974
|
+
// remember the ref callback function
|
|
975
|
+
elm['s-rf'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.ref;
|
|
972
976
|
// check if we've got an old vnode for this slot
|
|
973
977
|
oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
|
|
974
978
|
if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
|
|
@@ -1014,7 +1018,15 @@ const relocateToHostRoot = (parentElm) => {
|
|
|
1014
1018
|
};
|
|
1015
1019
|
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
1016
1020
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1017
|
-
const oldSlotChildNodes = parentElm.childNodes;
|
|
1021
|
+
const oldSlotChildNodes = Array.from(parentElm.childNodes);
|
|
1022
|
+
if (parentElm['s-sr'] && BUILD.experimentalSlotFixes) {
|
|
1023
|
+
let node = parentElm;
|
|
1024
|
+
while ((node = node.nextSibling)) {
|
|
1025
|
+
if (node && node['s-sn'] === parentElm['s-sn'] && node['s-sh'] === hostTagName) {
|
|
1026
|
+
oldSlotChildNodes.push(node);
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1018
1030
|
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
1019
1031
|
const childNode = oldSlotChildNodes[i];
|
|
1020
1032
|
if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
|
|
@@ -1749,7 +1761,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
1749
1761
|
// If the node we're currently planning on inserting the new node before is an element,
|
|
1750
1762
|
// we need to do some additional checks to make sure we're inserting the node in the correct order.
|
|
1751
1763
|
// The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
|
|
1752
|
-
// to make sure they get inserted into their new
|
|
1764
|
+
// to make sure they get inserted into their new home in the same order they were declared in their original location.
|
|
1753
1765
|
//
|
|
1754
1766
|
// TODO(STENCIL-914): Remove `experimentalSlotFixes` check
|
|
1755
1767
|
if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* NODE_TYPE.ElementNode */)) {
|
|
@@ -1786,6 +1798,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
1786
1798
|
}
|
|
1787
1799
|
}
|
|
1788
1800
|
}
|
|
1801
|
+
nodeToRelocate && typeof slotRefNode['s-rf'] === 'function' && slotRefNode['s-rf'](nodeToRelocate);
|
|
1789
1802
|
}
|
|
1790
1803
|
else {
|
|
1791
1804
|
// this node doesn't have a slot home to go to, so let's hide it
|
|
@@ -2550,6 +2563,7 @@ const patchCloneNode = (HostElementPrototype) => {
|
|
|
2550
2563
|
's-ol',
|
|
2551
2564
|
's-nr',
|
|
2552
2565
|
's-si',
|
|
2566
|
+
's-rf',
|
|
2553
2567
|
];
|
|
2554
2568
|
for (; i < srcNode.childNodes.length; i++) {
|
|
2555
2569
|
slotted = srcNode.childNodes[i]['s-nr'];
|
|
@@ -2589,8 +2603,6 @@ const patchSlotAppendChild = (HostElementPrototype) => {
|
|
|
2589
2603
|
const insertedNode = appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);
|
|
2590
2604
|
// Check if there is fallback content that should be hidden
|
|
2591
2605
|
updateFallbackSlotVisibility(this);
|
|
2592
|
-
// Force a re-render of the host element
|
|
2593
|
-
forceUpdate(this);
|
|
2594
2606
|
return insertedNode;
|
|
2595
2607
|
}
|
|
2596
2608
|
return this.__appendChild(newChild);
|