@ionic/core 8.7.13-dev.11765920447.1a01ab8b → 8.7.13-dev.11765925297.1bb45463
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 +57 -4
- 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 +112 -19
- 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 +349 -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 +96 -6
- 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/validity.js +32 -1
- 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-BBT4oe7B.js} +3 -3
- package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-DjZzKNoV.js} +1 -1
- package/dist/cjs/{button-active-CMc8cD90.js → button-active-DQ3Dd_Zw.js} +2 -2
- package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-G2rS2zAS.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/{config-C5fsO43a.js → config-CPCkFfH2.js} +1 -1
- package/dist/cjs/{data-JwZKaIQB.js → data-BpYscHnl.js} +6 -6
- package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
- package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-C7fZ8bup.js} +4 -2
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-CYXFB5MG.js} +1 -1
- package/dist/cjs/{helpers-DrTqNghc.js → helpers-DF1tCuxf.js} +57 -4
- package/dist/cjs/{index-094mMFB-.js → index-BIUQBJ4M.js} +4 -4
- package/dist/cjs/{index-DrMUZJj6.js → index-BsTUIYWV.js} +15 -15
- package/dist/cjs/{index-CO6eryBo.js → index-C2sRwpb7.js} +2 -2
- package/dist/cjs/{index-D6Wc6v08.js → index-DjlJwy91.js} +41 -4
- package/dist/cjs/{index-C534ULug.js → index-h_4y8nIV.js} +9 -8
- package/dist/cjs/index.cjs.js +12 -13
- package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-co__iqWN.js} +18 -17
- package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DyXMjrIY.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
- package/dist/cjs/ion-action-sheet.cjs.entry.js +24 -21
- package/dist/cjs/ion-alert.cjs.entry.js +24 -22
- package/dist/cjs/ion-app_8.cjs.entry.js +250 -151
- package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -12
- package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
- package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
- package/dist/cjs/ion-button_2.cjs.entry.js +44 -12
- package/dist/cjs/ion-card_5.cjs.entry.js +54 -30
- package/dist/cjs/ion-checkbox.cjs.entry.js +33 -15
- package/dist/cjs/ion-chip.cjs.entry.js +49 -8
- package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
- package/dist/cjs/ion-datetime-button.cjs.entry.js +12 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
- package/dist/cjs/ion-divider.cjs.entry.js +51 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
- package/dist/cjs/ion-img.cjs.entry.js +8 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
- package/dist/cjs/ion-input-otp.cjs.entry.js +12 -8
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
- package/dist/cjs/ion-input.cjs.entry.js +122 -32
- package/dist/cjs/ion-item-option_3.cjs.entry.js +49 -20
- package/dist/cjs/ion-item_8.cjs.entry.js +114 -47
- package/dist/cjs/ion-loading.cjs.entry.js +19 -17
- package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
- package/dist/cjs/ion-modal.cjs.entry.js +96 -69
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
- package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
- package/dist/cjs/ion-picker.cjs.entry.js +10 -6
- package/dist/cjs/ion-popover.cjs.entry.js +19 -17
- package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -8
- package/dist/cjs/ion-radio_2.cjs.entry.js +26 -16
- package/dist/cjs/ion-range.cjs.entry.js +15 -11
- package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
- package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +9 -8
- package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +22 -15
- package/dist/cjs/ion-select-modal.cjs.entry.js +16 -10
- package/dist/cjs/ion-select_3.cjs.entry.js +131 -40
- package/dist/cjs/ion-spinner.cjs.entry.js +29 -7
- package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +76 -22
- package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
- package/dist/cjs/ion-text.cjs.entry.js +6 -6
- package/dist/cjs/ion-textarea.cjs.entry.js +117 -22
- package/dist/cjs/ion-toast.cjs.entry.js +67 -44
- package/dist/cjs/ion-toggle.cjs.entry.js +80 -23
- package/dist/cjs/ionic-global-DlkD8-ZL.js +491 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-cjE5173V.js} +7 -5
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BiIvvomq.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Dxl3DPOc.js} +4 -3
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-5GsVQphE.js} +11 -9
- package/dist/cjs/list-a-7GSA6K.js +8 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-ChCLDEkm.js} +6 -5
- package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BGNMnptF.js} +4 -4
- package/dist/cjs/{overlays--dagG4QM.js → overlays-DPjo0yW3.js} +102 -12
- package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-BLw3gi_z.js} +4 -3
- package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BD2lWufH.js} +3 -2
- package/dist/cjs/validity-QmuwEptc.js +51 -0
- 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 +890 -0
- package/dist/collection/components/textarea/textarea.ios.css +283 -142
- package/dist/collection/components/textarea/textarea.js +146 -24
- package/dist/collection/components/textarea/textarea.md.css +297 -143
- 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-trap.js +13 -2
- package/dist/collection/utils/focus-visible.js +22 -0
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/helpers.js +57 -3
- 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 +82 -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 +8263 -377
- package/dist/esm/{animation-Dt8bGnA-.js → animation-DR5OwIG7.js} +2 -2
- package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tUwaabUU.js} +1 -1
- package/dist/esm/{button-active-L570Swow.js → button-active-CegK1Ga3.js} +2 -2
- package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Ap5mZl6I.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/{config-mCdtaoPe.js → config-DK9FWNvn.js} +1 -1
- package/dist/esm/{data-DCORV9FH.js → data-B5lRlGxI.js} +6 -6
- package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
- package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-Dx6tn-_w.js} +4 -2
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-hXtWLcs-.js} +1 -1
- package/dist/esm/{helpers-DEn3pfjm.js → helpers-6l6yFg3S.js} +57 -4
- package/dist/esm/{index-r2D9DEro.js → index-BVnPBHWX.js} +4 -4
- package/dist/esm/{index-ceb5RaMT.js → index-CAS79tvr.js} +4 -3
- package/dist/esm/{index-CvDIirVx.js → index-CH4BJAR9.js} +11 -11
- package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
- package/dist/esm/{index-Bs3kT4bc.js → index-CXCvNx5X.js} +2 -2
- package/dist/esm/{index-C8IsBmNU.js → index-gD7P82jx.js} +41 -4
- package/dist/esm/index.js +12 -13
- package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-DFQmNfaZ.js} +7 -6
- package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-85zOntcN.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +57 -28
- package/dist/esm/ion-action-sheet.entry.js +24 -21
- package/dist/esm/ion-alert.entry.js +24 -22
- 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 +30 -21
- package/dist/esm/ion-backdrop.entry.js +10 -7
- package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
- package/dist/esm/ion-button_2.entry.js +44 -12
- package/dist/esm/ion-card_5.entry.js +54 -30
- package/dist/esm/ion-checkbox.entry.js +33 -15
- 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 +12 -8
- 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 +8 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
- package/dist/esm/ion-input-otp.entry.js +12 -8
- package/dist/esm/ion-input-password-toggle.entry.js +52 -14
- package/dist/esm/ion-input.entry.js +123 -33
- package/dist/esm/ion-item-option_3.entry.js +49 -20
- package/dist/esm/ion-item_8.entry.js +115 -48
- package/dist/esm/ion-loading.entry.js +19 -17
- package/dist/esm/ion-menu_3.entry.js +46 -28
- package/dist/esm/ion-modal.entry.js +57 -30
- package/dist/esm/ion-nav_2.entry.js +14 -11
- package/dist/esm/ion-picker-column-option.entry.js +11 -7
- package/dist/esm/ion-picker-column.entry.js +12 -12
- package/dist/esm/ion-picker.entry.js +10 -6
- package/dist/esm/ion-popover.entry.js +19 -17
- package/dist/esm/ion-progress-bar.entry.js +26 -8
- package/dist/esm/ion-radio_2.entry.js +26 -16
- package/dist/esm/ion-range.entry.js +15 -11
- package/dist/esm/ion-refresher_2.entry.js +39 -21
- package/dist/esm/ion-reorder_2.entry.js +38 -14
- package/dist/esm/ion-ripple-effect.entry.js +15 -7
- package/dist/esm/ion-route_4.entry.js +9 -8
- package/dist/esm/ion-searchbar.entry.js +137 -24
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +6 -3
- package/dist/esm/ion-segment_2.entry.js +22 -15
- package/dist/esm/ion-select-modal.entry.js +17 -11
- package/dist/esm/ion-select_3.entry.js +132 -41
- package/dist/esm/ion-spinner.entry.js +29 -7
- package/dist/esm/ion-split-pane.entry.js +12 -9
- package/dist/esm/ion-tab-bar_2.entry.js +76 -22
- package/dist/esm/ion-tab_2.entry.js +8 -7
- package/dist/esm/ion-text.entry.js +6 -6
- package/dist/esm/ion-textarea.entry.js +117 -22
- package/dist/esm/ion-toast.entry.js +42 -19
- package/dist/esm/ion-toggle.entry.js +81 -24
- package/dist/esm/ionic-global-C2dfEr5R.js +480 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-mZDQgHke.js} +7 -5
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BBx8cd5K.js} +4 -3
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-NoPSnHZy.js} +1 -1
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-D5zoL0pZ.js} +5 -3
- package/dist/esm/list-Dhi5xtNS.js +6 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-DOqTLNQU.js} +6 -5
- package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-C7UVCCo4.js} +2 -2
- package/dist/esm/{overlays-DCabi1dI.js → overlays-DvZf7QU-.js} +99 -9
- package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BAJGCN-1.js} +4 -3
- package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-bZ7qcCmT.js} +3 -2
- package/dist/esm/validity-BjW8SOqw.js +48 -0
- 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-01ebb298.entry.js +4 -0
- package/dist/ionic/p-058204d8.entry.js +4 -0
- package/dist/ionic/p-074b3070.entry.js +4 -0
- package/dist/ionic/p-0ac03d31.entry.js +4 -0
- package/dist/ionic/p-1552f206.entry.js +4 -0
- package/dist/ionic/p-2eeb3efe.entry.js +4 -0
- package/dist/ionic/p-35214276.entry.js +4 -0
- package/dist/ionic/p-354515ed.entry.js +4 -0
- package/dist/ionic/p-3ec68103.entry.js +4 -0
- package/dist/ionic/p-427c1ad4.entry.js +4 -0
- package/dist/ionic/p-453a5dda.entry.js +4 -0
- package/dist/ionic/p-45551cea.entry.js +4 -0
- package/dist/ionic/p-484549da.entry.js +4 -0
- package/dist/ionic/p-505435ca.entry.js +4 -0
- package/dist/ionic/p-50c72200.entry.js +4 -0
- package/dist/ionic/p-5189dd57.entry.js +4 -0
- package/dist/ionic/p-52d0d65d.entry.js +4 -0
- package/dist/ionic/p-59279168.entry.js +4 -0
- package/dist/ionic/p-59482460.entry.js +4 -0
- package/dist/ionic/p-5cad7882.entry.js +4 -0
- package/dist/ionic/p-5d4f0f1d.entry.js +4 -0
- package/dist/ionic/p-5fcd7b49.entry.js +4 -0
- package/dist/ionic/p-6760dd1e.entry.js +4 -0
- package/dist/ionic/p-69465c18.entry.js +4 -0
- package/dist/ionic/p-6c4559a0.entry.js +4 -0
- package/dist/ionic/p-76734290.entry.js +4 -0
- package/dist/ionic/p-7d15135e.entry.js +4 -0
- package/dist/ionic/p-80d247b1.entry.js +4 -0
- package/dist/ionic/p-8396abe1.entry.js +4 -0
- package/dist/ionic/p-86a947c1.entry.js +4 -0
- package/dist/ionic/p-879ce6f2.entry.js +4 -0
- package/dist/ionic/p-8e97391b.entry.js +4 -0
- package/dist/ionic/p-984df948.entry.js +4 -0
- package/dist/ionic/p-9a00aac8.entry.js +4 -0
- package/dist/ionic/p-9b5b0e6d.entry.js +4 -0
- package/dist/ionic/p-B9cWjC5a.js +4 -0
- package/dist/ionic/p-BDhPZwpV.js +4 -0
- package/dist/ionic/p-BDqjX7Z_.js +4 -0
- package/dist/ionic/p-BI1KkP1o.js +4 -0
- package/dist/ionic/p-BYSs-jZz.js +4 -0
- package/dist/ionic/p-BYnmISwy.js +4 -0
- package/dist/ionic/p-BjW8SOqw.js +4 -0
- package/dist/ionic/{p-Dc45iWE4.js → p-Bmh46Fz0.js} +1 -1
- package/dist/ionic/{p-BYEqWnSg.js → p-BsbREiiN.js} +1 -1
- package/dist/ionic/p-CCy93Kdo.js +4 -0
- package/dist/ionic/{p-D0dMcSkw.js → p-CDRncjej.js} +1 -1
- package/dist/ionic/{p-CJxh_yLS.js → p-CH8-5k8b.js} +1 -1
- package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
- package/dist/ionic/p-CSbvB5z5.js +4 -0
- package/dist/ionic/p-CVI6Uwrk.js +4 -0
- package/dist/ionic/{p-CwgG81ZD.js → p-CYW7idR0.js} +1 -1
- package/dist/ionic/p-CZG8whz6.js +4 -0
- package/dist/ionic/p-Cq6IwwGB.js +4 -0
- package/dist/ionic/p-Ct1oJEVo.js +4 -0
- package/dist/ionic/p-CtS5hTli.js +4 -0
- package/dist/ionic/{p-DbQ5QkTP.js → p-Cv5jk_TK.js} +1 -1
- package/dist/ionic/p-D1t981Ih.js +4 -0
- package/dist/ionic/p-D2EO-8IE.js +4 -0
- package/dist/ionic/p-DIzp9O64.js +4 -0
- package/dist/ionic/{p-D13Eaw-8.js → p-DMo2WKG5.js} +1 -1
- package/dist/ionic/p-DUdm2h77.js +4 -0
- package/dist/ionic/p-Dhi5xtNS.js +4 -0
- package/dist/ionic/p-DkXYG789.js +4 -0
- package/dist/ionic/p-We-0jbXn.js +4 -0
- package/dist/ionic/p-a4282459.entry.js +4 -0
- package/dist/ionic/p-b9ec8be1.entry.js +4 -0
- package/dist/ionic/p-bf2ac6e0.entry.js +4 -0
- package/dist/ionic/p-c12298f5.entry.js +4 -0
- package/dist/ionic/p-c1562e8b.entry.js +4 -0
- package/dist/ionic/p-c7df4ca1.entry.js +4 -0
- package/dist/ionic/p-cb1f3e0c.entry.js +4 -0
- package/dist/ionic/p-d12a71be.entry.js +4 -0
- package/dist/ionic/p-d249f019.entry.js +4 -0
- package/dist/ionic/p-de2418c7.entry.js +4 -0
- package/dist/ionic/p-df036563.entry.js +4 -0
- package/dist/ionic/p-e174f8a8.entry.js +4 -0
- package/dist/ionic/p-e67abd5f.entry.js +4 -0
- package/dist/ionic/p-e937a89a.entry.js +4 -0
- package/dist/ionic/p-f01c1e73.entry.js +4 -0
- package/dist/ionic/p-f2ba465e.entry.js +4 -0
- package/dist/ionic/p-f5be9d83.entry.js +4 -0
- package/dist/ionic/p-fIOYmaqA.js +4 -0
- package/dist/ionic/p-fb3b3444.entry.js +4 -0
- package/dist/ionic/p-gD7P82jx.js +5 -0
- package/dist/ionic/p-hPTD29t1.js +4 -0
- package/dist/ionic/{p-CKvCXMs9.js → p-qNBpc0Qq.js} +1 -1
- 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 +42 -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-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +13 -0
- package/dist/types/utils/forms/validity.d.ts +7 -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 +3099 -964
- package/hydrate/index.mjs +3099 -964
- package/package.json +12 -8
- 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/cjs/validity-BpS37YFM.js +0 -19
- 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/esm/validity-DJztqcrH.js +0 -17
- 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-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-C8IsBmNU.js +0 -5
- 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-DCv9sLH2.js +0 -4
- package/dist/ionic/p-DDb5r57F.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DNcfiJwE.js +0 -4
- package/dist/ionic/p-DUt5fQmA.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
|
@@ -5,17 +5,24 @@ import { Host, h, writeTask } from "@stencil/core";
|
|
|
5
5
|
import { findIonContent, getScrollElement, printIonContentErrorMsg } from "../../utils/content/index";
|
|
6
6
|
import { inheritAriaAttributes } from "../../utils/helpers";
|
|
7
7
|
import { hostContext } from "../../utils/theme";
|
|
8
|
-
import {
|
|
8
|
+
import { config } from "../../global/config";
|
|
9
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
9
10
|
import { cloneElement, createHeaderIndex, handleContentScroll, handleHeaderFade, handleToolbarIntersection, setHeaderActive, setToolbarBackgroundOpacity, getRoleType, } from "./header.utils";
|
|
10
11
|
/**
|
|
11
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines
|
|
12
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
13
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
12
14
|
*/
|
|
13
15
|
export class Header {
|
|
14
16
|
constructor() {
|
|
15
17
|
this.inheritedAttributes = {};
|
|
18
|
+
/**
|
|
19
|
+
* If `true`, the header will have a line at the bottom.
|
|
20
|
+
* TODO(ROU-10855): add support for this prop on ios/md themes
|
|
21
|
+
*/
|
|
22
|
+
this.divider = false;
|
|
16
23
|
/**
|
|
17
24
|
* If `true`, the header will be translucent.
|
|
18
|
-
* Only applies when the
|
|
25
|
+
* Only applies when the theme is `"ios"` or `"ionic"` and the device supports
|
|
19
26
|
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
20
27
|
*
|
|
21
28
|
* Note: In order to scroll content behind the header, the `fullscreen`
|
|
@@ -47,16 +54,17 @@ export class Header {
|
|
|
47
54
|
this.destroyCollapsibleHeader();
|
|
48
55
|
}
|
|
49
56
|
async checkCollapsibleHeader() {
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
57
|
+
const theme = getIonTheme(this);
|
|
58
|
+
if (theme !== 'ios') {
|
|
52
59
|
return;
|
|
53
60
|
}
|
|
54
61
|
const { collapse } = this;
|
|
55
62
|
const hasCondense = collapse === 'condense';
|
|
56
63
|
const hasFade = collapse === 'fade';
|
|
57
64
|
this.destroyCollapsibleHeader();
|
|
65
|
+
const appRootSelector = config.get('appRootSelector', 'ion-app');
|
|
58
66
|
if (hasCondense) {
|
|
59
|
-
const pageEl = this.el.closest(
|
|
67
|
+
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
60
68
|
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
61
69
|
// Cloned elements are always needed in iOS transition
|
|
62
70
|
writeTask(() => {
|
|
@@ -67,7 +75,7 @@ export class Header {
|
|
|
67
75
|
await this.setupCondenseHeader(contentEl, pageEl);
|
|
68
76
|
}
|
|
69
77
|
else if (hasFade) {
|
|
70
|
-
const pageEl = this.el.closest(
|
|
78
|
+
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
71
79
|
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
72
80
|
if (!contentEl) {
|
|
73
81
|
printIonContentErrorMsg(this.el);
|
|
@@ -142,32 +150,35 @@ export class Header {
|
|
|
142
150
|
});
|
|
143
151
|
}
|
|
144
152
|
render() {
|
|
145
|
-
const { translucent, inheritedAttributes } = this;
|
|
146
|
-
const
|
|
153
|
+
const { translucent, inheritedAttributes, divider } = this;
|
|
154
|
+
const theme = getIonTheme(this);
|
|
147
155
|
const collapse = this.collapse || 'none';
|
|
148
156
|
const isCondensed = collapse === 'condense';
|
|
149
157
|
// banner role must be at top level, so remove role if inside a menu
|
|
150
|
-
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed,
|
|
151
|
-
return (h(Host, Object.assign({ key: '
|
|
152
|
-
[
|
|
158
|
+
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
159
|
+
return (h(Host, Object.assign({ key: 'dd5bc73851ffb7850bed6666ba0b87cc7502b6ad', role: roleType, class: {
|
|
160
|
+
[theme]: true,
|
|
153
161
|
// Used internally for styling
|
|
154
|
-
[`header-${
|
|
162
|
+
[`header-${theme}`]: true,
|
|
155
163
|
[`header-translucent`]: this.translucent,
|
|
156
164
|
[`header-collapse-${collapse}`]: true,
|
|
157
|
-
[`header-translucent-${
|
|
158
|
-
|
|
165
|
+
[`header-translucent-${theme}`]: this.translucent,
|
|
166
|
+
['header-divider']: divider,
|
|
167
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && h("div", { key: 'b33dd723c05955bf214e0fd529d62cb977cd10ff', class: "header-background" }), h("slot", { key: '059997b1faef689561af377da348c04316288ff4' })));
|
|
159
168
|
}
|
|
160
169
|
static get is() { return "ion-header"; }
|
|
161
170
|
static get originalStyleUrls() {
|
|
162
171
|
return {
|
|
163
172
|
"ios": ["header.ios.scss"],
|
|
164
|
-
"md": ["header.md.scss"]
|
|
173
|
+
"md": ["header.md.scss"],
|
|
174
|
+
"ionic": ["header.ionic.scss"]
|
|
165
175
|
};
|
|
166
176
|
}
|
|
167
177
|
static get styleUrls() {
|
|
168
178
|
return {
|
|
169
179
|
"ios": ["header.ios.css"],
|
|
170
|
-
"md": ["header.md.css"]
|
|
180
|
+
"md": ["header.md.css"],
|
|
181
|
+
"ionic": ["header.ionic.css"]
|
|
171
182
|
};
|
|
172
183
|
}
|
|
173
184
|
static get properties() {
|
|
@@ -184,13 +195,33 @@ export class Header {
|
|
|
184
195
|
"optional": true,
|
|
185
196
|
"docs": {
|
|
186
197
|
"tags": [],
|
|
187
|
-
"text": "Describes the scroll effect that will be applied to the header.\nOnly applies
|
|
198
|
+
"text": "Describes the scroll effect that will be applied to the header.\nOnly applies when the theme is `\"ios\"`.\n\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)"
|
|
188
199
|
},
|
|
189
200
|
"getter": false,
|
|
190
201
|
"setter": false,
|
|
191
202
|
"reflect": false,
|
|
192
203
|
"attribute": "collapse"
|
|
193
204
|
},
|
|
205
|
+
"divider": {
|
|
206
|
+
"type": "boolean",
|
|
207
|
+
"mutable": false,
|
|
208
|
+
"complexType": {
|
|
209
|
+
"original": "boolean",
|
|
210
|
+
"resolved": "boolean",
|
|
211
|
+
"references": {}
|
|
212
|
+
},
|
|
213
|
+
"required": false,
|
|
214
|
+
"optional": false,
|
|
215
|
+
"docs": {
|
|
216
|
+
"tags": [],
|
|
217
|
+
"text": "If `true`, the header will have a line at the bottom.\nTODO(ROU-10855): add support for this prop on ios/md themes"
|
|
218
|
+
},
|
|
219
|
+
"getter": false,
|
|
220
|
+
"setter": false,
|
|
221
|
+
"reflect": false,
|
|
222
|
+
"attribute": "divider",
|
|
223
|
+
"defaultValue": "false"
|
|
224
|
+
},
|
|
194
225
|
"translucent": {
|
|
195
226
|
"type": "boolean",
|
|
196
227
|
"mutable": false,
|
|
@@ -203,7 +234,7 @@ export class Header {
|
|
|
203
234
|
"optional": false,
|
|
204
235
|
"docs": {
|
|
205
236
|
"tags": [],
|
|
206
|
-
"text": "If `true`, the header will be translucent.\nOnly applies when the
|
|
237
|
+
"text": "If `true`, the header will be translucent.\nOnly applies when the theme is `\"ios\"` or `\"ionic\"` and the device supports\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\n\nNote: In order to scroll content behind the header, the `fullscreen`\nattribute needs to be set on the content."
|
|
207
238
|
},
|
|
208
239
|
"getter": false,
|
|
209
240
|
"setter": false,
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
ion-header {
|
|
2
|
+
display: block;
|
|
3
|
+
position: relative;
|
|
4
|
+
order: -1;
|
|
5
|
+
width: 100%;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
ion-header ion-toolbar:first-of-type {
|
|
9
|
+
padding-top: var(--ion-safe-area-top, 0);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Convert a pixels given value into rem
|
|
14
|
+
*
|
|
15
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
16
|
+
* @param context (optional) - Baseline value
|
|
17
|
+
*/
|
|
1
18
|
/**
|
|
2
19
|
* Convert a font size to a dynamic font size.
|
|
3
20
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -54,17 +71,15 @@
|
|
|
54
71
|
* }
|
|
55
72
|
*/
|
|
56
73
|
ion-header {
|
|
57
|
-
display: block;
|
|
58
|
-
position: relative;
|
|
59
|
-
order: -1;
|
|
60
|
-
width: 100%;
|
|
61
74
|
z-index: 10;
|
|
62
75
|
}
|
|
63
76
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Convert a pixels given value into rem
|
|
79
|
+
*
|
|
80
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
81
|
+
* @param context (optional) - Baseline value
|
|
82
|
+
*/
|
|
68
83
|
/**
|
|
69
84
|
* Convert a font size to a dynamic font size.
|
|
70
85
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -215,20 +215,20 @@ export const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
|
|
|
215
215
|
*
|
|
216
216
|
* @param isInsideMenu If ion-header is inside ion-menu.
|
|
217
217
|
* @param isCondensed If ion-header has collapse="condense".
|
|
218
|
-
* @param
|
|
218
|
+
* @param theme The current theme.
|
|
219
219
|
* @returns 'none' if inside ion-menu or if condensed in md
|
|
220
|
-
*
|
|
220
|
+
* theme, otherwise 'banner'.
|
|
221
221
|
*/
|
|
222
|
-
export const getRoleType = (isInsideMenu, isCondensed,
|
|
222
|
+
export const getRoleType = (isInsideMenu, isCondensed, theme) => {
|
|
223
223
|
// If the header is inside a menu, it should not have the banner role.
|
|
224
224
|
if (isInsideMenu) {
|
|
225
225
|
return ROLE_NONE;
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
228
|
-
* Only apply role="none" to `md`
|
|
228
|
+
* Only apply role="none" to `md` & `ionic` theme condensed headers
|
|
229
229
|
* since the large header is never shown.
|
|
230
230
|
*/
|
|
231
|
-
if (isCondensed &&
|
|
231
|
+
if (isCondensed && theme !== 'ios') {
|
|
232
232
|
return ROLE_NONE;
|
|
233
233
|
}
|
|
234
234
|
// Default to banner role.
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
import { inheritAttributes } from "../../utils/helpers";
|
|
6
|
-
import {
|
|
6
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
7
7
|
/**
|
|
8
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
9
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
10
|
+
*
|
|
8
11
|
* @part image - The inner `img` element.
|
|
9
12
|
*/
|
|
10
13
|
export class Img {
|
|
@@ -67,7 +70,10 @@ export class Img {
|
|
|
67
70
|
render() {
|
|
68
71
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
69
72
|
const { draggable } = inheritedAttributes;
|
|
70
|
-
|
|
73
|
+
const theme = getIonTheme(this);
|
|
74
|
+
return (h(Host, { key: '70377d0128ad109580598f5c0a19cdee1d1f8f2a', class: {
|
|
75
|
+
[theme]: true,
|
|
76
|
+
} }, h("img", { key: '022467667337d04384d19d78378b5cf499e1b6c9', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
71
77
|
}
|
|
72
78
|
static get is() { return "ion-img"; }
|
|
73
79
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h, readTask, writeTask } from "@stencil/core";
|
|
5
5
|
import { findClosestIonContent, getScrollElement, printIonContentErrorMsg } from "../../utils/content/index";
|
|
6
|
-
import {
|
|
6
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
7
|
+
/**
|
|
8
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
9
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
10
|
+
*/
|
|
7
11
|
export class InfiniteScroll {
|
|
8
12
|
constructor() {
|
|
9
13
|
this.thrPx = 0;
|
|
10
14
|
this.thrPc = 0;
|
|
15
|
+
this.minHeightLocked = false;
|
|
11
16
|
/**
|
|
12
17
|
* didFire exists so that ionInfinite
|
|
13
18
|
* does not fire multiple times if
|
|
@@ -43,6 +48,12 @@ export class InfiniteScroll {
|
|
|
43
48
|
* The value can be either `top` or `bottom`.
|
|
44
49
|
*/
|
|
45
50
|
this.position = 'bottom';
|
|
51
|
+
/**
|
|
52
|
+
* If `true`, the infinite scroll will preserve the scroll position
|
|
53
|
+
* when the content is re-rendered. This is useful when the content is
|
|
54
|
+
* re-rendered with new keys, and the scroll position should be preserved.
|
|
55
|
+
*/
|
|
56
|
+
this.preserveRerenderScrollPosition = false;
|
|
46
57
|
this.onScroll = () => {
|
|
47
58
|
const scrollEl = this.scrollEl;
|
|
48
59
|
if (!scrollEl || !this.canStart()) {
|
|
@@ -64,7 +75,16 @@ export class InfiniteScroll {
|
|
|
64
75
|
if (!this.didFire) {
|
|
65
76
|
this.isLoading = true;
|
|
66
77
|
this.didFire = true;
|
|
67
|
-
this.
|
|
78
|
+
if (this.preserveRerenderScrollPosition) {
|
|
79
|
+
// Lock the min height of the siblings of the infinite scroll
|
|
80
|
+
// if we are preserving the rerender scroll position
|
|
81
|
+
this.lockSiblingMinHeight(true).then(() => {
|
|
82
|
+
this.ionInfinite.emit();
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.ionInfinite.emit();
|
|
87
|
+
}
|
|
68
88
|
return 3;
|
|
69
89
|
}
|
|
70
90
|
}
|
|
@@ -111,6 +131,54 @@ export class InfiniteScroll {
|
|
|
111
131
|
this.enableScrollEvents(false);
|
|
112
132
|
this.scrollEl = undefined;
|
|
113
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Loop through our sibling elements and lock or unlock their min height.
|
|
136
|
+
* This keeps our siblings, for example `ion-list`, the same height as their
|
|
137
|
+
* content currently is, so when it loads new data and the DOM removes the old
|
|
138
|
+
* data, the height of the container doesn't change and we don't lose our scroll position.
|
|
139
|
+
*
|
|
140
|
+
* We preserve existing min-height values, if they're set, so we don't erase what
|
|
141
|
+
* has been previously set by the user when we restore after complete is called.
|
|
142
|
+
*/
|
|
143
|
+
lockSiblingMinHeight(lock) {
|
|
144
|
+
return new Promise((resolve) => {
|
|
145
|
+
var _a;
|
|
146
|
+
const siblings = ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.children) || [];
|
|
147
|
+
const writes = [];
|
|
148
|
+
for (const sibling of siblings) {
|
|
149
|
+
// Loop through all the siblings of the infinite scroll, but ignore ourself
|
|
150
|
+
if (sibling !== this.el && sibling instanceof HTMLElement) {
|
|
151
|
+
if (lock) {
|
|
152
|
+
const elementHeight = sibling.getBoundingClientRect().height;
|
|
153
|
+
writes.push(() => {
|
|
154
|
+
if (this.minHeightLocked) {
|
|
155
|
+
// The previous min height is from us locking it before, so we can disregard it
|
|
156
|
+
// We still need to lock the min height if we're already locked, though, because
|
|
157
|
+
// the user could have triggered a new load before we've finished the previous one.
|
|
158
|
+
const previousMinHeight = sibling.style.minHeight;
|
|
159
|
+
if (previousMinHeight) {
|
|
160
|
+
sibling.style.setProperty('--ion-previous-min-height', previousMinHeight);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
sibling.style.minHeight = `${elementHeight}px`;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
writes.push(() => {
|
|
168
|
+
const previousMinHeight = sibling.style.getPropertyValue('--ion-previous-min-height');
|
|
169
|
+
sibling.style.minHeight = previousMinHeight || 'auto';
|
|
170
|
+
sibling.style.removeProperty('--ion-previous-min-height');
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
writeTask(() => {
|
|
176
|
+
writes.forEach((w) => w());
|
|
177
|
+
this.minHeightLocked = lock;
|
|
178
|
+
resolve();
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}
|
|
114
182
|
/**
|
|
115
183
|
* Call `complete()` within the `ionInfinite` output event handler when
|
|
116
184
|
* your async operation has completed. For example, the `loading`
|
|
@@ -172,6 +240,13 @@ export class InfiniteScroll {
|
|
|
172
240
|
else {
|
|
173
241
|
this.didFire = false;
|
|
174
242
|
}
|
|
243
|
+
// Unlock the min height of the siblings of the infinite scroll
|
|
244
|
+
// if we are preserving the rerender scroll position
|
|
245
|
+
if (this.preserveRerenderScrollPosition) {
|
|
246
|
+
setTimeout(async () => {
|
|
247
|
+
await this.lockSiblingMinHeight(false);
|
|
248
|
+
}, 100);
|
|
249
|
+
}
|
|
175
250
|
}
|
|
176
251
|
canStart() {
|
|
177
252
|
return !this.disabled && !this.isBusy && !!this.scrollEl && !this.isLoading;
|
|
@@ -187,10 +262,10 @@ export class InfiniteScroll {
|
|
|
187
262
|
}
|
|
188
263
|
}
|
|
189
264
|
render() {
|
|
190
|
-
const
|
|
265
|
+
const theme = getIonTheme(this);
|
|
191
266
|
const disabled = this.disabled;
|
|
192
|
-
return (h(Host, { key: '
|
|
193
|
-
[
|
|
267
|
+
return (h(Host, { key: 'd2505798673c258aa017ecbe646b59105a62970d', class: {
|
|
268
|
+
[theme]: true,
|
|
194
269
|
'infinite-scroll-loading': this.isLoading,
|
|
195
270
|
'infinite-scroll-enabled': !disabled,
|
|
196
271
|
} }));
|
|
@@ -267,6 +342,26 @@ export class InfiniteScroll {
|
|
|
267
342
|
"reflect": false,
|
|
268
343
|
"attribute": "position",
|
|
269
344
|
"defaultValue": "'bottom'"
|
|
345
|
+
},
|
|
346
|
+
"preserveRerenderScrollPosition": {
|
|
347
|
+
"type": "boolean",
|
|
348
|
+
"mutable": false,
|
|
349
|
+
"complexType": {
|
|
350
|
+
"original": "boolean",
|
|
351
|
+
"resolved": "boolean",
|
|
352
|
+
"references": {}
|
|
353
|
+
},
|
|
354
|
+
"required": false,
|
|
355
|
+
"optional": false,
|
|
356
|
+
"docs": {
|
|
357
|
+
"tags": [],
|
|
358
|
+
"text": "If `true`, the infinite scroll will preserve the scroll position\nwhen the content is re-rendered. This is useful when the content is\nre-rendered with new keys, and the scroll position should be preserved."
|
|
359
|
+
},
|
|
360
|
+
"getter": false,
|
|
361
|
+
"setter": false,
|
|
362
|
+
"reflect": false,
|
|
363
|
+
"attribute": "preserve-rerender-scroll-position",
|
|
364
|
+
"defaultValue": "false"
|
|
270
365
|
}
|
|
271
366
|
};
|
|
272
367
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a pixels given value into rem
|
|
3
|
+
*
|
|
4
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
5
|
+
* @param context (optional) - Baseline value
|
|
6
|
+
*/
|
|
1
7
|
/**
|
|
2
8
|
* Convert a font size to a dynamic font size.
|
|
3
9
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -84,6 +90,12 @@ ion-infinite-scroll-content {
|
|
|
84
90
|
display: block;
|
|
85
91
|
}
|
|
86
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Convert a pixels given value into rem
|
|
95
|
+
*
|
|
96
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
97
|
+
* @param context (optional) - Baseline value
|
|
98
|
+
*/
|
|
87
99
|
/**
|
|
88
100
|
* Convert a font size to a dynamic font size.
|
|
89
101
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -5,15 +5,19 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
7
7
|
import { config } from "../../global/config";
|
|
8
|
-
import {
|
|
8
|
+
import { getIonTheme } from "../../global/ionic-global";
|
|
9
|
+
/**
|
|
10
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
11
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
12
|
+
*/
|
|
9
13
|
export class InfiniteScrollContent {
|
|
10
14
|
constructor() {
|
|
11
15
|
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
12
16
|
}
|
|
13
17
|
componentDidLoad() {
|
|
14
18
|
if (this.loadingSpinner === undefined) {
|
|
15
|
-
const
|
|
16
|
-
this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner',
|
|
19
|
+
const theme = getIonTheme(this);
|
|
20
|
+
this.loadingSpinner = config.get('infiniteLoadingSpinner', config.get('spinner', theme === 'ios' ? 'lines' : 'crescent'));
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
renderLoadingText() {
|
|
@@ -24,24 +28,26 @@ export class InfiniteScrollContent {
|
|
|
24
28
|
return h("div", { class: "infinite-loading-text" }, this.loadingText);
|
|
25
29
|
}
|
|
26
30
|
render() {
|
|
27
|
-
const
|
|
28
|
-
return (h(Host, { key: '
|
|
29
|
-
[
|
|
31
|
+
const theme = getIonTheme(this);
|
|
32
|
+
return (h(Host, { key: '51742937a374c43c290c20569857f617c99e1e7c', class: {
|
|
33
|
+
[theme]: true,
|
|
30
34
|
// Used internally for styling
|
|
31
|
-
[`infinite-scroll-content-${
|
|
32
|
-
} }, h("div", { key: '
|
|
35
|
+
[`infinite-scroll-content-${theme}`]: true,
|
|
36
|
+
} }, 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())));
|
|
33
37
|
}
|
|
34
38
|
static get is() { return "ion-infinite-scroll-content"; }
|
|
35
39
|
static get originalStyleUrls() {
|
|
36
40
|
return {
|
|
37
41
|
"ios": ["infinite-scroll-content.ios.scss"],
|
|
38
|
-
"md": ["infinite-scroll-content.md.scss"]
|
|
42
|
+
"md": ["infinite-scroll-content.md.scss"],
|
|
43
|
+
"ionic": ["infinite-scroll-content.md.scss"]
|
|
39
44
|
};
|
|
40
45
|
}
|
|
41
46
|
static get styleUrls() {
|
|
42
47
|
return {
|
|
43
48
|
"ios": ["infinite-scroll-content.ios.css"],
|
|
44
|
-
"md": ["infinite-scroll-content.md.css"]
|
|
49
|
+
"md": ["infinite-scroll-content.md.css"],
|
|
50
|
+
"ionic": ["infinite-scroll-content.md.css"]
|
|
45
51
|
};
|
|
46
52
|
}
|
|
47
53
|
static get properties() {
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a pixels given value into rem
|
|
3
|
+
*
|
|
4
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
5
|
+
* @param context (optional) - Baseline value
|
|
6
|
+
*/
|
|
1
7
|
/**
|
|
2
8
|
* Convert a font size to a dynamic font size.
|
|
3
9
|
* Fonts that participate in Dynamic Type should use
|
|
@@ -84,6 +90,12 @@ ion-infinite-scroll-content {
|
|
|
84
90
|
display: block;
|
|
85
91
|
}
|
|
86
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Convert a pixels given value into rem
|
|
95
|
+
*
|
|
96
|
+
* @param pixels - Value in pixels to be converted (i.e. px)
|
|
97
|
+
* @param context (optional) - Baseline value
|
|
98
|
+
*/
|
|
87
99
|
/**
|
|
88
100
|
* Convert a font size to a dynamic font size.
|
|
89
101
|
* Fonts that participate in Dynamic Type should use
|