@ionic/core 8.0.0-dev.11709245047.1565a499 → 8.0.0-dev.11711035263.183d2423
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 +3 -3
- package/components/alert.js +2 -2
- package/components/animation.js +9 -250
- package/components/backdrop.js +1 -1
- package/components/button.js +2 -2
- package/components/buttons.js +3 -3
- package/components/checkbox.js +3 -3
- package/components/data.js +23 -38
- package/components/haptic.js +6 -54
- package/components/hardware-back-button.js +3 -3
- package/components/helpers.js +1 -54
- package/components/index7.js +3 -1
- package/components/index9.js +1 -1
- package/components/input-shims.js +2 -1
- package/components/input.utils.js +12 -0
- package/components/ion-app.js +4 -4
- package/components/ion-avatar.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-breadcrumbs.js +2 -2
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +2 -2
- package/components/ion-col.js +2 -2
- package/components/ion-content.js +3 -3
- package/components/ion-datetime-button.js +11 -10
- package/components/ion-datetime.js +75 -12
- package/components/ion-fab-button.js +2 -2
- package/components/ion-fab-list.js +2 -2
- package/components/ion-fab.js +2 -2
- package/components/ion-footer.js +2 -2
- package/components/ion-grid.js +2 -2
- package/components/ion-header.js +3 -3
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +2 -2
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-password-toggle.d.ts +11 -0
- package/components/ion-input-password-toggle.js +132 -0
- package/components/ion-input.js +28 -9
- package/components/ion-item-divider.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 +7 -28
- package/components/ion-modal.js +37 -5
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +43 -1
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +137 -45
- 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-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +35 -6
- 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 +28 -34
- 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 +5 -6
- 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/item.js +30 -97
- package/components/label.js +4 -4
- package/components/list-header.js +2 -2
- package/components/overlays.js +140 -55
- package/components/picker-column-option.js +2 -2
- package/components/picker-column.js +25 -6
- package/components/picker-column2.js +2 -2
- package/components/picker.js +2 -2
- package/components/popover.js +4 -4
- package/components/ripple-effect.js +1 -1
- package/components/select-popover.js +13 -19
- package/components/spinner.js +1 -1
- package/css/palettes/dark.always.css.map +1 -0
- package/css/{themes → palettes}/dark.class.css +4 -4
- package/css/palettes/dark.class.css.map +1 -0
- package/css/palettes/dark.system.css.map +1 -0
- package/css/palettes/high-contrast-dark.always.css.map +1 -0
- package/css/{themes → palettes}/high-contrast-dark.class.css +10 -10
- package/css/palettes/high-contrast-dark.class.css.map +1 -0
- package/css/palettes/high-contrast-dark.system.css.map +1 -0
- package/css/palettes/high-contrast.always.css.map +1 -0
- package/css/{themes → palettes}/high-contrast.class.css +31 -31
- package/css/palettes/high-contrast.class.css.map +1 -0
- package/css/palettes/high-contrast.system.css.map +1 -0
- package/dist/cjs/{animation-4ad55058.js → animation-b4fdf128.js} +9 -250
- package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-e132c781.js} +1 -1
- package/dist/cjs/{button-active-8f6a8e77.js → button-active-e2ed5329.js} +2 -2
- package/dist/cjs/{data-e2bf21de.js → data-21dc0f81.js} +22 -39
- package/dist/cjs/{framework-delegate-53817ef1.js → framework-delegate-df3a2b04.js} +1 -1
- package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
- package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-1c67a5a2.js} +5 -5
- package/dist/cjs/{helpers-b71ca811.js → helpers-71097d9c.js} +0 -54
- package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
- package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
- package/dist/cjs/{index-347883f6.js → index-7479ea5a.js} +1 -1
- package/dist/cjs/{index-7574e3d2.js → index-a91a3e24.js} +1 -1
- package/dist/cjs/{index-16fc2c94.js → index-c2191aa0.js} +4 -4
- package/dist/cjs/{index-88b3bd6f.js → index-ef9261f8.js} +4 -4
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{input-shims-a5abf69e.js → input-shims-77b14f24.js} +4 -3
- package/dist/cjs/{input.utils-5175aea1.js → input.utils-ca74d73a.js} +13 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +12 -12
- package/dist/cjs/ion-alert.cjs.entry.js +11 -11
- package/dist/cjs/ion-app_8.cjs.entry.js +30 -30
- package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-back-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-button_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
- package/dist/cjs/ion-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/ion-chip.cjs.entry.js +4 -4
- package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -13
- package/dist/cjs/ion-datetime_3.cjs.entry.js +85 -25
- package/dist/cjs/ion-fab_3.cjs.entry.js +10 -10
- package/dist/cjs/ion-img.cjs.entry.js +4 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
- 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 +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +38 -93
- package/dist/cjs/ion-loading.cjs.entry.js +9 -9
- package/dist/cjs/ion-menu_3.cjs.entry.js +18 -39
- package/dist/cjs/ion-modal.cjs.entry.js +46 -14
- 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 +29 -10
- package/dist/cjs/ion-picker.cjs.entry.js +4 -4
- package/dist/cjs/ion-popover.cjs.entry.js +11 -11
- package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +140 -48
- 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 +32 -8
- package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +18 -18
- 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 +9 -10
- 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-59a10130.js → ionic-global-5762eca9.js} +1 -1
- package/dist/cjs/ionic.cjs.js +28 -5
- package/dist/cjs/{ios.transition-b102ee38.js → ios.transition-2bb1c4d1.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-a5454240.js → md.transition-c0afd670.js} +4 -4
- package/dist/cjs/{notch-controller-8e0ae870.js → notch-controller-0042ad49.js} +1 -1
- package/dist/cjs/{overlays-6b7d156b.js → overlays-30b83581.js} +142 -56
- package/dist/cjs/{status-tap-b60dcbd8.js → status-tap-dc3b8fda.js} +3 -3
- package/dist/cjs/{swipe-back-72c5c8b7.js → swipe-back-29e88360.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/action-sheet/action-sheet.js +3 -3
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +1 -1
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +5 -1
- package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
- package/dist/collection/components/app/app.js +4 -4
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/back-button/back-button.js +2 -2
- package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +1 -1
- package/dist/collection/components/backdrop/backdrop.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/badge/test/a11y/badge.e2e.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button/test/a11y/button.e2e.js +2 -2
- package/dist/collection/components/buttons/buttons.js +2 -2
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-header/card-header.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +3 -3
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +1 -1
- package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/datetime/datetime.js +56 -12
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
- package/dist/collection/components/datetime/test/format.spec.js +65 -15
- package/dist/collection/components/datetime/utils/format.js +24 -37
- package/dist/collection/components/datetime/utils/validate.js +45 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -10
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-button/fab-button.js +2 -2
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +2 -2
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.ios.css +5 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
- package/dist/collection/components/img/img.js +1 -1
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.ios.css +15 -3
- package/dist/collection/components/input/input.js +26 -29
- package/dist/collection/components/input/input.md.css +17 -5
- package/dist/collection/components/input/test/a11y/input.e2e.js +1 -1
- package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
- package/dist/collection/components/input/test/item/input.e2e.js +21 -0
- package/dist/collection/components/input/test/slot/input.e2e.js +8 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.ios.css +0 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.md.css +0 -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/item.ios.css +6 -198
- package/dist/collection/components/item/item.js +22 -170
- package/dist/collection/components/item/item.md.css +12 -375
- package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
- package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
- package/dist/collection/components/item/test/item.spec.js +1 -1
- package/dist/collection/components/item-divider/item-divider.md.css +4 -14
- package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +1 -1
- package/dist/collection/components/label/label.ios.css +0 -5
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/label.md.css +0 -75
- package/dist/collection/components/label/test/a11y/label.e2e.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/loading/test/a11y/loading.e2e.js +1 -1
- package/dist/collection/components/menu/menu.js +16 -30
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -1
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +37 -5
- package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
- 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/picker.js +2 -2
- package/dist/collection/components/picker-column/picker-column.js +25 -6
- 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 +5 -4
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +1 -1
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +1 -1
- package/dist/collection/components/range/range.js +137 -45
- package/dist/collection/components/range/test/a11y/range.e2e.js +1 -1
- package/dist/collection/components/range/test/label/range.spec.js +24 -0
- package/dist/collection/components/range/test/range-events.e2e.js +27 -0
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher/test/a11y/refresher.e2e.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-link/test/a11y/router-link.e2e.js +1 -1
- 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 +84 -5
- package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +1 -1
- package/dist/collection/components/segment-button/segment-button.js +3 -3
- package/dist/collection/components/select/select.ios.css +7 -2
- package/dist/collection/components/select/select.js +7 -7
- package/dist/collection/components/select/select.md.css +6 -29
- package/dist/collection/components/select/test/a11y/select.e2e.js +1 -1
- package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
- package/dist/collection/components/select/test/select.spec.js +22 -0
- package/dist/collection/components/select/test/slot/select.e2e.js +8 -0
- 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/select-popover/test/a11y/select-popover.e2e.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/test/a11y/textarea.e2e.js +1 -1
- package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
- package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
- package/dist/collection/components/textarea/test/slot/textarea.e2e.js +8 -0
- package/dist/collection/components/textarea/textarea.ios.css +4 -22
- package/dist/collection/components/textarea/textarea.js +2 -26
- package/dist/collection/components/textarea/textarea.md.css +6 -17
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +1 -1
- package/dist/collection/components/toggle/toggle.js +4 -4
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/css/test/a11y/typography.e2e.js +1 -1
- package/dist/collection/themes/test/colors/theme.e2e.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/focus-trap.js +78 -0
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/hardware-back-button.js +2 -2
- package/dist/collection/utils/helpers.js +0 -53
- package/dist/collection/utils/input-shims/input-shims.js +2 -1
- package/dist/collection/utils/native/haptic.js +6 -54
- package/dist/collection/utils/overlays.js +64 -53
- package/dist/collection/utils/slot-mutation-controller.js +12 -0
- package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
- package/dist/collection/utils/test/playwright/generator.js +17 -17
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +6 -6
- package/dist/docs.json +341 -193
- package/dist/esm/{animation-a4acf150.js → animation-eab5a4ca.js} +9 -250
- package/dist/esm/{app-globals-5cf6195b.js → app-globals-80842d68.js} +1 -1
- package/dist/esm/{button-active-4407b98c.js → button-active-824983fa.js} +2 -2
- package/dist/esm/{data-691286f1.js → data-ae11fd43.js} +23 -38
- package/dist/esm/{framework-delegate-1eb3236c.js → framework-delegate-3dede018.js} +1 -1
- package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
- package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-fb295e3a.js} +5 -5
- package/dist/esm/{helpers-ae74b3c9.js → helpers-eab4f597.js} +1 -54
- package/dist/esm/{index-8758824c.js → index-0089f1fa.js} +4 -4
- package/dist/esm/{index-66871a1d.js → index-044b5a86.js} +1 -1
- package/dist/esm/{index-4c30cddd.js → index-5d6a0317.js} +443 -15
- package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
- package/dist/esm/{index-1eff8599.js → index-f27077ac.js} +4 -4
- package/dist/esm/{index-1f563746.js → index-fa221975.js} +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/{input-shims-d354e359.js → input-shims-196afa11.js} +4 -3
- package/dist/esm/{input.utils-482fc893.js → input.utils-426cc674.js} +13 -1
- package/dist/esm/ion-accordion_2.entry.js +4 -4
- package/dist/esm/ion-action-sheet.entry.js +12 -12
- package/dist/esm/ion-alert.entry.js +11 -11
- package/dist/esm/ion-app_8.entry.js +30 -30
- package/dist/esm/ion-avatar_3.entry.js +6 -6
- package/dist/esm/ion-back-button.entry.js +6 -6
- package/dist/esm/ion-backdrop.entry.js +3 -3
- package/dist/esm/ion-breadcrumb_2.entry.js +8 -8
- package/dist/esm/ion-button_2.entry.js +5 -5
- package/dist/esm/ion-card_5.entry.js +11 -11
- package/dist/esm/ion-checkbox.entry.js +6 -6
- package/dist/esm/ion-chip.entry.js +4 -4
- package/dist/esm/ion-col_3.entry.js +7 -7
- package/dist/esm/ion-datetime-button.entry.js +14 -13
- package/dist/esm/ion-datetime_3.entry.js +85 -25
- package/dist/esm/ion-fab_3.entry.js +10 -10
- package/dist/esm/ion-img.entry.js +4 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
- 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 +4 -4
- package/dist/esm/ion-item_8.entry.js +38 -93
- package/dist/esm/ion-loading.entry.js +9 -9
- package/dist/esm/ion-menu_3.entry.js +18 -39
- package/dist/esm/ion-modal.entry.js +46 -14
- 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 +29 -10
- package/dist/esm/ion-picker.entry.js +4 -4
- package/dist/esm/ion-popover.entry.js +11 -11
- package/dist/esm/ion-progress-bar.entry.js +4 -4
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +140 -48
- 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 +32 -8
- package/dist/esm/ion-segment_2.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +18 -18
- 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 +9 -10
- package/dist/esm/ion-toast.entry.js +9 -9
- package/dist/esm/ion-toggle.entry.js +8 -8
- package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
- package/dist/esm/ionic.js +29 -6
- package/dist/esm/{ios.transition-189b73b7.js → ios.transition-632deb95.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-c9761eef.js → md.transition-3bcf4011.js} +4 -4
- package/dist/esm/{notch-controller-18bf9f76.js → notch-controller-cff691e5.js} +1 -1
- package/dist/esm/{overlays-c69d2a07.js → overlays-d41f74ac.js} +142 -57
- package/dist/esm/{status-tap-1d638ee6.js → status-tap-45595148.js} +3 -3
- package/dist/esm/{swipe-back-348f1971.js → swipe-back-57844616.js} +1 -1
- package/dist/esm-es5/animation-eab5a4ca.js +4 -0
- package/dist/esm-es5/app-globals-80842d68.js +4 -0
- package/dist/esm-es5/{button-active-4407b98c.js → button-active-824983fa.js} +1 -1
- package/dist/esm-es5/data-ae11fd43.js +4 -0
- package/dist/esm-es5/{framework-delegate-1eb3236c.js → framework-delegate-3dede018.js} +1 -1
- package/dist/esm-es5/haptic-ac164e4c.js +4 -0
- package/dist/esm-es5/hardware-back-button-fb295e3a.js +4 -0
- package/dist/esm-es5/helpers-eab4f597.js +4 -0
- package/dist/esm-es5/{index-8758824c.js → index-0089f1fa.js} +1 -1
- package/dist/esm-es5/{index-66871a1d.js → index-044b5a86.js} +1 -1
- package/dist/esm-es5/index-5d6a0317.js +5 -0
- package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
- package/dist/esm-es5/{index-1eff8599.js → index-f27077ac.js} +1 -1
- package/dist/esm-es5/{index-1f563746.js → index-fa221975.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{input-shims-d354e359.js → input-shims-196afa11.js} +1 -1
- package/dist/esm-es5/input.utils-426cc674.js +4 -0
- 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-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-189b73b7.js → ios.transition-632deb95.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-3bcf4011.js +4 -0
- package/dist/esm-es5/{notch-controller-18bf9f76.js → notch-controller-cff691e5.js} +1 -1
- package/dist/esm-es5/overlays-d41f74ac.js +4 -0
- package/dist/esm-es5/{status-tap-1d638ee6.js → status-tap-45595148.js} +1 -1
- package/dist/esm-es5/{swipe-back-348f1971.js → swipe-back-57844616.js} +1 -1
- package/dist/html.html-data.json +93 -27
- 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-5d7e32ce.js → p-031c5621.js} +1 -1
- package/dist/ionic/{p-1a4db355.system.entry.js → p-04bdc816.system.entry.js} +2 -2
- package/dist/ionic/p-07759435.system.js +4 -0
- package/dist/ionic/{p-4bbc949f.system.entry.js → p-07927036.system.entry.js} +1 -1
- package/dist/ionic/p-0e4c9e45.system.js +4 -0
- package/dist/ionic/{p-3c51cf97.system.entry.js → p-103ec049.system.entry.js} +1 -1
- package/dist/ionic/{p-f7d802e1.entry.js → p-126207f8.entry.js} +1 -1
- package/dist/ionic/{p-4dfe0487.system.entry.js → p-1d3f79b2.system.entry.js} +1 -1
- package/dist/ionic/{p-6e14d3ca.system.entry.js → p-1d528988.system.entry.js} +1 -1
- package/dist/ionic/p-1e955a45.system.js +4 -0
- package/dist/ionic/p-20bf9f84.entry.js +4 -0
- package/dist/ionic/{p-6dbea874.system.entry.js → p-210248f5.system.entry.js} +1 -1
- package/dist/ionic/{p-3d77b300.system.entry.js → p-219c17cf.system.entry.js} +1 -1
- package/dist/ionic/{p-de0a7606.system.entry.js → p-23838a94.system.entry.js} +1 -1
- package/dist/ionic/{p-ceceac26.js → p-239906f1.js} +1 -1
- package/dist/ionic/{p-916a4e14.entry.js → p-2807660b.entry.js} +1 -1
- package/dist/ionic/{p-0612cdcc.system.entry.js → p-282bd5f9.system.entry.js} +1 -1
- package/dist/ionic/p-29ef3b9b.entry.js +4 -0
- package/dist/ionic/{p-8a50f8d6.system.js → p-2cc2c631.system.js} +1 -1
- package/dist/ionic/p-2d34b04a.system.entry.js +4 -0
- package/dist/ionic/p-2f53c3eb.js +4 -0
- package/dist/ionic/{p-174856b4.system.js → p-31794e40.system.js} +1 -1
- package/dist/ionic/{p-c880c809.js → p-325c61a4.js} +1 -1
- package/dist/ionic/p-34b8c5bc.entry.js +4 -0
- package/dist/ionic/{p-cefbb7b7.entry.js → p-3599e243.entry.js} +1 -1
- package/dist/ionic/p-364044f0.js +4 -0
- package/dist/ionic/{p-3807cd45.system.entry.js → p-3739de23.system.entry.js} +1 -1
- package/dist/ionic/{p-d84c9fc4.entry.js → p-3785c067.entry.js} +1 -1
- package/dist/ionic/p-3895e131.system.entry.js +4 -0
- package/dist/ionic/p-38b129b6.entry.js +4 -0
- package/dist/ionic/p-38e25e67.js +4 -0
- package/dist/ionic/{p-3209217f.entry.js → p-3ad1b1c5.entry.js} +1 -1
- package/dist/ionic/p-3bf7a38d.system.entry.js +4 -0
- package/dist/ionic/{p-2dcf2ec2.system.entry.js → p-3c1aac30.system.entry.js} +1 -1
- package/dist/ionic/{p-d7c78a97.system.entry.js → p-3d55c50f.system.entry.js} +1 -1
- package/dist/ionic/{p-fd783a38.system.entry.js → p-3e6e53fe.system.entry.js} +1 -1
- package/dist/ionic/{p-174b0d50.system.entry.js → p-40976b1c.system.entry.js} +1 -1
- package/dist/ionic/{p-acf70e64.system.entry.js → p-456ae20a.system.entry.js} +1 -1
- package/dist/ionic/p-468e20c0.system.entry.js +4 -0
- package/dist/ionic/p-49e5401f.entry.js +4 -0
- package/dist/ionic/{p-c9e21694.system.entry.js → p-4a20a758.system.entry.js} +1 -1
- package/dist/ionic/p-4a3055ef.system.js +4 -0
- package/dist/ionic/{p-e46adaf1.system.entry.js → p-4b318f5e.system.entry.js} +1 -1
- package/dist/ionic/{p-b2d58604.system.entry.js → p-4d21e85e.system.entry.js} +2 -2
- package/dist/ionic/p-4decdc16.system.entry.js +4 -0
- package/dist/ionic/{p-ef9736b9.entry.js → p-50633cad.entry.js} +1 -1
- package/dist/ionic/{p-1f79e54a.entry.js → p-527e1d8a.entry.js} +1 -1
- package/dist/ionic/{p-6aeb0272.entry.js → p-5644df37.entry.js} +1 -1
- package/dist/ionic/p-564554d0.system.js +4 -0
- package/dist/ionic/{p-16e06393.system.js → p-56864c25.system.js} +1 -1
- package/dist/ionic/{p-f7c3d736.system.entry.js → p-57a3b59e.system.entry.js} +1 -1
- package/dist/ionic/{p-8fe3c4ef.entry.js → p-5b4b977f.entry.js} +1 -1
- package/dist/ionic/p-5b52897c.js +4 -0
- package/dist/ionic/{p-415ccddd.entry.js → p-5c6d4276.entry.js} +1 -1
- package/dist/ionic/{p-9f84474d.entry.js → p-5f6c0372.entry.js} +1 -1
- package/dist/ionic/{p-97248203.system.entry.js → p-647981a4.system.entry.js} +1 -1
- package/dist/ionic/{p-f0a7e80b.js → p-652a7913.js} +1 -1
- package/dist/ionic/p-659d8f84.entry.js +4 -0
- package/dist/ionic/p-668607c2.system.js +4 -0
- package/dist/ionic/{p-5d530ae5.entry.js → p-66e50777.entry.js} +1 -1
- package/dist/ionic/{p-eb9803e9.system.js → p-6a62da36.system.js} +1 -1
- package/dist/ionic/p-6f734552.system.entry.js +4 -0
- package/dist/ionic/{p-1df25966.entry.js → p-7002bc75.entry.js} +1 -1
- package/dist/ionic/{p-de55ec45.js → p-78b3da77.js} +1 -1
- package/dist/ionic/{p-5133c4a3.system.entry.js → p-7abeea68.system.entry.js} +1 -1
- package/dist/ionic/{p-df6a1571.entry.js → p-7b8ece87.entry.js} +1 -1
- package/dist/ionic/p-7c4c37ae.system.js +4 -0
- package/dist/ionic/p-7c7e495d.system.js +4 -0
- package/dist/ionic/p-84025e3c.entry.js +4 -0
- package/dist/ionic/{p-ec77b7ad.system.entry.js → p-8412860b.system.entry.js} +1 -1
- package/dist/ionic/p-8543c360.system.entry.js +4 -0
- package/dist/ionic/{p-12b55b00.system.entry.js → p-86bdb32e.system.entry.js} +1 -1
- package/dist/ionic/p-8818519d.entry.js +4 -0
- package/dist/ionic/{p-ef636601.entry.js → p-887984fc.entry.js} +1 -1
- package/dist/ionic/p-89b61afc.js +4 -0
- package/dist/ionic/{p-1d545773.entry.js → p-8ed900e4.entry.js} +1 -1
- package/dist/ionic/p-9146695e.system.js +4 -0
- package/dist/ionic/{p-0dca0eee.system.entry.js → p-91567c90.system.entry.js} +1 -1
- package/dist/ionic/{p-f2473724.js → p-91a83ede.js} +1 -1
- package/dist/ionic/{p-c8d61b6c.system.entry.js → p-92b05b70.system.entry.js} +1 -1
- package/dist/ionic/p-96c06026.entry.js +4 -0
- package/dist/ionic/p-978f4710.js +4 -0
- package/dist/ionic/{p-973c7550.system.entry.js → p-9a4b9c91.system.entry.js} +1 -1
- package/dist/ionic/p-9b5d033a.system.entry.js +4 -0
- package/dist/ionic/p-9d00a694.system.entry.js +4 -0
- package/dist/ionic/{p-6525a8cd.system.js → p-9e3177a5.system.js} +1 -1
- package/dist/ionic/p-9fd5857a.system.entry.js +4 -0
- package/dist/ionic/{p-1e07fdb2.system.entry.js → p-a2dc2ef1.system.entry.js} +2 -2
- package/dist/ionic/p-a3dae2ce.js +4 -0
- package/dist/ionic/{p-8d4d902b.js → p-a600a3e3.js} +1 -1
- package/dist/ionic/{p-5f9fbad0.entry.js → p-a668e0d4.entry.js} +1 -1
- package/dist/ionic/{p-80704be1.entry.js → p-a6ac25f2.entry.js} +1 -1
- package/dist/ionic/p-a6bce1f5.js +4 -0
- package/dist/ionic/{p-34d0f143.system.entry.js → p-a7270027.system.entry.js} +1 -1
- package/dist/ionic/p-a93873de.system.js +4 -0
- package/dist/ionic/p-a9d2fa95.entry.js +4 -0
- package/dist/ionic/{p-98e6b3b8.system.js → p-ab6879e7.system.js} +1 -1
- package/dist/ionic/{p-717c4b72.entry.js → p-ac585dba.entry.js} +1 -1
- package/dist/ionic/{p-89ca4c4b.system.js → p-af9256a0.system.js} +1 -1
- package/dist/ionic/p-b05c33d0.system.entry.js +4 -0
- package/dist/ionic/{p-2b3544ad.entry.js → p-b141e253.entry.js} +1 -1
- package/dist/ionic/{p-5d64e680.entry.js → p-b6d1ce6c.entry.js} +1 -1
- package/dist/ionic/p-bb01ff24.system.entry.js +4 -0
- package/dist/ionic/p-bb151f4b.entry.js +4 -0
- package/dist/ionic/p-c385e49d.entry.js +4 -0
- package/dist/ionic/p-c3f5d0e7.js +4 -0
- package/dist/ionic/p-c629d22b.system.js +5 -0
- package/dist/ionic/{p-15708968.js → p-c6f9f3eb.js} +1 -1
- package/dist/ionic/p-c7e16491.js +4 -0
- package/dist/ionic/p-c83741f7.entry.js +4 -0
- package/dist/ionic/{p-993da5df.entry.js → p-c8383c20.entry.js} +1 -1
- package/dist/ionic/{p-d7dc29c5.entry.js → p-c947155d.entry.js} +1 -1
- package/dist/ionic/{p-00a762c9.entry.js → p-cb970588.entry.js} +1 -1
- package/dist/ionic/{p-31e02742.system.js → p-cbb9269d.system.js} +1 -1
- package/dist/ionic/{p-dd7c79ce.system.entry.js → p-cc769fb6.system.entry.js} +1 -1
- package/dist/ionic/{p-5797981d.system.entry.js → p-cc978d16.system.entry.js} +2 -2
- package/dist/ionic/{p-b434ded7.system.entry.js → p-ce436e94.system.entry.js} +1 -1
- package/dist/ionic/{p-6ad90d41.entry.js → p-ce9eafa3.entry.js} +1 -1
- package/dist/ionic/p-cf07fee5.entry.js +4 -0
- package/dist/ionic/p-d0adc028.system.entry.js +4 -0
- package/dist/ionic/p-d0d674d0.entry.js +4 -0
- package/dist/ionic/p-d35d485c.entry.js +4 -0
- package/dist/ionic/p-d60342e3.js +4 -0
- package/dist/ionic/{p-e3a7214b.system.js → p-d704f798.system.js} +1 -1
- package/dist/ionic/p-d80b7e31.system.js +4 -0
- package/dist/ionic/p-d834c508.entry.js +4 -0
- package/dist/ionic/p-da2b833b.js +4 -0
- package/dist/ionic/{p-385f66bc.entry.js → p-da5bbd4f.entry.js} +1 -1
- package/dist/ionic/{p-5e70f800.system.entry.js → p-dbd782ec.system.entry.js} +1 -1
- package/dist/ionic/{p-e1819aee.js → p-e066780e.js} +1 -1
- package/dist/ionic/{p-1ea88de9.system.js → p-e0d52ee3.system.js} +2 -2
- package/dist/ionic/p-e170e351.js +4 -0
- package/dist/ionic/{p-0a8a78db.system.entry.js → p-e1d4298f.system.entry.js} +1 -1
- package/dist/ionic/p-e7b0b64d.system.js +4 -0
- package/dist/ionic/p-e7cd7553.system.js +4 -0
- package/dist/ionic/p-f270059b.entry.js +4 -0
- package/dist/ionic/p-f40aa619.entry.js +4 -0
- package/dist/ionic/{p-c6dbc089.system.entry.js → p-f47c47f2.system.entry.js} +1 -1
- package/dist/ionic/p-f687573e.system.js +4 -0
- package/dist/ionic/p-f8502e85.js +5 -0
- package/dist/ionic/p-facad328.entry.js +4 -0
- package/dist/ionic/{p-ab427719.entry.js → p-fbf23235.entry.js} +1 -1
- package/dist/ionic/{p-3c47c5c8.system.entry.js → p-fe5ff8fb.system.entry.js} +1 -1
- package/dist/ionic/{p-9d795c4b.entry.js → p-fe8f0dd2.entry.js} +1 -1
- package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
- package/dist/types/components/datetime/datetime.d.ts +10 -1
- package/dist/types/components/datetime/utils/format.d.ts +7 -13
- package/dist/types/components/datetime/utils/validate.d.ts +8 -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/item/item.d.ts +0 -32
- package/dist/types/components/menu/menu-interface.d.ts +1 -0
- package/dist/types/components/menu/menu.d.ts +2 -4
- package/dist/types/components/range/range.d.ts +29 -0
- package/dist/types/components/searchbar/searchbar.d.ts +38 -0
- package/dist/types/components/textarea/textarea.d.ts +1 -6
- package/dist/types/components/toggle/toggle.d.ts +1 -1
- package/dist/types/components.d.ts +86 -50
- package/dist/types/utils/animation/animation-utils.d.ts +0 -12
- package/dist/types/utils/focus-trap.d.ts +35 -0
- package/dist/types/utils/forms/index.d.ts +0 -1
- package/dist/types/utils/hardware-back-button.d.ts +1 -1
- package/dist/types/utils/helpers.d.ts +0 -19
- package/dist/types/utils/overlays.d.ts +0 -6
- package/dist/types/utils/test/playwright/generator.d.ts +3 -3
- package/hydrate/index.js +854 -822
- package/package.json +7 -2
- package/components/note.js +0 -48
- package/css/themes/dark.always.css.map +0 -1
- package/css/themes/dark.class.css.map +0 -1
- package/css/themes/dark.system.css.map +0 -1
- package/css/themes/high-contrast-dark.always.css.map +0 -1
- package/css/themes/high-contrast-dark.class.css.map +0 -1
- package/css/themes/high-contrast-dark.system.css.map +0 -1
- package/css/themes/high-contrast.always.css.map +0 -1
- package/css/themes/high-contrast.class.css.map +0 -1
- package/css/themes/high-contrast.system.css.map +0 -1
- package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
- package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
- package/dist/collection/utils/forms/form-controller.js +0 -61
- package/dist/collection/utils/test/aria.spec.js +0 -80
- package/dist/esm-es5/animation-a4acf150.js +0 -4
- package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
- package/dist/esm-es5/data-691286f1.js +0 -4
- package/dist/esm-es5/haptic-554688a5.js +0 -4
- package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
- package/dist/esm-es5/helpers-ae74b3c9.js +0 -4
- package/dist/esm-es5/index-4c30cddd.js +0 -5
- package/dist/esm-es5/input.utils-482fc893.js +0 -4
- package/dist/esm-es5/md.transition-c9761eef.js +0 -4
- package/dist/esm-es5/overlays-c69d2a07.js +0 -4
- package/dist/ionic/p-069388dd.system.js +0 -4
- package/dist/ionic/p-0b34d3a7.system.js +0 -4
- package/dist/ionic/p-0dfbbdbe.entry.js +0 -4
- package/dist/ionic/p-0f25a7bb.system.js +0 -4
- package/dist/ionic/p-0f81df5e.entry.js +0 -4
- package/dist/ionic/p-11bb459e.system.entry.js +0 -4
- package/dist/ionic/p-13e8ad2e.entry.js +0 -4
- package/dist/ionic/p-17082c91.system.js +0 -4
- package/dist/ionic/p-19f6ac6c.system.js +0 -4
- package/dist/ionic/p-1deadb7f.system.js +0 -4
- package/dist/ionic/p-2c768965.entry.js +0 -4
- package/dist/ionic/p-32fb7d95.entry.js +0 -4
- package/dist/ionic/p-42f189f4.js +0 -4
- package/dist/ionic/p-446f3909.system.entry.js +0 -4
- package/dist/ionic/p-4a8f173c.system.js +0 -4
- package/dist/ionic/p-4e7abe76.js +0 -4
- package/dist/ionic/p-5289aade.js +0 -4
- package/dist/ionic/p-5dbf7222.entry.js +0 -4
- package/dist/ionic/p-5eabaa80.js +0 -4
- package/dist/ionic/p-60a92a48.system.entry.js +0 -4
- package/dist/ionic/p-640fac4a.system.entry.js +0 -4
- package/dist/ionic/p-66e6860f.system.js +0 -4
- package/dist/ionic/p-6d659d62.entry.js +0 -4
- package/dist/ionic/p-7292add8.entry.js +0 -4
- package/dist/ionic/p-72fa96bf.system.js +0 -5
- package/dist/ionic/p-75861cd3.entry.js +0 -4
- package/dist/ionic/p-760dbd5e.js +0 -4
- package/dist/ionic/p-7e185a31.entry.js +0 -4
- package/dist/ionic/p-831269de.js +0 -4
- package/dist/ionic/p-892e2567.system.entry.js +0 -4
- package/dist/ionic/p-8ab308e9.js +0 -4
- package/dist/ionic/p-8b8b900d.entry.js +0 -4
- package/dist/ionic/p-90b3e3b0.system.entry.js +0 -4
- package/dist/ionic/p-93e79b55.js +0 -4
- package/dist/ionic/p-94f85e19.system.entry.js +0 -4
- package/dist/ionic/p-96107183.js +0 -4
- package/dist/ionic/p-986a47ee.system.entry.js +0 -4
- package/dist/ionic/p-9c93fdcd.js +0 -4
- package/dist/ionic/p-9d6f351e.js +0 -4
- package/dist/ionic/p-9e3b3f15.system.js +0 -4
- package/dist/ionic/p-9ecc1e42.entry.js +0 -4
- package/dist/ionic/p-a6cc38d4.js +0 -4
- package/dist/ionic/p-a9126aab.system.entry.js +0 -4
- package/dist/ionic/p-bca27ea7.entry.js +0 -4
- package/dist/ionic/p-c68e75ea.system.js +0 -4
- package/dist/ionic/p-c995da88.system.js +0 -4
- package/dist/ionic/p-cb944b1a.system.js +0 -4
- package/dist/ionic/p-cd0ffc8c.entry.js +0 -4
- package/dist/ionic/p-d13689a6.entry.js +0 -4
- package/dist/ionic/p-d47a1a78.system.entry.js +0 -4
- package/dist/ionic/p-d8643420.system.entry.js +0 -4
- package/dist/ionic/p-d9b6b588.entry.js +0 -4
- package/dist/ionic/p-db121960.js +0 -4
- package/dist/ionic/p-df504a37.system.js +0 -4
- package/dist/ionic/p-dfb6de03.system.js +0 -4
- package/dist/ionic/p-e311af42.entry.js +0 -4
- package/dist/ionic/p-e755046f.system.entry.js +0 -4
- package/dist/ionic/p-ed7a529f.js +0 -5
- package/dist/ionic/p-f1437574.entry.js +0 -4
- package/dist/ionic/p-f7ccf8d9.entry.js +0 -4
- package/dist/types/utils/forms/form-controller.d.ts +0 -15
- package/css/{themes → palettes}/dark.always.css +0 -0
- package/css/{themes → palettes}/dark.css +0 -0
- package/css/{themes → palettes}/dark.css.map +0 -0
- package/css/{themes → palettes}/dark.system.css +0 -0
- package/css/{themes → palettes}/high-contrast-dark.always.css +1 -1
- package/css/{themes → palettes}/high-contrast-dark.css +0 -0
- package/css/{themes → palettes}/high-contrast-dark.css.map +0 -0
- package/css/{themes → palettes}/high-contrast-dark.system.css +1 -1
- package/css/{themes → palettes}/high-contrast.always.css +25 -25
- package/css/{themes → palettes}/high-contrast.css +0 -0
- package/css/{themes → palettes}/high-contrast.css.map +0 -0
- package/css/{themes → palettes}/high-contrast.system.css +25 -25
|
@@ -289,12 +289,12 @@ const ActionSheet = /*@__PURE__*/ proxyCustomElement(class ActionSheet extends H
|
|
|
289
289
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
290
290
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
291
291
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
292
|
-
return (h(Host, Object.assign({ key: '
|
|
292
|
+
return (h(Host, Object.assign({ key: 'b81b5301c2544d6474561047fa8f3cf1b27882fb', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
293
293
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
294
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
294
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'b98bfa2ed6b6c8f5648f5fe52968c7f79fd3557b', tappable: this.backdropDismiss }), h("div", { key: '15354a41ab7eb1014bb65638dad9daa7c8bf8167', tabindex: "0" }), h("div", { key: 'dff2e93f5f44b5f6488cf2a7da55563ce9a9cfdb', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '25981afc3a174fb44a6d97b4118b3a39792211c8', class: "action-sheet-container" }, h("div", { key: '5a9d5174b3fe7b59e08f8022df8ead909650da53', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { id: headerID, class: {
|
|
295
295
|
'action-sheet-title': true,
|
|
296
296
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
297
|
-
} }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: '
|
|
297
|
+
} }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: 'b1891248a8269c9077f48cd4af210072daf7c119', tabindex: "0" })));
|
|
298
298
|
}
|
|
299
299
|
get el() { return this; }
|
|
300
300
|
static get watchers() { return {
|
package/components/alert.js
CHANGED
|
@@ -486,9 +486,9 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
|
|
|
486
486
|
* If neither is defined, don't set aria-labelledby.
|
|
487
487
|
*/
|
|
488
488
|
const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
|
|
489
|
-
return (h(Host, Object.assign({ key: '
|
|
489
|
+
return (h(Host, Object.assign({ key: 'fe991967332781c792690760d63857f28e20e928', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
490
490
|
zIndex: `${20000 + overlayIndex}`,
|
|
491
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
491
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'd2cf69281264c779cd583acc6466b67bbeffff77', tappable: this.backdropDismiss }), h("div", { key: 'cf1613444b085bf41326703a8ee39a0e7da4fbbd', tabindex: "0" }), h("div", { key: 'da4106c5da97987844b9404d968e895d3399d09b', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '0880f30325c25f08a27f5feaf44c497c64318819', class: "alert-head" }, header && (h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '20c5e7f555e64750e5043aa62a511f2b56cc9e42', tabindex: "0" })));
|
|
492
492
|
}
|
|
493
493
|
get el() { return this; }
|
|
494
494
|
static get watchers() { return {
|
package/components/animation.js
CHANGED
|
@@ -2,39 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index5.js';
|
|
5
|
-
import { r as raf } from './helpers.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) => {
|
package/components/backdrop.js
CHANGED
|
@@ -34,7 +34,7 @@ const Backdrop = /*@__PURE__*/ proxyCustomElement(class Backdrop extends HTMLEle
|
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
36
|
const mode = getIonMode(this);
|
|
37
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: 'edc9b82940adbb5fa740107bd2d12d02955606fa', tabindex: "-1", "aria-hidden": "true", class: {
|
|
38
38
|
[mode]: true,
|
|
39
39
|
'backdrop-hide': !this.visible,
|
|
40
40
|
'backdrop-no-tappable': !this.tappable,
|
package/components/button.js
CHANGED
|
@@ -202,7 +202,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
|
|
|
202
202
|
{
|
|
203
203
|
type !== 'button' && this.renderHiddenButton();
|
|
204
204
|
}
|
|
205
|
-
return (h(Host, { key: '
|
|
205
|
+
return (h(Host, { key: 'cb5af107c877f0c1926045acfd4f6922f7dbcb8d', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
206
206
|
[mode]: true,
|
|
207
207
|
[buttonType]: true,
|
|
208
208
|
[`${buttonType}-${expand}`]: expand !== undefined,
|
|
@@ -217,7 +217,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
|
|
|
217
217
|
'button-disabled': disabled,
|
|
218
218
|
'ion-activatable': true,
|
|
219
219
|
'ion-focusable': true,
|
|
220
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
220
|
+
}) }, h(TagType, Object.assign({ key: 'bc4c5e6a17fa90e172e56bd481ba24c69419dd1a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: 'f1eac679bcdf2b40177f920025a49705f726bf0c', class: "button-inner" }, h("slot", { key: '19aa897289923c8e7d16a354f9acac312f0641ea', name: "icon-only" }), h("slot", { key: '0a321ca359f631a2c8708566b3f1b936fe9a4d00', name: "start" }), h("slot", { key: '9ec1b7197ec1b4d858338f45433f6bfa46b81a3d' }), h("slot", { key: 'e632fd3b918ec94e119a5e766371886072292d75', name: "end" })), mode === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
|
|
221
221
|
}
|
|
222
222
|
get el() { return this; }
|
|
223
223
|
static get watchers() { return {
|
package/components/buttons.js
CHANGED
|
@@ -18,16 +18,16 @@ const Buttons = /*@__PURE__*/ proxyCustomElement(class Buttons extends HTMLEleme
|
|
|
18
18
|
}
|
|
19
19
|
render() {
|
|
20
20
|
const mode = getIonMode(this);
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '3b78d2f2ebdc2a1720edb570270dd0228eef6ae5', class: {
|
|
22
22
|
[mode]: true,
|
|
23
23
|
['buttons-collapse']: this.collapse,
|
|
24
|
-
} }));
|
|
24
|
+
} }, h("slot", { key: 'a48e728d5d5ecb29965c3a2c9ffa9516b5da5309' })));
|
|
25
25
|
}
|
|
26
26
|
static get style() { return {
|
|
27
27
|
ios: IonButtonsIosStyle0,
|
|
28
28
|
md: IonButtonsMdStyle0
|
|
29
29
|
}; }
|
|
30
|
-
}, [
|
|
30
|
+
}, [38, "ion-buttons", {
|
|
31
31
|
"collapse": [4]
|
|
32
32
|
}]);
|
|
33
33
|
function defineCustomElement() {
|
package/components/checkbox.js
CHANGED
|
@@ -76,7 +76,7 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
76
76
|
const mode = getIonMode(this);
|
|
77
77
|
const path = getSVGPath(mode, indeterminate);
|
|
78
78
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '93550068abf4a5103a5d7f06e88e8d004382c203', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
|
|
80
80
|
[mode]: true,
|
|
81
81
|
'in-item': hostContext('ion-item', el),
|
|
82
82
|
'checkbox-checked': checked,
|
|
@@ -86,10 +86,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
|
|
|
86
86
|
[`checkbox-justify-${justify}`]: true,
|
|
87
87
|
[`checkbox-alignment-${alignment}`]: true,
|
|
88
88
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
89
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
89
|
+
}), onClick: this.onClick }, h("label", { key: '43c0a59f152c8b836fcfcefd29db16962568b1e1', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '7dc4216a96c001216a99349290d7615032952aee', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'a7454e4c99eb6ea3fe4db171c0071b803949c4d0', class: {
|
|
90
90
|
'label-text-wrapper': true,
|
|
91
91
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
92
|
-
}, part: "label" }, h("slot", { key: '
|
|
92
|
+
}, part: "label" }, h("slot", { key: '41741533b49c0281d8ff496c7b5eeccd944d2b2a' })), h("div", { key: 'e3b43df785386c2cd87fb3a38777c34a7d9b32e0', class: "native-wrapper" }, h("svg", { key: 'd3cfb07ec4c7b3e45b9cf5a049fcc841fdb4e2c3', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
93
93
|
}
|
|
94
94
|
getSVGPath(mode, indeterminate) {
|
|
95
95
|
let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
package/components/data.js
CHANGED
|
@@ -832,7 +832,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
|
|
|
832
832
|
}
|
|
833
833
|
return dayPeriod.toUpperCase();
|
|
834
834
|
};
|
|
835
|
-
|
|
835
|
+
/**
|
|
836
|
+
* Including time zone options may lead to the rendered text showing a
|
|
837
|
+
* different time from what was selected in the Datetime, which could cause
|
|
838
|
+
* confusion.
|
|
839
|
+
*/
|
|
840
|
+
const stripTimeZone = (formatOptions) => {
|
|
841
|
+
return Object.assign(Object.assign({}, formatOptions), {
|
|
842
|
+
/**
|
|
843
|
+
* Setting the time zone to UTC ensures that the value shown is always the
|
|
844
|
+
* same as what was selected and safeguards against older Safari bugs with
|
|
845
|
+
* Intl.DateTimeFormat.
|
|
846
|
+
*/
|
|
847
|
+
timeZone: 'UTC',
|
|
848
|
+
/**
|
|
849
|
+
* We do not want to display the time zone name
|
|
850
|
+
*/
|
|
851
|
+
timeZoneName: undefined });
|
|
852
|
+
};
|
|
853
|
+
const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
|
|
836
854
|
const timeParts = {
|
|
837
855
|
hour: refParts.hour,
|
|
838
856
|
minute: refParts.minute,
|
|
@@ -840,28 +858,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
|
|
|
840
858
|
if (timeParts.hour === undefined || timeParts.minute === undefined) {
|
|
841
859
|
return 'Invalid Time';
|
|
842
860
|
}
|
|
843
|
-
return new Intl.DateTimeFormat(locale, {
|
|
844
|
-
hour: 'numeric',
|
|
845
|
-
minute: 'numeric',
|
|
846
|
-
/**
|
|
847
|
-
* Setting the timeZone to UTC prevents
|
|
848
|
-
* new Intl.DatetimeFormat from subtracting
|
|
849
|
-
* the user's current timezone offset
|
|
850
|
-
* when formatting the time.
|
|
851
|
-
*/
|
|
852
|
-
timeZone: 'UTC',
|
|
861
|
+
return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
|
|
853
862
|
/**
|
|
854
863
|
* We use hourCycle here instead of hour12 due to:
|
|
855
864
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
|
|
856
865
|
*/
|
|
857
|
-
hourCycle
|
|
858
|
-
/**
|
|
859
|
-
* Setting Z at the end indicates that this
|
|
860
|
-
* date string is in the UTC time zone. This
|
|
861
|
-
* prevents new Date from adding the time zone
|
|
862
|
-
* offset when getting the ISO string.
|
|
863
|
-
*/
|
|
864
|
-
}).format(new Date(convertDataToISO(Object.assign({
|
|
866
|
+
hourCycle })).format(new Date(convertDataToISO(Object.assign({
|
|
865
867
|
/**
|
|
866
868
|
* JS uses a simplified ISO 8601 format which allows for
|
|
867
869
|
* date-only formats and date-time formats, but not
|
|
@@ -947,14 +949,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
|
|
|
947
949
|
*/
|
|
948
950
|
return today ? `Today, ${labelString}` : labelString;
|
|
949
951
|
};
|
|
950
|
-
/**
|
|
951
|
-
* Gets the day of the week, month, and day
|
|
952
|
-
* Used for the header in MD mode.
|
|
953
|
-
*/
|
|
954
|
-
const getMonthAndDay = (locale, refParts) => {
|
|
955
|
-
const date = getNormalizedDate(refParts);
|
|
956
|
-
return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
|
|
957
|
-
};
|
|
958
952
|
/**
|
|
959
953
|
* Given a locale and a date object,
|
|
960
954
|
* return a formatted string that includes
|
|
@@ -965,15 +959,6 @@ const getMonthAndYear = (locale, refParts) => {
|
|
|
965
959
|
const date = getNormalizedDate(refParts);
|
|
966
960
|
return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
|
|
967
961
|
};
|
|
968
|
-
/**
|
|
969
|
-
* Given a locale and a date object,
|
|
970
|
-
* return a formatted string that includes
|
|
971
|
-
* the short month, numeric day, and full year.
|
|
972
|
-
* Example: Apr 22, 2021
|
|
973
|
-
*/
|
|
974
|
-
const getMonthDayAndYear = (locale, refParts) => {
|
|
975
|
-
return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
|
|
976
|
-
};
|
|
977
962
|
/**
|
|
978
963
|
* Given a locale and a date object,
|
|
979
964
|
* return a formatted string that includes
|
|
@@ -1023,7 +1008,7 @@ const getNormalizedDate = (refParts) => {
|
|
|
1023
1008
|
*/
|
|
1024
1009
|
const getLocalizedDateTime = (locale, refParts, options) => {
|
|
1025
1010
|
const date = getNormalizedDate(refParts);
|
|
1026
|
-
return getDateTimeFormat(locale, options).format(date);
|
|
1011
|
+
return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
|
|
1027
1012
|
};
|
|
1028
1013
|
/**
|
|
1029
1014
|
* Given a locale, DatetimeParts, and options
|
|
@@ -1622,4 +1607,4 @@ const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, all
|
|
|
1622
1607
|
};
|
|
1623
1608
|
};
|
|
1624
1609
|
|
|
1625
|
-
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getMonthAndYear as I, getDaysOfWeek as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M,
|
|
1610
|
+
export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getMonthAndYear as I, getDaysOfWeek as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getLocalizedDateTime as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
|