@ionic/core 8.7.14-dev.11765828575.1dda19db → 8.7.14-dev.11765982433.1ecdbcee
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 +15 -11
- package/components/alert.js +14 -11
- package/components/animation.js +1 -1
- package/components/backdrop.js +9 -6
- package/components/button.js +41 -10
- package/components/buttons.js +11 -8
- package/components/capacitor.js +1 -1
- package/components/caret-down.js +6 -0
- package/components/caret-left.js +6 -0
- package/components/caret-right.js +6 -0
- package/components/checkbox.js +31 -12
- package/components/content.js +14 -12
- package/components/data.js +5 -5
- package/components/focus-visible.js +23 -1
- package/components/framework-delegate.js +3 -1
- package/components/header.js +34 -22
- package/components/helpers.js +42 -3
- package/components/index5.js +8 -8
- package/components/index6.js +1 -1
- package/components/index7.js +111 -150
- package/components/index8.js +150 -111
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +1 -1
- package/components/ion-accordion-group.js +23 -5
- package/components/ion-accordion.js +32 -21
- package/components/ion-app.js +12 -77
- package/components/ion-avatar.js +58 -5
- package/components/ion-back-button.js +27 -19
- package/components/ion-badge.js +73 -9
- package/components/ion-breadcrumb.js +43 -10
- package/components/ion-breadcrumbs.js +8 -5
- package/components/ion-card-content.js +10 -7
- package/components/ion-card-header.js +9 -6
- package/components/ion-card-subtitle.js +8 -5
- package/components/ion-card-title.js +8 -5
- package/components/ion-card.js +21 -9
- package/components/ion-chip.js +53 -8
- package/components/ion-col.js +51 -50
- package/components/ion-datetime-button.js +8 -5
- package/components/ion-datetime.js +98 -21
- package/components/ion-divider.d.ts +11 -0
- package/components/ion-divider.js +72 -0
- package/components/ion-fab-button.js +31 -15
- package/components/ion-fab-list.js +5 -5
- package/components/ion-fab.js +6 -6
- package/components/ion-footer.js +18 -13
- package/components/ion-grid.js +5 -5
- package/components/ion-img.js +5 -2
- package/components/ion-infinite-scroll-content.js +11 -8
- package/components/ion-infinite-scroll.js +78 -6
- package/components/ion-input-otp.js +9 -6
- package/components/ion-input-password-toggle.js +51 -13
- package/components/ion-input.js +120 -28
- package/components/ion-item-divider.js +8 -5
- package/components/ion-item-group.js +8 -5
- package/components/ion-item-option.js +36 -9
- package/components/ion-item-options.js +10 -7
- package/components/ion-item-sliding.js +5 -5
- package/components/ion-loading.js +12 -9
- package/components/ion-menu-button.js +26 -10
- package/components/ion-menu-toggle.js +5 -5
- package/components/ion-menu.js +10 -8
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +7 -5
- package/components/ion-note.js +8 -5
- package/components/ion-picker-legacy.js +7 -7
- package/components/ion-progress-bar.js +25 -7
- package/components/ion-range.js +12 -9
- package/components/ion-refresher-content.js +23 -8
- package/components/ion-refresher.js +10 -7
- package/components/ion-reorder-group.js +5 -5
- package/components/ion-reorder.js +30 -5
- package/components/ion-router-link.js +6 -6
- package/components/ion-router-outlet.js +4 -4
- package/components/ion-row.js +6 -3
- package/components/ion-searchbar.js +137 -23
- package/components/ion-segment-button.js +10 -7
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +5 -2
- package/components/ion-segment.js +10 -7
- package/components/ion-select-option.js +5 -2
- package/components/ion-select.js +117 -33
- package/components/ion-skeleton-text.js +5 -5
- package/components/ion-split-pane.js +11 -8
- package/components/ion-tab-bar.js +39 -9
- package/components/ion-tab-button.js +35 -8
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +2 -2
- package/components/ion-text.js +5 -5
- package/components/ion-textarea.js +52 -11
- package/components/ion-thumbnail.js +5 -2
- package/components/ion-toast.js +37 -12
- package/components/ion-toggle.js +74 -17
- package/components/ionic-global.js +364 -15
- package/components/ios.transition.js +1 -0
- package/components/item.js +47 -15
- package/components/keyboard-controller.js +4 -2
- package/components/label.js +8 -5
- package/components/list-header.js +10 -7
- package/components/list.js +27 -6
- package/components/list2.js +6 -0
- package/components/modal.js +48 -20
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +3 -4
- package/components/picker-column-option.js +8 -5
- package/components/picker-column.js +7 -8
- package/components/picker-column2.js +4 -4
- package/components/picker.js +7 -4
- package/components/popover.js +12 -9
- package/components/radio-group.js +15 -7
- package/components/radio.js +11 -8
- package/components/ripple-effect.js +15 -7
- package/components/select-modal.js +12 -5
- package/components/select-popover.js +8 -2
- package/components/spinner.js +31 -8
- package/components/status-tap.js +1 -1
- package/components/title.js +10 -7
- package/components/toolbar.js +153 -9
- package/components/x.js +6 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-Bt3H9L1C.js → animation-CD5nuON9.js} +2 -2
- package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CoW5jvJu.js} +1 -1
- package/dist/cjs/{button-active-CMc8cD90.js → button-active-Dxyabn6T.js} +1 -1
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-C8raJ_tU.js} +3 -3
- package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
- package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
- package/dist/cjs/caret-right-CRCgv98E.js +8 -0
- package/dist/cjs/{data-JwZKaIQB.js → data-MoL8Ckx5.js} +5 -5
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-Bwdk9vFS.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-BU6_qLwg.js} +1 -1
- package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
- package/dist/cjs/{index-DrMUZJj6.js → index-C4_FN9N0.js} +15 -15
- package/dist/cjs/{index-C534ULug.js → index-CADY2xEW.js} +8 -7
- package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
- package/dist/cjs/{index-094mMFB-.js → index-JtyffOXl.js} +3 -3
- package/dist/cjs/index.cjs.js +10 -11
- package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-C-YCyXjg.js} +17 -16
- package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-C3-BwdV0.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
- package/dist/cjs/ion-action-sheet.cjs.entry.js +23 -20
- package/dist/cjs/ion-alert.cjs.entry.js +22 -20
- package/dist/cjs/ion-app_8.cjs.entry.js +249 -150
- package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
- package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
- package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
- package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
- package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
- package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
- package/dist/cjs/ion-chip.cjs.entry.js +48 -7
- package/dist/cjs/ion-col_3.cjs.entry.js +53 -56
- package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
- package/dist/cjs/ion-datetime_3.cjs.entry.js +113 -38
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
- package/dist/cjs/ion-img.cjs.entry.js +7 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
- package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
- package/dist/cjs/ion-input.cjs.entry.js +120 -30
- package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
- package/dist/cjs/ion-item_8.cjs.entry.js +113 -46
- package/dist/cjs/ion-loading.cjs.entry.js +17 -15
- package/dist/cjs/ion-menu_3.cjs.entry.js +44 -26
- package/dist/cjs/ion-modal.cjs.entry.js +96 -69
- package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
- package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
- package/dist/cjs/ion-picker.cjs.entry.js +9 -5
- package/dist/cjs/ion-popover.cjs.entry.js +18 -16
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
- package/dist/cjs/ion-radio_2.cjs.entry.js +24 -14
- package/dist/cjs/ion-range.cjs.entry.js +14 -10
- package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
- package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
- package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
- package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +15 -9
- package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
- package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
- package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +75 -21
- package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-text.cjs.entry.js +5 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
- package/dist/cjs/ion-toast.cjs.entry.js +66 -43
- package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
- package/dist/cjs/ionic-global-DpRwOXLK.js +506 -0
- package/dist/cjs/ionic.cjs.js +3 -3
- package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Dt4GT8w5.js} +6 -4
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-B8HJHbg3.js} +4 -3
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BlrG3xPK.js} +1 -1
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-O8n0dTQz.js} +11 -9
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-BolcQzNP.js} +5 -4
- package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BE80VRju.js} +4 -4
- package/dist/cjs/{overlays--dagG4QM.js → overlays-D7GuFhXb.js} +8 -9
- package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-e-hyosXV.js} +3 -2
- package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-CR060nOX.js} +2 -1
- package/dist/cjs/x-BTF99yFH.js +8 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.ionic.css +196 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +36 -26
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +44 -8
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
- package/dist/collection/components/action-sheet/action-sheet.js +17 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
- package/dist/collection/components/alert/alert.ios.css +19 -1
- package/dist/collection/components/alert/alert.js +16 -13
- package/dist/collection/components/alert/alert.md.css +19 -1
- package/dist/collection/components/app/app.js +15 -78
- package/dist/collection/components/avatar/avatar.ionic.css +391 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +27 -19
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +275 -0
- package/dist/collection/components/badge/badge.ios.css +139 -12
- package/dist/collection/components/badge/badge.js +145 -9
- package/dist/collection/components/badge/badge.md.css +123 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +636 -0
- package/dist/collection/components/button/button.ios.css +135 -46
- package/dist/collection/components/button/button.js +48 -17
- package/dist/collection/components/button/button.md.css +126 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +15 -9
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +41 -10
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +92 -0
- package/dist/collection/components/card-content/card-content.ios.css +16 -1
- package/dist/collection/components/card-content/card-content.js +11 -8
- package/dist/collection/components/card-content/card-content.md.css +16 -1
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
- package/dist/collection/components/checkbox/checkbox.js +70 -14
- package/dist/collection/components/checkbox/checkbox.md.css +162 -102
- package/dist/collection/components/chip/chip.ionic.css +215 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +210 -61
- package/dist/collection/components/content/content.css +8 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +711 -0
- package/dist/collection/components/datetime/datetime.ios.css +258 -96
- package/dist/collection/components/datetime/datetime.js +98 -20
- package/dist/collection/components/datetime/datetime.md.css +258 -96
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +36 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer.ios.css +14 -2
- package/dist/collection/components/footer/footer.js +21 -16
- package/dist/collection/components/footer/footer.md.css +12 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header.ionic.css +97 -0
- package/dist/collection/components/header/header.ios.css +25 -10
- package/dist/collection/components/header/header.js +50 -19
- package/dist/collection/components/header/header.md.css +23 -8
- package/dist/collection/components/header/header.utils.js +5 -5
- package/dist/collection/components/img/img.js +8 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +885 -0
- package/dist/collection/components/input/input.ios.css +223 -140
- package/dist/collection/components/input/input.js +149 -38
- package/dist/collection/components/input/input.md.css +193 -212
- package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
- package/dist/collection/components/input-otp/input-otp.js +7 -5
- package/dist/collection/components/input-otp/input-otp.md.css +102 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +508 -0
- package/dist/collection/components/item/item.ios.css +109 -69
- package/dist/collection/components/item/item.js +51 -20
- package/dist/collection/components/item/item.md.css +120 -68
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +278 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.css +6 -0
- package/dist/collection/components/item-sliding/item-sliding.js +8 -4
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +190 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +14 -11
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +26 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +10 -6
- package/dist/collection/components/modal/modal.ionic.css +247 -0
- package/dist/collection/components/modal/modal.ios.css +174 -70
- package/dist/collection/components/modal/modal.js +48 -11
- package/dist/collection/components/modal/modal.md.css +174 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +11 -5
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +8 -7
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
- package/dist/collection/components/picker-legacy/picker.js +7 -6
- package/dist/collection/components/picker-legacy/picker.md.css +13 -1
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +17 -14
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +422 -0
- package/dist/collection/components/radio/radio.ios.css +134 -91
- package/dist/collection/components/radio/radio.js +12 -9
- package/dist/collection/components/radio/radio.md.css +134 -91
- package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
- package/dist/collection/components/radio-group/radio-group.js +21 -6
- package/dist/collection/components/radio-group/radio-group.md.css +43 -23
- package/dist/collection/components/range/range.ionic.css +563 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +12 -9
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +28 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +33 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +181 -34
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +6 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +777 -0
- package/dist/collection/components/select/select.ios.css +315 -176
- package/dist/collection/components/select/select.js +156 -53
- package/dist/collection/components/select/select.md.css +331 -178
- package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
- package/dist/collection/components/select-modal/select-modal.js +11 -4
- package/dist/collection/components/select-modal/select-modal.md.css +7 -3
- package/dist/collection/components/select-option/select-option.js +9 -2
- package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
- package/dist/collection/components/select-popover/select-popover.js +12 -4
- package/dist/collection/components/select-popover/select-popover.md.css +18 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +198 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +14 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
- package/dist/collection/components/tab-bar/tab-bar.js +78 -11
- package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +54 -9
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +885 -0
- package/dist/collection/components/textarea/textarea.ios.css +275 -139
- package/dist/collection/components/textarea/textarea.js +76 -16
- package/dist/collection/components/textarea/textarea.md.css +288 -140
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +127 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +32 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +394 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +75 -12
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +508 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -131
- package/dist/collection/components/toggle/toggle.js +73 -18
- package/dist/collection/components/toggle/toggle.md.css +244 -131
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +157 -13
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +228 -13
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/hardware-back-button.js +15 -0
- package/dist/collection/utils/helpers.js +42 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlays.js +2 -1
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +8195 -374
- package/dist/esm/{animation-Dt8bGnA-.js → animation-BNuoDl-O.js} +1 -1
- package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tX0s9Zd7.js} +1 -1
- package/dist/esm/{button-active-L570Swow.js → button-active-BF6GZ_yH.js} +1 -1
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-pzVAlnC0.js} +1 -1
- package/dist/esm/caret-down-D1t981Ih.js +6 -0
- package/dist/esm/caret-left-fIOYmaqA.js +6 -0
- package/dist/esm/caret-right-BYSs-jZz.js +6 -0
- package/dist/esm/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-bBvyATla.js} +1 -1
- package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
- package/dist/esm/{index-CvDIirVx.js → index-BQI9hSZP.js} +10 -10
- package/dist/esm/{index-ceb5RaMT.js → index-Bnw-zNoN.js} +3 -2
- package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
- package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
- package/dist/esm/{index-r2D9DEro.js → index-M3l-IyxQ.js} +3 -3
- package/dist/esm/index.js +10 -11
- package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-ACbgRt10.js} +6 -5
- package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-loPnHH5H.js} +2 -2
- package/dist/esm/ion-accordion_2.entry.js +56 -27
- package/dist/esm/ion-action-sheet.entry.js +23 -20
- package/dist/esm/ion-alert.entry.js +22 -20
- package/dist/esm/ion-app_8.entry.js +250 -151
- package/dist/esm/ion-avatar_3.entry.js +125 -13
- package/dist/esm/ion-back-button.entry.js +29 -20
- package/dist/esm/ion-backdrop.entry.js +9 -6
- package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
- package/dist/esm/ion-button_2.entry.js +43 -11
- package/dist/esm/ion-card_5.entry.js +53 -29
- package/dist/esm/ion-checkbox.entry.js +31 -13
- package/dist/esm/ion-chip.entry.js +49 -8
- package/dist/esm/ion-col_3.entry.js +54 -57
- package/dist/esm/ion-datetime-button.entry.js +11 -7
- package/dist/esm/ion-datetime_3.entry.js +115 -40
- package/dist/esm/ion-divider.entry.js +49 -0
- package/dist/esm/ion-fab_3.entry.js +43 -27
- package/dist/esm/ion-img.entry.js +7 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
- package/dist/esm/ion-input-otp.entry.js +11 -7
- package/dist/esm/ion-input-password-toggle.entry.js +52 -14
- package/dist/esm/ion-input.entry.js +122 -32
- package/dist/esm/ion-item-option_3.entry.js +48 -19
- package/dist/esm/ion-item_8.entry.js +115 -48
- package/dist/esm/ion-loading.entry.js +17 -15
- package/dist/esm/ion-menu_3.entry.js +45 -27
- package/dist/esm/ion-modal.entry.js +56 -29
- package/dist/esm/ion-nav_2.entry.js +13 -10
- package/dist/esm/ion-picker-column-option.entry.js +10 -6
- package/dist/esm/ion-picker-column.entry.js +11 -11
- package/dist/esm/ion-picker.entry.js +9 -5
- package/dist/esm/ion-popover.entry.js +18 -16
- package/dist/esm/ion-progress-bar.entry.js +25 -7
- package/dist/esm/ion-radio_2.entry.js +24 -14
- package/dist/esm/ion-range.entry.js +14 -10
- package/dist/esm/ion-refresher_2.entry.js +37 -19
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +14 -6
- package/dist/esm/ion-route_4.entry.js +8 -7
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +5 -2
- package/dist/esm/ion-segment_2.entry.js +21 -14
- package/dist/esm/ion-select-modal.entry.js +16 -10
- package/dist/esm/ion-select_3.entry.js +131 -40
- package/dist/esm/ion-spinner.entry.js +28 -6
- package/dist/esm/ion-split-pane.entry.js +11 -8
- package/dist/esm/ion-tab-bar_2.entry.js +75 -21
- package/dist/esm/ion-tab_2.entry.js +7 -6
- package/dist/esm/ion-text.entry.js +5 -5
- package/dist/esm/ion-textarea.entry.js +55 -15
- package/dist/esm/ion-toast.entry.js +40 -17
- package/dist/esm/ion-toggle.entry.js +79 -22
- package/dist/esm/ionic-global-2lDD9k7y.js +495 -0
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-uJxJFbq8.js} +6 -4
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-B-HHSSYU.js} +4 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CU1vRv-b.js} +1 -1
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Dplyc4OV.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-Dp4NTeSh.js} +5 -4
- package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-BvFDmO69.js} +2 -2
- package/dist/esm/{overlays-DCabi1dI.js → overlays-Bi5WpIkN.js} +5 -6
- package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
- package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
- package/dist/esm/x-BDqjX7Z_.js +6 -0
- package/dist/html.html-data.json +2530 -224
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01577340.entry.js +4 -0
- package/dist/ionic/p-03a794dc.entry.js +4 -0
- package/dist/ionic/p-04b1d37a.entry.js +4 -0
- package/dist/ionic/p-04e0ff62.entry.js +4 -0
- package/dist/ionic/p-0607ce8e.entry.js +4 -0
- package/dist/ionic/p-0744265c.entry.js +4 -0
- package/dist/ionic/p-0ac7c560.entry.js +4 -0
- package/dist/ionic/p-0c41c8a8.entry.js +4 -0
- package/dist/ionic/p-0eecce18.entry.js +4 -0
- package/dist/ionic/p-0f124806.entry.js +4 -0
- package/dist/ionic/p-0f3ca9c1.entry.js +4 -0
- package/dist/ionic/p-19b2060d.entry.js +4 -0
- package/dist/ionic/p-2536e681.entry.js +4 -0
- package/dist/ionic/p-27dbb44c.entry.js +4 -0
- package/dist/ionic/p-28a9d991.entry.js +4 -0
- package/dist/ionic/p-2920da49.entry.js +4 -0
- package/dist/ionic/p-2dc676b2.entry.js +4 -0
- package/dist/ionic/p-363a3268.entry.js +4 -0
- package/dist/ionic/p-381eb2a4.entry.js +4 -0
- package/dist/ionic/p-412d5d9e.entry.js +4 -0
- package/dist/ionic/p-4c31db58.entry.js +4 -0
- package/dist/ionic/p-5543b7b8.entry.js +4 -0
- package/dist/ionic/p-57a2d30b.entry.js +4 -0
- package/dist/ionic/p-59a79bd9.entry.js +4 -0
- package/dist/ionic/p-5b64852f.entry.js +4 -0
- package/dist/ionic/p-5daa0980.entry.js +4 -0
- package/dist/ionic/p-5f9d9c14.entry.js +4 -0
- package/dist/ionic/p-67a63ae1.entry.js +4 -0
- package/dist/ionic/p-6bb99f41.entry.js +4 -0
- package/dist/ionic/p-6e3686f8.entry.js +4 -0
- package/dist/ionic/p-742fed9f.entry.js +4 -0
- package/dist/ionic/p-7fe3ea65.entry.js +4 -0
- package/dist/ionic/p-826267d6.entry.js +4 -0
- package/dist/ionic/p-83ba2260.entry.js +4 -0
- package/dist/ionic/p-8681a2a7.entry.js +4 -0
- package/dist/ionic/{p-D13Eaw-8.js → p-B-D7Cfki.js} +1 -1
- package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BiTKUjko.js +4 -0
- package/dist/ionic/p-ByhhQryg.js +4 -0
- package/dist/ionic/{p-DCv9sLH2.js → p-C8r4dtYR.js} +1 -1
- package/dist/ionic/p-CK1xn1Nt.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
- package/dist/ionic/p-COLHV2ym.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-Cq83JWMg.js} +1 -1
- package/dist/ionic/{p-Dc45iWE4.js → p-CtUK3cKk.js} +1 -1
- package/dist/ionic/p-CvRDI-Iz.js +4 -0
- package/dist/ionic/{p-CJxh_yLS.js → p-D-BelbiX.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-DHeUgOSJ.js +4 -0
- package/dist/ionic/p-DM-v_NNE.js +4 -0
- package/dist/ionic/p-DeEDqH91.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DoGrslUl.js +4 -0
- package/dist/ionic/p-Dq8ap6AD.js +4 -0
- package/dist/ionic/p-DyaKZbAH.js +4 -0
- package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
- package/dist/ionic/p-U97FCefb.js +4 -0
- package/dist/ionic/p-UafGZQ8e.js +4 -0
- package/dist/ionic/p-a0362df3.entry.js +4 -0
- package/dist/ionic/p-a6a37a34.entry.js +4 -0
- package/dist/ionic/p-a6fb1f64.entry.js +4 -0
- package/dist/ionic/p-a89211bd.entry.js +4 -0
- package/dist/ionic/p-ab6f89e1.entry.js +4 -0
- package/dist/ionic/p-b475ec18.entry.js +4 -0
- package/dist/ionic/p-c082f853.entry.js +4 -0
- package/dist/ionic/p-cdbfbff6.entry.js +4 -0
- package/dist/ionic/p-d3f64c58.entry.js +4 -0
- package/dist/ionic/p-d70bba84.entry.js +4 -0
- package/dist/ionic/p-d9c9592a.entry.js +4 -0
- package/dist/ionic/p-da0a2ca6.entry.js +4 -0
- package/dist/ionic/p-da5f08cf.entry.js +4 -0
- package/dist/ionic/p-da8e21af.entry.js +4 -0
- package/dist/ionic/p-dacd8666.entry.js +4 -0
- package/dist/ionic/p-e90bbe85.entry.js +4 -0
- package/dist/ionic/p-ecba552f.entry.js +4 -0
- package/dist/ionic/p-ecf8e713.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-nP9c7bo5.js +4 -0
- package/dist/ionic/p-of4jy1ch.js +4 -0
- package/dist/ionic/{p-DUt5fQmA.js → p-q1ZSn0l7.js} +1 -1
- package/dist/ionic/p-qZR4N8Lu.js +4 -0
- package/dist/ionic/p-vXpMhGrs.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +5 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -2
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +2 -1
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +19 -6
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +14 -4
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +5 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +4 -3
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header.d.ts +9 -3
- package/dist/types/components/header/header.utils.d.ts +3 -3
- package/dist/types/components/img/img.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +31 -5
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
- package/dist/types/components/item/item.d.ts +11 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +3 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -1
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/picker-legacy/picker.d.ts +2 -1
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +8 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +51 -9
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +41 -13
- package/dist/types/components/select-modal/select-modal.d.ts +1 -0
- package/dist/types/components/select-option/select-option.d.ts +4 -0
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +17 -4
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +15 -1
- package/dist/types/components/toolbar/toolbar.d.ts +20 -3
- package/dist/types/components.d.ts +1593 -196
- package/dist/types/global/ionic-global.d.ts +27 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +106 -2
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/helpers.d.ts +11 -0
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/hydrate/index.js +2877 -948
- package/hydrate/index.mjs +2877 -948
- package/package.json +8 -4
- package/components/hardware-back-button.js +0 -115
- package/components/index9.js +0 -7
- package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
- package/dist/cjs/index-DkNv4J_i.js +0 -10
- package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
- package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
- package/dist/esm/index-ZjP4CjeZ.js +0 -7
- package/dist/esm/ionic-global-CDrldh-5.js +0 -146
- package/dist/ionic/p-020af078.entry.js +0 -4
- package/dist/ionic/p-074839fc.entry.js +0 -4
- package/dist/ionic/p-07753df3.entry.js +0 -4
- package/dist/ionic/p-0abeb0fc.entry.js +0 -4
- package/dist/ionic/p-0bf76d0f.entry.js +0 -4
- package/dist/ionic/p-0dfa5a37.entry.js +0 -4
- package/dist/ionic/p-11518b31.entry.js +0 -4
- package/dist/ionic/p-1647c46c.entry.js +0 -4
- package/dist/ionic/p-2a939845.entry.js +0 -4
- package/dist/ionic/p-316c0420.entry.js +0 -4
- package/dist/ionic/p-31f7095f.entry.js +0 -4
- package/dist/ionic/p-370e4237.entry.js +0 -4
- package/dist/ionic/p-3a6caca9.entry.js +0 -4
- package/dist/ionic/p-40c261a3.entry.js +0 -4
- package/dist/ionic/p-43ed1ef5.entry.js +0 -4
- package/dist/ionic/p-46d74291.entry.js +0 -4
- package/dist/ionic/p-49d06882.entry.js +0 -4
- package/dist/ionic/p-4b658a7c.entry.js +0 -4
- package/dist/ionic/p-4e41ea20.entry.js +0 -4
- package/dist/ionic/p-51a60e0f.entry.js +0 -4
- package/dist/ionic/p-576e0965.entry.js +0 -4
- package/dist/ionic/p-582824c5.entry.js +0 -4
- package/dist/ionic/p-6241ce47.entry.js +0 -4
- package/dist/ionic/p-639dd543.entry.js +0 -4
- package/dist/ionic/p-6444c606.entry.js +0 -4
- package/dist/ionic/p-675b1a31.entry.js +0 -4
- package/dist/ionic/p-6d070558.entry.js +0 -4
- package/dist/ionic/p-7268efa5.entry.js +0 -4
- package/dist/ionic/p-72c38b88.entry.js +0 -4
- package/dist/ionic/p-75ae4733.entry.js +0 -4
- package/dist/ionic/p-79bd78f9.entry.js +0 -4
- package/dist/ionic/p-86f53961.entry.js +0 -4
- package/dist/ionic/p-94de5cfa.entry.js +0 -4
- package/dist/ionic/p-9575b654.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B0q1YL7N.js +0 -4
- package/dist/ionic/p-BFvmZNyx.js +0 -4
- package/dist/ionic/p-BKc55Xev.js +0 -4
- package/dist/ionic/p-BOVrCkpJ.js +0 -4
- package/dist/ionic/p-BYEqWnSg.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-Bmgaetn_.js +0 -4
- package/dist/ionic/p-C6F4hat2.js +0 -4
- package/dist/ionic/p-C7hRNDhM.js +0 -4
- package/dist/ionic/p-CIGNaXM1.js +0 -4
- package/dist/ionic/p-CTfR9YZG.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-D-eFFUkA.js +0 -4
- package/dist/ionic/p-DDb5r57F.js +0 -4
- package/dist/ionic/p-DNcfiJwE.js +0 -4
- package/dist/ionic/p-DZRJwG4S.js +0 -4
- package/dist/ionic/p-QHYY4sjU.js +0 -4
- package/dist/ionic/p-ZjP4CjeZ.js +0 -4
- package/dist/ionic/p-a127bee2.entry.js +0 -4
- package/dist/ionic/p-a8ed848b.entry.js +0 -4
- package/dist/ionic/p-ac4eb91d.entry.js +0 -4
- package/dist/ionic/p-b0a7585c.entry.js +0 -4
- package/dist/ionic/p-b57c6d3e.entry.js +0 -4
- package/dist/ionic/p-c19f63d0.entry.js +0 -4
- package/dist/ionic/p-c85a2127.entry.js +0 -4
- package/dist/ionic/p-cc45bcbc.entry.js +0 -4
- package/dist/ionic/p-cebb0328.entry.js +0 -4
- package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
- package/dist/ionic/p-d126e8d3.entry.js +0 -4
- package/dist/ionic/p-d1f54e28.entry.js +0 -4
- package/dist/ionic/p-d3014190.entry.js +0 -4
- package/dist/ionic/p-da7d04cc.entry.js +0 -4
- package/dist/ionic/p-dbbe606a.entry.js +0 -4
- package/dist/ionic/p-ea509e3c.entry.js +0 -4
- package/dist/ionic/p-ec654c42.entry.js +0 -4
- package/dist/ionic/p-f8f22cc0.entry.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
|
+
import { x as xSvg } from './x.js';
|
|
5
6
|
import { i as inheritAriaAttributes } from './helpers.js';
|
|
6
7
|
import { h as hostContext, c as createColorClasses, o as openURL } from './theme.js';
|
|
7
8
|
import { i as close } from './index6.js';
|
|
8
|
-
import {
|
|
9
|
+
import { c as config } from './index4.js';
|
|
10
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
9
11
|
import { d as defineCustomElement$3 } from './icon.js';
|
|
10
12
|
import { d as defineCustomElement$2 } from './ripple-effect.js';
|
|
11
13
|
|
|
12
|
-
const
|
|
14
|
+
const ionicFabButtonMdCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:0.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{right:0;left:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;right:0;left:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:0.24;--background-hover-opacity:0.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}";
|
|
13
15
|
|
|
14
|
-
const
|
|
16
|
+
const fabButtonIosCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:0.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{right:0;left:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;right:0;left:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}";
|
|
17
|
+
|
|
18
|
+
const fabButtonMdCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:0.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;white-space:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{right:0;left:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{right:0;left:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;right:0;left:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:0.24;--background-hover-opacity:0.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}";
|
|
15
19
|
|
|
16
20
|
const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLElement {
|
|
17
21
|
constructor(registerHost) {
|
|
@@ -43,7 +47,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
43
47
|
this.show = false;
|
|
44
48
|
/**
|
|
45
49
|
* If `true`, the fab button will be translucent.
|
|
46
|
-
* Only applies when the
|
|
50
|
+
* Only applies when the theme is `"ios"` and the device supports
|
|
47
51
|
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
48
52
|
*/
|
|
49
53
|
this.translucent = false;
|
|
@@ -51,12 +55,6 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
51
55
|
* The type of the button.
|
|
52
56
|
*/
|
|
53
57
|
this.type = 'button';
|
|
54
|
-
/**
|
|
55
|
-
* The icon name to use for the close icon. This will appear when the fab button
|
|
56
|
-
* is pressed. Only applies if it is the main button inside of a fab containing a
|
|
57
|
-
* fab list.
|
|
58
|
-
*/
|
|
59
|
-
this.closeIcon = close;
|
|
60
58
|
this.onFocus = () => {
|
|
61
59
|
this.ionFocus.emit();
|
|
62
60
|
};
|
|
@@ -77,10 +75,27 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
77
75
|
componentWillLoad() {
|
|
78
76
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
79
77
|
}
|
|
78
|
+
get fabButtonCloseIcon() {
|
|
79
|
+
// Return the icon if it is explicitly set
|
|
80
|
+
if (this.closeIcon != null) {
|
|
81
|
+
return this.closeIcon;
|
|
82
|
+
}
|
|
83
|
+
// Determine the theme and map to default icons
|
|
84
|
+
const theme = getIonTheme(this);
|
|
85
|
+
const defaultIcons = {
|
|
86
|
+
ios: close,
|
|
87
|
+
ionic: xSvg,
|
|
88
|
+
md: close,
|
|
89
|
+
};
|
|
90
|
+
// Get the default icon based on the theme, falling back to 'md' icon if necessary
|
|
91
|
+
const defaultIcon = defaultIcons[theme] || defaultIcons.md;
|
|
92
|
+
// Return the configured fab button close icon or the default icon
|
|
93
|
+
return config.get('fabButtonCloseIcon', defaultIcon);
|
|
94
|
+
}
|
|
80
95
|
render() {
|
|
81
|
-
const { el, disabled, color, href, activated, show, translucent, size, inheritedAttributes } = this;
|
|
96
|
+
const { el, disabled, fabButtonCloseIcon, color, href, activated, show, translucent, size, inheritedAttributes } = this;
|
|
82
97
|
const inList = hostContext('ion-fab-list', el);
|
|
83
|
-
const
|
|
98
|
+
const theme = getIonTheme(this);
|
|
84
99
|
const TagType = href === undefined ? 'button' : 'a';
|
|
85
100
|
const attrs = TagType === 'button'
|
|
86
101
|
? { type: this.type }
|
|
@@ -90,8 +105,8 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
90
105
|
rel: this.rel,
|
|
91
106
|
target: this.target,
|
|
92
107
|
};
|
|
93
|
-
return (h(Host, { key: '
|
|
94
|
-
[
|
|
108
|
+
return (h(Host, { key: 'ffc552ad3b542e0f79e319fa86b063c3289e1a23', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
109
|
+
[theme]: true,
|
|
95
110
|
'fab-button-in-list': inList,
|
|
96
111
|
'fab-button-translucent-in-list': inList && translucent,
|
|
97
112
|
'fab-button-close-active': activated,
|
|
@@ -101,10 +116,11 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
101
116
|
'ion-activatable': true,
|
|
102
117
|
'ion-focusable': true,
|
|
103
118
|
[`fab-button-${size}`]: size !== undefined,
|
|
104
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
119
|
+
}) }, h(TagType, Object.assign({ key: 'acf0c99822630499b171f0873924cfe10ef41547' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '236a7340cf8213a69325716cb3b813abb627b40a', "aria-hidden": "true", icon: fabButtonCloseIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '908a53794c801a64c8cdae9b08ae75deb93a5b22', class: "button-inner" }, h("slot", { key: '41bf30e091cfcf90dcf3975a4b05a30c987e8aae' })), theme === 'md' && h("ion-ripple-effect", { key: 'b665e44a357138ef30454e267a2214356dc0fe3b' }))));
|
|
105
120
|
}
|
|
106
121
|
get el() { return this; }
|
|
107
122
|
static get style() { return {
|
|
123
|
+
ionic: ionicFabButtonMdCss,
|
|
108
124
|
ios: fabButtonIosCss,
|
|
109
125
|
md: fabButtonMdCss
|
|
110
126
|
}; }
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { b as
|
|
5
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
6
6
|
|
|
7
7
|
const fabListCss = ":host{margin-left:0;margin-right:0;margin-top:calc(100% + 10px);margin-bottom:calc(100% + 10px);display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.fab-list-side-start){inset-inline-end:0}:host(.fab-list-side-end){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row;flex-direction:row}:host(.fab-list-side-end){inset-inline-start:0}";
|
|
8
8
|
|
|
@@ -31,12 +31,12 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
const
|
|
35
|
-
return (h(Host, { key: '
|
|
36
|
-
[
|
|
34
|
+
const theme = getIonTheme(this);
|
|
35
|
+
return (h(Host, { key: 'b0e984c110ea8bf4aa0daeca5f66253c9e0666fd', class: {
|
|
36
|
+
[theme]: true,
|
|
37
37
|
'fab-list-active': this.activated,
|
|
38
38
|
[`fab-list-side-${this.side}`]: true,
|
|
39
|
-
} }, h("slot", { key: '
|
|
39
|
+
} }, h("slot", { key: '7bedbb010e89d1304d86c4261f5378e90741611e' })));
|
|
40
40
|
}
|
|
41
41
|
get el() { return this; }
|
|
42
42
|
static get watchers() { return {
|
package/components/ion-fab.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { b as
|
|
5
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
6
6
|
|
|
7
|
-
const fabCss = ":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){
|
|
7
|
+
const fabCss = ":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){right:0px;left:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";
|
|
8
8
|
|
|
9
9
|
const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
|
|
10
10
|
constructor(registerHost) {
|
|
@@ -61,13 +61,13 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
|
|
|
61
61
|
}
|
|
62
62
|
render() {
|
|
63
63
|
const { horizontal, vertical, edge } = this;
|
|
64
|
-
const
|
|
65
|
-
return (h(Host, { key: '
|
|
66
|
-
[
|
|
64
|
+
const theme = getIonTheme(this);
|
|
65
|
+
return (h(Host, { key: '8b758c5283382f1bddd051f5a575d4952b001c50', class: {
|
|
66
|
+
[theme]: true,
|
|
67
67
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
68
68
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
69
69
|
'fab-edge': edge,
|
|
70
|
-
} }, h("slot", { key: '
|
|
70
|
+
} }, h("slot", { key: '45ce20f308b3de9c09d625d45b3f3dc7b4ee8652' })));
|
|
71
71
|
}
|
|
72
72
|
get el() { return this; }
|
|
73
73
|
static get watchers() { return {
|
package/components/ion-footer.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { readTask, writeTask, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { f as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './
|
|
5
|
+
import { f as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index7.js';
|
|
6
6
|
import { c as createKeyboardController } from './keyboard-controller.js';
|
|
7
|
-
import {
|
|
7
|
+
import { c as config } from './index4.js';
|
|
8
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
8
9
|
import { f as clamp } from './helpers.js';
|
|
9
10
|
|
|
10
11
|
const handleFooterFade = (scrollEl, baseEl) => {
|
|
@@ -36,7 +37,9 @@ const handleFooterFade = (scrollEl, baseEl) => {
|
|
|
36
37
|
});
|
|
37
38
|
};
|
|
38
39
|
|
|
39
|
-
const
|
|
40
|
+
const ionicFooterMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.footer-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
|
|
41
|
+
|
|
42
|
+
const footerIosCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-ios ion-toolbar:first-of-type{--border-width:0.55px 0 0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.footer-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.footer-translucent-ios ion-toolbar{--opacity:0.8}}.footer-ios.ion-no-border ion-toolbar:first-of-type{--border-width:0}.footer-collapse-fade ion-toolbar{--opacity-scale:inherit}";
|
|
40
43
|
|
|
41
44
|
const footerMdCss = "ion-footer{display:block;position:relative;-ms-flex-order:1;order:1;width:100%;z-index:10}ion-footer.footer-toolbar-padding ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.footer-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
|
|
42
45
|
|
|
@@ -50,7 +53,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
50
53
|
this.keyboardVisible = false;
|
|
51
54
|
/**
|
|
52
55
|
* If `true`, the footer will be translucent.
|
|
53
|
-
* Only applies when the
|
|
56
|
+
* Only applies when the theme is `"ios"` and the device supports
|
|
54
57
|
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
55
58
|
*
|
|
56
59
|
* Note: In order to scroll content behind the footer, the `fullscreen`
|
|
@@ -58,15 +61,16 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
58
61
|
*/
|
|
59
62
|
this.translucent = false;
|
|
60
63
|
this.checkCollapsibleFooter = () => {
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
64
|
+
const theme = getIonTheme(this);
|
|
65
|
+
if (theme !== 'ios') {
|
|
63
66
|
return;
|
|
64
67
|
}
|
|
65
68
|
const { collapse } = this;
|
|
66
69
|
const hasFade = collapse === 'fade';
|
|
67
70
|
this.destroyCollapsibleFooter();
|
|
68
71
|
if (hasFade) {
|
|
69
|
-
const
|
|
72
|
+
const appRootSelector = config.get('appRootSelector', 'ion-app');
|
|
73
|
+
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
70
74
|
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
71
75
|
if (!contentEl) {
|
|
72
76
|
printIonContentErrorMsg(this.el);
|
|
@@ -119,21 +123,22 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
119
123
|
}
|
|
120
124
|
render() {
|
|
121
125
|
const { translucent, collapse } = this;
|
|
122
|
-
const
|
|
126
|
+
const theme = getIonTheme(this);
|
|
123
127
|
const tabs = this.el.closest('ion-tabs');
|
|
124
128
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
125
|
-
return (h(Host, { key: '
|
|
126
|
-
[
|
|
129
|
+
return (h(Host, { key: 'e70e2616f69a6205a1c2045bf13a792c9a6bc27c', role: "contentinfo", class: {
|
|
130
|
+
[theme]: true,
|
|
127
131
|
// Used internally for styling
|
|
128
|
-
[`footer-${
|
|
132
|
+
[`footer-${theme}`]: true,
|
|
129
133
|
[`footer-translucent`]: translucent,
|
|
130
|
-
[`footer-translucent-${
|
|
134
|
+
[`footer-translucent-${theme}`]: translucent,
|
|
131
135
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
132
136
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
133
|
-
} },
|
|
137
|
+
} }, theme === 'ios' && translucent && h("div", { key: '72803059c1d82a766a0ce69e5a8a6a3b7e576700', class: "footer-background" }), h("slot", { key: 'de450e4eb8f5c63b11f548061f29d957ef308539' })));
|
|
134
138
|
}
|
|
135
139
|
get el() { return this; }
|
|
136
140
|
static get style() { return {
|
|
141
|
+
ionic: ionicFooterMdCss,
|
|
137
142
|
ios: footerIosCss,
|
|
138
143
|
md: footerMdCss
|
|
139
144
|
}; }
|
package/components/ion-grid.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { b as
|
|
5
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
6
6
|
|
|
7
7
|
const gridCss = ":host{-webkit-padding-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;display:block;-ms-flex:1;flex:1}@media (min-width: 576px){:host{-webkit-padding-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}@media (min-width: 768px){:host{-webkit-padding-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}@media (min-width: 992px){:host{-webkit-padding-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}@media (min-width: 1200px){:host{-webkit-padding-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}";
|
|
8
8
|
|
|
@@ -19,11 +19,11 @@ const Grid = /*@__PURE__*/ proxyCustomElement(class Grid extends HTMLElement {
|
|
|
19
19
|
this.fixed = false;
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
const
|
|
23
|
-
return (h(Host, { key: '
|
|
24
|
-
[
|
|
22
|
+
const theme = getIonTheme(this);
|
|
23
|
+
return (h(Host, { key: 'f439594e1c4186e30d5b57bf3ca95c220df954fa', class: {
|
|
24
|
+
[theme]: true,
|
|
25
25
|
'grid-fixed': this.fixed,
|
|
26
|
-
} }, h("slot", { key: '
|
|
26
|
+
} }, h("slot", { key: 'e8e01f0b46a05fb3220837fbfa9f161b086c06ad' })));
|
|
27
27
|
}
|
|
28
28
|
static get style() { return gridCss; }
|
|
29
29
|
}, [257, "ion-grid", {
|
package/components/ion-img.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { d as inheritAttributes } from './helpers.js';
|
|
6
|
-
import { b as
|
|
6
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
7
7
|
|
|
8
8
|
const imgCss = ":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}";
|
|
9
9
|
|
|
@@ -75,7 +75,10 @@ const Img = /*@__PURE__*/ proxyCustomElement(class Img extends HTMLElement {
|
|
|
75
75
|
render() {
|
|
76
76
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
77
77
|
const { draggable } = inheritedAttributes;
|
|
78
|
-
|
|
78
|
+
const theme = getIonTheme(this);
|
|
79
|
+
return (h(Host, { key: '70377d0128ad109580598f5c0a19cdee1d1f8f2a', class: {
|
|
80
|
+
[theme]: true,
|
|
81
|
+
} }, h("img", { key: '022467667337d04384d19d78378b5cf499e1b6c9', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
79
82
|
}
|
|
80
83
|
get el() { return this; }
|
|
81
84
|
static get watchers() { return {
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
5
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config.js';
|
|
6
6
|
import { c as config } from './index4.js';
|
|
7
|
-
import { b as
|
|
7
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
8
8
|
import { d as defineCustomElement$2 } from './spinner.js';
|
|
9
9
|
|
|
10
|
+
const ionicInfiniteScrollContentMdCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:4px;margin-bottom:0}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}";
|
|
11
|
+
|
|
10
12
|
const infiniteScrollContentIosCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:4px;margin-bottom:0}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-ios .infinite-loading-text{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-lines-small-ios line,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-ios .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-ios .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}";
|
|
11
13
|
|
|
12
14
|
const infiniteScrollContentMdCss = "ion-infinite-scroll-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:84px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px;margin-top:4px;margin-bottom:0}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}";
|
|
@@ -21,8 +23,8 @@ const InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class InfiniteScr
|
|
|
21
23
|
}
|
|
22
24
|
componentDidLoad() {
|
|
23
25
|
if (this.loadingSpinner === undefined) {
|
|
24
|
-
const
|
|
25
|
-
this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner',
|
|
26
|
+
const theme = getIonTheme(this);
|
|
27
|
+
this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner', theme === 'ios' ? 'lines' : 'crescent'));
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
renderLoadingText() {
|
|
@@ -33,14 +35,15 @@ const InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class InfiniteScr
|
|
|
33
35
|
return h("div", { class: "infinite-loading-text" }, this.loadingText);
|
|
34
36
|
}
|
|
35
37
|
render() {
|
|
36
|
-
const
|
|
37
|
-
return (h(Host, { key: '
|
|
38
|
-
[
|
|
38
|
+
const theme = getIonTheme(this);
|
|
39
|
+
return (h(Host, { key: '51742937a374c43c290c20569857f617c99e1e7c', class: {
|
|
40
|
+
[theme]: true,
|
|
39
41
|
// Used internally for styling
|
|
40
|
-
[`infinite-scroll-content-${
|
|
41
|
-
} }, h("div", { key: '
|
|
42
|
+
[`infinite-scroll-content-${theme}`]: true,
|
|
43
|
+
} }, h("div", { key: '42c249b6df301004a834bb615766c38d5ab03d91', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '7cc7aab81997ef58b914e084402f45dc3abf2ce4', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '5c84df7096076580e0bb4926d377c2fac4f75c3d', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
42
44
|
}
|
|
43
45
|
static get style() { return {
|
|
46
|
+
ionic: ionicInfiniteScrollContentMdCss,
|
|
44
47
|
ios: infiniteScrollContentIosCss,
|
|
45
48
|
md: infiniteScrollContentMdCss
|
|
46
49
|
}; }
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, createEvent, writeTask, readTask, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './
|
|
6
|
-
import { b as
|
|
5
|
+
import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index7.js';
|
|
6
|
+
import { b as getIonTheme } from './ionic-global.js';
|
|
7
7
|
|
|
8
8
|
const infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}";
|
|
9
9
|
|
|
@@ -16,6 +16,7 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
16
16
|
this.ionInfinite = createEvent(this, "ionInfinite", 7);
|
|
17
17
|
this.thrPx = 0;
|
|
18
18
|
this.thrPc = 0;
|
|
19
|
+
this.minHeightLocked = false;
|
|
19
20
|
/**
|
|
20
21
|
* didFire exists so that ionInfinite
|
|
21
22
|
* does not fire multiple times if
|
|
@@ -51,6 +52,12 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
51
52
|
* The value can be either `top` or `bottom`.
|
|
52
53
|
*/
|
|
53
54
|
this.position = 'bottom';
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the infinite scroll will preserve the scroll position
|
|
57
|
+
* when the content is re-rendered. This is useful when the content is
|
|
58
|
+
* re-rendered with new keys, and the scroll position should be preserved.
|
|
59
|
+
*/
|
|
60
|
+
this.preserveRerenderScrollPosition = false;
|
|
54
61
|
this.onScroll = () => {
|
|
55
62
|
const scrollEl = this.scrollEl;
|
|
56
63
|
if (!scrollEl || !this.canStart()) {
|
|
@@ -72,7 +79,16 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
72
79
|
if (!this.didFire) {
|
|
73
80
|
this.isLoading = true;
|
|
74
81
|
this.didFire = true;
|
|
75
|
-
this.
|
|
82
|
+
if (this.preserveRerenderScrollPosition) {
|
|
83
|
+
// Lock the min height of the siblings of the infinite scroll
|
|
84
|
+
// if we are preserving the rerender scroll position
|
|
85
|
+
this.lockSiblingMinHeight(true).then(() => {
|
|
86
|
+
this.ionInfinite.emit();
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.ionInfinite.emit();
|
|
91
|
+
}
|
|
76
92
|
return 3;
|
|
77
93
|
}
|
|
78
94
|
}
|
|
@@ -119,6 +135,54 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
119
135
|
this.enableScrollEvents(false);
|
|
120
136
|
this.scrollEl = undefined;
|
|
121
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Loop through our sibling elements and lock or unlock their min height.
|
|
140
|
+
* This keeps our siblings, for example `ion-list`, the same height as their
|
|
141
|
+
* content currently is, so when it loads new data and the DOM removes the old
|
|
142
|
+
* data, the height of the container doesn't change and we don't lose our scroll position.
|
|
143
|
+
*
|
|
144
|
+
* We preserve existing min-height values, if they're set, so we don't erase what
|
|
145
|
+
* has been previously set by the user when we restore after complete is called.
|
|
146
|
+
*/
|
|
147
|
+
lockSiblingMinHeight(lock) {
|
|
148
|
+
return new Promise((resolve) => {
|
|
149
|
+
var _a;
|
|
150
|
+
const siblings = ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.children) || [];
|
|
151
|
+
const writes = [];
|
|
152
|
+
for (const sibling of siblings) {
|
|
153
|
+
// Loop through all the siblings of the infinite scroll, but ignore ourself
|
|
154
|
+
if (sibling !== this.el && sibling instanceof HTMLElement) {
|
|
155
|
+
if (lock) {
|
|
156
|
+
const elementHeight = sibling.getBoundingClientRect().height;
|
|
157
|
+
writes.push(() => {
|
|
158
|
+
if (this.minHeightLocked) {
|
|
159
|
+
// The previous min height is from us locking it before, so we can disregard it
|
|
160
|
+
// We still need to lock the min height if we're already locked, though, because
|
|
161
|
+
// the user could have triggered a new load before we've finished the previous one.
|
|
162
|
+
const previousMinHeight = sibling.style.minHeight;
|
|
163
|
+
if (previousMinHeight) {
|
|
164
|
+
sibling.style.setProperty('--ion-previous-min-height', previousMinHeight);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
sibling.style.minHeight = `${elementHeight}px`;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
writes.push(() => {
|
|
172
|
+
const previousMinHeight = sibling.style.getPropertyValue('--ion-previous-min-height');
|
|
173
|
+
sibling.style.minHeight = previousMinHeight || 'auto';
|
|
174
|
+
sibling.style.removeProperty('--ion-previous-min-height');
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
writeTask(() => {
|
|
180
|
+
writes.forEach((w) => w());
|
|
181
|
+
this.minHeightLocked = lock;
|
|
182
|
+
resolve();
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
122
186
|
/**
|
|
123
187
|
* Call `complete()` within the `ionInfinite` output event handler when
|
|
124
188
|
* your async operation has completed. For example, the `loading`
|
|
@@ -180,6 +244,13 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
180
244
|
else {
|
|
181
245
|
this.didFire = false;
|
|
182
246
|
}
|
|
247
|
+
// Unlock the min height of the siblings of the infinite scroll
|
|
248
|
+
// if we are preserving the rerender scroll position
|
|
249
|
+
if (this.preserveRerenderScrollPosition) {
|
|
250
|
+
setTimeout(async () => {
|
|
251
|
+
await this.lockSiblingMinHeight(false);
|
|
252
|
+
}, 100);
|
|
253
|
+
}
|
|
183
254
|
}
|
|
184
255
|
canStart() {
|
|
185
256
|
return !this.disabled && !this.isBusy && !!this.scrollEl && !this.isLoading;
|
|
@@ -195,10 +266,10 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
195
266
|
}
|
|
196
267
|
}
|
|
197
268
|
render() {
|
|
198
|
-
const
|
|
269
|
+
const theme = getIonTheme(this);
|
|
199
270
|
const disabled = this.disabled;
|
|
200
|
-
return (h(Host, { key: '
|
|
201
|
-
[
|
|
271
|
+
return (h(Host, { key: 'd2505798673c258aa017ecbe646b59105a62970d', class: {
|
|
272
|
+
[theme]: true,
|
|
202
273
|
'infinite-scroll-loading': this.isLoading,
|
|
203
274
|
'infinite-scroll-enabled': !disabled,
|
|
204
275
|
} }));
|
|
@@ -213,6 +284,7 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
213
284
|
"threshold": [1],
|
|
214
285
|
"disabled": [4],
|
|
215
286
|
"position": [1],
|
|
287
|
+
"preserveRerenderScrollPosition": [4, "preserve-rerender-scroll-position"],
|
|
216
288
|
"isLoading": [32],
|
|
217
289
|
"complete": [64]
|
|
218
290
|
}, undefined, {
|