@ionic/core 8.8.9-dev.11780493937.17fe092d → 8.8.9-dev.11780683233.1c5e9d9b
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/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-gallery-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- package/components/ion-gallery.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-7kL3tltU.js +4 -0
- package/components/{p-CPm7KgOP.js → p-BFZBl0TS.js} +1 -1
- package/components/{p-pvh0bjpw.js → p-BVi3gqm6.js} +1 -1
- package/components/{p-D6g8ud1e.js → p-BVk7LVs0.js} +1 -1
- package/components/{p-B9MABkWm.js → p-BdUtZxku.js} +1 -1
- package/components/{p-CzC_ZSgb.js → p-Be8tHurp.js} +1 -1
- package/components/{p-C8kBejTT.js → p-CG3ZV6ON.js} +1 -1
- package/components/{p-CBS0sBAa.js → p-CaqTORfV.js} +1 -1
- package/components/{p-D2mReIu8.js → p-CkA0SI9d.js} +1 -1
- package/components/{p-DAXhdEp5.js → p-CsakePQg.js} +1 -1
- package/components/{p-CgSn4J7d.js → p-D1gEOh9B.js} +1 -1
- package/components/{p-IYdTEyGb.js → p-D3qBmaqi.js} +1 -1
- package/components/{p-Do7NMUwR.js → p-DGn-jQpr.js} +1 -1
- package/components/p-DH4JHV73.js +4 -0
- package/components/{p-DCS3n7Uq.js → p-DYK0qX7x.js} +1 -1
- package/components/{p-Dp2x0MpA.js → p-DfV7pOtM.js} +1 -1
- package/components/{p-BhkGOA7t.js → p-F3N54OKJ.js} +1 -1
- package/components/{p-CgZLVOCc.js → p-MPREydZp.js} +1 -1
- package/components/{p-kKYBfhbe.js → p-OFfrVDLw.js} +1 -1
- package/components/p-iZO3WzZT.js +4 -0
- package/components/p-qclL-gNR.js +4 -0
- package/dist/cjs/ion-app_8.cjs.entry.js +33 -291
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-gallery-item.cjs.entry.js +79 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +96 -14
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/content/content.css +0 -56
- package/dist/collection/components/footer/footer.ios.css +0 -13
- package/dist/collection/components/footer/footer.js +18 -65
- package/dist/collection/components/footer/footer.md.css +0 -13
- package/dist/collection/components/footer/footer.utils.js +0 -9
- package/dist/collection/components/gallery/gallery.css +1 -86
- package/dist/collection/components/gallery/gallery.js +85 -16
- package/dist/collection/components/gallery/test/utils.js +13 -13
- package/dist/collection/components/gallery-item/gallery-item.css +87 -0
- package/dist/collection/components/gallery-item/gallery-item.js +95 -0
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.ionic.css +0 -75
- package/dist/collection/components/header/header.ios.css +0 -75
- package/dist/collection/components/header/header.js +11 -41
- package/dist/collection/components/header/header.md.css +0 -75
- package/dist/collection/components/header/header.utils.js +0 -9
- package/dist/collection/components/img/img.js +2 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-otp/input-otp.js +3 -3
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +4 -4
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +2 -2
- package/dist/collection/components/reorder/reorder.js +2 -2
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +3 -3
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +2 -2
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/css-value-validation.js +14 -0
- package/dist/docs.json +96 -20
- package/dist/esm/ion-app_8.entry.js +33 -291
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +4 -4
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-gallery-item.entry.js +77 -0
- package/dist/esm/ion-gallery.entry.js +96 -14
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +12 -12
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +5 -5
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +6 -6
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/html.html-data.json +45 -9
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-f7ca50a5.entry.js → p-0592c549.entry.js} +1 -1
- package/dist/ionic/{p-67c2d349.entry.js → p-0aa510cd.entry.js} +1 -1
- package/dist/ionic/{p-9ccfb733.entry.js → p-0cd5fd9d.entry.js} +1 -1
- package/dist/ionic/{p-bf0c5a8d.entry.js → p-0e9d4e11.entry.js} +1 -1
- package/dist/ionic/{p-497f6391.entry.js → p-11a38333.entry.js} +1 -1
- package/dist/ionic/{p-0030507d.entry.js → p-1a009a51.entry.js} +1 -1
- package/dist/ionic/{p-7186786e.entry.js → p-23e524f8.entry.js} +1 -1
- package/dist/ionic/{p-1439fecb.entry.js → p-2826761a.entry.js} +1 -1
- package/dist/ionic/{p-93315d96.entry.js → p-2c4170d8.entry.js} +1 -1
- package/dist/ionic/p-2d5a2511.entry.js +4 -0
- package/dist/ionic/{p-7f294078.entry.js → p-3706ea52.entry.js} +1 -1
- package/dist/ionic/{p-b69add0e.entry.js → p-3e376501.entry.js} +1 -1
- package/dist/ionic/{p-c684a3b6.entry.js → p-44597202.entry.js} +1 -1
- package/dist/ionic/{p-8458f1b6.entry.js → p-4a27a79a.entry.js} +1 -1
- package/dist/ionic/{p-b7235e85.entry.js → p-4f07113d.entry.js} +1 -1
- package/dist/ionic/{p-88e7f52a.entry.js → p-52b85650.entry.js} +1 -1
- package/dist/ionic/{p-199bffb3.entry.js → p-5a6e0ae1.entry.js} +1 -1
- package/dist/ionic/p-6906dca7.entry.js +4 -0
- package/dist/ionic/{p-19a1ff9a.entry.js → p-7b09c19d.entry.js} +1 -1
- package/dist/ionic/{p-76c70824.entry.js → p-7b886782.entry.js} +1 -1
- package/dist/ionic/{p-89eab395.entry.js → p-82c05be2.entry.js} +1 -1
- package/dist/ionic/{p-b653f4c2.entry.js → p-83c0eb9b.entry.js} +1 -1
- package/dist/ionic/{p-b4fd91b8.entry.js → p-85ff1314.entry.js} +1 -1
- package/dist/ionic/{p-3f18dfe9.entry.js → p-8eca5ba1.entry.js} +1 -1
- package/dist/ionic/{p-f08edb25.entry.js → p-96f52444.entry.js} +1 -1
- package/dist/ionic/{p-f167c55c.entry.js → p-a3b047e0.entry.js} +1 -1
- package/dist/ionic/{p-40d9e029.entry.js → p-a73caa5e.entry.js} +1 -1
- package/dist/ionic/{p-1ad16c09.entry.js → p-b0dfd018.entry.js} +1 -1
- package/dist/ionic/{p-a3f9be52.entry.js → p-b6130fe4.entry.js} +1 -1
- package/dist/ionic/{p-084c2623.entry.js → p-c5f745b4.entry.js} +1 -1
- package/dist/ionic/{p-52ed96a8.entry.js → p-c781241c.entry.js} +1 -1
- package/dist/ionic/p-cb154afe.entry.js +4 -0
- package/dist/ionic/{p-031df892.entry.js → p-cde69f38.entry.js} +1 -1
- package/dist/ionic/p-d6f0a698.entry.js +4 -0
- package/dist/ionic/{p-dd2981d0.entry.js → p-d9804d04.entry.js} +1 -1
- package/dist/ionic/{p-7054a1b9.entry.js → p-e342b205.entry.js} +1 -1
- package/dist/ionic/p-e4071bf8.entry.js +4 -0
- package/dist/ionic/{p-9dfbe98d.entry.js → p-e8916b04.entry.js} +1 -1
- package/dist/ionic/{p-dac1d4de.entry.js → p-f10f8f95.entry.js} +1 -1
- package/dist/ionic/p-fdcbe59a.entry.js +4 -0
- package/dist/types/components/footer/footer.d.ts +2 -12
- package/dist/types/components/footer/footer.utils.d.ts +0 -1
- package/dist/types/components/gallery/gallery.d.ts +33 -8
- package/dist/types/components/gallery/test/utils.d.ts +1 -1
- package/dist/types/components/gallery-item/gallery-item.d.ts +35 -0
- package/dist/types/components/header/header.d.ts +3 -10
- package/dist/types/components/header/header.utils.d.ts +0 -1
- package/dist/types/components.d.ts +41 -12
- package/dist/types/utils/css-value-validation.d.ts +9 -0
- package/hydrate/index.js +334 -421
- package/hydrate/index.mjs +334 -421
- package/package.json +1 -1
- package/components/p-BF5oFX1I.js +0 -4
- package/components/p-CpFORZud.js +0 -4
- package/components/p-GElQZ38c.js +0 -4
- package/components/p-d77Zk1DK.js +0 -4
- package/components/p-hdGd8ben.js +0 -4
- package/dist/collection/utils/on-scroll/collapse-hide.utils.js +0 -168
- package/dist/ionic/p-04b5794c.entry.js +0 -4
- package/dist/ionic/p-2aa7567e.entry.js +0 -4
- package/dist/ionic/p-44d483c2.entry.js +0 -4
- package/dist/ionic/p-ad4d0138.entry.js +0 -4
- package/dist/ionic/p-ff09d2a5.entry.js +0 -4
- package/dist/types/utils/on-scroll/collapse-hide.utils.d.ts +0 -26
package/hydrate/index.mjs
CHANGED
|
@@ -13335,7 +13335,7 @@ const isRTL$1 = (hostEl) => {
|
|
|
13335
13335
|
return (document === null || document === void 0 ? void 0 : document.dir.toLowerCase()) === 'rtl';
|
|
13336
13336
|
};
|
|
13337
13337
|
|
|
13338
|
-
const contentCss = () => `:host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-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:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:""}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}
|
|
13338
|
+
const contentCss = () => `:host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-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:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:""}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}`;
|
|
13339
13339
|
|
|
13340
13340
|
/**
|
|
13341
13341
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
@@ -18585,171 +18585,6 @@ const createKeyboardController = async (keyboardChangeCallback) => {
|
|
|
18585
18585
|
return { init, destroy, isKeyboardVisible };
|
|
18586
18586
|
};
|
|
18587
18587
|
|
|
18588
|
-
/** Cumulative downward delta before hiding (header or footer `collapse="hide"`). */
|
|
18589
|
-
const COLLAPSE_HIDE_THRESHOLD_PX = 24;
|
|
18590
|
-
/**
|
|
18591
|
-
* Cumulative upward delta before showing again after hide. Small bias
|
|
18592
|
-
* (instead of "any upward delta") guards against inertial-scroll
|
|
18593
|
-
* oscillation flicking the region back open during a downward gesture.
|
|
18594
|
-
*/
|
|
18595
|
-
const COLLAPSE_SHOW_THRESHOLD_PX = 5;
|
|
18596
|
-
const WHEEL_SCROLL_SUPPRESS_MS = 80;
|
|
18597
|
-
const getContentHostFromScrollEl = (scrollEl) => {
|
|
18598
|
-
const root = scrollEl.getRootNode();
|
|
18599
|
-
if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {
|
|
18600
|
-
return root.host;
|
|
18601
|
-
}
|
|
18602
|
-
// Light-DOM fallback: the scroll element may live inside a non-shadow
|
|
18603
|
-
// ion-content (e.g. custom scroll host). Walk up to the nearest ion-content.
|
|
18604
|
-
return scrollEl.closest('ion-content');
|
|
18605
|
-
};
|
|
18606
|
-
const applySlideDistance = (regionEl, contentHost, slideCssVar, heightPx) => {
|
|
18607
|
-
const value = `${Math.max(0, Math.ceil(heightPx))}px`;
|
|
18608
|
-
regionEl.style.setProperty(slideCssVar, value);
|
|
18609
|
-
contentHost === null || contentHost === void 0 ? void 0 : contentHost.style.setProperty(slideCssVar, value);
|
|
18610
|
-
};
|
|
18611
|
-
const clearSlideDistance = (regionEl, contentHost, slideCssVar) => {
|
|
18612
|
-
regionEl.style.removeProperty(slideCssVar);
|
|
18613
|
-
contentHost === null || contentHost === void 0 ? void 0 : contentHost.style.removeProperty(slideCssVar);
|
|
18614
|
-
};
|
|
18615
|
-
/**
|
|
18616
|
-
* Scroll/wheel-driven hide/show for `collapse="hide"` on `ion-header` or `ion-footer`.
|
|
18617
|
-
* Hide after {@link COLLAPSE_HIDE_THRESHOLD_PX}px cumulative downward delta; show after
|
|
18618
|
-
* {@link COLLAPSE_SHOW_THRESHOLD_PX}px cumulative upward delta. Each direction drains
|
|
18619
|
-
* (not resets) the opposing accumulator so inertial-scroll jitter doesn't stall either
|
|
18620
|
-
* transition. Motion is defined in component SCSS and `content.scss`; this toggles
|
|
18621
|
-
* classes and syncs the slide distance CSS var.
|
|
18622
|
-
*/
|
|
18623
|
-
const createCollapseHideInteraction = ({ regionEl, scrollEl, slideCssVar, contentPartnerClass, contentHiddenClass, regionHiddenClass, }) => {
|
|
18624
|
-
const contentHost = getContentHostFromScrollEl(scrollEl);
|
|
18625
|
-
if (contentHost !== null) {
|
|
18626
|
-
contentHost.classList.add(contentPartnerClass);
|
|
18627
|
-
}
|
|
18628
|
-
let resizeObserver;
|
|
18629
|
-
let destroyed = false;
|
|
18630
|
-
const syncSlideDistance = () => {
|
|
18631
|
-
readTask(() => {
|
|
18632
|
-
if (destroyed) {
|
|
18633
|
-
return;
|
|
18634
|
-
}
|
|
18635
|
-
const heightPx = regionEl.offsetHeight;
|
|
18636
|
-
writeTask(() => {
|
|
18637
|
-
if (destroyed) {
|
|
18638
|
-
return;
|
|
18639
|
-
}
|
|
18640
|
-
applySlideDistance(regionEl, contentHost, slideCssVar, heightPx);
|
|
18641
|
-
});
|
|
18642
|
-
});
|
|
18643
|
-
};
|
|
18644
|
-
if (typeof ResizeObserver !== 'undefined') {
|
|
18645
|
-
resizeObserver = new ResizeObserver(() => {
|
|
18646
|
-
syncSlideDistance();
|
|
18647
|
-
});
|
|
18648
|
-
resizeObserver.observe(regionEl);
|
|
18649
|
-
}
|
|
18650
|
-
syncSlideDistance();
|
|
18651
|
-
requestAnimationFrame(() => {
|
|
18652
|
-
if (!destroyed) {
|
|
18653
|
-
syncSlideDistance();
|
|
18654
|
-
}
|
|
18655
|
-
});
|
|
18656
|
-
let hidden = false;
|
|
18657
|
-
let accDown = 0;
|
|
18658
|
-
let accUp = 0;
|
|
18659
|
-
let lastScrollTop = scrollEl.scrollTop;
|
|
18660
|
-
let lastWheelTime = 0;
|
|
18661
|
-
const setHidden = (next) => {
|
|
18662
|
-
if (hidden === next || destroyed) {
|
|
18663
|
-
return;
|
|
18664
|
-
}
|
|
18665
|
-
hidden = next;
|
|
18666
|
-
// When transitioning to hidden, re-measure synchronously in case the
|
|
18667
|
-
// initial layout reported offsetHeight === 0 (e.g. mid page transition).
|
|
18668
|
-
// Without this the slide animates by 0px and only opacity fades.
|
|
18669
|
-
if (hidden) {
|
|
18670
|
-
const heightPx = regionEl.offsetHeight;
|
|
18671
|
-
if (heightPx > 0) {
|
|
18672
|
-
applySlideDistance(regionEl, contentHost, slideCssVar, heightPx);
|
|
18673
|
-
}
|
|
18674
|
-
}
|
|
18675
|
-
writeTask(() => {
|
|
18676
|
-
if (destroyed) {
|
|
18677
|
-
return;
|
|
18678
|
-
}
|
|
18679
|
-
regionEl.classList.toggle(regionHiddenClass, hidden);
|
|
18680
|
-
contentHost === null || contentHost === void 0 ? void 0 : contentHost.classList.toggle(contentHiddenClass, hidden);
|
|
18681
|
-
if (hidden) {
|
|
18682
|
-
// `inert` removes the subtree from the tab order and AT, AND moves
|
|
18683
|
-
// focus out automatically in supporting browsers. `aria-hidden` is
|
|
18684
|
-
// kept as a fallback for older engines without `inert` support.
|
|
18685
|
-
regionEl.setAttribute('inert', '');
|
|
18686
|
-
regionEl.setAttribute('aria-hidden', 'true');
|
|
18687
|
-
}
|
|
18688
|
-
else {
|
|
18689
|
-
regionEl.removeAttribute('inert');
|
|
18690
|
-
regionEl.removeAttribute('aria-hidden');
|
|
18691
|
-
}
|
|
18692
|
-
});
|
|
18693
|
-
};
|
|
18694
|
-
// Accumulate cumulative movement in each direction. The OPPOSITE accumulator
|
|
18695
|
-
// is drained (not reset) by each event, so brief inertial jitter does not
|
|
18696
|
-
// wipe a sustained gesture's accumulation. Crossing a threshold resets both.
|
|
18697
|
-
const processDelta = (delta) => {
|
|
18698
|
-
if (delta > 0) {
|
|
18699
|
-
accUp = Math.max(0, accUp - delta);
|
|
18700
|
-
accDown += delta;
|
|
18701
|
-
if (accDown >= COLLAPSE_HIDE_THRESHOLD_PX) {
|
|
18702
|
-
setHidden(true);
|
|
18703
|
-
accDown = 0;
|
|
18704
|
-
accUp = 0;
|
|
18705
|
-
}
|
|
18706
|
-
}
|
|
18707
|
-
else if (delta < 0) {
|
|
18708
|
-
const mag = -delta;
|
|
18709
|
-
accDown = Math.max(0, accDown - mag);
|
|
18710
|
-
accUp += mag;
|
|
18711
|
-
if (accUp >= COLLAPSE_SHOW_THRESHOLD_PX) {
|
|
18712
|
-
setHidden(false);
|
|
18713
|
-
accUp = 0;
|
|
18714
|
-
accDown = 0;
|
|
18715
|
-
}
|
|
18716
|
-
}
|
|
18717
|
-
};
|
|
18718
|
-
const onWheel = (ev) => {
|
|
18719
|
-
if (destroyed) {
|
|
18720
|
-
return;
|
|
18721
|
-
}
|
|
18722
|
-
lastWheelTime = performance.now();
|
|
18723
|
-
processDelta(ev.deltaY);
|
|
18724
|
-
};
|
|
18725
|
-
const onScroll = () => {
|
|
18726
|
-
if (destroyed) {
|
|
18727
|
-
return;
|
|
18728
|
-
}
|
|
18729
|
-
const st = scrollEl.scrollTop;
|
|
18730
|
-
if (performance.now() - lastWheelTime < WHEEL_SCROLL_SUPPRESS_MS) {
|
|
18731
|
-
lastScrollTop = st;
|
|
18732
|
-
return;
|
|
18733
|
-
}
|
|
18734
|
-
const delta = st - lastScrollTop;
|
|
18735
|
-
lastScrollTop = st;
|
|
18736
|
-
processDelta(delta);
|
|
18737
|
-
};
|
|
18738
|
-
scrollEl.addEventListener('wheel', onWheel, { passive: true });
|
|
18739
|
-
scrollEl.addEventListener('scroll', onScroll, { passive: true });
|
|
18740
|
-
return () => {
|
|
18741
|
-
destroyed = true;
|
|
18742
|
-
resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
|
|
18743
|
-
scrollEl.removeEventListener('wheel', onWheel);
|
|
18744
|
-
scrollEl.removeEventListener('scroll', onScroll);
|
|
18745
|
-
regionEl.classList.remove(regionHiddenClass);
|
|
18746
|
-
regionEl.removeAttribute('inert');
|
|
18747
|
-
regionEl.removeAttribute('aria-hidden');
|
|
18748
|
-
contentHost === null || contentHost === void 0 ? void 0 : contentHost.classList.remove(contentPartnerClass, contentHiddenClass);
|
|
18749
|
-
clearSlideDistance(regionEl, contentHost, slideCssVar);
|
|
18750
|
-
};
|
|
18751
|
-
};
|
|
18752
|
-
|
|
18753
18588
|
const handleFooterFade = (scrollEl, baseEl) => {
|
|
18754
18589
|
readTask(() => {
|
|
18755
18590
|
const scrollTop = scrollEl.scrollTop;
|
|
@@ -18778,20 +18613,12 @@ const handleFooterFade = (scrollEl, baseEl) => {
|
|
|
18778
18613
|
});
|
|
18779
18614
|
});
|
|
18780
18615
|
};
|
|
18781
|
-
const createFooterHideInteraction = (footerEl, scrollEl) => createCollapseHideInteraction({
|
|
18782
|
-
regionEl: footerEl,
|
|
18783
|
-
scrollEl,
|
|
18784
|
-
slideCssVar: '--footer-hide-slide-y',
|
|
18785
|
-
contentPartnerClass: 'content-footer-hide-scroll-partner',
|
|
18786
|
-
contentHiddenClass: 'content-footer-hide-scroll-hidden',
|
|
18787
|
-
regionHiddenClass: 'footer-collapse-hide-hidden',
|
|
18788
|
-
});
|
|
18789
18616
|
|
|
18790
|
-
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)}
|
|
18617
|
+
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}`;
|
|
18791
18618
|
|
|
18792
|
-
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)}
|
|
18619
|
+
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}`;
|
|
18793
18620
|
|
|
18794
|
-
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)}
|
|
18621
|
+
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}`;
|
|
18795
18622
|
|
|
18796
18623
|
/**
|
|
18797
18624
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
@@ -18800,8 +18627,6 @@ const footerMdCss = () => `ion-footer{display:block;position:relative;-ms-flex-o
|
|
|
18800
18627
|
class Footer {
|
|
18801
18628
|
constructor(hostRef) {
|
|
18802
18629
|
registerInstance(this, hostRef);
|
|
18803
|
-
this.didLoad = false;
|
|
18804
|
-
this.setupToken = 0;
|
|
18805
18630
|
this.keyboardCtrl = null;
|
|
18806
18631
|
this.keyboardCtrlPromise = null;
|
|
18807
18632
|
this.keyboardVisible = false;
|
|
@@ -18816,45 +18641,25 @@ class Footer {
|
|
|
18816
18641
|
this.translucent = false;
|
|
18817
18642
|
this.checkCollapsibleFooter = () => {
|
|
18818
18643
|
const theme = getIonTheme(this);
|
|
18819
|
-
|
|
18820
|
-
const hasFade = collapse === 'fade';
|
|
18821
|
-
const hasHide = collapse === 'hide';
|
|
18822
|
-
const runIosFade = theme === 'ios' && hasFade;
|
|
18823
|
-
if (!runIosFade && !hasHide) {
|
|
18824
|
-
this.destroyCollapsibleFooter();
|
|
18825
|
-
return;
|
|
18826
|
-
}
|
|
18827
|
-
// Skip teardown/rebuild when the collapse mode and theme have not changed
|
|
18828
|
-
// since the last setup — avoids thrashing listeners and resetting scroll
|
|
18829
|
-
// accumulators on unrelated re-renders (e.g. keyboardVisible state flips).
|
|
18830
|
-
const activeMode = hasHide ? 'hide' : 'fade';
|
|
18831
|
-
if (this.appliedCollapse === activeMode && this.appliedTheme === theme) {
|
|
18644
|
+
if (theme !== 'ios') {
|
|
18832
18645
|
return;
|
|
18833
18646
|
}
|
|
18647
|
+
const { collapse } = this;
|
|
18648
|
+
const hasFade = collapse === 'fade';
|
|
18834
18649
|
this.destroyCollapsibleFooter();
|
|
18835
|
-
|
|
18836
|
-
|
|
18837
|
-
|
|
18838
|
-
|
|
18839
|
-
|
|
18840
|
-
|
|
18841
|
-
|
|
18842
|
-
|
|
18843
|
-
this.appliedTheme = theme;
|
|
18844
|
-
if (runIosFade) {
|
|
18650
|
+
if (hasFade) {
|
|
18651
|
+
const appRootSelector = config.get('appRootSelector', 'ion-app');
|
|
18652
|
+
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
18653
|
+
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
18654
|
+
if (!contentEl) {
|
|
18655
|
+
printIonContentErrorMsg(this.el);
|
|
18656
|
+
return;
|
|
18657
|
+
}
|
|
18845
18658
|
this.setupFadeFooter(contentEl);
|
|
18846
18659
|
}
|
|
18847
|
-
else if (hasHide) {
|
|
18848
|
-
void this.setupHideFooter(contentEl);
|
|
18849
|
-
}
|
|
18850
18660
|
};
|
|
18851
18661
|
this.setupFadeFooter = async (contentEl) => {
|
|
18852
|
-
const
|
|
18853
|
-
const scrollEl = await getScrollElement(contentEl);
|
|
18854
|
-
if (token !== this.setupToken) {
|
|
18855
|
-
return;
|
|
18856
|
-
}
|
|
18857
|
-
this.scrollEl = scrollEl;
|
|
18662
|
+
const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
|
|
18858
18663
|
/**
|
|
18859
18664
|
* Handle fading of toolbars on scroll
|
|
18860
18665
|
*/
|
|
@@ -18866,18 +18671,12 @@ class Footer {
|
|
|
18866
18671
|
};
|
|
18867
18672
|
}
|
|
18868
18673
|
componentDidLoad() {
|
|
18869
|
-
this.didLoad = true;
|
|
18870
18674
|
this.checkCollapsibleFooter();
|
|
18871
18675
|
}
|
|
18872
18676
|
componentDidUpdate() {
|
|
18873
18677
|
this.checkCollapsibleFooter();
|
|
18874
18678
|
}
|
|
18875
18679
|
async connectedCallback() {
|
|
18876
|
-
// On re-attach (didLoad already true but disconnectedCallback ran since),
|
|
18877
|
-
// componentDidLoad will not fire again — re-run setup here.
|
|
18878
|
-
if (this.didLoad) {
|
|
18879
|
-
this.checkCollapsibleFooter();
|
|
18880
|
-
}
|
|
18881
18680
|
const promise = createKeyboardController(async (keyboardOpen, waitForResize) => {
|
|
18882
18681
|
/**
|
|
18883
18682
|
* If the keyboard is hiding, then we need to wait
|
|
@@ -18905,7 +18704,6 @@ class Footer {
|
|
|
18905
18704
|
}
|
|
18906
18705
|
}
|
|
18907
18706
|
disconnectedCallback() {
|
|
18908
|
-
this.destroyCollapsibleFooter();
|
|
18909
18707
|
if (this.keyboardCtrlPromise) {
|
|
18910
18708
|
this.keyboardCtrlPromise.then((ctrl) => ctrl.destroy());
|
|
18911
18709
|
this.keyboardCtrlPromise = null;
|
|
@@ -18915,36 +18713,18 @@ class Footer {
|
|
|
18915
18713
|
this.keyboardCtrl = null;
|
|
18916
18714
|
}
|
|
18917
18715
|
}
|
|
18918
|
-
async setupHideFooter(contentEl) {
|
|
18919
|
-
const token = ++this.setupToken;
|
|
18920
|
-
const scrollEl = await getScrollElement(contentEl);
|
|
18921
|
-
// A newer checkCollapsibleFooter ran while we were awaiting — abandon.
|
|
18922
|
-
if (token !== this.setupToken) {
|
|
18923
|
-
return;
|
|
18924
|
-
}
|
|
18925
|
-
this.scrollEl = scrollEl;
|
|
18926
|
-
this.footerHideCleanup = createFooterHideInteraction(this.el, scrollEl);
|
|
18927
|
-
}
|
|
18928
18716
|
destroyCollapsibleFooter() {
|
|
18929
|
-
// Invalidate any in-flight setupHideFooter/setupFadeFooter awaits.
|
|
18930
|
-
this.setupToken++;
|
|
18931
|
-
if (this.footerHideCleanup) {
|
|
18932
|
-
this.footerHideCleanup();
|
|
18933
|
-
this.footerHideCleanup = undefined;
|
|
18934
|
-
}
|
|
18935
18717
|
if (this.scrollEl && this.contentScrollCallback) {
|
|
18936
18718
|
this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
|
|
18937
18719
|
this.contentScrollCallback = undefined;
|
|
18938
18720
|
}
|
|
18939
|
-
this.appliedCollapse = undefined;
|
|
18940
|
-
this.appliedTheme = undefined;
|
|
18941
18721
|
}
|
|
18942
18722
|
render() {
|
|
18943
18723
|
const { translucent, collapse } = this;
|
|
18944
18724
|
const theme = getIonTheme(this);
|
|
18945
18725
|
const tabs = this.el.closest('ion-tabs');
|
|
18946
18726
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
18947
|
-
return (hAsync(Host, { key: '
|
|
18727
|
+
return (hAsync(Host, { key: '4a2989a177b47ee26ffa23e2c9f5418773584796', role: "contentinfo", class: {
|
|
18948
18728
|
[theme]: true,
|
|
18949
18729
|
// Used internally for styling
|
|
18950
18730
|
[`footer-${theme}`]: true,
|
|
@@ -18952,7 +18732,7 @@ class Footer {
|
|
|
18952
18732
|
[`footer-translucent-${theme}`]: translucent,
|
|
18953
18733
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
18954
18734
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
18955
|
-
} }, theme === 'ios' && translucent && hAsync("div", { key: '
|
|
18735
|
+
} }, theme === 'ios' && translucent && hAsync("div", { key: 'c644963db3e06254014e398ea02189d6127ccf61', class: "footer-background" }), hAsync("slot", { key: '839e33c6c30f5c1c703239a19458ff10da9a5e76' })));
|
|
18956
18736
|
}
|
|
18957
18737
|
get el() { return getElement(this); }
|
|
18958
18738
|
static get style() { return {
|
|
@@ -18982,6 +18762,9 @@ class Footer {
|
|
|
18982
18762
|
const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
|
|
18983
18763
|
// Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
|
|
18984
18764
|
const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
|
|
18765
|
+
// Matches a `var(--name)` reference with an optional fallback, e.g.
|
|
18766
|
+
// `var(--my-gap)` or `var(--my-gap, 16px)`.
|
|
18767
|
+
const VAR_FUNCTION_PATTERN = /^var\(\s*--[^\s,)]+\s*(?:,[\s\S]*)?\)$/i;
|
|
18985
18768
|
/**
|
|
18986
18769
|
* Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
18987
18770
|
* syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
|
|
@@ -18996,6 +18779,17 @@ function isValidLengthPercentage(value) {
|
|
|
18996
18779
|
}
|
|
18997
18780
|
return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
|
|
18998
18781
|
}
|
|
18782
|
+
/**
|
|
18783
|
+
* Returns whether `value` is a single [`var()`](https://developer.mozilla.org/en-US/docs/Web/CSS/var)
|
|
18784
|
+
* reference, e.g. `var(--my-token)` or `var(--my-token, 16px)`. The referenced
|
|
18785
|
+
* custom property is resolved by the browser, so the resolved value is not
|
|
18786
|
+
* validated here.
|
|
18787
|
+
*
|
|
18788
|
+
* @param value String value to validate.
|
|
18789
|
+
*/
|
|
18790
|
+
function isCssVariable(value) {
|
|
18791
|
+
return VAR_FUNCTION_PATTERN.test(value.trim());
|
|
18792
|
+
}
|
|
18999
18793
|
|
|
19000
18794
|
const DEFAULT_COLUMNS = {
|
|
19001
18795
|
xs: 2,
|
|
@@ -19007,7 +18801,7 @@ const DEFAULT_COLUMNS = {
|
|
|
19007
18801
|
};
|
|
19008
18802
|
const DEFAULT_GAP = '16px';
|
|
19009
18803
|
|
|
19010
|
-
const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-
|
|
18804
|
+
const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:1px}`;
|
|
19011
18805
|
|
|
19012
18806
|
// TODO(FW-7285): Replace with global breakpoints
|
|
19013
18807
|
const BREAKPOINTS = {
|
|
@@ -19019,11 +18813,16 @@ const BREAKPOINTS = {
|
|
|
19019
18813
|
xxl: 1400,
|
|
19020
18814
|
};
|
|
19021
18815
|
const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
|
|
18816
|
+
/**
|
|
18817
|
+
* The tag of the component used to wrap each gallery item.
|
|
18818
|
+
*/
|
|
18819
|
+
const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
|
|
19022
18820
|
/**
|
|
19023
18821
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
19024
18822
|
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
19025
18823
|
*
|
|
19026
|
-
* @slot -
|
|
18824
|
+
* @slot - One or more `ion-gallery-item` components, placed in a responsive
|
|
18825
|
+
* gallery layout.
|
|
19027
18826
|
*/
|
|
19028
18827
|
class Gallery {
|
|
19029
18828
|
constructor(hostRef) {
|
|
@@ -19033,6 +18832,7 @@ class Gallery {
|
|
|
19033
18832
|
this.hasWarnedInvalidColumns = false;
|
|
19034
18833
|
this.hasWarnedInvalidGap = false;
|
|
19035
18834
|
this.hasWarnedUnusedOrder = false;
|
|
18835
|
+
this.hasWarnedInvalidItems = false;
|
|
19036
18836
|
/**
|
|
19037
18837
|
* The visual layout of the gallery. When `uniform`, rows take up the height
|
|
19038
18838
|
* of the tallest item and are spaced evenly across the gallery. Additionally,
|
|
@@ -19049,7 +18849,8 @@ class Gallery {
|
|
|
19049
18849
|
/**
|
|
19050
18850
|
* The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
19051
18851
|
* values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
|
|
19052
|
-
* or numbers (treated as pixel
|
|
18852
|
+
* CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel
|
|
18853
|
+
* values). Can also be set as a breakpoint map
|
|
19053
18854
|
* (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
|
|
19054
18855
|
* space-separated values or CSS keyword values like `inherit`, `auto`, etc.
|
|
19055
18856
|
*/
|
|
@@ -19061,6 +18862,9 @@ class Gallery {
|
|
|
19061
18862
|
* are added or removed from the gallery.
|
|
19062
18863
|
*/
|
|
19063
18864
|
this.onSlotChange = () => {
|
|
18865
|
+
// Re-observe so newly added items are watched for size changes (e.g. a
|
|
18866
|
+
// freshly appended item finishing hydration), then recompute placement.
|
|
18867
|
+
this.observeResizes();
|
|
19064
18868
|
this.scheduleMasonryResize();
|
|
19065
18869
|
};
|
|
19066
18870
|
/**
|
|
@@ -19104,7 +18908,7 @@ class Gallery {
|
|
|
19104
18908
|
this.updateResponsiveStyles();
|
|
19105
18909
|
this.scheduleMasonryResize();
|
|
19106
18910
|
});
|
|
19107
|
-
this.
|
|
18911
|
+
this.observeResizes();
|
|
19108
18912
|
this.scheduleMasonryResize();
|
|
19109
18913
|
this.warnUnusedOrder();
|
|
19110
18914
|
}
|
|
@@ -19117,6 +18921,22 @@ class Gallery {
|
|
|
19117
18921
|
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
19118
18922
|
this.resizeObserver = undefined;
|
|
19119
18923
|
}
|
|
18924
|
+
/**
|
|
18925
|
+
* Observe the host and each item for size changes. Items are observed in
|
|
18926
|
+
* addition to the host so masonry placement is recomputed when an item's
|
|
18927
|
+
* rendered height changes — most importantly when a dynamically added
|
|
18928
|
+
* `ion-gallery-item` finishes hydrating, which (unlike an `<img>`) emits no
|
|
18929
|
+
* `load` event and does not change the host's measured size while collapsed.
|
|
18930
|
+
*/
|
|
18931
|
+
observeResizes() {
|
|
18932
|
+
const observer = this.resizeObserver;
|
|
18933
|
+
if (observer === undefined) {
|
|
18934
|
+
return;
|
|
18935
|
+
}
|
|
18936
|
+
observer.disconnect();
|
|
18937
|
+
observer.observe(this.el);
|
|
18938
|
+
this.getItems().forEach((item) => observer.observe(item));
|
|
18939
|
+
}
|
|
19120
18940
|
/**
|
|
19121
18941
|
* Listen for the load event on child elements.
|
|
19122
18942
|
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
@@ -19170,9 +18990,10 @@ class Gallery {
|
|
|
19170
18990
|
return numericColumns;
|
|
19171
18991
|
}
|
|
19172
18992
|
/**
|
|
19173
|
-
* Normalize a single gap value (`gap` as a number, string
|
|
19174
|
-
*
|
|
19175
|
-
*
|
|
18993
|
+
* Normalize a single gap value (`gap` as a number, a string such as a CSS
|
|
18994
|
+
* length-percentage or `var()` reference, or one entry from a `gap`
|
|
18995
|
+
* breakpoint map) to a CSS length string. Returns `undefined` when the
|
|
18996
|
+
* input cannot be interpreted as a valid CSS length or `var()` reference.
|
|
19176
18997
|
*/
|
|
19177
18998
|
sanitizeGap(gap) {
|
|
19178
18999
|
if (gap === undefined) {
|
|
@@ -19189,6 +19010,9 @@ class Gallery {
|
|
|
19189
19010
|
if (typeof normalizedGap !== 'string') {
|
|
19190
19011
|
return undefined;
|
|
19191
19012
|
}
|
|
19013
|
+
if (isCssVariable(normalizedGap)) {
|
|
19014
|
+
return normalizedGap;
|
|
19015
|
+
}
|
|
19192
19016
|
const isValidCssLength = isValidLengthPercentage(normalizedGap);
|
|
19193
19017
|
return isValidCssLength ? normalizedGap : undefined;
|
|
19194
19018
|
}
|
|
@@ -19269,7 +19093,7 @@ class Gallery {
|
|
|
19269
19093
|
if (this.hasWarnedInvalidGap) {
|
|
19270
19094
|
return;
|
|
19271
19095
|
}
|
|
19272
|
-
printIonWarning(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(gap)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`, this.el);
|
|
19096
|
+
printIonWarning(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(gap)}). Expected a non-negative number, CSS length string, CSS variable (e.g. var(--app-gap)), or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`, this.el);
|
|
19273
19097
|
this.hasWarnedInvalidGap = true;
|
|
19274
19098
|
}
|
|
19275
19099
|
/**
|
|
@@ -19341,11 +19165,43 @@ class Gallery {
|
|
|
19341
19165
|
this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
|
|
19342
19166
|
}
|
|
19343
19167
|
/**
|
|
19344
|
-
* Return
|
|
19345
|
-
*
|
|
19168
|
+
* Return the `ion-gallery-item` elements to place in the grid. Each item is a
|
|
19169
|
+
* direct grid cell. A direct child that is not an `ion-gallery-item` is
|
|
19170
|
+
* treated as a pass-through wrapper (e.g. a layout `<div>`): its box is
|
|
19171
|
+
* collapsed with `display: contents` so the nested items participate in the
|
|
19172
|
+
* gallery grid. Children that contain no `ion-gallery-item` are ignored.
|
|
19346
19173
|
*/
|
|
19347
19174
|
getItems() {
|
|
19348
|
-
|
|
19175
|
+
const items = [];
|
|
19176
|
+
Array.from(this.el.children).forEach((child) => {
|
|
19177
|
+
// Standard path: <ion-gallery-item> is a direct child of <ion-gallery>.
|
|
19178
|
+
if (child.matches(GALLERY_ITEM_SELECTOR)) {
|
|
19179
|
+
items.push(child);
|
|
19180
|
+
return;
|
|
19181
|
+
}
|
|
19182
|
+
// Compatibility path: a wrapper element may contain <ion-gallery-item>
|
|
19183
|
+
// components. Collapse the wrapper's box so the items participate in the
|
|
19184
|
+
// gallery grid.
|
|
19185
|
+
const nestedItems = Array.from(child.querySelectorAll(GALLERY_ITEM_SELECTOR));
|
|
19186
|
+
if (nestedItems.length === 0) {
|
|
19187
|
+
this.warnInvalidItems();
|
|
19188
|
+
return;
|
|
19189
|
+
}
|
|
19190
|
+
child.style.display = 'contents';
|
|
19191
|
+
items.push(...nestedItems);
|
|
19192
|
+
});
|
|
19193
|
+
return items;
|
|
19194
|
+
}
|
|
19195
|
+
/**
|
|
19196
|
+
* Warn when the gallery has content that is not wrapped in an
|
|
19197
|
+
* `ion-gallery-item` component.
|
|
19198
|
+
*/
|
|
19199
|
+
warnInvalidItems() {
|
|
19200
|
+
if (this.hasWarnedInvalidItems) {
|
|
19201
|
+
return;
|
|
19202
|
+
}
|
|
19203
|
+
printIonWarning(`[ion-gallery] - Gallery items must be wrapped in "ion-gallery-item" components. Direct children that are not "ion-gallery-item" (and do not contain one) are ignored.`, this.el);
|
|
19204
|
+
this.hasWarnedInvalidItems = true;
|
|
19349
19205
|
}
|
|
19350
19206
|
/**
|
|
19351
19207
|
* Clear the item styles for the given item element.
|
|
@@ -19363,12 +19219,19 @@ class Gallery {
|
|
|
19363
19219
|
clearMasonryStyles() {
|
|
19364
19220
|
this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
|
|
19365
19221
|
}
|
|
19222
|
+
/**
|
|
19223
|
+
* Whether the item contains any images that have not finished loading.
|
|
19224
|
+
* Used to defer masonry placement until the rendered height is final.
|
|
19225
|
+
*/
|
|
19226
|
+
hasUnloadedImages(itemEl) {
|
|
19227
|
+
return Array.from(itemEl.querySelectorAll('img')).some((img) => !img.complete || img.naturalHeight === 0);
|
|
19228
|
+
}
|
|
19366
19229
|
/**
|
|
19367
19230
|
* Convert a rendered item height to the number of grid rows it should span.
|
|
19368
|
-
* Returns undefined
|
|
19231
|
+
* Returns undefined when the item has images that are not fully loaded yet.
|
|
19369
19232
|
*/
|
|
19370
19233
|
calculateRowSpan(itemEl, rowHeight, rowGap) {
|
|
19371
|
-
if (
|
|
19234
|
+
if (this.hasUnloadedImages(itemEl)) {
|
|
19372
19235
|
return undefined;
|
|
19373
19236
|
}
|
|
19374
19237
|
const height = itemEl.getBoundingClientRect().height;
|
|
@@ -19455,11 +19318,11 @@ class Gallery {
|
|
|
19455
19318
|
const { layout } = this;
|
|
19456
19319
|
const order = this.getOrder();
|
|
19457
19320
|
const theme = getIonTheme(this);
|
|
19458
|
-
return (hAsync(Host, { key: '
|
|
19321
|
+
return (hAsync(Host, { key: '2063823917f4ab8430aee0e17ae0f3a2b53341d1', class: {
|
|
19459
19322
|
[theme]: true,
|
|
19460
19323
|
[`gallery-layout-${layout}`]: true,
|
|
19461
19324
|
[`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
|
|
19462
|
-
} }, hAsync("slot", { key: '
|
|
19325
|
+
} }, hAsync("slot", { key: '1378f489afb6b05181d2513f664c4efe24ad3598', onSlotchange: this.onSlotChange })));
|
|
19463
19326
|
}
|
|
19464
19327
|
get el() { return getElement(this); }
|
|
19465
19328
|
static get watchers() { return {
|
|
@@ -19492,6 +19355,93 @@ class Gallery {
|
|
|
19492
19355
|
}; }
|
|
19493
19356
|
}
|
|
19494
19357
|
|
|
19358
|
+
const galleryItemCss = () => `:host{display:block}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}:host(.in-gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.in-gallery-layout-masonry){min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}`;
|
|
19359
|
+
|
|
19360
|
+
/**
|
|
19361
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
19362
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
19363
|
+
*
|
|
19364
|
+
* @slot - The content placed inside of the gallery item. This is typically an
|
|
19365
|
+
* `img`, but can be any element (e.g. a `figure` wrapping an image and caption).
|
|
19366
|
+
*/
|
|
19367
|
+
class GalleryItem {
|
|
19368
|
+
constructor(hostRef) {
|
|
19369
|
+
registerInstance(this, hostRef);
|
|
19370
|
+
this.hasWarnedInvalidParent = false;
|
|
19371
|
+
this.onSlotChange = () => {
|
|
19372
|
+
this.warnInvalidParent();
|
|
19373
|
+
};
|
|
19374
|
+
}
|
|
19375
|
+
componentWillLoad() {
|
|
19376
|
+
var _a;
|
|
19377
|
+
this.galleryEl = (_a = this.el.closest('ion-gallery')) !== null && _a !== void 0 ? _a : undefined;
|
|
19378
|
+
this.syncLayoutClasses();
|
|
19379
|
+
}
|
|
19380
|
+
componentDidLoad() {
|
|
19381
|
+
this.watchGalleryLayoutClasses();
|
|
19382
|
+
this.warnInvalidParent();
|
|
19383
|
+
}
|
|
19384
|
+
disconnectedCallback() {
|
|
19385
|
+
var _a;
|
|
19386
|
+
(_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
19387
|
+
this.galleryClassObserver = undefined;
|
|
19388
|
+
this.galleryEl = undefined;
|
|
19389
|
+
}
|
|
19390
|
+
/**
|
|
19391
|
+
* Warn when the item is not a descendant of an `ion-gallery`.
|
|
19392
|
+
*/
|
|
19393
|
+
warnInvalidParent() {
|
|
19394
|
+
if (this.hasWarnedInvalidParent || this.galleryEl !== undefined) {
|
|
19395
|
+
return;
|
|
19396
|
+
}
|
|
19397
|
+
printIonWarning('[ion-gallery-item] - This component should be used as a child of an "ion-gallery" component.', this.el);
|
|
19398
|
+
this.hasWarnedInvalidParent = true;
|
|
19399
|
+
}
|
|
19400
|
+
/**
|
|
19401
|
+
* Watch the parent gallery's class list so the item can react to layout
|
|
19402
|
+
* changes (the gallery reflects its layout as a `gallery-layout-*` class).
|
|
19403
|
+
*/
|
|
19404
|
+
watchGalleryLayoutClasses() {
|
|
19405
|
+
var _a;
|
|
19406
|
+
const galleryEl = this.galleryEl;
|
|
19407
|
+
if (galleryEl === undefined) {
|
|
19408
|
+
return;
|
|
19409
|
+
}
|
|
19410
|
+
(_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
19411
|
+
this.galleryClassObserver = new MutationObserver(() => this.syncLayoutClasses());
|
|
19412
|
+
this.galleryClassObserver.observe(galleryEl, {
|
|
19413
|
+
attributes: true,
|
|
19414
|
+
attributeFilter: ['class'],
|
|
19415
|
+
});
|
|
19416
|
+
}
|
|
19417
|
+
syncLayoutClasses() {
|
|
19418
|
+
var _a;
|
|
19419
|
+
const layout = (_a = this.galleryEl) === null || _a === void 0 ? void 0 : _a.layout;
|
|
19420
|
+
this.galleryLayout = layout === 'masonry' || layout === 'uniform' ? layout : undefined;
|
|
19421
|
+
}
|
|
19422
|
+
render() {
|
|
19423
|
+
const { galleryLayout } = this;
|
|
19424
|
+
const theme = getIonTheme(this);
|
|
19425
|
+
return (hAsync(Host, { key: 'b3de6bf2df4af01ed274188a96d9e8cd82c9f5cd', class: {
|
|
19426
|
+
[theme]: true,
|
|
19427
|
+
'in-gallery-layout-uniform': galleryLayout === 'uniform',
|
|
19428
|
+
'in-gallery-layout-masonry': galleryLayout === 'masonry',
|
|
19429
|
+
} }, hAsync("slot", { key: '5bef4549c5101178fec9b590cb6b553ddc5376c4', onSlotchange: this.onSlotChange })));
|
|
19430
|
+
}
|
|
19431
|
+
get el() { return getElement(this); }
|
|
19432
|
+
static get style() { return galleryItemCss(); }
|
|
19433
|
+
static get cmpMeta() { return {
|
|
19434
|
+
"$flags$": 265,
|
|
19435
|
+
"$tagName$": "ion-gallery-item",
|
|
19436
|
+
"$members$": {
|
|
19437
|
+
"galleryLayout": [32]
|
|
19438
|
+
},
|
|
19439
|
+
"$listeners$": undefined,
|
|
19440
|
+
"$lazyBundleId$": "-",
|
|
19441
|
+
"$attrsToReflect$": []
|
|
19442
|
+
}; }
|
|
19443
|
+
}
|
|
19444
|
+
|
|
19495
19445
|
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}`;
|
|
19496
19446
|
|
|
19497
19447
|
/**
|
|
@@ -19508,10 +19458,10 @@ class Grid {
|
|
|
19508
19458
|
}
|
|
19509
19459
|
render() {
|
|
19510
19460
|
const theme = getIonTheme(this);
|
|
19511
|
-
return (hAsync(Host, { key: '
|
|
19461
|
+
return (hAsync(Host, { key: 'e3320fc2fc5391d26898cc119505cd3be30dd48b', class: {
|
|
19512
19462
|
[theme]: true,
|
|
19513
19463
|
'grid-fixed': this.fixed,
|
|
19514
|
-
} }, hAsync("slot", { key: '
|
|
19464
|
+
} }, hAsync("slot", { key: '2000e6b336c294aadf4585269c301d734d2fe478' })));
|
|
19515
19465
|
}
|
|
19516
19466
|
static get style() { return gridCss(); }
|
|
19517
19467
|
static get cmpMeta() { return {
|
|
@@ -19702,14 +19652,6 @@ const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
|
|
|
19702
19652
|
titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
|
|
19703
19653
|
});
|
|
19704
19654
|
};
|
|
19705
|
-
const createHeaderHideInteraction = (headerEl, scrollEl) => createCollapseHideInteraction({
|
|
19706
|
-
regionEl: headerEl,
|
|
19707
|
-
scrollEl,
|
|
19708
|
-
slideCssVar: '--header-hide-slide-y',
|
|
19709
|
-
contentPartnerClass: 'content-header-hide-scroll-partner',
|
|
19710
|
-
contentHiddenClass: 'content-header-hide-scroll-hidden',
|
|
19711
|
-
regionHiddenClass: 'header-collapse-hide-hidden',
|
|
19712
|
-
});
|
|
19713
19655
|
const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
|
|
19714
19656
|
readTask(() => {
|
|
19715
19657
|
const scrollTop = scrollEl.scrollTop;
|
|
@@ -19766,11 +19708,11 @@ const getRoleType = (isInsideMenu, isCondensed, theme) => {
|
|
|
19766
19708
|
return ROLE_BANNER;
|
|
19767
19709
|
};
|
|
19768
19710
|
|
|
19769
|
-
const headerIonicCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header
|
|
19711
|
+
const headerIonicCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{z-index:10}ion-header.header-divider{border-bottom:var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-border-default, var(--token-primitives-neutral-400, #d5d5d5))}ion-toolbar+ion-toolbar{--padding-start:var(--token-space-400, var(--token-scale-400, 16px));--padding-end:var(--token-space-400, var(--token-scale-400, 16px))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(var(--token-scale-100, 4px));backdrop-filter:saturate(180%) blur(var(--token-scale-100, 4px))}.header-translucent-ionic ion-toolbar{--opacity:0.7}}`;
|
|
19770
19712
|
|
|
19771
|
-
const headerIosCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header
|
|
19713
|
+
const headerIosCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{z-index:10}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:0.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-fade.header-transitioning ion-toolbar{--background:transparent;--border-style:none}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense ion-toolbar,.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--background:var(--ion-background-color, #fff)}.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--border-style:none;--opacity-scale:1}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}`;
|
|
19772
19714
|
|
|
19773
|
-
const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header
|
|
19715
|
+
const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{z-index:10}.header-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)}.header-md.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}`;
|
|
19774
19716
|
|
|
19775
19717
|
/**
|
|
19776
19718
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
@@ -19780,7 +19722,6 @@ class Header {
|
|
|
19780
19722
|
constructor(hostRef) {
|
|
19781
19723
|
registerInstance(this, hostRef);
|
|
19782
19724
|
this.inheritedAttributes = {};
|
|
19783
|
-
this.didLoad = false;
|
|
19784
19725
|
/**
|
|
19785
19726
|
* If `true`, the header will have a line at the bottom.
|
|
19786
19727
|
* TODO(ROU-10855): add support for this prop on ios/md themes
|
|
@@ -19811,37 +19752,25 @@ class Header {
|
|
|
19811
19752
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
19812
19753
|
}
|
|
19813
19754
|
componentDidLoad() {
|
|
19814
|
-
this.didLoad = true;
|
|
19815
19755
|
this.checkCollapsibleHeader();
|
|
19816
19756
|
}
|
|
19817
19757
|
componentDidUpdate() {
|
|
19818
19758
|
this.checkCollapsibleHeader();
|
|
19819
19759
|
}
|
|
19820
|
-
connectedCallback() {
|
|
19821
|
-
// On re-attach (didLoad already true but disconnectedCallback ran since),
|
|
19822
|
-
// componentDidLoad will not fire again — re-run setup here.
|
|
19823
|
-
if (this.didLoad) {
|
|
19824
|
-
this.checkCollapsibleHeader();
|
|
19825
|
-
}
|
|
19826
|
-
}
|
|
19827
19760
|
disconnectedCallback() {
|
|
19828
19761
|
this.destroyCollapsibleHeader();
|
|
19829
19762
|
}
|
|
19830
19763
|
async checkCollapsibleHeader() {
|
|
19831
19764
|
const theme = getIonTheme(this);
|
|
19765
|
+
if (theme !== 'ios') {
|
|
19766
|
+
return;
|
|
19767
|
+
}
|
|
19832
19768
|
const { collapse } = this;
|
|
19833
19769
|
const hasCondense = collapse === 'condense';
|
|
19834
19770
|
const hasFade = collapse === 'fade';
|
|
19835
|
-
const hasHide = collapse === 'hide';
|
|
19836
|
-
const runIosCollapse = theme === 'ios' && (hasCondense || hasFade);
|
|
19837
|
-
const runHide = hasHide;
|
|
19838
|
-
if (!runIosCollapse && !runHide) {
|
|
19839
|
-
this.destroyCollapsibleHeader();
|
|
19840
|
-
return;
|
|
19841
|
-
}
|
|
19842
19771
|
this.destroyCollapsibleHeader();
|
|
19843
19772
|
const appRootSelector = config.get('appRootSelector', 'ion-app');
|
|
19844
|
-
if (
|
|
19773
|
+
if (hasCondense) {
|
|
19845
19774
|
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
19846
19775
|
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
19847
19776
|
// Cloned elements are always needed in iOS transition
|
|
@@ -19852,7 +19781,7 @@ class Header {
|
|
|
19852
19781
|
});
|
|
19853
19782
|
await this.setupCondenseHeader(contentEl, pageEl);
|
|
19854
19783
|
}
|
|
19855
|
-
else if (
|
|
19784
|
+
else if (hasFade) {
|
|
19856
19785
|
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
19857
19786
|
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
19858
19787
|
if (!contentEl) {
|
|
@@ -19862,29 +19791,12 @@ class Header {
|
|
|
19862
19791
|
const condenseHeader = contentEl.querySelector('ion-header[collapse="condense"]');
|
|
19863
19792
|
await this.setupFadeHeader(contentEl, condenseHeader);
|
|
19864
19793
|
}
|
|
19865
|
-
if (runHide) {
|
|
19866
|
-
const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
|
|
19867
|
-
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
|
19868
|
-
if (!contentEl) {
|
|
19869
|
-
printIonContentErrorMsg(this.el);
|
|
19870
|
-
return;
|
|
19871
|
-
}
|
|
19872
|
-
await this.setupHideHeader(contentEl);
|
|
19873
|
-
}
|
|
19874
|
-
}
|
|
19875
|
-
async setupHideHeader(contentEl) {
|
|
19876
|
-
const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
|
|
19877
|
-
this.headerHideCleanup = createHeaderHideInteraction(this.el, scrollEl);
|
|
19878
19794
|
}
|
|
19879
19795
|
destroyCollapsibleHeader() {
|
|
19880
19796
|
if (this.intersectionObserver) {
|
|
19881
19797
|
this.intersectionObserver.disconnect();
|
|
19882
19798
|
this.intersectionObserver = undefined;
|
|
19883
19799
|
}
|
|
19884
|
-
if (this.headerHideCleanup) {
|
|
19885
|
-
this.headerHideCleanup();
|
|
19886
|
-
this.headerHideCleanup = undefined;
|
|
19887
|
-
}
|
|
19888
19800
|
if (this.scrollEl && this.contentScrollCallback) {
|
|
19889
19801
|
this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
|
|
19890
19802
|
this.contentScrollCallback = undefined;
|
|
@@ -19951,7 +19863,7 @@ class Header {
|
|
|
19951
19863
|
const isCondensed = collapse === 'condense';
|
|
19952
19864
|
// banner role must be at top level, so remove role if inside a menu
|
|
19953
19865
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
19954
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19866
|
+
return (hAsync(Host, Object.assign({ key: '3395dedfd5165ba6e9f3ad1a25f0bb5b3678704a', role: roleType, class: {
|
|
19955
19867
|
[theme]: true,
|
|
19956
19868
|
// Used internally for styling
|
|
19957
19869
|
[`header-${theme}`]: true,
|
|
@@ -19959,7 +19871,7 @@ class Header {
|
|
|
19959
19871
|
[`header-collapse-${collapse}`]: true,
|
|
19960
19872
|
[`header-translucent-${theme}`]: this.translucent,
|
|
19961
19873
|
['header-divider']: divider,
|
|
19962
|
-
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: '
|
|
19874
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'cafeb88b6e73d64b264514ea46590fd3477b3052', class: "header-background" }), hAsync("slot", { key: 'ad681aaf866d7e7a5e5e731c0b5d6f5cc9fe94d2' })));
|
|
19963
19875
|
}
|
|
19964
19876
|
get el() { return getElement(this); }
|
|
19965
19877
|
static get style() { return {
|
|
@@ -20310,9 +20222,9 @@ class Img {
|
|
|
20310
20222
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
20311
20223
|
const { draggable } = inheritedAttributes;
|
|
20312
20224
|
const theme = getIonTheme(this);
|
|
20313
|
-
return (hAsync(Host, { key: '
|
|
20225
|
+
return (hAsync(Host, { key: 'ba84621055567b2a35387709d9d89b97ad853274', class: {
|
|
20314
20226
|
[theme]: true,
|
|
20315
|
-
} }, hAsync("img", { key: '
|
|
20227
|
+
} }, hAsync("img", { key: '9d6118bbf69e2cccbb0603802c03b9a0d101e2c3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
20316
20228
|
}
|
|
20317
20229
|
get el() { return getElement(this); }
|
|
20318
20230
|
static get watchers() { return {
|
|
@@ -20617,7 +20529,7 @@ class InfiniteScroll {
|
|
|
20617
20529
|
render() {
|
|
20618
20530
|
const theme = getIonTheme(this);
|
|
20619
20531
|
const disabled = this.disabled;
|
|
20620
|
-
return (hAsync(Host, { key: '
|
|
20532
|
+
return (hAsync(Host, { key: 'e3a3cde079dfd6f07e565eb462765df757cbb128', class: {
|
|
20621
20533
|
[theme]: true,
|
|
20622
20534
|
'infinite-scroll-loading': this.isLoading,
|
|
20623
20535
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -20680,11 +20592,11 @@ class InfiniteScrollContent {
|
|
|
20680
20592
|
}
|
|
20681
20593
|
render() {
|
|
20682
20594
|
const theme = getIonTheme(this);
|
|
20683
|
-
return (hAsync(Host, { key: '
|
|
20595
|
+
return (hAsync(Host, { key: '263a27297159ced042f7552a1e14b8c6aba62fa8', class: {
|
|
20684
20596
|
[theme]: true,
|
|
20685
20597
|
// Used internally for styling
|
|
20686
20598
|
[`infinite-scroll-content-${theme}`]: true,
|
|
20687
|
-
} }, hAsync("div", { key: '
|
|
20599
|
+
} }, hAsync("div", { key: 'ee38d3c52df9dc5de186406b3087f20917a17252', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: 'e2348727f79a26f52f42641d4334a0ba9d4aa03e', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '41be6f2747f3af5f46c8738e2ef56083ecd95e99', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
20688
20600
|
}
|
|
20689
20601
|
static get style() { return {
|
|
20690
20602
|
ionic: ionicInfiniteScrollContentMdCss(),
|
|
@@ -21432,7 +21344,7 @@ class Input {
|
|
|
21432
21344
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
21433
21345
|
*/
|
|
21434
21346
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
21435
|
-
return (hAsync(Host, { key: '
|
|
21347
|
+
return (hAsync(Host, { key: '3da29d837b5abe22de740ac96c8142422fce537a', class: createColorClasses$1(this.color, {
|
|
21436
21348
|
[theme]: true,
|
|
21437
21349
|
'has-value': hasValue,
|
|
21438
21350
|
'has-focus': hasFocus,
|
|
@@ -21445,7 +21357,7 @@ class Input {
|
|
|
21445
21357
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
21446
21358
|
'input-disabled': disabled,
|
|
21447
21359
|
'input-readonly': readonly,
|
|
21448
|
-
}) }, hAsync("label", { key: '
|
|
21360
|
+
}) }, hAsync("label", { key: '142a8230382a05938887e9c0790832218ac37697', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '953f247ea2f40545e01e0346549d9b7aa344b720', class: "native-wrapper", onClick: this.onLabelClick },
|
|
21449
21361
|
/**
|
|
21450
21362
|
* For the ionic theme, we render the outline container here
|
|
21451
21363
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -21455,14 +21367,14 @@ class Input {
|
|
|
21455
21367
|
* <label> element, ensuring that clicking the label text
|
|
21456
21368
|
* focuses the input.
|
|
21457
21369
|
*/
|
|
21458
|
-
theme === 'ionic' && hAsync("div", { key: '
|
|
21370
|
+
theme === 'ionic' && hAsync("div", { key: 'fd09b37c6a798900c5074e7cbe2e790ea050c29d', class: "input-outline" }), hAsync("slot", { key: '3eef4c4748104d8722f3254a04ff88e2b70c560e', name: "start" }), hAsync("input", Object.assign({ key: '012a3fa52e19422d7fbc227845e9771c7d8fbe4a', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (hAsync("button", { key: 'b115494d9611aea57a976d3102026f3d9b430bfb', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
21459
21371
|
/**
|
|
21460
21372
|
* This prevents mobile browsers from
|
|
21461
21373
|
* blurring the input when the clear
|
|
21462
21374
|
* button is activated.
|
|
21463
21375
|
*/
|
|
21464
21376
|
ev.preventDefault();
|
|
21465
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
21377
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: 'a259afa47a9914b2e0656364bed40644fa2c87c4', "aria-hidden": "true", icon: inputClearIcon }))), hAsync("slot", { key: 'beec86eb500f6b335149c8734afc7c3945a10219', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '77a25d118934f369e09edbc2ffa6f90e3e760338', class: "input-highlight" })), this.renderBottomContent()));
|
|
21466
21378
|
}
|
|
21467
21379
|
get el() { return getElement(this); }
|
|
21468
21380
|
static get watchers() { return {
|
|
@@ -22227,7 +22139,7 @@ class InputOTP {
|
|
|
22227
22139
|
const tabbableIndex = this.getTabbableIndex();
|
|
22228
22140
|
const pattern = this.getPattern();
|
|
22229
22141
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
22230
|
-
return (hAsync(Host, { key: '
|
|
22142
|
+
return (hAsync(Host, { key: 'f39e98cd24cbf50f7db4e891dda9499f6def7986', class: createColorClasses$1(color, {
|
|
22231
22143
|
[mode]: true,
|
|
22232
22144
|
'has-focus': hasFocus,
|
|
22233
22145
|
[`input-otp-size-${size}`]: true,
|
|
@@ -22235,10 +22147,10 @@ class InputOTP {
|
|
|
22235
22147
|
[`input-otp-fill-${fill}`]: true,
|
|
22236
22148
|
'input-otp-disabled': disabled,
|
|
22237
22149
|
'input-otp-readonly': readonly,
|
|
22238
|
-
}) }, hAsync("div", Object.assign({ key: '
|
|
22150
|
+
}) }, hAsync("div", Object.assign({ key: '624adcd552947708162003353b331cd92df062ef', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper", part: "container" }, hAsync("input", { class: "native-input", part: "native", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator", part: "separator" }))))), hAsync("div", { key: 'c518d83ab0236a3ebbe631582ce6f1c2edfbcd29', class: {
|
|
22239
22151
|
'input-otp-description': true,
|
|
22240
22152
|
'input-otp-description-hidden': !hasDescription,
|
|
22241
|
-
}, part: "description" }, hAsync("slot", { key: '
|
|
22153
|
+
}, part: "description" }, hAsync("slot", { key: '15c7c8549c1788748e1ae31bd227a7f918cb5eca' }))));
|
|
22242
22154
|
}
|
|
22243
22155
|
static get formAssociated() { return true; }
|
|
22244
22156
|
get el() { return getElement(this); }
|
|
@@ -22386,16 +22298,16 @@ class InputPasswordToggle {
|
|
|
22386
22298
|
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
22387
22299
|
const mode = getIonMode$1(this);
|
|
22388
22300
|
const isPasswordVisible = type === 'text';
|
|
22389
|
-
return (hAsync(Host, { key: '
|
|
22301
|
+
return (hAsync(Host, { key: 'f11e3bf4d3255e003aec504e6dd3ee1e0caaf767', class: createColorClasses$1(color, {
|
|
22390
22302
|
[mode]: true,
|
|
22391
|
-
}) }, hAsync("ion-button", { key: '
|
|
22303
|
+
}) }, hAsync("ion-button", { key: '5bba43f7755857fd9347612bb906c389b60386b4', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
|
|
22392
22304
|
/**
|
|
22393
22305
|
* This prevents mobile browsers from
|
|
22394
22306
|
* blurring the input when the password toggle
|
|
22395
22307
|
* button is activated.
|
|
22396
22308
|
*/
|
|
22397
22309
|
ev.preventDefault();
|
|
22398
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
22310
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'c0eb0e4e2f3e9553bfd519ff655064c9f62af406', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
22399
22311
|
}
|
|
22400
22312
|
get el() { return getElement(this); }
|
|
22401
22313
|
static get watchers() { return {
|
|
@@ -22770,11 +22682,11 @@ class ItemDivider {
|
|
|
22770
22682
|
}
|
|
22771
22683
|
render() {
|
|
22772
22684
|
const theme = getIonTheme(this);
|
|
22773
|
-
return (hAsync(Host, { key: '
|
|
22685
|
+
return (hAsync(Host, { key: 'dc73f348b5376faa40ba4bc6bba3d5c9e5ec5ab2', class: createColorClasses$1(this.color, {
|
|
22774
22686
|
[theme]: true,
|
|
22775
22687
|
'item-divider-sticky': this.sticky,
|
|
22776
22688
|
item: true,
|
|
22777
|
-
}) }, hAsync("slot", { key: '
|
|
22689
|
+
}) }, hAsync("slot", { key: '0f535b2cf91f2ec042aa59a89498cfa0e4d541a0', name: "start" }), hAsync("div", { key: '867c8c1a1bd273a5f5018f77785f11d58152e8b9', class: "item-divider-inner", part: "inner" }, hAsync("div", { key: 'c32b2a5658d27cf5d8cd8ffbfa476c02755e1afd', class: "item-divider-wrapper", part: "container" }, hAsync("slot", { key: 'f8b0fea29a910cd2e36301586532be3a8348c31e' })), hAsync("slot", { key: '418750f630c851cf04b6a278c1666c6cf33c113c', name: "end" }))));
|
|
22778
22690
|
}
|
|
22779
22691
|
get el() { return getElement(this); }
|
|
22780
22692
|
static get style() { return {
|
|
@@ -22811,7 +22723,7 @@ class ItemGroup {
|
|
|
22811
22723
|
}
|
|
22812
22724
|
render() {
|
|
22813
22725
|
const theme = getIonTheme(this);
|
|
22814
|
-
return (hAsync(Host, { key: '
|
|
22726
|
+
return (hAsync(Host, { key: '017c8f7cd0258e1864423337ddd1b1cb522f64ed', role: "group", class: {
|
|
22815
22727
|
[theme]: true,
|
|
22816
22728
|
// Used internally for styling
|
|
22817
22729
|
[`item-group-${theme}`]: true,
|
|
@@ -22907,14 +22819,14 @@ class ItemOption {
|
|
|
22907
22819
|
href: this.href,
|
|
22908
22820
|
target: this.target,
|
|
22909
22821
|
};
|
|
22910
|
-
return (hAsync(Host, { key: '
|
|
22822
|
+
return (hAsync(Host, { key: '8f1bad23fd3ccbb9d54d57765e6731cd2ee07306', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
22911
22823
|
[theme]: true,
|
|
22912
22824
|
[`item-option-${shape}`]: shape !== undefined,
|
|
22913
22825
|
[`item-option-${hue}`]: hue !== undefined,
|
|
22914
22826
|
'item-option-disabled': disabled,
|
|
22915
22827
|
'item-option-expandable': expandable,
|
|
22916
22828
|
'ion-activatable': true,
|
|
22917
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
22829
|
+
}) }, hAsync(TagType, Object.assign({ key: '2baf904e356a87ed463ee5f517e0e95f90b2ef30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '49b627f72dffd1b150ccd808b1b1f63bbe78e2de', class: "button-inner", part: "inner" }, hAsync("slot", { key: 'cdb52f76f1d7e5df411215f17eb76ad25e36241a', name: "top" }), hAsync("div", { key: '864204667c6e3ba6f989b24e96c131b67e55d408', class: "horizontal-wrapper", part: "container" }, hAsync("slot", { key: '474f4aab708842bb7ef74cb6f1fbe601ceff82cf', name: "start" }), hAsync("slot", { key: '2bd726c5ba3ee079a623f1f6229d1ac2afd3e291', name: "icon-only" }), hAsync("slot", { key: '2d1a673c447ebf82c92f944ec9e83a5b38698307' }), hAsync("slot", { key: '8d0f9337cd84c725190cffd25d74044075e85ab0', name: "end" })), hAsync("slot", { key: 'a674039b26d9cbb886e88ea721bbc210484aba9f', name: "bottom" })), theme === 'md' && hAsync("ion-ripple-effect", { key: '3e45bf18b7992943c47ece47e9358f4da0b8e865' }))));
|
|
22918
22830
|
}
|
|
22919
22831
|
get el() { return getElement(this); }
|
|
22920
22832
|
static get style() { return {
|
|
@@ -22972,7 +22884,7 @@ class ItemOptions {
|
|
|
22972
22884
|
render() {
|
|
22973
22885
|
const theme = getIonTheme(this);
|
|
22974
22886
|
const isEnd = isEndSide(this.side);
|
|
22975
|
-
return (hAsync(Host, { key: '
|
|
22887
|
+
return (hAsync(Host, { key: 'ed05ceebf2cda943ac9efea2f91b71f7e8fc55e8', class: {
|
|
22976
22888
|
[theme]: true,
|
|
22977
22889
|
// Used internally for styling
|
|
22978
22890
|
[`item-options-${theme}`]: true,
|
|
@@ -23824,7 +23736,7 @@ class ItemSliding {
|
|
|
23824
23736
|
}
|
|
23825
23737
|
render() {
|
|
23826
23738
|
const theme = getIonTheme(this);
|
|
23827
|
-
return (hAsync(Host, { key: '
|
|
23739
|
+
return (hAsync(Host, { key: '47de8c8a9721f9223b42d6722a9ad32f378818aa', class: {
|
|
23828
23740
|
[theme]: true,
|
|
23829
23741
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
23830
23742
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23943,13 +23855,13 @@ class Label {
|
|
|
23943
23855
|
render() {
|
|
23944
23856
|
const position = this.position;
|
|
23945
23857
|
const theme = getIonTheme(this);
|
|
23946
|
-
return (hAsync(Host, { key: '
|
|
23858
|
+
return (hAsync(Host, { key: 'b1f261db441bcb0a325a5b3e21da17764a56f17c', class: createColorClasses$1(this.color, {
|
|
23947
23859
|
[theme]: true,
|
|
23948
23860
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23949
23861
|
[`label-${position}`]: position !== undefined,
|
|
23950
23862
|
[`label-no-animate`]: this.noAnimate,
|
|
23951
23863
|
'label-rtl': document.dir === 'rtl',
|
|
23952
|
-
}) }, hAsync("slot", { key: '
|
|
23864
|
+
}) }, hAsync("slot", { key: '490444c8c0d4cf72eae3f8abfb7ed7ecc30bb213' })));
|
|
23953
23865
|
}
|
|
23954
23866
|
get el() { return getElement(this); }
|
|
23955
23867
|
static get watchers() { return {
|
|
@@ -24029,7 +23941,7 @@ class List {
|
|
|
24029
23941
|
const theme = getIonTheme(this);
|
|
24030
23942
|
const shape = this.getShape();
|
|
24031
23943
|
const { lines, inset } = this;
|
|
24032
|
-
return (hAsync(Host, { key: '
|
|
23944
|
+
return (hAsync(Host, { key: '9be30ff6e75e020c0db7054800cb874efef26bd8', role: "list", class: {
|
|
24033
23945
|
[theme]: true,
|
|
24034
23946
|
// Used internally for styling
|
|
24035
23947
|
[`list-${theme}`]: true,
|
|
@@ -24079,10 +23991,10 @@ class ListHeader {
|
|
|
24079
23991
|
render() {
|
|
24080
23992
|
const { lines } = this;
|
|
24081
23993
|
const theme = getIonTheme(this);
|
|
24082
|
-
return (hAsync(Host, { key: '
|
|
23994
|
+
return (hAsync(Host, { key: '7a1632a069317285210f4aeae50a6f2ef6955c56', class: createColorClasses$1(this.color, {
|
|
24083
23995
|
[theme]: true,
|
|
24084
23996
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
24085
|
-
}) }, hAsync("div", { key: '
|
|
23997
|
+
}) }, hAsync("div", { key: 'a9a9463f209023da222f38a78126d5aaeb2f03b9', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'e3c6ec1b588392d347844d59d338abc339e80634' }))));
|
|
24086
23998
|
}
|
|
24087
23999
|
static get style() { return {
|
|
24088
24000
|
ionic: listHeaderIonicCss(),
|
|
@@ -24371,9 +24283,9 @@ class Loading {
|
|
|
24371
24283
|
* Otherwise, don't set aria-labelledby.
|
|
24372
24284
|
*/
|
|
24373
24285
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
24374
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24286
|
+
return (hAsync(Host, Object.assign({ key: '2ffae36b20a7d7f3a752a062d90062583e31d053', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
24375
24287
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
24376
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
24288
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'a6d8cac2c34a0905ec67a2c64be7ec12cc84f168', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'cd011d86f20869096a8546f098fb5edad44033a1', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '70298be2139d6004e0f8fc5a85c5d05f1efdc347', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '32aef90695d91e0a82696abbce96ba29cb1a2608', class: "loading-spinner" }, hAsync("ion-spinner", { key: '7ae69c27be273cf3e83230dae043168df27ac27e', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'f13a01b31516c3fe85dd3a623962290c03e7412f', tabindex: "0", "aria-hidden": "true" })));
|
|
24377
24289
|
}
|
|
24378
24290
|
get el() { return getElement(this); }
|
|
24379
24291
|
static get watchers() { return {
|
|
@@ -25434,14 +25346,14 @@ class Menu {
|
|
|
25434
25346
|
* the ionBackButton listener in the menu controller
|
|
25435
25347
|
* will handle closing the menu when Escape is pressed.
|
|
25436
25348
|
*/
|
|
25437
|
-
return (hAsync(Host, { key: '
|
|
25349
|
+
return (hAsync(Host, { key: '76e15d710fbbbd2e64795224decc3673fd160db0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
25438
25350
|
[theme]: true,
|
|
25439
25351
|
[`menu-type-${type}`]: true,
|
|
25440
25352
|
'menu-enabled': !disabled,
|
|
25441
25353
|
[`menu-side-${side}`]: true,
|
|
25442
25354
|
'menu-pane-visible': isPaneVisible,
|
|
25443
25355
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
25444
|
-
} }, hAsync("div", { key: '
|
|
25356
|
+
} }, hAsync("div", { key: 'cc0a0773caff97aefa98015bf3e36631173d2b4f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '0b90d1248bdf3bedafda7913189635c8d010abb6' })), hAsync("ion-backdrop", { key: '4fb7013bc61161e6e336541ed25605219410f749', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
25445
25357
|
}
|
|
25446
25358
|
get el() { return getElement(this); }
|
|
25447
25359
|
static get watchers() { return {
|
|
@@ -25575,7 +25487,7 @@ class MenuButton {
|
|
|
25575
25487
|
type: this.type,
|
|
25576
25488
|
};
|
|
25577
25489
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
25578
|
-
return (hAsync(Host, { key: '
|
|
25490
|
+
return (hAsync(Host, { key: '341ca3bfac81ce4432eef5d2fd738becd1dfb07e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
25579
25491
|
[theme]: true,
|
|
25580
25492
|
button: true, // ion-buttons target .button
|
|
25581
25493
|
'menu-button-hidden': hidden,
|
|
@@ -25584,7 +25496,7 @@ class MenuButton {
|
|
|
25584
25496
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
25585
25497
|
'ion-activatable': true,
|
|
25586
25498
|
'ion-focusable': true,
|
|
25587
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
25499
|
+
}) }, hAsync("button", Object.assign({ key: '6e6229df2fc1f2d18294a5fbf7fe71e7dd47666a' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '0216acbf67d7aa5edc52328f7ded4cb98bc8a237', class: "button-inner" }, hAsync("slot", { key: '5c2cdae42add9a25d3e6323048fcbc6b5fc9b32e' }, hAsync("ion-icon", { key: '5b38c283957cd2f1ad659427dec612fc84fc054f', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && hAsync("ion-ripple-effect", { key: 'adabe4ffa1d66fe36d55294d774db9c4bba1ad76', type: "unbounded" }))));
|
|
25588
25500
|
}
|
|
25589
25501
|
get el() { return getElement(this); }
|
|
25590
25502
|
static get style() { return {
|
|
@@ -25641,10 +25553,10 @@ class MenuToggle {
|
|
|
25641
25553
|
render() {
|
|
25642
25554
|
const theme = getIonTheme(this);
|
|
25643
25555
|
const hidden = this.autoHide && !this.visible;
|
|
25644
|
-
return (hAsync(Host, { key: '
|
|
25556
|
+
return (hAsync(Host, { key: '9ef631d9ae370a8740e691d281863203bfdddc38', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
25645
25557
|
[theme]: true,
|
|
25646
25558
|
'menu-toggle-hidden': hidden,
|
|
25647
|
-
} }, hAsync("slot", { key: '
|
|
25559
|
+
} }, hAsync("slot", { key: 'f8d9dfc562ed625ae47ec771ef6b2ea04bc463f4' })));
|
|
25648
25560
|
}
|
|
25649
25561
|
static get style() { return menuToggleCss(); }
|
|
25650
25562
|
static get cmpMeta() { return {
|
|
@@ -29147,20 +29059,20 @@ class Modal {
|
|
|
29147
29059
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
29148
29060
|
const shape = this.getShape();
|
|
29149
29061
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
29150
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
29062
|
+
return (hAsync(Host, Object.assign({ key: '6bd3c3a93a771d6b0c22626ea50f5a1c6d16f175', "no-router": true,
|
|
29151
29063
|
// Allow the modal to be navigable when the handle is focusable
|
|
29152
29064
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
29153
29065
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
29154
|
-
}, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '
|
|
29066
|
+
}, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '4a95da95bb355d68fa290275a3199e5bf0968941', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: 'e015746ae59a89fb228e1d5b046f291dc66c117e', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '1b2be6c696e729f750b07958be3f42e1cfd5ad8a',
|
|
29155
29067
|
/*
|
|
29156
29068
|
role and aria-modal must be used on the
|
|
29157
29069
|
same element. They must also be set inside the
|
|
29158
29070
|
shadow DOM otherwise ion-button will not be highlighted
|
|
29159
29071
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
29160
29072
|
*/
|
|
29161
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
29073
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '6b67921744aa4eb8776247cde85b083d0d02604a', class: "modal-handle",
|
|
29162
29074
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
29163
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '
|
|
29075
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '3e9d7f8e778bdf4cfd294f1e68af9d0dd2a9ee76', onSlotchange: this.onSlotChange }))));
|
|
29164
29076
|
}
|
|
29165
29077
|
get el() { return getElement(this); }
|
|
29166
29078
|
static get watchers() { return {
|
|
@@ -30120,7 +30032,7 @@ class Nav {
|
|
|
30120
30032
|
}
|
|
30121
30033
|
}
|
|
30122
30034
|
render() {
|
|
30123
|
-
return hAsync("slot", { key: '
|
|
30035
|
+
return hAsync("slot", { key: '3dfe9c2a5f3ea75cb6d82b76b240733105cddfad' });
|
|
30124
30036
|
}
|
|
30125
30037
|
get el() { return getElement(this); }
|
|
30126
30038
|
static get watchers() { return {
|
|
@@ -30201,7 +30113,7 @@ class NavLink {
|
|
|
30201
30113
|
};
|
|
30202
30114
|
}
|
|
30203
30115
|
render() {
|
|
30204
|
-
return hAsync(Host, { key: '
|
|
30116
|
+
return hAsync(Host, { key: '476bfb5bb6fba4f422ec40315fc3ef466d01f757', onClick: this.onClick });
|
|
30205
30117
|
}
|
|
30206
30118
|
get el() { return getElement(this); }
|
|
30207
30119
|
static get cmpMeta() { return {
|
|
@@ -30235,9 +30147,9 @@ class Note {
|
|
|
30235
30147
|
}
|
|
30236
30148
|
render() {
|
|
30237
30149
|
const theme = getIonTheme(this);
|
|
30238
|
-
return (hAsync(Host, { key: '
|
|
30150
|
+
return (hAsync(Host, { key: '376ae1c66c19d1bdd74a2371c0639ed9e49648b5', class: createColorClasses$1(this.color, {
|
|
30239
30151
|
[theme]: true,
|
|
30240
|
-
}) }, hAsync("slot", { key: '
|
|
30152
|
+
}) }, hAsync("slot", { key: 'f8168cd88bb21c5e5a2b03c29539729fb38a19fd' })));
|
|
30241
30153
|
}
|
|
30242
30154
|
static get style() { return {
|
|
30243
30155
|
ionic: ionicNoteMdCss(),
|
|
@@ -31003,11 +30915,11 @@ class Picker {
|
|
|
31003
30915
|
render() {
|
|
31004
30916
|
const { htmlAttributes } = this;
|
|
31005
30917
|
const theme = getIonTheme(this);
|
|
31006
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30918
|
+
return (hAsync(Host, Object.assign({ key: '681ad6d20efa16f1d6c6f9a7d03caec2b17ff36e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
31007
30919
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31008
30920
|
}, class: Object.assign({ [theme]: true,
|
|
31009
30921
|
// Used internally for styling
|
|
31010
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
30922
|
+
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '6dc71805810955048479c2a6eddce2303161cb8f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '0e61724c261c9d69ba23d3cb9064018942755033', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a6ca79c9a5fce42b5aad6808802535c723f27fb9', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '7651cbe9d723bba032788d85711e0f7c1dc32c21', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'd6b83aded670bc74515c337c038503e396ab42cc', class: "picker-columns" }, hAsync("div", { key: '1dfef6ed386d7b327dc19397cc9f01c3938fbab9', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'ec8b2f4de073a245f8917a494a681adf5d1f94f6', class: "picker-below-highlight" }))), hAsync("div", { key: '8557ce93083feefa5deb6097270d756424f89ab2', tabindex: "0", "aria-hidden": "true" })));
|
|
31011
30923
|
}
|
|
31012
30924
|
get el() { return getElement(this); }
|
|
31013
30925
|
static get watchers() { return {
|
|
@@ -31985,9 +31897,9 @@ class PickerColumnCmp {
|
|
|
31985
31897
|
render() {
|
|
31986
31898
|
const col = this.col;
|
|
31987
31899
|
const theme = getIonTheme(this);
|
|
31988
|
-
return (hAsync(Host, { key: '
|
|
31900
|
+
return (hAsync(Host, { key: 'aed1c1a702e03765d704f6f563fe26df58e68bbf', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
31989
31901
|
'max-width': this.col.columnWidth,
|
|
31990
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
31902
|
+
} }, col.prefix && (hAsync("div", { key: 'a6fae778eec5d57dba4b36b3e448c5c12fe0688b', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '1b77354fe5eeeeb4db94fab035a9ef5e45d695ac', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '105286ef7ba6eac0796f5af7d6f1daef7107444a', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
31991
31903
|
}
|
|
31992
31904
|
get el() { return getElement(this); }
|
|
31993
31905
|
static get watchers() { return {
|
|
@@ -32112,10 +32024,10 @@ class PickerColumnOption {
|
|
|
32112
32024
|
render() {
|
|
32113
32025
|
const { color, disabled, ariaLabel } = this;
|
|
32114
32026
|
const theme = getIonTheme(this);
|
|
32115
|
-
return (hAsync(Host, { key: '
|
|
32027
|
+
return (hAsync(Host, { key: 'fe9553e3157d35f5c28a3f2457715bd598ec1e00', class: createColorClasses$1(color, {
|
|
32116
32028
|
[theme]: true,
|
|
32117
32029
|
['option-disabled']: disabled,
|
|
32118
|
-
}) }, hAsync("div", { key: '
|
|
32030
|
+
}) }, hAsync("div", { key: '9bc334f020012537144972b5a8a1aed7c35ccec5', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'bd076e43c98ad920486230684c7f63e7e0b187f8' }))));
|
|
32119
32031
|
}
|
|
32120
32032
|
get el() { return getElement(this); }
|
|
32121
32033
|
static get watchers() { return {
|
|
@@ -33684,9 +33596,9 @@ class Popover {
|
|
|
33684
33596
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
33685
33597
|
const desktop = isPlatform('desktop');
|
|
33686
33598
|
const enableArrow = arrow && !parentPopover;
|
|
33687
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
33599
|
+
return (hAsync(Host, Object.assign({ key: '3319e6ea7524a30478985c014634403aceedab6f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
33688
33600
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
33689
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '
|
|
33601
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '45265b1f8e5e6e822b3c8d4992039975c472b10b', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '8707fb5c5b9523fd786c4e4d02d41dfb386be187', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '17bd682e56939ba10ab4b2ab3c9e916087a7e19a', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '02f1bd119d2ffecd2f2541969111fc6e156db9d3', class: "popover-content", part: "content" }, hAsync("slot", { key: 'dec29181eee87f28f731d6a0ba1ef3c81867d527' })))));
|
|
33690
33602
|
}
|
|
33691
33603
|
get el() { return getElement(this); }
|
|
33692
33604
|
static get watchers() { return {
|
|
@@ -33814,7 +33726,7 @@ class ProgressBar {
|
|
|
33814
33726
|
const shape = this.getShape();
|
|
33815
33727
|
// If the progress is displayed as a solid bar.
|
|
33816
33728
|
const progressSolid = buffer === 1;
|
|
33817
|
-
return (hAsync(Host, { key: '
|
|
33729
|
+
return (hAsync(Host, { key: '1cf02806b28a0d7b070e6f3616ea8f4c8ae4990a', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
33818
33730
|
[theme]: true,
|
|
33819
33731
|
[`progress-bar-${type}`]: true,
|
|
33820
33732
|
'progress-paused': paused,
|
|
@@ -34007,7 +33919,7 @@ class Radio {
|
|
|
34007
33919
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
34008
33920
|
const theme = getIonTheme(this);
|
|
34009
33921
|
const inItem = hostContext('ion-item', el);
|
|
34010
|
-
return (hAsync(Host, { key: '
|
|
33922
|
+
return (hAsync(Host, { key: 'e9591254a3823435617732dcf415ea4bb5fa4d62', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
34011
33923
|
[theme]: true,
|
|
34012
33924
|
'in-item': inItem,
|
|
34013
33925
|
'radio-checked': checked,
|
|
@@ -34018,10 +33930,10 @@ class Radio {
|
|
|
34018
33930
|
// Focus and active styling should not apply when the radio is in an item
|
|
34019
33931
|
'ion-activatable': !inItem,
|
|
34020
33932
|
'ion-focusable': !inItem,
|
|
34021
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
33933
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '798691948e77bdba972f45eb668bb6d38c1920b3', class: "radio-wrapper" }, hAsync("div", { key: '054d373156983bb22b3216b2a0f8d5a6ecd0aa08', class: {
|
|
34022
33934
|
'label-text-wrapper': true,
|
|
34023
33935
|
'label-text-wrapper-hidden': !hasLabel,
|
|
34024
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
33936
|
+
}, part: "label" }, hAsync("slot", { key: 'a77d60be10ece9c80bab6e5c2a24533eede95362' })), hAsync("div", { key: 'e687dc6686b0748a1a3337cd87a01c01315c0f22', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
34025
33937
|
}
|
|
34026
33938
|
get el() { return getElement(this); }
|
|
34027
33939
|
static get watchers() { return {
|
|
@@ -34291,10 +34203,10 @@ class RadioGroup {
|
|
|
34291
34203
|
const { label, labelId, el, name, value } = this;
|
|
34292
34204
|
const theme = getIonTheme(this);
|
|
34293
34205
|
renderHiddenInput(true, el, name, value, false);
|
|
34294
|
-
return (hAsync(Host, { key: '
|
|
34206
|
+
return (hAsync(Host, { key: '8a57b258087569c2fb13ddaa6e83e06822c05a4d', class: {
|
|
34295
34207
|
[theme]: true,
|
|
34296
34208
|
'in-list': hostContext('ion-list', el),
|
|
34297
|
-
}, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), hAsync("slot", { key: '
|
|
34209
|
+
}, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), hAsync("slot", { key: '83d8e8febe7f368dfb6caa40eeafda8bf7d5ecef' })));
|
|
34298
34210
|
}
|
|
34299
34211
|
get el() { return getElement(this); }
|
|
34300
34212
|
static get watchers() { return {
|
|
@@ -35144,7 +35056,7 @@ class Range {
|
|
|
35144
35056
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
35145
35057
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
35146
35058
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
35147
|
-
return (hAsync(Host, { key: '
|
|
35059
|
+
return (hAsync(Host, { key: '0f39669a81cfb08a3aca6998b95bda68f5076306', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
35148
35060
|
[theme]: true,
|
|
35149
35061
|
'in-item': inItem,
|
|
35150
35062
|
'range-disabled': disabled,
|
|
@@ -35158,10 +35070,10 @@ class Range {
|
|
|
35158
35070
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
35159
35071
|
'range-value-min': valueAtMin,
|
|
35160
35072
|
'range-value-max': valueAtMax,
|
|
35161
|
-
}) }, hAsync("label", { key: '
|
|
35073
|
+
}) }, hAsync("label", { key: 'c1615da8ac01fccb650a8d1eb6b6b69562634e2f', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'ba530e76d0253f457b04bbd8403d9a02ac859cfe', class: {
|
|
35162
35074
|
'label-text-wrapper': true,
|
|
35163
35075
|
'label-text-wrapper-hidden': !hasLabel,
|
|
35164
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
35076
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '253bfb6e4add9852054f08194f07d32430832f1f', class: "native-wrapper" }, hAsync("slot", { key: '160ee66c73ab6e982c6efddb0107fbbcd42de962', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '486102e34a85d900aa6a6d909b27a98da947bbe2', name: "end" })))));
|
|
35165
35077
|
}
|
|
35166
35078
|
get el() { return getElement(this); }
|
|
35167
35079
|
static get watchers() { return {
|
|
@@ -36236,7 +36148,7 @@ class Refresher {
|
|
|
36236
36148
|
}
|
|
36237
36149
|
render() {
|
|
36238
36150
|
const theme = getIonTheme(this);
|
|
36239
|
-
return (hAsync(Host, { key: '
|
|
36151
|
+
return (hAsync(Host, { key: '5761384ab0eb88600ad036b6fdbebf8e5150e6b8', slot: "fixed", class: {
|
|
36240
36152
|
[theme]: true,
|
|
36241
36153
|
// Used internally for styling
|
|
36242
36154
|
[`refresher-${theme}`]: true,
|
|
@@ -36475,9 +36387,9 @@ class RefresherContent {
|
|
|
36475
36387
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
36476
36388
|
const theme = getIonTheme(this);
|
|
36477
36389
|
const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
|
|
36478
|
-
return (hAsync(Host, { key: '
|
|
36390
|
+
return (hAsync(Host, { key: '3d2d138e485b3b2beae47b9ea4e140f0b9647434', class: {
|
|
36479
36391
|
[theme]: true,
|
|
36480
|
-
} }, hAsync("div", { key: '
|
|
36392
|
+
} }, hAsync("div", { key: 'd0c950b65a37a75b795503574a980cdb61f674e1', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '8c6e27b2fb134c21fb7e8864433802a95ba0f328', class: "refresher-pulling-icon" }, hAsync("div", { key: '0a947b7779502780f2c835f8686f3a06e21a9194', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '59c129077809add46b7fe6dcf5fc0edbb1cc94d5', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (hAsync("div", { key: 'a28750ed07d9337febbceb5550683eb1c302858c', class: "arrow-container" }, hAsync("ion-icon", { key: 'e14e3b9f9ad51ce3a138a191a848078bd423fa9b', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '22c4c80ef1e340a8ec9ca718849b412a09507967', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '6506d0dd30bf639a23cda57c6d1c2a9c29e42ed6', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'a54967c5f539ed182106b1c5fa7b499de84c049a', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '2e425f66d780e90474b8ebf7473b9f7c98f30c81', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '286b9b9cce1cb4450ffa5577f0b76044877722ce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
36481
36393
|
}
|
|
36482
36394
|
get el() { return getElement(this); }
|
|
36483
36395
|
static get style() { return {
|
|
@@ -36546,9 +36458,9 @@ class Reorder {
|
|
|
36546
36458
|
render() {
|
|
36547
36459
|
const { reorderHandleIcon } = this;
|
|
36548
36460
|
const theme = getIonTheme(this);
|
|
36549
|
-
return (hAsync(Host, { key: '
|
|
36461
|
+
return (hAsync(Host, { key: 'bc0b4cd34db6dfe794ab66a785d406bfc02236c5', class: {
|
|
36550
36462
|
[theme]: true,
|
|
36551
|
-
} }, hAsync("slot", { key: '
|
|
36463
|
+
} }, hAsync("slot", { key: '28672768be8598b7cb47b7b2837b77afbc2c2e14' }, hAsync("ion-icon", { key: '03b6620768da18a6f8cb0c55e94b85a53cbab66a', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
36552
36464
|
}
|
|
36553
36465
|
get el() { return getElement(this); }
|
|
36554
36466
|
static get style() { return {
|
|
@@ -36824,7 +36736,7 @@ class ReorderGroup {
|
|
|
36824
36736
|
}
|
|
36825
36737
|
render() {
|
|
36826
36738
|
const theme = getIonTheme(this);
|
|
36827
|
-
return (hAsync(Host, { key: '
|
|
36739
|
+
return (hAsync(Host, { key: 'c095e5428be9f446f245d37a12653978bb2bc2b6', class: {
|
|
36828
36740
|
[theme]: true,
|
|
36829
36741
|
'reorder-enabled': !this.disabled,
|
|
36830
36742
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -36950,7 +36862,7 @@ class RippleEffect {
|
|
|
36950
36862
|
}
|
|
36951
36863
|
render() {
|
|
36952
36864
|
const theme = getIonTheme(this);
|
|
36953
|
-
return (hAsync(Host, { key: '
|
|
36865
|
+
return (hAsync(Host, { key: '51fe7517d41c643bd4e746f366f513c42dac17dc', role: "presentation", class: {
|
|
36954
36866
|
[theme]: true,
|
|
36955
36867
|
unbounded: this.unbounded,
|
|
36956
36868
|
} }));
|
|
@@ -37935,10 +37847,10 @@ class RouterLink {
|
|
|
37935
37847
|
rel: this.rel,
|
|
37936
37848
|
target: this.target,
|
|
37937
37849
|
};
|
|
37938
|
-
return (hAsync(Host, { key: '
|
|
37850
|
+
return (hAsync(Host, { key: '84efbafddc586ee3f616d4e1a13118c04d9b2753', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37939
37851
|
[theme]: true,
|
|
37940
37852
|
'ion-activatable': true,
|
|
37941
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
37853
|
+
}) }, hAsync("a", Object.assign({ key: 'e8c7cda4c00ec45548ea52b632bc4adb07f9460c' }, attrs), hAsync("slot", { key: '133bf1203a3e218e3868b4cfda00bb753ecea946' }))));
|
|
37942
37854
|
}
|
|
37943
37855
|
static get style() { return routerLinkCss(); }
|
|
37944
37856
|
static get cmpMeta() { return {
|
|
@@ -38138,7 +38050,7 @@ class RouterOutlet {
|
|
|
38138
38050
|
return true;
|
|
38139
38051
|
}
|
|
38140
38052
|
render() {
|
|
38141
|
-
return hAsync("slot", { key: '
|
|
38053
|
+
return hAsync("slot", { key: '56e3d06ed939755796058e30ef19fbc7f7cb490d' });
|
|
38142
38054
|
}
|
|
38143
38055
|
get el() { return getElement(this); }
|
|
38144
38056
|
static get watchers() { return {
|
|
@@ -38178,9 +38090,9 @@ class Row {
|
|
|
38178
38090
|
}
|
|
38179
38091
|
render() {
|
|
38180
38092
|
const theme = getIonTheme(this);
|
|
38181
|
-
return (hAsync(Host, { key: '
|
|
38093
|
+
return (hAsync(Host, { key: '3a3c40062d2d0487c61dedbb172215b87bb425b1', class: {
|
|
38182
38094
|
[theme]: true,
|
|
38183
|
-
} }, hAsync("slot", { key: '
|
|
38095
|
+
} }, hAsync("slot", { key: '164f457f6f7853ed8f7279d20bc6ede6cf9d3e5c' })));
|
|
38184
38096
|
}
|
|
38185
38097
|
static get style() { return rowCss(); }
|
|
38186
38098
|
static get cmpMeta() { return {
|
|
@@ -38739,8 +38651,8 @@ class Searchbar {
|
|
|
38739
38651
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
38740
38652
|
const shape = this.getShape();
|
|
38741
38653
|
const size = this.getSize();
|
|
38742
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
38743
|
-
return (hAsync(Host, { key: '
|
|
38654
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '21affee126970b3de80d4af9c7659875dd9a07aa', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '62f81458b16cd51dd8cc5c309c42eeceda52e6fc', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (hAsync("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
|
|
38655
|
+
return (hAsync(Host, { key: '287a9c6ec7e54f621759224922003b5ce6c0fb25', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
38744
38656
|
[theme]: true,
|
|
38745
38657
|
'searchbar-animated': animated,
|
|
38746
38658
|
'searchbar-disabled': this.disabled,
|
|
@@ -38754,14 +38666,14 @@ class Searchbar {
|
|
|
38754
38666
|
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
38755
38667
|
[`searchbar-size-${size}`]: size !== undefined,
|
|
38756
38668
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38757
|
-
}) }, hAsync("div", { key: '
|
|
38669
|
+
}) }, hAsync("div", { key: 'a2e1d71d90435b78fe7f9adb70740f4dda599a8a', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'd3b5506f488229f6e3a348b39c52b49e8c86b43d', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (hAsync("ion-icon", { key: '2b52b78ad65b26e9d4f890b4dc8e8ec494b8ccb8', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (hAsync("button", { key: 'cd59304ab31763bd0d06393d6cf65459a5cd857b', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
38758
38670
|
/**
|
|
38759
38671
|
* This prevents mobile browsers from
|
|
38760
38672
|
* blurring the input when the clear
|
|
38761
38673
|
* button is activated.
|
|
38762
38674
|
*/
|
|
38763
38675
|
ev.preventDefault();
|
|
38764
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
38676
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6a9be85be51de19f84a852c43f93c46fb92c8d1a', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
38765
38677
|
}
|
|
38766
38678
|
get el() { return getElement(this); }
|
|
38767
38679
|
static get watchers() { return {
|
|
@@ -39376,14 +39288,14 @@ class Segment {
|
|
|
39376
39288
|
}
|
|
39377
39289
|
render() {
|
|
39378
39290
|
const theme = getIonTheme(this);
|
|
39379
|
-
return (hAsync(Host, { key: '
|
|
39291
|
+
return (hAsync(Host, { key: '65c576c0bb9ff0602793f75321d676a34b306b3b', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
39380
39292
|
[theme]: true,
|
|
39381
39293
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
39382
39294
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
39383
39295
|
'segment-activated': this.activated,
|
|
39384
39296
|
'segment-disabled': this.disabled,
|
|
39385
39297
|
'segment-scrollable': this.scrollable,
|
|
39386
|
-
}) }, hAsync("slot", { key: '
|
|
39298
|
+
}) }, hAsync("slot", { key: '210750a65ccada549bccf026871477ee2b7bdc69', onSlotchange: this.onSlottedItemsChange })));
|
|
39387
39299
|
}
|
|
39388
39300
|
get el() { return getElement(this); }
|
|
39389
39301
|
static get watchers() { return {
|
|
@@ -39535,7 +39447,7 @@ class SegmentButton {
|
|
|
39535
39447
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
39536
39448
|
const theme = getIonTheme(this);
|
|
39537
39449
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
39538
|
-
return (hAsync(Host, { key: '
|
|
39450
|
+
return (hAsync(Host, { key: 'da5c8352e5e0f3a01211edbc39c5043cadc5b06f', class: {
|
|
39539
39451
|
[theme]: true,
|
|
39540
39452
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
39541
39453
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -39551,7 +39463,7 @@ class SegmentButton {
|
|
|
39551
39463
|
'ion-activatable': true,
|
|
39552
39464
|
'ion-activatable-instant': true,
|
|
39553
39465
|
'ion-focusable': true,
|
|
39554
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
39466
|
+
} }, hAsync("button", Object.assign({ key: 'cfd963a166ebfeba590d6538069b26a107306583', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '845b729e96ba5b594d441ca41c73e2c33a4f5817', class: "button-inner" }, hAsync("slot", { key: 'f38369982dd602c32dbbc6aca2fae6dbb53faa8a' })), theme === 'md' && hAsync("ion-ripple-effect", { key: 'b1b15b731688dd02806409c9c3eda5519a958239' })), hAsync("div", { key: 'fff597d493a85be8005ef3b9eb4f2a93c2a7a4d0', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'f06b53d0ef9d08354f562ac6d3469998257dd688', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
39555
39467
|
}
|
|
39556
39468
|
get el() { return getElement(this); }
|
|
39557
39469
|
static get watchers() { return {
|
|
@@ -39589,7 +39501,7 @@ class SegmentContent {
|
|
|
39589
39501
|
registerInstance(this, hostRef);
|
|
39590
39502
|
}
|
|
39591
39503
|
render() {
|
|
39592
|
-
return (hAsync(Host, { key: '
|
|
39504
|
+
return (hAsync(Host, { key: '2f43cadcbcb1a9423b30e7abc169ff923a8c431f' }, hAsync("slot", { key: 'c3a6d3e9c336f5124cdec9f37ef516324558073c' })));
|
|
39593
39505
|
}
|
|
39594
39506
|
static get style() { return segmentContentCss(); }
|
|
39595
39507
|
static get cmpMeta() { return {
|
|
@@ -39717,11 +39629,11 @@ class SegmentView {
|
|
|
39717
39629
|
}
|
|
39718
39630
|
render() {
|
|
39719
39631
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
39720
|
-
return (hAsync(Host, { key: '
|
|
39632
|
+
return (hAsync(Host, { key: '8d1aa594c5674bca376ee3e9b18b60b0925dd875', class: {
|
|
39721
39633
|
'segment-view-disabled': disabled,
|
|
39722
39634
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
39723
39635
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
39724
|
-
} }, hAsync("slot", { key: '
|
|
39636
|
+
} }, hAsync("slot", { key: '6375fa794ae615b74a70968718aadefa0a9fc1d6' })));
|
|
39725
39637
|
}
|
|
39726
39638
|
get el() { return getElement(this); }
|
|
39727
39639
|
static get style() { return {
|
|
@@ -40657,7 +40569,7 @@ class Select {
|
|
|
40657
40569
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
40658
40570
|
*/
|
|
40659
40571
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
40660
|
-
return (hAsync(Host, { key: '
|
|
40572
|
+
return (hAsync(Host, { key: 'c8fc8ffc5e66fa0deef9556f365d8d95ff652b5d', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
40661
40573
|
[theme]: true,
|
|
40662
40574
|
'in-item': inItem,
|
|
40663
40575
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -40676,7 +40588,7 @@ class Select {
|
|
|
40676
40588
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
40677
40589
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
40678
40590
|
[`select-size-${size}`]: size !== undefined,
|
|
40679
|
-
}) }, hAsync("label", { key: '
|
|
40591
|
+
}) }, hAsync("label", { key: 'dd1b83a6bfadcce8e8a9559e529c86d86a5c142d', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: 'c7ae6112920eb9260be01ef4a723549a71e6e275', class: "select-wrapper-inner", part: "inner" },
|
|
40680
40592
|
/**
|
|
40681
40593
|
* For the ionic theme, we render the outline container here
|
|
40682
40594
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -40686,7 +40598,7 @@ class Select {
|
|
|
40686
40598
|
* <label> element, ensuring that clicking the label text
|
|
40687
40599
|
* focuses the select.
|
|
40688
40600
|
*/
|
|
40689
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
40601
|
+
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: 'da07a6cea39e13cc62de7104ef4c06ac8b3c8fe1', class: "select-outline" }), hAsync("slot", { key: '35c4261e4eb3f5d91e8fe61e02cfe3d93a2c6763', name: "start" }), hAsync("div", { key: 'e70c2896f0c7ad908811f5eb19abde9a432d086e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ddb79446bfc9dc97714c0395570d67ce6a5aa1bf', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '297abbcf88af9911c6ecbbb27e2f37846f213bdb', class: "select-highlight" })), this.renderBottomContent()));
|
|
40690
40602
|
}
|
|
40691
40603
|
get el() { return getElement(this); }
|
|
40692
40604
|
static get watchers() { return {
|
|
@@ -41078,7 +40990,7 @@ class SelectModal {
|
|
|
41078
40990
|
});
|
|
41079
40991
|
}
|
|
41080
40992
|
render() {
|
|
41081
|
-
return (hAsync(Host, { key: '
|
|
40993
|
+
return (hAsync(Host, { key: '6f1c1c0ad2dad8d4c1defc41a37e9cb4219facef', class: Object.assign({ [getIonMode$1(this)]: true }, this.getModalContextClasses()) }, hAsync("ion-header", { key: 'e917416fdfb8785511abac755f9cd23e24bc2c70' }, hAsync("ion-toolbar", { key: '7ce8116cdd882958f1c6d0abd9f6ddad60d4232b' }, this.header !== undefined && hAsync("ion-title", { key: 'aa2be148b57b756ca1abdc4b29c26861494e9341' }, this.header), hAsync("ion-buttons", { key: '7a9671f9426a5b9eb0fef1d4b446d2db98332f89', slot: "end" }, hAsync("ion-button", { key: 'c5c1511bed6e3361aa740de9bcab4c7445887518', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (hAsync("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), hAsync("ion-content", { key: 'ddabe1b04a9f65e741935e387c06ee8f749b38e1' }, hAsync("ion-list", { key: 'cb801aecd27444fb7bb9e3bf06e5934dfd1a9606' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
41082
40994
|
}
|
|
41083
40995
|
get el() { return getElement(this); }
|
|
41084
40996
|
static get style() { return {
|
|
@@ -41123,7 +41035,7 @@ class SelectOption {
|
|
|
41123
41035
|
}
|
|
41124
41036
|
render() {
|
|
41125
41037
|
const theme = getIonTheme(this);
|
|
41126
|
-
return (hAsync(Host, { key: '
|
|
41038
|
+
return (hAsync(Host, { key: 'd7baa96e166b66c8f14c97e56674db4dfec2152c', class: {
|
|
41127
41039
|
[theme]: true,
|
|
41128
41040
|
}, role: "option", id: this.inputId }));
|
|
41129
41041
|
}
|
|
@@ -41292,9 +41204,9 @@ class SelectPopover {
|
|
|
41292
41204
|
const { header, message, options, subHeader } = this;
|
|
41293
41205
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
41294
41206
|
const theme = getIonTheme(this);
|
|
41295
|
-
return (hAsync(Host, { key: '
|
|
41207
|
+
return (hAsync(Host, { key: '47062077a192fb05f662f30c68e9c12323a69e47', class: {
|
|
41296
41208
|
[theme]: true,
|
|
41297
|
-
} }, hAsync("ion-list", { key: '
|
|
41209
|
+
} }, hAsync("ion-list", { key: '50caf4e5f70d1d7b57256f115c589d90d9cea627' }, header !== undefined && hAsync("ion-list-header", { key: '3401a27174b687632836f086f1a367214021358c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '7271f08cd8bae5383bb502d9411d60a5458e18f6' }, hAsync("ion-label", { key: 'e22c6c54f725e3fc630eed38a71afd4bb474b357', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'c0ca32ef8100d6aaa3aa2279ed1216bdb6a60b89' }, subHeader), message !== undefined && hAsync("p", { key: '8e2e0b248a05f5483e62db8d608310078040767c' }, message)))), this.renderOptions(options))));
|
|
41298
41210
|
}
|
|
41299
41211
|
get el() { return getElement(this); }
|
|
41300
41212
|
static get style() { return {
|
|
@@ -41349,11 +41261,11 @@ class SkeletonText {
|
|
|
41349
41261
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
41350
41262
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
41351
41263
|
const theme = getIonTheme(this);
|
|
41352
|
-
return (hAsync(Host, { key: '
|
|
41264
|
+
return (hAsync(Host, { key: '370451ee8963b776079f5df365f7bbd70a53b270', class: {
|
|
41353
41265
|
[theme]: true,
|
|
41354
41266
|
'skeleton-text-animated': animated,
|
|
41355
41267
|
'in-media': inMedia,
|
|
41356
|
-
} }, hAsync("span", { key: '
|
|
41268
|
+
} }, hAsync("span", { key: '2b861b4ec86cbd61927ab7b81b13517c99dc94c7' }, "\u00A0")));
|
|
41357
41269
|
}
|
|
41358
41270
|
get el() { return getElement(this); }
|
|
41359
41271
|
static get style() { return skeletonTextCss(); }
|
|
@@ -41426,7 +41338,7 @@ class Spinner {
|
|
|
41426
41338
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
41427
41339
|
}
|
|
41428
41340
|
}
|
|
41429
|
-
return (hAsync(Host, { key: '
|
|
41341
|
+
return (hAsync(Host, { key: 'b6559d1626b56a1c63580862263a15798f7d3f71', class: createColorClasses$1(self.color, {
|
|
41430
41342
|
[theme]: true,
|
|
41431
41343
|
[`spinner-${spinnerName}`]: true,
|
|
41432
41344
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -41538,12 +41450,12 @@ class SplitPane {
|
|
|
41538
41450
|
}
|
|
41539
41451
|
render() {
|
|
41540
41452
|
const theme = getIonTheme(this);
|
|
41541
|
-
return (hAsync(Host, { key: '
|
|
41453
|
+
return (hAsync(Host, { key: 'b933156f8f9d8ce418ff0d39526967f9653d6639', class: {
|
|
41542
41454
|
[theme]: true,
|
|
41543
41455
|
// Used internally for styling
|
|
41544
41456
|
[`split-pane-${theme}`]: true,
|
|
41545
41457
|
'split-pane-visible': this.visible,
|
|
41546
|
-
} }, hAsync("slot", { key: '
|
|
41458
|
+
} }, hAsync("slot", { key: '3ec0a11e5506386747dc972ccb094359ca975bae' })));
|
|
41547
41459
|
}
|
|
41548
41460
|
get el() { return getElement(this); }
|
|
41549
41461
|
static get watchers() { return {
|
|
@@ -41620,10 +41532,10 @@ class Tab {
|
|
|
41620
41532
|
}
|
|
41621
41533
|
render() {
|
|
41622
41534
|
const { tab, active, component } = this;
|
|
41623
|
-
return (hAsync(Host, { key: '
|
|
41535
|
+
return (hAsync(Host, { key: '8b978f848d43898feafa7daa3e3d9819be833038', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
41624
41536
|
'ion-page': component === undefined,
|
|
41625
41537
|
'tab-hidden': !active,
|
|
41626
|
-
} }, hAsync("slot", { key: '
|
|
41538
|
+
} }, hAsync("slot", { key: '96a92d86cecc8c9ef4f11d310f7f87bb99ce4e50' })));
|
|
41627
41539
|
}
|
|
41628
41540
|
get el() { return getElement(this); }
|
|
41629
41541
|
static get watchers() { return {
|
|
@@ -41830,7 +41742,7 @@ class TabBar {
|
|
|
41830
41742
|
const theme = getIonTheme(this);
|
|
41831
41743
|
const shape = this.getShape();
|
|
41832
41744
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
41833
|
-
return (hAsync(Host, { key: '
|
|
41745
|
+
return (hAsync(Host, { key: '16cd11a815d777a7517150b49b57a204c83c3c37', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
41834
41746
|
[theme]: true,
|
|
41835
41747
|
'tab-bar-translucent': translucent,
|
|
41836
41748
|
'tab-bar-hidden': shouldHide,
|
|
@@ -41838,7 +41750,7 @@ class TabBar {
|
|
|
41838
41750
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
41839
41751
|
[`tab-bar-${expand}`]: true,
|
|
41840
41752
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
41841
|
-
}) }, hAsync("slot", { key: '
|
|
41753
|
+
}) }, hAsync("slot", { key: 'dfdff308f24b3addaf18528a8d869b3fc64306d1' })));
|
|
41842
41754
|
}
|
|
41843
41755
|
get el() { return getElement(this); }
|
|
41844
41756
|
static get watchers() { return {
|
|
@@ -41966,7 +41878,7 @@ class TabButton {
|
|
|
41966
41878
|
rel,
|
|
41967
41879
|
target,
|
|
41968
41880
|
};
|
|
41969
|
-
return (hAsync(Host, { key: '
|
|
41881
|
+
return (hAsync(Host, { key: 'e4d3aaefcdc42677f7818c51ec1ec0a9cbcf8bcf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
41970
41882
|
[theme]: true,
|
|
41971
41883
|
'tab-selected': selected,
|
|
41972
41884
|
'tab-disabled': disabled,
|
|
@@ -41979,7 +41891,7 @@ class TabButton {
|
|
|
41979
41891
|
'ion-selectable': true,
|
|
41980
41892
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
41981
41893
|
'ion-focusable': true,
|
|
41982
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
41894
|
+
} }, hAsync("a", Object.assign({ key: '1412d080294dd2602696c5657c71553ef35036d3' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '5daebf815b9b4f8016ce5b4b9d05148c1957a46c', class: "button-inner" }, hAsync("slot", { key: 'e1cbabb911936d21d5b1a4f87d236b962beacbab' })), theme === 'md' && hAsync("ion-ripple-effect", { key: 'd4544a7fb87b8559aaf9d2f0aa4d440201ebdb71', type: "unbounded" }))));
|
|
41983
41895
|
}
|
|
41984
41896
|
get el() { return getElement(this); }
|
|
41985
41897
|
static get style() { return {
|
|
@@ -42175,7 +42087,7 @@ class Tabs {
|
|
|
42175
42087
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
42176
42088
|
}
|
|
42177
42089
|
render() {
|
|
42178
|
-
return (hAsync(Host, { key: '
|
|
42090
|
+
return (hAsync(Host, { key: 'b8c5c75469cb1f1829a217a02555a7da8556454a', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '50b74e3df8ea0e991e096c7438a65fee0ca0f6b5', name: "top" }), hAsync("div", { key: 'ca8d4329381c4b40882bbd31b4f15264cfa2c220', class: "tabs-inner" }, hAsync("slot", { key: '816ffd6d997530e3b100480c9a8e4a51fa51e59c' })), hAsync("slot", { key: '280bdf5ec61789823c7772287d60a26229fe78fa', name: "bottom" })));
|
|
42179
42091
|
}
|
|
42180
42092
|
get el() { return getElement(this); }
|
|
42181
42093
|
static get style() { return tabsCss(); }
|
|
@@ -42216,9 +42128,9 @@ class Text {
|
|
|
42216
42128
|
}
|
|
42217
42129
|
render() {
|
|
42218
42130
|
const theme = getIonTheme(this);
|
|
42219
|
-
return (hAsync(Host, { key: '
|
|
42131
|
+
return (hAsync(Host, { key: '8fc5565ce579f8e2a9eddbaa7c93264291080bce', class: createColorClasses$1(this.color, {
|
|
42220
42132
|
[theme]: true,
|
|
42221
|
-
}) }, hAsync("slot", { key: '
|
|
42133
|
+
}) }, hAsync("slot", { key: '5be1d661ee3a6f1f9d9428b59e830672faf475b1' })));
|
|
42222
42134
|
}
|
|
42223
42135
|
static get style() { return textCss(); }
|
|
42224
42136
|
static get cmpMeta() { return {
|
|
@@ -42782,7 +42694,7 @@ class Textarea {
|
|
|
42782
42694
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
42783
42695
|
*/
|
|
42784
42696
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
42785
|
-
return (hAsync(Host, { key: '
|
|
42697
|
+
return (hAsync(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses$1(this.color, {
|
|
42786
42698
|
[theme]: true,
|
|
42787
42699
|
'has-value': hasValue,
|
|
42788
42700
|
'has-focus': hasFocus,
|
|
@@ -42794,7 +42706,7 @@ class Textarea {
|
|
|
42794
42706
|
'in-item': inItem,
|
|
42795
42707
|
'textarea-disabled': disabled,
|
|
42796
42708
|
'textarea-readonly': readonly,
|
|
42797
|
-
}) }, hAsync("label", { key: '
|
|
42709
|
+
}) }, hAsync("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
|
|
42798
42710
|
/**
|
|
42799
42711
|
* For the ionic theme, we render the outline container here
|
|
42800
42712
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -42804,7 +42716,7 @@ class Textarea {
|
|
|
42804
42716
|
* <label> element, ensuring that clicking the label text
|
|
42805
42717
|
* focuses the textarea.
|
|
42806
42718
|
*/
|
|
42807
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
42719
|
+
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '91a7ea7b6f6fccc473b9e058281e5437c00a9b5d', class: "textarea-outline" }), hAsync("div", { key: 'ba641e63d5aaf2ddb291c875f57181d1c93a2b26', class: "start-slot-wrapper" }, hAsync("slot", { key: '351684d41a2b080541a29e0d9e90dd50747b52dc', name: "start" })), hAsync("div", { key: '5c0793742ff6cc327582c3d78d85c28fa8238a40', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, hAsync("textarea", Object.assign({ key: '9cf5c908e3fcd54af07c351dcf0bb91c853f1349', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: 'e47ffe0bf8e460a7cb205ed35a1107b44687116d', class: "end-slot-wrapper" }, hAsync("slot", { key: '57d035b5f1db373b8488b129c8d3552eb8e630ac', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '1259ad761b68aea69a1ae8b61a6bbdee6c071b7b', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
42808
42720
|
}
|
|
42809
42721
|
static get delegatesFocus() { return true; }
|
|
42810
42722
|
static get formAssociated() { return true; }
|
|
@@ -42888,9 +42800,9 @@ class Thumbnail {
|
|
|
42888
42800
|
}
|
|
42889
42801
|
render() {
|
|
42890
42802
|
const theme = getIonTheme(this);
|
|
42891
|
-
return (hAsync(Host, { key: '
|
|
42803
|
+
return (hAsync(Host, { key: 'fdf9d92949a1e8cf6faded77ffed084f74fc040b', class: {
|
|
42892
42804
|
[theme]: true,
|
|
42893
|
-
} }, hAsync("slot", { key: '
|
|
42805
|
+
} }, hAsync("slot", { key: 'e1b1439c035d9a9503efd1c1a04aed9f4e8e0af7' })));
|
|
42894
42806
|
}
|
|
42895
42807
|
static get style() { return thumbnailCss(); }
|
|
42896
42808
|
static get cmpMeta() { return {
|
|
@@ -43774,9 +43686,9 @@ class Toast {
|
|
|
43774
43686
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
43775
43687
|
printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
43776
43688
|
}
|
|
43777
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
43689
|
+
return (hAsync(Host, Object.assign({ key: 'f0d62f099dd68f8f541110a60695c2a083c6a4d5', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
43778
43690
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
43779
|
-
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '
|
|
43691
|
+
}, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '054ba519f93892a000832990097b265887272da4', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: '45fa83c1711ab98e81b8b00e0af3af436eaa5264', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'eb4143899be5259e3d933461bc4ca593c8b9dd9b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'bae8a899abb9bcd4895df45def79bfe3d704e6e4', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
43780
43692
|
}
|
|
43781
43693
|
get el() { return getElement(this); }
|
|
43782
43694
|
static get watchers() { return {
|
|
@@ -44152,7 +44064,7 @@ class Toggle {
|
|
|
44152
44064
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
44153
44065
|
const isIonicTheme = theme === 'ionic';
|
|
44154
44066
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
44155
|
-
return (hAsync(Host, { key: '
|
|
44067
|
+
return (hAsync(Host, { key: '9e042d48d2416028c4f76fbb38fa2b26ee7512ef', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
|
|
44156
44068
|
[theme]: true,
|
|
44157
44069
|
'in-item': hostContext('ion-item', el),
|
|
44158
44070
|
'toggle-activated': activated,
|
|
@@ -44164,10 +44076,10 @@ class Toggle {
|
|
|
44164
44076
|
[`toggle-${rtl}`]: true,
|
|
44165
44077
|
'ion-activatable': isIonicTheme,
|
|
44166
44078
|
'ion-focusable': isIonicTheme,
|
|
44167
|
-
}) }, hAsync("label", { key: '
|
|
44079
|
+
}) }, hAsync("label", { key: 'f13b94af8f0b862b8390172107e75ef670fff34f', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'e6c82e4fc9fcc77ed52408a04188d5696521de0c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '5f32f194da4f83792cccaa536a211b558c5eac1c', class: {
|
|
44168
44080
|
'label-text-wrapper': true,
|
|
44169
44081
|
'label-text-wrapper-hidden': !hasLabel,
|
|
44170
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
44082
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c86e28aca1011a3d5a453b92ddc8b6d1ab049f0b' }), this.renderHintText()), hAsync("div", { key: '80390009e2a3d1ad699e1b698df725449c8fab53', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
44171
44083
|
}
|
|
44172
44084
|
get el() { return getElement(this); }
|
|
44173
44085
|
static get watchers() { return {
|
|
@@ -44459,11 +44371,11 @@ class Toolbar {
|
|
|
44459
44371
|
Object.assign(childStyles, style);
|
|
44460
44372
|
});
|
|
44461
44373
|
const titlePlacement = this.getTitlePlacement();
|
|
44462
|
-
return (hAsync(Host, { key: '
|
|
44374
|
+
return (hAsync(Host, { key: 'bcb621674157410d7eaeb006779bdd677346587e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
|
|
44463
44375
|
[theme]: true,
|
|
44464
44376
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
44465
44377
|
[`toolbar-title-placement-${titlePlacement}`]: true,
|
|
44466
|
-
})), childStyles) }, hAsync("div", { key: '
|
|
44378
|
+
})), childStyles) }, hAsync("div", { key: '0d31a98b2571b9a0ae142fbdfd83e2ebdcd8e069', class: "toolbar-background", part: "background" }), hAsync("div", { key: 'de938534c487c6cb4060dac44b40c2d872130f50', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'a337150d353e439eae67c31ff86e383ed51f3d8f', name: "start", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: '02effd3ce0cdad5ec5645fa58ccb329321449190', name: "secondary", onSlotchange: () => this.updateSlotClasses }), hAsync("div", { key: '3e22f5feda2aea02117bdea2fe8a4b8905ba82f6', class: "toolbar-content", part: "content" }, hAsync("slot", { key: 'ebf828643ff05a8bf662a54715d21d0859168d31' })), hAsync("slot", { key: 'a6940648dfe25a7aa8792a1bd9267437274f333c', name: "primary", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: 'afb1d61aa0e430fcf483ba482af64762474e06fe', name: "end", onSlotchange: () => this.updateSlotClasses }))));
|
|
44467
44379
|
}
|
|
44468
44380
|
get el() { return getElement(this); }
|
|
44469
44381
|
static get watchers() { return {
|
|
@@ -44522,11 +44434,11 @@ class ToolbarTitle {
|
|
|
44522
44434
|
render() {
|
|
44523
44435
|
const theme = getIonTheme(this);
|
|
44524
44436
|
const size = this.getSize();
|
|
44525
|
-
return (hAsync(Host, { key: '
|
|
44437
|
+
return (hAsync(Host, { key: 'd64e86bed418cba707d4a26c9274f18ed06c0e9e', class: createColorClasses$1(this.color, {
|
|
44526
44438
|
[theme]: true,
|
|
44527
44439
|
[`title-${size}`]: true,
|
|
44528
44440
|
'title-rtl': document.dir === 'rtl',
|
|
44529
|
-
}) }, hAsync("div", { key: '
|
|
44441
|
+
}) }, hAsync("div", { key: '386a71e974cde0bfbf5b655d69ed5f718de8ce48', class: "toolbar-title" }, hAsync("slot", { key: '8aa804c9e1b11574a42268805d3117a085e699b4' }))));
|
|
44530
44442
|
}
|
|
44531
44443
|
get el() { return getElement(this); }
|
|
44532
44444
|
static get watchers() { return {
|
|
@@ -44583,6 +44495,7 @@ registerComponents([
|
|
|
44583
44495
|
FabList,
|
|
44584
44496
|
Footer,
|
|
44585
44497
|
Gallery,
|
|
44498
|
+
GalleryItem,
|
|
44586
44499
|
Grid,
|
|
44587
44500
|
Header,
|
|
44588
44501
|
Icon,
|