@ionic/core 8.8.7-dev.11778599050.191a48e3 → 8.8.7-dev.11778680417.1f9234bd
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-col.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-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- 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-B2rpt1JV.js +4 -0
- package/components/p-B6zr9RZN.js +4 -0
- package/components/{p-Brxa0j7O.js → p-B71c6yUH.js} +1 -1
- package/components/{p-C2cZvGcF.js → p-BFbsici0.js} +1 -1
- package/components/{p-CoarhFWH.js → p-BLCuPAtN.js} +1 -1
- package/components/{p-GnGGIfCd.js → p-BRWWcnBq.js} +1 -1
- package/components/{p-BfHB6wX_.js → p-BXcCGjEc.js} +1 -1
- package/components/{p-BU8N7ZrK.js → p-BqImG3uk.js} +1 -1
- package/components/{p-D5lMX0xt.js → p-C8ktKu9j.js} +1 -1
- package/components/{p-BhfW3d9j.js → p-CIoAIKEr.js} +1 -1
- package/components/p-CN-WzkJE.js +4 -0
- package/components/{p-CnwZE7CW.js → p-CoFqDNc5.js} +1 -1
- package/components/{p-TpZHKDyk.js → p-DAv9P_LE.js} +1 -1
- package/components/{p-CeYwuysM.js → p-DH_9VCbD.js} +1 -1
- package/components/{p-CdYTq34D.js → p-DTtRWhIZ.js} +1 -1
- package/components/{p-C-_EGKki.js → p-DXUyXgVL.js} +1 -1
- package/components/{p-BTYqyHph.js → p-Di5rHO3q.js} +1 -1
- package/components/{p-D39cV-un.js → p-Dmuy6xyk.js} +1 -1
- package/components/{p-BtAlyZ0b.js → p-IMXp2Inn.js} +1 -1
- package/components/{p-DAeMHNER.js → p-TR4ubkPu.js} +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-gallery.cjs.entry.js +490 -0
- 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 +3 -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 +6 -0
- package/dist/collection/components/col/col.js +3 -2
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +100 -0
- package/dist/collection/components/gallery/gallery.js +575 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- 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 +3 -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 +25 -0
- package/dist/collection/utils/media.js +1 -0
- package/dist/docs.json +256 -1
- package/dist/esm/ion-app_8.entry.js +7 -7
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +8 -6
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-gallery.entry.js +488 -0
- 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 +3 -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 +74 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-96549175.entry.js → p-00c0bd38.entry.js} +1 -1
- package/dist/ionic/{p-192e7509.entry.js → p-15e3e8f5.entry.js} +1 -1
- package/dist/ionic/{p-5ac21be2.entry.js → p-1709b0aa.entry.js} +1 -1
- package/dist/ionic/{p-2bf931ae.entry.js → p-1c2c1869.entry.js} +1 -1
- package/dist/ionic/{p-3bf01c2c.entry.js → p-1c4de46b.entry.js} +1 -1
- package/dist/ionic/p-1e1c8d61.entry.js +4 -0
- package/dist/ionic/p-2aa7567e.entry.js +4 -0
- package/dist/ionic/{p-bc5713f7.entry.js → p-2ad79c23.entry.js} +1 -1
- package/dist/ionic/{p-5a3fc28e.entry.js → p-2f0073af.entry.js} +1 -1
- package/dist/ionic/{p-833910ae.entry.js → p-35b144f5.entry.js} +1 -1
- package/dist/ionic/{p-59b4f8d0.entry.js → p-3f79f594.entry.js} +1 -1
- package/dist/ionic/p-4079cee3.entry.js +4 -0
- package/dist/ionic/{p-f061fcb7.entry.js → p-48026d15.entry.js} +1 -1
- package/dist/ionic/{p-4091ad21.entry.js → p-50b61fab.entry.js} +1 -1
- package/dist/ionic/{p-8516eb69.entry.js → p-50cd2d57.entry.js} +1 -1
- package/dist/ionic/{p-50d90690.entry.js → p-5274f999.entry.js} +1 -1
- package/dist/ionic/{p-3093958a.entry.js → p-586d4270.entry.js} +1 -1
- package/dist/ionic/{p-6991ffa2.entry.js → p-7054a1b9.entry.js} +1 -1
- package/dist/ionic/{p-b8b20b7e.entry.js → p-71b6014c.entry.js} +1 -1
- package/dist/ionic/{p-9b9b1450.entry.js → p-72491468.entry.js} +1 -1
- package/dist/ionic/{p-c2894f9e.entry.js → p-76307d10.entry.js} +1 -1
- package/dist/ionic/{p-f740c359.entry.js → p-7d5057c4.entry.js} +1 -1
- package/dist/ionic/{p-091a95ea.entry.js → p-83c693c4.entry.js} +1 -1
- package/dist/ionic/{p-2aa44c65.entry.js → p-8537b2fb.entry.js} +1 -1
- package/dist/ionic/{p-02ecc684.entry.js → p-90e653e3.entry.js} +1 -1
- package/dist/ionic/p-96001281.entry.js +4 -0
- package/dist/ionic/{p-98c34fd7.entry.js → p-9d789053.entry.js} +1 -1
- package/dist/ionic/{p-1faf270d.entry.js → p-a9fb086b.entry.js} +1 -1
- package/dist/ionic/{p-e7f216ae.entry.js → p-ae667493.entry.js} +1 -1
- package/dist/ionic/{p-edb0b0c8.entry.js → p-b2fe6c1c.entry.js} +1 -1
- package/dist/ionic/{p-2effd05d.entry.js → p-b3c9f19c.entry.js} +1 -1
- package/dist/ionic/{p-6c8c37c2.entry.js → p-b653f4c2.entry.js} +1 -1
- package/dist/ionic/{p-4e46439d.entry.js → p-bd71a4a7.entry.js} +1 -1
- package/dist/ionic/p-bf972309.entry.js +4 -0
- package/dist/ionic/{p-8180abe5.entry.js → p-c10fa162.entry.js} +1 -1
- package/dist/ionic/{p-d954cd19.entry.js → p-d4ed5710.entry.js} +1 -1
- package/dist/ionic/{p-228b6a9c.entry.js → p-d6299c37.entry.js} +1 -1
- package/dist/ionic/{p-4610e447.entry.js → p-e18d3fdb.entry.js} +1 -1
- package/dist/ionic/{p-4c864eb2.entry.js → p-fad05840.entry.js} +1 -1
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +171 -0
- package/dist/types/components/gallery/test/utils.d.ts +2 -0
- package/dist/types/components.d.ts +75 -0
- package/dist/types/utils/css-value-validation.d.ts +12 -0
- package/hydrate/index.js +628 -126
- package/hydrate/index.mjs +628 -126
- package/package.json +1 -1
- package/components/p-CnOTQxHB.js +0 -4
- package/components/p-XFUFdPrc.js +0 -4
- package/components/p-tYh73xQe.js +0 -4
- package/dist/ionic/p-308beb71.entry.js +0 -4
- package/dist/ionic/p-64341e32.entry.js +0 -4
- package/dist/ionic/p-76d0e7ef.entry.js +0 -4
- package/dist/ionic/p-ae4ea663.entry.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -13108,6 +13108,7 @@ class Chip {
|
|
|
13108
13108
|
}; }
|
|
13109
13109
|
}
|
|
13110
13110
|
|
|
13111
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
13111
13112
|
const SIZE_TO_MEDIA = {
|
|
13112
13113
|
xs: '(min-width: 0px)',
|
|
13113
13114
|
sm: '(min-width: 576px)',
|
|
@@ -13131,8 +13132,9 @@ const matchBreakpoint = (breakpoint) => {
|
|
|
13131
13132
|
|
|
13132
13133
|
const colCss = () => `:host{--col-unit-size:calc( (100% - (var(--ion-grid-columns, 12) - 1) * var(--ion-grid-gap, 0px)) / var(--ion-grid-columns, 12) );-webkit-padding-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex:1;flex:1;min-height:1px;overflow:auto}@media (min-width: 576px){:host{-webkit-padding-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}@media (min-width: 768px){:host{-webkit-padding-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}@media (min-width: 992px){:host{-webkit-padding-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}@media (min-width: 1200px){:host{-webkit-padding-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}:host(.ion-grid-col-auto){-ms-flex:0 0 auto;flex:0 0 auto}:host([class^=ion-grid-col--]),:host([class*=" ion-grid-col--"]){-ms-flex:0 0 calc(var(--ion-grid-col-span) * var(--col-unit-size) + (var(--ion-grid-col-span) - 1) * var(--ion-grid-gap, 0px));flex:0 0 calc(var(--ion-grid-col-span) * var(--col-unit-size) + (var(--ion-grid-col-span) - 1) * var(--ion-grid-gap, 0px));max-width:calc(var(--ion-grid-col-span) * var(--col-unit-size) + (var(--ion-grid-col-span) - 1) * var(--ion-grid-gap, 0px))}:host([class^=ion-grid-offset-col--]),:host([class*=" ion-grid-offset-col--"]){--margin-calc:calc( var(--col-unit-size) * var(--ion-grid-col-margin) + (var(--ion-grid-gap, 0px) * var(--ion-grid-col-margin)) );-webkit-margin-start:var(--margin-calc);margin-inline-start:var(--margin-calc);-webkit-margin-end:0;margin-inline-end:0}:host(.ion-grid-col--1){--ion-grid-col-span:1}:host(.ion-grid-order-col--1){-ms-flex-order:1;order:1}:host(.ion-grid-offset-col--1){--ion-grid-col-margin:1}:host(.ion-grid-col--2){--ion-grid-col-span:2}:host(.ion-grid-order-col--2){-ms-flex-order:2;order:2}:host(.ion-grid-offset-col--2){--ion-grid-col-margin:2}:host(.ion-grid-col--3){--ion-grid-col-span:3}:host(.ion-grid-order-col--3){-ms-flex-order:3;order:3}:host(.ion-grid-offset-col--3){--ion-grid-col-margin:3}:host(.ion-grid-col--4){--ion-grid-col-span:4}:host(.ion-grid-order-col--4){-ms-flex-order:4;order:4}:host(.ion-grid-offset-col--4){--ion-grid-col-margin:4}:host(.ion-grid-col--5){--ion-grid-col-span:5}:host(.ion-grid-order-col--5){-ms-flex-order:5;order:5}:host(.ion-grid-offset-col--5){--ion-grid-col-margin:5}:host(.ion-grid-col--6){--ion-grid-col-span:6}:host(.ion-grid-order-col--6){-ms-flex-order:6;order:6}:host(.ion-grid-offset-col--6){--ion-grid-col-margin:6}:host(.ion-grid-col--7){--ion-grid-col-span:7}:host(.ion-grid-order-col--7){-ms-flex-order:7;order:7}:host(.ion-grid-offset-col--7){--ion-grid-col-margin:7}:host(.ion-grid-col--8){--ion-grid-col-span:8}:host(.ion-grid-order-col--8){-ms-flex-order:8;order:8}:host(.ion-grid-offset-col--8){--ion-grid-col-margin:8}:host(.ion-grid-col--9){--ion-grid-col-span:9}:host(.ion-grid-order-col--9){-ms-flex-order:9;order:9}:host(.ion-grid-offset-col--9){--ion-grid-col-margin:9}:host(.ion-grid-col--10){--ion-grid-col-span:10}:host(.ion-grid-order-col--10){-ms-flex-order:10;order:10}:host(.ion-grid-offset-col--10){--ion-grid-col-margin:10}:host(.ion-grid-col--11){--ion-grid-col-span:11}:host(.ion-grid-order-col--11){-ms-flex-order:11;order:11}:host(.ion-grid-offset-col--11){--ion-grid-col-margin:11}:host(.ion-grid-col--12){--ion-grid-col-span:12}:host(.ion-grid-order-col--12){-ms-flex-order:12;order:12}:host(.ion-grid-offset-col--12){--ion-grid-col-margin:12}`;
|
|
13133
13134
|
|
|
13135
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
13134
13136
|
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
13135
|
-
const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
|
|
13137
|
+
const BREAKPOINTS$1 = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
|
|
13136
13138
|
/**
|
|
13137
13139
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
13138
13140
|
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
@@ -13147,7 +13149,7 @@ class Col {
|
|
|
13147
13149
|
// matches and grab the column value from the relevant prop if so
|
|
13148
13150
|
getColumns(property) {
|
|
13149
13151
|
let matched;
|
|
13150
|
-
for (const breakpoint of BREAKPOINTS) {
|
|
13152
|
+
for (const breakpoint of BREAKPOINTS$1) {
|
|
13151
13153
|
const matches = matchBreakpoint(breakpoint);
|
|
13152
13154
|
// Grab the value of the property, if it exists and our
|
|
13153
13155
|
// media query matches we return the value
|
|
@@ -13208,12 +13210,12 @@ class Col {
|
|
|
13208
13210
|
const colSize = this.getSizeClass();
|
|
13209
13211
|
const colOrder = this.getOrderClass();
|
|
13210
13212
|
const colOffset = this.getOffsetClass();
|
|
13211
|
-
return (hAsync(Host, { key: '
|
|
13213
|
+
return (hAsync(Host, { key: '7fc98e15bd75e9c22fe7eaf71f2f49f5d987613a', class: {
|
|
13212
13214
|
[theme]: true,
|
|
13213
13215
|
[`${colSize}`]: colSize !== undefined,
|
|
13214
13216
|
[`${colOrder}`]: colOrder !== undefined,
|
|
13215
13217
|
[`${colOffset}`]: colOffset !== undefined,
|
|
13216
|
-
} }, hAsync("slot", { key: '
|
|
13218
|
+
} }, hAsync("slot", { key: '6ed04a2c2bcdb0400354368c568e58414a60fc39' })));
|
|
13217
13219
|
}
|
|
13218
13220
|
get el() { return getElement(this); }
|
|
13219
13221
|
static get style() { return colCss(); }
|
|
@@ -18691,6 +18693,504 @@ class Footer {
|
|
|
18691
18693
|
}; }
|
|
18692
18694
|
}
|
|
18693
18695
|
|
|
18696
|
+
/**
|
|
18697
|
+
* Helpers for validating user-supplied CSS values using regular expressions, without
|
|
18698
|
+
* relying on browser CSS APIs.
|
|
18699
|
+
*/
|
|
18700
|
+
// Matches `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
|
|
18701
|
+
const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
|
|
18702
|
+
// Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
|
|
18703
|
+
const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
|
|
18704
|
+
/**
|
|
18705
|
+
* Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
18706
|
+
* syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
|
|
18707
|
+
* Also supports simple `calc` / `min` / `max` / `clamp(...)` functions.
|
|
18708
|
+
*
|
|
18709
|
+
* @param value String value to validate.
|
|
18710
|
+
*/
|
|
18711
|
+
function isValidLengthPercentage(value) {
|
|
18712
|
+
const v = value.trim();
|
|
18713
|
+
if (!v) {
|
|
18714
|
+
return false;
|
|
18715
|
+
}
|
|
18716
|
+
return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
|
|
18717
|
+
}
|
|
18718
|
+
|
|
18719
|
+
const DEFAULT_COLUMNS = {
|
|
18720
|
+
xs: 2,
|
|
18721
|
+
sm: 3,
|
|
18722
|
+
md: 4,
|
|
18723
|
+
lg: 6,
|
|
18724
|
+
xl: 8,
|
|
18725
|
+
xxl: 10,
|
|
18726
|
+
};
|
|
18727
|
+
const DEFAULT_GAP = '16px';
|
|
18728
|
+
|
|
18729
|
+
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-uniform) ::slotted(*){aspect-ratio:1/1}: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:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::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}`;
|
|
18730
|
+
|
|
18731
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
18732
|
+
const BREAKPOINTS = {
|
|
18733
|
+
xs: 0,
|
|
18734
|
+
sm: 576,
|
|
18735
|
+
md: 768,
|
|
18736
|
+
lg: 992,
|
|
18737
|
+
xl: 1200,
|
|
18738
|
+
xxl: 1400,
|
|
18739
|
+
};
|
|
18740
|
+
const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
|
|
18741
|
+
/**
|
|
18742
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
18743
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
18744
|
+
*
|
|
18745
|
+
* @slot - Content is placed in a responsive gallery layout.
|
|
18746
|
+
*/
|
|
18747
|
+
class Gallery {
|
|
18748
|
+
constructor(hostRef) {
|
|
18749
|
+
registerInstance(this, hostRef);
|
|
18750
|
+
// Keep track of whether we've warned about invalid columns, invalid gap,
|
|
18751
|
+
// and unused order properties to avoid duplicate warnings on screen resize.
|
|
18752
|
+
this.hasWarnedInvalidColumns = false;
|
|
18753
|
+
this.hasWarnedInvalidGap = false;
|
|
18754
|
+
this.hasWarnedUnusedOrder = false;
|
|
18755
|
+
/**
|
|
18756
|
+
* The visual layout of the gallery. When `uniform`, rows take up the height
|
|
18757
|
+
* of the tallest item and are spaced evenly across the gallery. Additionally,
|
|
18758
|
+
* items will have an aspect ratio of 1/1, forcing them to be square unless a
|
|
18759
|
+
* height is explicitly set. When `masonry`, items will be positioned under each
|
|
18760
|
+
* other with only the specified gap between them.
|
|
18761
|
+
*/
|
|
18762
|
+
this.layout = 'uniform';
|
|
18763
|
+
/**
|
|
18764
|
+
* The number of columns to display. Can be set as a number or an object of
|
|
18765
|
+
* breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
|
|
18766
|
+
*/
|
|
18767
|
+
this.columns = DEFAULT_COLUMNS;
|
|
18768
|
+
/**
|
|
18769
|
+
* The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
18770
|
+
* values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
|
|
18771
|
+
* or numbers (treated as pixel values). Can also be set as a breakpoint map
|
|
18772
|
+
* (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
|
|
18773
|
+
* space-separated values or CSS keyword values like `inherit`, `auto`, etc.
|
|
18774
|
+
*/
|
|
18775
|
+
this.gap = DEFAULT_GAP;
|
|
18776
|
+
/**
|
|
18777
|
+
* Listen for the slotchange event on the slot.
|
|
18778
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18779
|
+
* of the masonry grid when the slot changes. This is useful for when items
|
|
18780
|
+
* are added or removed from the gallery.
|
|
18781
|
+
*/
|
|
18782
|
+
this.onSlotChange = () => {
|
|
18783
|
+
this.scheduleMasonryResize();
|
|
18784
|
+
};
|
|
18785
|
+
/**
|
|
18786
|
+
* Measure the host and children, then compute masonry placement.
|
|
18787
|
+
*/
|
|
18788
|
+
this.resizeMasonryGrid = () => {
|
|
18789
|
+
this.masonryRaf = undefined;
|
|
18790
|
+
if (this.layout !== 'masonry') {
|
|
18791
|
+
this.clearMasonryStyles();
|
|
18792
|
+
return;
|
|
18793
|
+
}
|
|
18794
|
+
const width = this.el.getBoundingClientRect().width;
|
|
18795
|
+
const columns = this.getColumnsForWidth(width);
|
|
18796
|
+
// Skip masonry placement when width/columns does not resolve
|
|
18797
|
+
// to a valid breakpoint column count.
|
|
18798
|
+
if (columns === undefined) {
|
|
18799
|
+
return;
|
|
18800
|
+
}
|
|
18801
|
+
const styles = getComputedStyle(this.el);
|
|
18802
|
+
const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
|
|
18803
|
+
const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
|
|
18804
|
+
const items = this.getItems();
|
|
18805
|
+
this.layoutMasonry(items, rowHeight, rowGap, columns);
|
|
18806
|
+
};
|
|
18807
|
+
}
|
|
18808
|
+
propertiesChanged() {
|
|
18809
|
+
this.updateResponsiveStyles(true);
|
|
18810
|
+
this.scheduleMasonryResize();
|
|
18811
|
+
// Wait until the next animation frame to warn about unused order
|
|
18812
|
+
// to avoid erroneous warnings when the layout and order are updated
|
|
18813
|
+
// in the same frame.
|
|
18814
|
+
raf(() => {
|
|
18815
|
+
this.warnUnusedOrder();
|
|
18816
|
+
});
|
|
18817
|
+
}
|
|
18818
|
+
componentDidLoad() {
|
|
18819
|
+
this.updateResponsiveStyles(true);
|
|
18820
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
18821
|
+
this.updateResponsiveStyles();
|
|
18822
|
+
this.scheduleMasonryResize();
|
|
18823
|
+
});
|
|
18824
|
+
this.resizeObserver.observe(this.el);
|
|
18825
|
+
this.scheduleMasonryResize();
|
|
18826
|
+
this.warnUnusedOrder();
|
|
18827
|
+
}
|
|
18828
|
+
disconnectedCallback() {
|
|
18829
|
+
var _a;
|
|
18830
|
+
if (this.masonryRaf !== undefined) {
|
|
18831
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18832
|
+
this.masonryRaf = undefined;
|
|
18833
|
+
}
|
|
18834
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
18835
|
+
this.resizeObserver = undefined;
|
|
18836
|
+
}
|
|
18837
|
+
/**
|
|
18838
|
+
* Listen for the load event on child elements.
|
|
18839
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18840
|
+
* of the masonry grid when the child elements load. This is useful for when
|
|
18841
|
+
* images take time to load.
|
|
18842
|
+
*/
|
|
18843
|
+
onChildLoad(ev) {
|
|
18844
|
+
if (this.layout !== 'masonry') {
|
|
18845
|
+
return;
|
|
18846
|
+
}
|
|
18847
|
+
const target = ev.target;
|
|
18848
|
+
if (target !== null && this.el.contains(target)) {
|
|
18849
|
+
this.scheduleMasonryResize();
|
|
18850
|
+
}
|
|
18851
|
+
}
|
|
18852
|
+
/**
|
|
18853
|
+
* Batch masonry measurements to a single animation frame.
|
|
18854
|
+
* This avoids repeated sync layouts during rapid resize/load/slot changes.
|
|
18855
|
+
*/
|
|
18856
|
+
scheduleMasonryResize() {
|
|
18857
|
+
if (this.layout !== 'masonry') {
|
|
18858
|
+
this.clearMasonryStyles();
|
|
18859
|
+
return;
|
|
18860
|
+
}
|
|
18861
|
+
if (this.masonryRaf !== undefined) {
|
|
18862
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18863
|
+
}
|
|
18864
|
+
this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
|
|
18865
|
+
}
|
|
18866
|
+
/**
|
|
18867
|
+
* Normalize a single column value (`columns` as a number, string, or one entry from
|
|
18868
|
+
* a `columns` breakpoint map) to a positive integer. Returns `undefined` when
|
|
18869
|
+
* the input cannot be interpreted as a finite number.
|
|
18870
|
+
*/
|
|
18871
|
+
sanitizeColumns(columns) {
|
|
18872
|
+
if (columns === undefined) {
|
|
18873
|
+
return undefined;
|
|
18874
|
+
}
|
|
18875
|
+
const numericColumns = typeof columns === 'number' ? columns : Number(columns);
|
|
18876
|
+
if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
|
|
18877
|
+
return undefined;
|
|
18878
|
+
}
|
|
18879
|
+
return numericColumns;
|
|
18880
|
+
}
|
|
18881
|
+
/**
|
|
18882
|
+
* Normalize a single gap value (`gap` as a number, string, or one entry from
|
|
18883
|
+
* a `gap` breakpoint map) to a CSS length string. Returns `undefined` when
|
|
18884
|
+
* the input cannot be interpreted as a valid CSS length.
|
|
18885
|
+
*/
|
|
18886
|
+
sanitizeGap(gap) {
|
|
18887
|
+
if (gap === undefined) {
|
|
18888
|
+
return undefined;
|
|
18889
|
+
}
|
|
18890
|
+
const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
|
|
18891
|
+
if (normalizedGap === '' || typeof normalizedGap === 'object') {
|
|
18892
|
+
return undefined;
|
|
18893
|
+
}
|
|
18894
|
+
const numericGap = Number(normalizedGap);
|
|
18895
|
+
if (Number.isFinite(numericGap)) {
|
|
18896
|
+
return numericGap < 0 ? undefined : `${numericGap}px`;
|
|
18897
|
+
}
|
|
18898
|
+
if (typeof normalizedGap !== 'string') {
|
|
18899
|
+
return undefined;
|
|
18900
|
+
}
|
|
18901
|
+
const isValidCssLength = isValidLengthPercentage(normalizedGap);
|
|
18902
|
+
return isValidCssLength ? normalizedGap : undefined;
|
|
18903
|
+
}
|
|
18904
|
+
/**
|
|
18905
|
+
* Check if the value is a breakpoint map object.
|
|
18906
|
+
*/
|
|
18907
|
+
isBreakpointMap(value) {
|
|
18908
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
18909
|
+
}
|
|
18910
|
+
/**
|
|
18911
|
+
* Check if the breakpoint map has any invalid values for the provided sanitizer.
|
|
18912
|
+
*/
|
|
18913
|
+
hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
|
|
18914
|
+
for (const breakpoint of BREAKPOINT_ORDER) {
|
|
18915
|
+
const value = breakpointMap[breakpoint];
|
|
18916
|
+
if (value !== undefined && sanitizeValue(value) === undefined) {
|
|
18917
|
+
return true;
|
|
18918
|
+
}
|
|
18919
|
+
}
|
|
18920
|
+
return false;
|
|
18921
|
+
}
|
|
18922
|
+
/**
|
|
18923
|
+
* Resolve a responsive value from a breakpoint map.
|
|
18924
|
+
* Uses a breakpoint-specific default when custom values are missing/invalid.
|
|
18925
|
+
*/
|
|
18926
|
+
resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
|
|
18927
|
+
let resolvedValue;
|
|
18928
|
+
for (const bp of BREAKPOINT_ORDER) {
|
|
18929
|
+
const providedValue = breakpointMap[bp];
|
|
18930
|
+
const sanitizedProvided = sanitizeProvided(providedValue);
|
|
18931
|
+
const sanitizedDefault = getSanitizedDefault(bp);
|
|
18932
|
+
const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
|
|
18933
|
+
if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
|
|
18934
|
+
resolvedValue = resolved;
|
|
18935
|
+
}
|
|
18936
|
+
}
|
|
18937
|
+
return resolvedValue;
|
|
18938
|
+
}
|
|
18939
|
+
/**
|
|
18940
|
+
* Get the columns from a responsive breakpoint map.
|
|
18941
|
+
* Returns the columns for the last matching breakpoint.
|
|
18942
|
+
*/
|
|
18943
|
+
getColumnsFromBreakpointMap(width, breakpointMap) {
|
|
18944
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
|
|
18945
|
+
}
|
|
18946
|
+
/**
|
|
18947
|
+
* Get the gap from a responsive breakpoint map.
|
|
18948
|
+
* Returns the gap for the last matching breakpoint.
|
|
18949
|
+
*/
|
|
18950
|
+
getGapFromBreakpointMap(width, breakpointMap) {
|
|
18951
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
|
|
18952
|
+
}
|
|
18953
|
+
/**
|
|
18954
|
+
* Warn about an invalid columns value when it is set to a non-positive
|
|
18955
|
+
* integer or a breakpoint map object with invalid values.
|
|
18956
|
+
*/
|
|
18957
|
+
warnInvalidColumns(columns) {
|
|
18958
|
+
if (this.hasWarnedInvalidColumns) {
|
|
18959
|
+
return;
|
|
18960
|
+
}
|
|
18961
|
+
printIonWarning(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(columns)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`, this.el);
|
|
18962
|
+
this.hasWarnedInvalidColumns = true;
|
|
18963
|
+
}
|
|
18964
|
+
/**
|
|
18965
|
+
* Warn about an invalid gap value when it is set to a negative number
|
|
18966
|
+
* or a breakpoint map object with invalid values.
|
|
18967
|
+
*/
|
|
18968
|
+
warnInvalidGap(gap) {
|
|
18969
|
+
if (this.hasWarnedInvalidGap) {
|
|
18970
|
+
return;
|
|
18971
|
+
}
|
|
18972
|
+
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);
|
|
18973
|
+
this.hasWarnedInvalidGap = true;
|
|
18974
|
+
}
|
|
18975
|
+
/**
|
|
18976
|
+
* Warn when `order` is explicitly set while layout is `uniform`.
|
|
18977
|
+
*/
|
|
18978
|
+
warnUnusedOrder() {
|
|
18979
|
+
const { layout } = this;
|
|
18980
|
+
const order = this.order == null ? undefined : this.order;
|
|
18981
|
+
if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
|
|
18982
|
+
return;
|
|
18983
|
+
}
|
|
18984
|
+
printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
|
|
18985
|
+
this.hasWarnedUnusedOrder = true;
|
|
18986
|
+
}
|
|
18987
|
+
/**
|
|
18988
|
+
* Resolve the active columns value for the current width. Falls back to
|
|
18989
|
+
* the default responsive columns when the provided prop is invalid.
|
|
18990
|
+
*/
|
|
18991
|
+
getColumnsForWidth(width) {
|
|
18992
|
+
const { columns } = this;
|
|
18993
|
+
const isBreakpointColumns = this.isBreakpointMap(columns);
|
|
18994
|
+
const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
|
|
18995
|
+
const sanitizedColumns = isBreakpointColumns
|
|
18996
|
+
? this.getColumnsFromBreakpointMap(width, columns)
|
|
18997
|
+
: this.sanitizeColumns(columns);
|
|
18998
|
+
if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
|
|
18999
|
+
this.warnInvalidColumns(columns);
|
|
19000
|
+
}
|
|
19001
|
+
if (sanitizedColumns !== undefined) {
|
|
19002
|
+
return sanitizedColumns;
|
|
19003
|
+
}
|
|
19004
|
+
return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
|
|
19005
|
+
}
|
|
19006
|
+
/**
|
|
19007
|
+
* Resolve the active gap value for the current width.
|
|
19008
|
+
*/
|
|
19009
|
+
getGapForWidth(width) {
|
|
19010
|
+
const { gap } = this;
|
|
19011
|
+
const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
|
|
19012
|
+
const isBreakpointGap = this.isBreakpointMap(providedGap);
|
|
19013
|
+
const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
|
|
19014
|
+
const sanitizedGap = isBreakpointGap
|
|
19015
|
+
? this.getGapFromBreakpointMap(width, providedGap)
|
|
19016
|
+
: this.sanitizeGap(providedGap);
|
|
19017
|
+
if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
|
|
19018
|
+
this.warnInvalidGap(providedGap);
|
|
19019
|
+
}
|
|
19020
|
+
if (sanitizedGap !== undefined) {
|
|
19021
|
+
return sanitizedGap;
|
|
19022
|
+
}
|
|
19023
|
+
return this.sanitizeGap(DEFAULT_GAP);
|
|
19024
|
+
}
|
|
19025
|
+
/**
|
|
19026
|
+
* Update the responsive styles for the gallery. This is used to update
|
|
19027
|
+
* the columns and gap when the component width changes.
|
|
19028
|
+
*/
|
|
19029
|
+
updateResponsiveStyles(force = false) {
|
|
19030
|
+
const width = this.el.getBoundingClientRect().width;
|
|
19031
|
+
// Only update the columns if the component width has changed by more than
|
|
19032
|
+
// 1px or if the force flag is true. This prevents unnecessary re-renders
|
|
19033
|
+
// when the component width has not changed.
|
|
19034
|
+
if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
|
|
19035
|
+
return;
|
|
19036
|
+
}
|
|
19037
|
+
this.lastWidth = width;
|
|
19038
|
+
const columns = this.getColumnsForWidth(width);
|
|
19039
|
+
this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
|
|
19040
|
+
const gap = this.getGapForWidth(width);
|
|
19041
|
+
this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
|
|
19042
|
+
}
|
|
19043
|
+
/**
|
|
19044
|
+
* Return all directly slotted HTMLElement children of the gallery.
|
|
19045
|
+
*/
|
|
19046
|
+
getItems() {
|
|
19047
|
+
return Array.from(this.el.children).filter((child) => child instanceof HTMLElement);
|
|
19048
|
+
}
|
|
19049
|
+
/**
|
|
19050
|
+
* Clear the item styles for the given item element.
|
|
19051
|
+
* This is used to switch between uniform and masonry layouts.
|
|
19052
|
+
*/
|
|
19053
|
+
clearItemStyles(itemEl) {
|
|
19054
|
+
itemEl.style.gridRowStart = '';
|
|
19055
|
+
itemEl.style.gridRowEnd = '';
|
|
19056
|
+
itemEl.style.gridColumn = '';
|
|
19057
|
+
itemEl.style.marginBottom = '';
|
|
19058
|
+
}
|
|
19059
|
+
/**
|
|
19060
|
+
* Clear placement styles for all items when leaving masonry mode.
|
|
19061
|
+
*/
|
|
19062
|
+
clearMasonryStyles() {
|
|
19063
|
+
this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
|
|
19064
|
+
}
|
|
19065
|
+
/**
|
|
19066
|
+
* Convert a rendered item height to the number of grid rows it should span.
|
|
19067
|
+
* Returns undefined for images that are not fully loaded yet.
|
|
19068
|
+
*/
|
|
19069
|
+
calculateRowSpan(itemEl, rowHeight, rowGap) {
|
|
19070
|
+
if (itemEl instanceof HTMLImageElement && (!itemEl.complete || itemEl.naturalHeight === 0)) {
|
|
19071
|
+
return undefined;
|
|
19072
|
+
}
|
|
19073
|
+
const height = itemEl.getBoundingClientRect().height;
|
|
19074
|
+
const itemStyles = getComputedStyle(itemEl);
|
|
19075
|
+
const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
|
|
19076
|
+
const denominator = rowHeight + rowGap;
|
|
19077
|
+
if (!denominator || !Number.isFinite(denominator)) {
|
|
19078
|
+
return 1;
|
|
19079
|
+
}
|
|
19080
|
+
return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
|
|
19081
|
+
}
|
|
19082
|
+
/**
|
|
19083
|
+
* Get the index of the column to position the item in.
|
|
19084
|
+
* When the order is `best-fit`, the column with the shortest height is
|
|
19085
|
+
* returned. Otherwise, items are placed in the column that matches their
|
|
19086
|
+
* natural DOM order.
|
|
19087
|
+
*/
|
|
19088
|
+
getColumnIndex(index, columnHeights, columns) {
|
|
19089
|
+
const order = this.getOrder();
|
|
19090
|
+
if (order === 'best-fit') {
|
|
19091
|
+
let columnIndex = 0;
|
|
19092
|
+
for (let i = 1; i < columns; i++) {
|
|
19093
|
+
if (columnHeights[i] < columnHeights[columnIndex]) {
|
|
19094
|
+
columnIndex = i;
|
|
19095
|
+
}
|
|
19096
|
+
}
|
|
19097
|
+
return columnIndex;
|
|
19098
|
+
}
|
|
19099
|
+
return index % columns;
|
|
19100
|
+
}
|
|
19101
|
+
/**
|
|
19102
|
+
* Apply masonry placement by assigning each item a column and row span.
|
|
19103
|
+
*/
|
|
19104
|
+
layoutMasonry(items, rowHeight, rowGap, columns) {
|
|
19105
|
+
const columnHeights = new Array(columns).fill(0);
|
|
19106
|
+
const lastItemsByColumn = new Array(columns).fill(undefined);
|
|
19107
|
+
items.forEach((itemEl, i) => {
|
|
19108
|
+
itemEl.style.marginBottom = '';
|
|
19109
|
+
const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19110
|
+
if (span === undefined) {
|
|
19111
|
+
this.clearItemStyles(itemEl);
|
|
19112
|
+
return;
|
|
19113
|
+
}
|
|
19114
|
+
const columnIndex = this.getColumnIndex(i, columnHeights, columns);
|
|
19115
|
+
const start = columnHeights[columnIndex] + 1;
|
|
19116
|
+
itemEl.style.gridColumn = `${columnIndex + 1}`;
|
|
19117
|
+
itemEl.style.gridRowStart = `${start}`;
|
|
19118
|
+
itemEl.style.gridRowEnd = `span ${span}`;
|
|
19119
|
+
columnHeights[columnIndex] = start + span - 1;
|
|
19120
|
+
lastItemsByColumn[columnIndex] = itemEl;
|
|
19121
|
+
});
|
|
19122
|
+
// Remove trailing space from the final item in each column while preserving
|
|
19123
|
+
// spacing between all non-final items.
|
|
19124
|
+
lastItemsByColumn.forEach((itemEl) => {
|
|
19125
|
+
if (itemEl === undefined) {
|
|
19126
|
+
return;
|
|
19127
|
+
}
|
|
19128
|
+
itemEl.style.marginBottom = '0px';
|
|
19129
|
+
const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19130
|
+
if (spanWithoutTrailingGap === undefined) {
|
|
19131
|
+
this.clearItemStyles(itemEl);
|
|
19132
|
+
return;
|
|
19133
|
+
}
|
|
19134
|
+
itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
|
|
19135
|
+
});
|
|
19136
|
+
}
|
|
19137
|
+
/**
|
|
19138
|
+
* Resolved order for layout and CSS. Order should be `undefined` for
|
|
19139
|
+
* the uniform layout. When order is not set, it should be `"sequential"`
|
|
19140
|
+
* for the masonry layout.
|
|
19141
|
+
*/
|
|
19142
|
+
getOrder() {
|
|
19143
|
+
const { layout } = this;
|
|
19144
|
+
const order = this.order == null ? undefined : this.order;
|
|
19145
|
+
if (layout === 'uniform') {
|
|
19146
|
+
return undefined;
|
|
19147
|
+
}
|
|
19148
|
+
if (layout === 'masonry' && order === undefined) {
|
|
19149
|
+
return 'sequential';
|
|
19150
|
+
}
|
|
19151
|
+
return order;
|
|
19152
|
+
}
|
|
19153
|
+
render() {
|
|
19154
|
+
const { layout } = this;
|
|
19155
|
+
const order = this.getOrder();
|
|
19156
|
+
const theme = getIonTheme(this);
|
|
19157
|
+
return (hAsync(Host, { key: '8a8266626f1ba8beb7e382c89ae7905372fe23a9', class: {
|
|
19158
|
+
[theme]: true,
|
|
19159
|
+
[`gallery-layout-${layout}`]: true,
|
|
19160
|
+
[`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
|
|
19161
|
+
} }, hAsync("slot", { key: '7758e89bda53a91d593b9ece0cbe60a4bce0a0fa', onSlotchange: this.onSlotChange })));
|
|
19162
|
+
}
|
|
19163
|
+
get el() { return getElement(this); }
|
|
19164
|
+
static get watchers() { return {
|
|
19165
|
+
"columns": [{
|
|
19166
|
+
"propertiesChanged": 0
|
|
19167
|
+
}],
|
|
19168
|
+
"gap": [{
|
|
19169
|
+
"propertiesChanged": 0
|
|
19170
|
+
}],
|
|
19171
|
+
"layout": [{
|
|
19172
|
+
"propertiesChanged": 0
|
|
19173
|
+
}],
|
|
19174
|
+
"order": [{
|
|
19175
|
+
"propertiesChanged": 0
|
|
19176
|
+
}]
|
|
19177
|
+
}; }
|
|
19178
|
+
static get style() { return galleryCss(); }
|
|
19179
|
+
static get cmpMeta() { return {
|
|
19180
|
+
"$flags$": 265,
|
|
19181
|
+
"$tagName$": "ion-gallery",
|
|
19182
|
+
"$members$": {
|
|
19183
|
+
"layout": [1],
|
|
19184
|
+
"order": [1],
|
|
19185
|
+
"columns": [8],
|
|
19186
|
+
"gap": [8]
|
|
19187
|
+
},
|
|
19188
|
+
"$listeners$": [[2, "load", "onChildLoad"]],
|
|
19189
|
+
"$lazyBundleId$": "-",
|
|
19190
|
+
"$attrsToReflect$": []
|
|
19191
|
+
}; }
|
|
19192
|
+
}
|
|
19193
|
+
|
|
18694
19194
|
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}`;
|
|
18695
19195
|
|
|
18696
19196
|
/**
|
|
@@ -18707,10 +19207,10 @@ class Grid {
|
|
|
18707
19207
|
}
|
|
18708
19208
|
render() {
|
|
18709
19209
|
const theme = getIonTheme(this);
|
|
18710
|
-
return (hAsync(Host, { key: '
|
|
19210
|
+
return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
|
|
18711
19211
|
[theme]: true,
|
|
18712
19212
|
'grid-fixed': this.fixed,
|
|
18713
|
-
} }, hAsync("slot", { key: '
|
|
19213
|
+
} }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
|
|
18714
19214
|
}
|
|
18715
19215
|
static get style() { return gridCss(); }
|
|
18716
19216
|
static get cmpMeta() { return {
|
|
@@ -19112,7 +19612,7 @@ class Header {
|
|
|
19112
19612
|
const isCondensed = collapse === 'condense';
|
|
19113
19613
|
// banner role must be at top level, so remove role if inside a menu
|
|
19114
19614
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
19115
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19615
|
+
return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
|
|
19116
19616
|
[theme]: true,
|
|
19117
19617
|
// Used internally for styling
|
|
19118
19618
|
[`header-${theme}`]: true,
|
|
@@ -19120,7 +19620,7 @@ class Header {
|
|
|
19120
19620
|
[`header-collapse-${collapse}`]: true,
|
|
19121
19621
|
[`header-translucent-${theme}`]: this.translucent,
|
|
19122
19622
|
['header-divider']: divider,
|
|
19123
|
-
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: '
|
|
19623
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
|
|
19124
19624
|
}
|
|
19125
19625
|
get el() { return getElement(this); }
|
|
19126
19626
|
static get style() { return {
|
|
@@ -19471,9 +19971,9 @@ class Img {
|
|
|
19471
19971
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
19472
19972
|
const { draggable } = inheritedAttributes;
|
|
19473
19973
|
const theme = getIonTheme(this);
|
|
19474
|
-
return (hAsync(Host, { key: '
|
|
19974
|
+
return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
|
|
19475
19975
|
[theme]: true,
|
|
19476
|
-
} }, hAsync("img", { key: '
|
|
19976
|
+
} }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
19477
19977
|
}
|
|
19478
19978
|
get el() { return getElement(this); }
|
|
19479
19979
|
static get watchers() { return {
|
|
@@ -19778,7 +20278,7 @@ class InfiniteScroll {
|
|
|
19778
20278
|
render() {
|
|
19779
20279
|
const theme = getIonTheme(this);
|
|
19780
20280
|
const disabled = this.disabled;
|
|
19781
|
-
return (hAsync(Host, { key: '
|
|
20281
|
+
return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
|
|
19782
20282
|
[theme]: true,
|
|
19783
20283
|
'infinite-scroll-loading': this.isLoading,
|
|
19784
20284
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -19841,11 +20341,11 @@ class InfiniteScrollContent {
|
|
|
19841
20341
|
}
|
|
19842
20342
|
render() {
|
|
19843
20343
|
const theme = getIonTheme(this);
|
|
19844
|
-
return (hAsync(Host, { key: '
|
|
20344
|
+
return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
|
|
19845
20345
|
[theme]: true,
|
|
19846
20346
|
// Used internally for styling
|
|
19847
20347
|
[`infinite-scroll-content-${theme}`]: true,
|
|
19848
|
-
} }, hAsync("div", { key: '
|
|
20348
|
+
} }, hAsync("div", { key: '047da7f15fe38deed592dd66d1c97e12da4545bb', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '1c05820f091052b8ee9e9ca20054495a676c21aa', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: 'ff801e3486f3c1a4605d2a2de9b47bd7bd536698', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
19849
20349
|
}
|
|
19850
20350
|
static get style() { return {
|
|
19851
20351
|
ionic: ionicInfiniteScrollContentMdCss(),
|
|
@@ -20593,7 +21093,7 @@ class Input {
|
|
|
20593
21093
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
20594
21094
|
*/
|
|
20595
21095
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
20596
|
-
return (hAsync(Host, { key: '
|
|
21096
|
+
return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
|
|
20597
21097
|
[theme]: true,
|
|
20598
21098
|
'has-value': hasValue,
|
|
20599
21099
|
'has-focus': hasFocus,
|
|
@@ -20606,7 +21106,7 @@ class Input {
|
|
|
20606
21106
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
20607
21107
|
'input-disabled': disabled,
|
|
20608
21108
|
'input-readonly': readonly,
|
|
20609
|
-
}) }, hAsync("label", { key: '
|
|
21109
|
+
}) }, hAsync("label", { key: 'f227df52a6ad60344f16261a82c0d0566bb8cd5b', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'ae6da554ce21f805361a7704139b776a9344dcb2', class: "native-wrapper", onClick: this.onLabelClick },
|
|
20610
21110
|
/**
|
|
20611
21111
|
* For the ionic theme, we render the outline container here
|
|
20612
21112
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -20616,14 +21116,14 @@ class Input {
|
|
|
20616
21116
|
* <label> element, ensuring that clicking the label text
|
|
20617
21117
|
* focuses the input.
|
|
20618
21118
|
*/
|
|
20619
|
-
theme === 'ionic' && hAsync("div", { key: '
|
|
21119
|
+
theme === 'ionic' && hAsync("div", { key: '83aa5e7ad97b0c964e31966c1d2b8771d1ecfc53', class: "input-outline" }), hAsync("slot", { key: '1931003f2b0d19508acaaffab58fee644d1f6158', name: "start" }), hAsync("input", Object.assign({ key: '33a06efb4ce0b6e67c12e77f131effb113fba73f', 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: 'd350f26cf6927ee089373ea8903db2479a0a404c', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
20620
21120
|
/**
|
|
20621
21121
|
* This prevents mobile browsers from
|
|
20622
21122
|
* blurring the input when the clear
|
|
20623
21123
|
* button is activated.
|
|
20624
21124
|
*/
|
|
20625
21125
|
ev.preventDefault();
|
|
20626
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
21126
|
+
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '972a2d94dcf599e63aac1d73e34873a9c3d0bf94', "aria-hidden": "true", icon: inputClearIcon }))), hAsync("slot", { key: 'fac4dcaabb02f647e46276e92e3f341557170aec', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'a10e519d8d1f0dcd81ffc43b8e4086797476f753', class: "input-highlight" })), this.renderBottomContent()));
|
|
20627
21127
|
}
|
|
20628
21128
|
get el() { return getElement(this); }
|
|
20629
21129
|
static get watchers() { return {
|
|
@@ -21388,7 +21888,7 @@ class InputOTP {
|
|
|
21388
21888
|
const tabbableIndex = this.getTabbableIndex();
|
|
21389
21889
|
const pattern = this.getPattern();
|
|
21390
21890
|
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()) !== '';
|
|
21391
|
-
return (hAsync(Host, { key: '
|
|
21891
|
+
return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
|
|
21392
21892
|
[mode]: true,
|
|
21393
21893
|
'has-focus': hasFocus,
|
|
21394
21894
|
[`input-otp-size-${size}`]: true,
|
|
@@ -21396,10 +21896,10 @@ class InputOTP {
|
|
|
21396
21896
|
[`input-otp-fill-${fill}`]: true,
|
|
21397
21897
|
'input-otp-disabled': disabled,
|
|
21398
21898
|
'input-otp-readonly': readonly,
|
|
21399
|
-
}) }, hAsync("div", Object.assign({ key: '
|
|
21899
|
+
}) }, hAsync("div", Object.assign({ key: 'a4427602ea1894d53e4d0f502dbb972c93a86bff', 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: '7ee9d8dfd2e52875f1bfe3e3dea0494c18c12f4a', class: {
|
|
21400
21900
|
'input-otp-description': true,
|
|
21401
21901
|
'input-otp-description-hidden': !hasDescription,
|
|
21402
|
-
}, part: "description" }, hAsync("slot", { key: '
|
|
21902
|
+
}, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
|
|
21403
21903
|
}
|
|
21404
21904
|
static get formAssociated() { return true; }
|
|
21405
21905
|
get el() { return getElement(this); }
|
|
@@ -21547,16 +22047,16 @@ class InputPasswordToggle {
|
|
|
21547
22047
|
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
21548
22048
|
const mode = getIonMode$1(this);
|
|
21549
22049
|
const isPasswordVisible = type === 'text';
|
|
21550
|
-
return (hAsync(Host, { key: '
|
|
22050
|
+
return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
|
|
21551
22051
|
[mode]: true,
|
|
21552
|
-
}) }, hAsync("ion-button", { key: '
|
|
22052
|
+
}) }, hAsync("ion-button", { key: 'dee2bdeb169d1fa4943c9a8b0164b8fbb4cdfe06', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
|
|
21553
22053
|
/**
|
|
21554
22054
|
* This prevents mobile browsers from
|
|
21555
22055
|
* blurring the input when the password toggle
|
|
21556
22056
|
* button is activated.
|
|
21557
22057
|
*/
|
|
21558
22058
|
ev.preventDefault();
|
|
21559
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
22059
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
21560
22060
|
}
|
|
21561
22061
|
get el() { return getElement(this); }
|
|
21562
22062
|
static get watchers() { return {
|
|
@@ -21931,11 +22431,11 @@ class ItemDivider {
|
|
|
21931
22431
|
}
|
|
21932
22432
|
render() {
|
|
21933
22433
|
const theme = getIonTheme(this);
|
|
21934
|
-
return (hAsync(Host, { key: '
|
|
22434
|
+
return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
|
|
21935
22435
|
[theme]: true,
|
|
21936
22436
|
'item-divider-sticky': this.sticky,
|
|
21937
22437
|
item: true,
|
|
21938
|
-
}) }, hAsync("slot", { key: '
|
|
22438
|
+
}) }, hAsync("slot", { key: '4e16384a4481326490dab1ad31218c19eb9108db', name: "start" }), hAsync("div", { key: '0bddbea071781e3372b5c7147c2fdd3ba0e29ffe', class: "item-divider-inner", part: "inner" }, hAsync("div", { key: 'dfa603352f7cc58aaa717a32507b1dbbd7b79757', class: "item-divider-wrapper", part: "container" }, hAsync("slot", { key: '4b1b67cfe72266645943f88ede9f8c61a344967d' })), hAsync("slot", { key: '6ddd72a410c449e281f5344d02324e7461ba29e8', name: "end" }))));
|
|
21939
22439
|
}
|
|
21940
22440
|
get el() { return getElement(this); }
|
|
21941
22441
|
static get style() { return {
|
|
@@ -21972,7 +22472,7 @@ class ItemGroup {
|
|
|
21972
22472
|
}
|
|
21973
22473
|
render() {
|
|
21974
22474
|
const theme = getIonTheme(this);
|
|
21975
|
-
return (hAsync(Host, { key: '
|
|
22475
|
+
return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
|
|
21976
22476
|
[theme]: true,
|
|
21977
22477
|
// Used internally for styling
|
|
21978
22478
|
[`item-group-${theme}`]: true,
|
|
@@ -22068,14 +22568,14 @@ class ItemOption {
|
|
|
22068
22568
|
href: this.href,
|
|
22069
22569
|
target: this.target,
|
|
22070
22570
|
};
|
|
22071
|
-
return (hAsync(Host, { key: '
|
|
22571
|
+
return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
22072
22572
|
[theme]: true,
|
|
22073
22573
|
[`item-option-${shape}`]: shape !== undefined,
|
|
22074
22574
|
[`item-option-${hue}`]: hue !== undefined,
|
|
22075
22575
|
'item-option-disabled': disabled,
|
|
22076
22576
|
'item-option-expandable': expandable,
|
|
22077
22577
|
'ion-activatable': true,
|
|
22078
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
22578
|
+
}) }, hAsync(TagType, Object.assign({ key: '38466b511f4a20a3728f37dbf6779b852eba531a' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'bb8f1b332afa2f575bcc69b340bd8f1faa5ca925', class: "button-inner", part: "inner" }, hAsync("slot", { key: '41d627511e1615283956712e1b9519bae92460f6', name: "top" }), hAsync("div", { key: 'bb949a43a586a8996933ee7528e5491beb647aa5', class: "horizontal-wrapper", part: "container" }, hAsync("slot", { key: 'c0d6a73ef49082bfbdf0f542f7465d044ccb6521', name: "start" }), hAsync("slot", { key: '79c6103e680983b2c1a17f1f11dbc41224cd4016', name: "icon-only" }), hAsync("slot", { key: '6c7f17723544d3f6e8b9689b84ddf6196f1897a5' }), hAsync("slot", { key: 'e15d0e02fde71bad8ff7bab0eded7d49508a926e', name: "end" })), hAsync("slot", { key: 'c509d54d44ce33f5a34597b9d0ec29960bbcff62', name: "bottom" })), theme === 'md' && hAsync("ion-ripple-effect", { key: '412d4dc645c941d0b4356cf982be3d5bc2686f13' }))));
|
|
22079
22579
|
}
|
|
22080
22580
|
get el() { return getElement(this); }
|
|
22081
22581
|
static get style() { return {
|
|
@@ -22133,7 +22633,7 @@ class ItemOptions {
|
|
|
22133
22633
|
render() {
|
|
22134
22634
|
const theme = getIonTheme(this);
|
|
22135
22635
|
const isEnd = isEndSide(this.side);
|
|
22136
|
-
return (hAsync(Host, { key: '
|
|
22636
|
+
return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
|
|
22137
22637
|
[theme]: true,
|
|
22138
22638
|
// Used internally for styling
|
|
22139
22639
|
[`item-options-${theme}`]: true,
|
|
@@ -22985,7 +23485,7 @@ class ItemSliding {
|
|
|
22985
23485
|
}
|
|
22986
23486
|
render() {
|
|
22987
23487
|
const theme = getIonTheme(this);
|
|
22988
|
-
return (hAsync(Host, { key: '
|
|
23488
|
+
return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
|
|
22989
23489
|
[theme]: true,
|
|
22990
23490
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
22991
23491
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23104,13 +23604,13 @@ class Label {
|
|
|
23104
23604
|
render() {
|
|
23105
23605
|
const position = this.position;
|
|
23106
23606
|
const theme = getIonTheme(this);
|
|
23107
|
-
return (hAsync(Host, { key: '
|
|
23607
|
+
return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
|
|
23108
23608
|
[theme]: true,
|
|
23109
23609
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23110
23610
|
[`label-${position}`]: position !== undefined,
|
|
23111
23611
|
[`label-no-animate`]: this.noAnimate,
|
|
23112
23612
|
'label-rtl': document.dir === 'rtl',
|
|
23113
|
-
}) }, hAsync("slot", { key: '
|
|
23613
|
+
}) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
|
|
23114
23614
|
}
|
|
23115
23615
|
get el() { return getElement(this); }
|
|
23116
23616
|
static get watchers() { return {
|
|
@@ -23190,7 +23690,7 @@ class List {
|
|
|
23190
23690
|
const theme = getIonTheme(this);
|
|
23191
23691
|
const shape = this.getShape();
|
|
23192
23692
|
const { lines, inset } = this;
|
|
23193
|
-
return (hAsync(Host, { key: '
|
|
23693
|
+
return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
|
|
23194
23694
|
[theme]: true,
|
|
23195
23695
|
// Used internally for styling
|
|
23196
23696
|
[`list-${theme}`]: true,
|
|
@@ -23240,10 +23740,10 @@ class ListHeader {
|
|
|
23240
23740
|
render() {
|
|
23241
23741
|
const { lines } = this;
|
|
23242
23742
|
const theme = getIonTheme(this);
|
|
23243
|
-
return (hAsync(Host, { key: '
|
|
23743
|
+
return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
|
|
23244
23744
|
[theme]: true,
|
|
23245
23745
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
23246
|
-
}) }, hAsync("div", { key: '
|
|
23746
|
+
}) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
|
|
23247
23747
|
}
|
|
23248
23748
|
static get style() { return {
|
|
23249
23749
|
ionic: listHeaderIonicCss(),
|
|
@@ -23532,9 +24032,9 @@ class Loading {
|
|
|
23532
24032
|
* Otherwise, don't set aria-labelledby.
|
|
23533
24033
|
*/
|
|
23534
24034
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23535
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24035
|
+
return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
23536
24036
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
23537
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
24037
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '19884fd6f8bf6f704bff388ecfa245d1cd98156c', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'ecd47d503a9805a5c18f1b0d48989e54b4cb8f78', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '231821576b812ffaa90ed9ced4437e456908ad53', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'e18d21751a73f408bd058aa4270f245285cd57fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '478761b8a000191951e9902138483b389e1b76c4', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '968be6c72872ce5bc8706fa37f242dcdc38efb33', tabindex: "0", "aria-hidden": "true" })));
|
|
23538
24038
|
}
|
|
23539
24039
|
get el() { return getElement(this); }
|
|
23540
24040
|
static get watchers() { return {
|
|
@@ -24595,14 +25095,14 @@ class Menu {
|
|
|
24595
25095
|
* the ionBackButton listener in the menu controller
|
|
24596
25096
|
* will handle closing the menu when Escape is pressed.
|
|
24597
25097
|
*/
|
|
24598
|
-
return (hAsync(Host, { key: '
|
|
25098
|
+
return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
24599
25099
|
[theme]: true,
|
|
24600
25100
|
[`menu-type-${type}`]: true,
|
|
24601
25101
|
'menu-enabled': !disabled,
|
|
24602
25102
|
[`menu-side-${side}`]: true,
|
|
24603
25103
|
'menu-pane-visible': isPaneVisible,
|
|
24604
25104
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
24605
|
-
} }, hAsync("div", { key: '
|
|
25105
|
+
} }, hAsync("div", { key: '3ffcedd178c412771657599f3d5de2cd2a717c00', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '2d8dfdb569c4b433cbacbe2aee8a12954e157a51' })), hAsync("ion-backdrop", { key: 'e1fcbdcf6bd3aa0fa10dcf05a2b012bef196a243', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
24606
25106
|
}
|
|
24607
25107
|
get el() { return getElement(this); }
|
|
24608
25108
|
static get watchers() { return {
|
|
@@ -24736,7 +25236,7 @@ class MenuButton {
|
|
|
24736
25236
|
type: this.type,
|
|
24737
25237
|
};
|
|
24738
25238
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
24739
|
-
return (hAsync(Host, { key: '
|
|
25239
|
+
return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
24740
25240
|
[theme]: true,
|
|
24741
25241
|
button: true, // ion-buttons target .button
|
|
24742
25242
|
'menu-button-hidden': hidden,
|
|
@@ -24745,7 +25245,7 @@ class MenuButton {
|
|
|
24745
25245
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
24746
25246
|
'ion-activatable': true,
|
|
24747
25247
|
'ion-focusable': true,
|
|
24748
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
25248
|
+
}) }, hAsync("button", Object.assign({ key: '88bef93aa6c1a0d5795c4a9ba3edffd99413a758' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '12b2f8bc542239a35adee62d76acccff571a84d7', class: "button-inner" }, hAsync("slot", { key: '5bba549d8e92745aa34372c105cfe80e0ecbc9f5' }, hAsync("ion-icon", { key: '864ff8bf1722b7fe1f17f2a40dfc5b91cb3403f9', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && hAsync("ion-ripple-effect", { key: '59e24ecb22970e43b51739324b11457c6e4bc117', type: "unbounded" }))));
|
|
24749
25249
|
}
|
|
24750
25250
|
get el() { return getElement(this); }
|
|
24751
25251
|
static get style() { return {
|
|
@@ -24802,10 +25302,10 @@ class MenuToggle {
|
|
|
24802
25302
|
render() {
|
|
24803
25303
|
const theme = getIonTheme(this);
|
|
24804
25304
|
const hidden = this.autoHide && !this.visible;
|
|
24805
|
-
return (hAsync(Host, { key: '
|
|
25305
|
+
return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
24806
25306
|
[theme]: true,
|
|
24807
25307
|
'menu-toggle-hidden': hidden,
|
|
24808
|
-
} }, hAsync("slot", { key: '
|
|
25308
|
+
} }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
|
|
24809
25309
|
}
|
|
24810
25310
|
static get style() { return menuToggleCss(); }
|
|
24811
25311
|
static get cmpMeta() { return {
|
|
@@ -28308,20 +28808,20 @@ class Modal {
|
|
|
28308
28808
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
28309
28809
|
const shape = this.getShape();
|
|
28310
28810
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
28311
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
28811
|
+
return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
|
|
28312
28812
|
// Allow the modal to be navigable when the handle is focusable
|
|
28313
28813
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
28314
28814
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
28315
|
-
}, 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: '
|
|
28815
|
+
}, 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: 'baf6be86f7d5053d870a4ad794c1d584985c5ba0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: 'e3b76699bc31e8dd29b09ed6091d8f9003865e15', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '3043e51b33a1e394ae731ebc49fd4df7ef71be99',
|
|
28316
28816
|
/*
|
|
28317
28817
|
role and aria-modal must be used on the
|
|
28318
28818
|
same element. They must also be set inside the
|
|
28319
28819
|
shadow DOM otherwise ion-button will not be highlighted
|
|
28320
28820
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
28321
28821
|
*/
|
|
28322
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
28822
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '19e71dc84abf18b21be76ec35229c5c5e7410c6e', class: "modal-handle",
|
|
28323
28823
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
28324
|
-
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: '
|
|
28824
|
+
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: '9b868070ee1be064e6b385f4783fc428c78d8084', onSlotchange: this.onSlotChange }))));
|
|
28325
28825
|
}
|
|
28326
28826
|
get el() { return getElement(this); }
|
|
28327
28827
|
static get watchers() { return {
|
|
@@ -29281,7 +29781,7 @@ class Nav {
|
|
|
29281
29781
|
}
|
|
29282
29782
|
}
|
|
29283
29783
|
render() {
|
|
29284
|
-
return hAsync("slot", { key: '
|
|
29784
|
+
return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
|
|
29285
29785
|
}
|
|
29286
29786
|
get el() { return getElement(this); }
|
|
29287
29787
|
static get watchers() { return {
|
|
@@ -29362,7 +29862,7 @@ class NavLink {
|
|
|
29362
29862
|
};
|
|
29363
29863
|
}
|
|
29364
29864
|
render() {
|
|
29365
|
-
return hAsync(Host, { key: '
|
|
29865
|
+
return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
|
|
29366
29866
|
}
|
|
29367
29867
|
get el() { return getElement(this); }
|
|
29368
29868
|
static get cmpMeta() { return {
|
|
@@ -29396,9 +29896,9 @@ class Note {
|
|
|
29396
29896
|
}
|
|
29397
29897
|
render() {
|
|
29398
29898
|
const theme = getIonTheme(this);
|
|
29399
|
-
return (hAsync(Host, { key: '
|
|
29899
|
+
return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
|
|
29400
29900
|
[theme]: true,
|
|
29401
|
-
}) }, hAsync("slot", { key: '
|
|
29901
|
+
}) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
|
|
29402
29902
|
}
|
|
29403
29903
|
static get style() { return {
|
|
29404
29904
|
ionic: ionicNoteMdCss(),
|
|
@@ -30164,11 +30664,11 @@ class Picker {
|
|
|
30164
30664
|
render() {
|
|
30165
30665
|
const { htmlAttributes } = this;
|
|
30166
30666
|
const theme = getIonTheme(this);
|
|
30167
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30667
|
+
return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
30168
30668
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
30169
30669
|
}, class: Object.assign({ [theme]: true,
|
|
30170
30670
|
// Used internally for styling
|
|
30171
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
30671
|
+
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'b56a9f94c7a95efc047d7be95e76ba3a2284801d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'f134d49a3afcfd2a809147b55949cea43fc34462', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '9ae98dc10164e182a13eaef2105894a717a03cc4', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '96acad60c1214e13098282182fa855b19f0a386c', 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: 'af26cd644ed9bb50c22f06624da3726e7e60426f', class: "picker-columns" }, hAsync("div", { key: 'c0d8bf724f7dc081c314bef61fa08894a75c657b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '7315333742b5b0c9533f30e5ce3dfc6ec9112dc1', class: "picker-below-highlight" }))), hAsync("div", { key: '454546aaf27319ae7973e74063c0a026cfc88834', tabindex: "0", "aria-hidden": "true" })));
|
|
30172
30672
|
}
|
|
30173
30673
|
get el() { return getElement(this); }
|
|
30174
30674
|
static get watchers() { return {
|
|
@@ -31146,9 +31646,9 @@ class PickerColumnCmp {
|
|
|
31146
31646
|
render() {
|
|
31147
31647
|
const col = this.col;
|
|
31148
31648
|
const theme = getIonTheme(this);
|
|
31149
|
-
return (hAsync(Host, { key: '
|
|
31649
|
+
return (hAsync(Host, { key: '5751788e3b7ecd2fe269c096db883b0681646270', 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: {
|
|
31150
31650
|
'max-width': this.col.columnWidth,
|
|
31151
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
31651
|
+
} }, col.prefix && (hAsync("div", { key: '833f3309c8c77e1faa773f7eaa066516dfd51067', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'a39f38e60938e70425e4d7674f5e481885b6b548', 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: 'a2f1e0eab834c85e84cee0a716eb1083aa6c7741', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
31152
31652
|
}
|
|
31153
31653
|
get el() { return getElement(this); }
|
|
31154
31654
|
static get watchers() { return {
|
|
@@ -31273,10 +31773,10 @@ class PickerColumnOption {
|
|
|
31273
31773
|
render() {
|
|
31274
31774
|
const { color, disabled, ariaLabel } = this;
|
|
31275
31775
|
const theme = getIonTheme(this);
|
|
31276
|
-
return (hAsync(Host, { key: '
|
|
31776
|
+
return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
|
|
31277
31777
|
[theme]: true,
|
|
31278
31778
|
['option-disabled']: disabled,
|
|
31279
|
-
}) }, hAsync("div", { key: '
|
|
31779
|
+
}) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
|
|
31280
31780
|
}
|
|
31281
31781
|
get el() { return getElement(this); }
|
|
31282
31782
|
static get watchers() { return {
|
|
@@ -32845,9 +33345,9 @@ class Popover {
|
|
|
32845
33345
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32846
33346
|
const desktop = isPlatform('desktop');
|
|
32847
33347
|
const enableArrow = arrow && !parentPopover;
|
|
32848
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
33348
|
+
return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
32849
33349
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
32850
|
-
}, 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: '
|
|
33350
|
+
}, 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: 'c087932225f8fc872af7451fd847ab2667ae6ffb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '25fb1c8320099d1170f3a61766760c694d84bf0b', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '552f4b70758470fac0d2e2bd114eaf5d9b81a3ac', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'f19c1d60b0f4ff86bf308c5837637cd4bbd6814e', class: "popover-content", part: "content" }, hAsync("slot", { key: '00870a41134268d84e239d305bf2daed7b049c34' })))));
|
|
32851
33351
|
}
|
|
32852
33352
|
get el() { return getElement(this); }
|
|
32853
33353
|
static get watchers() { return {
|
|
@@ -32975,7 +33475,7 @@ class ProgressBar {
|
|
|
32975
33475
|
const shape = this.getShape();
|
|
32976
33476
|
// If the progress is displayed as a solid bar.
|
|
32977
33477
|
const progressSolid = buffer === 1;
|
|
32978
|
-
return (hAsync(Host, { key: '
|
|
33478
|
+
return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32979
33479
|
[theme]: true,
|
|
32980
33480
|
[`progress-bar-${type}`]: true,
|
|
32981
33481
|
'progress-paused': paused,
|
|
@@ -33168,7 +33668,7 @@ class Radio {
|
|
|
33168
33668
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
33169
33669
|
const theme = getIonTheme(this);
|
|
33170
33670
|
const inItem = hostContext('ion-item', el);
|
|
33171
|
-
return (hAsync(Host, { key: '
|
|
33671
|
+
return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
33172
33672
|
[theme]: true,
|
|
33173
33673
|
'in-item': inItem,
|
|
33174
33674
|
'radio-checked': checked,
|
|
@@ -33179,10 +33679,10 @@ class Radio {
|
|
|
33179
33679
|
// Focus and active styling should not apply when the radio is in an item
|
|
33180
33680
|
'ion-activatable': !inItem,
|
|
33181
33681
|
'ion-focusable': !inItem,
|
|
33182
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
33682
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '352c25ebdeeba01b85dc02b2108de988e9eb14a6', class: "radio-wrapper" }, hAsync("div", { key: '8eca395a22199d24b376c57dd52eeaa91ba51c34', class: {
|
|
33183
33683
|
'label-text-wrapper': true,
|
|
33184
33684
|
'label-text-wrapper-hidden': !hasLabel,
|
|
33185
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
33685
|
+
}, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
33186
33686
|
}
|
|
33187
33687
|
get el() { return getElement(this); }
|
|
33188
33688
|
static get watchers() { return {
|
|
@@ -33452,10 +33952,10 @@ class RadioGroup {
|
|
|
33452
33952
|
const { label, labelId, el, name, value } = this;
|
|
33453
33953
|
const theme = getIonTheme(this);
|
|
33454
33954
|
renderHiddenInput(true, el, name, value, false);
|
|
33455
|
-
return (hAsync(Host, { key: '
|
|
33955
|
+
return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
|
|
33456
33956
|
[theme]: true,
|
|
33457
33957
|
'in-list': hostContext('ion-list', el),
|
|
33458
|
-
}, 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: '
|
|
33958
|
+
}, 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: 'ddeca1867cb8e74121add7616f6be9e1a202c142' })));
|
|
33459
33959
|
}
|
|
33460
33960
|
get el() { return getElement(this); }
|
|
33461
33961
|
static get watchers() { return {
|
|
@@ -34305,7 +34805,7 @@ class Range {
|
|
|
34305
34805
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
34306
34806
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
34307
34807
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
34308
|
-
return (hAsync(Host, { key: '
|
|
34808
|
+
return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
34309
34809
|
[theme]: true,
|
|
34310
34810
|
'in-item': inItem,
|
|
34311
34811
|
'range-disabled': disabled,
|
|
@@ -34319,10 +34819,10 @@ class Range {
|
|
|
34319
34819
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
34320
34820
|
'range-value-min': valueAtMin,
|
|
34321
34821
|
'range-value-max': valueAtMax,
|
|
34322
|
-
}) }, hAsync("label", { key: '
|
|
34822
|
+
}) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
|
|
34323
34823
|
'label-text-wrapper': true,
|
|
34324
34824
|
'label-text-wrapper-hidden': !hasLabel,
|
|
34325
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
34825
|
+
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '4c09b153ab02c2c80b6197c2beb73c8cd1dc9348', class: "native-wrapper" }, hAsync("slot", { key: 'a81e2e9a5442603f128fec3d1f15090615164abf', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'ccc0a89eb6ce714e5b67893fb6845670a7857914', name: "end" })))));
|
|
34326
34826
|
}
|
|
34327
34827
|
get el() { return getElement(this); }
|
|
34328
34828
|
static get watchers() { return {
|
|
@@ -35397,7 +35897,7 @@ class Refresher {
|
|
|
35397
35897
|
}
|
|
35398
35898
|
render() {
|
|
35399
35899
|
const theme = getIonTheme(this);
|
|
35400
|
-
return (hAsync(Host, { key: '
|
|
35900
|
+
return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
|
|
35401
35901
|
[theme]: true,
|
|
35402
35902
|
// Used internally for styling
|
|
35403
35903
|
[`refresher-${theme}`]: true,
|
|
@@ -35636,9 +36136,9 @@ class RefresherContent {
|
|
|
35636
36136
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
35637
36137
|
const theme = getIonTheme(this);
|
|
35638
36138
|
const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
|
|
35639
|
-
return (hAsync(Host, { key: '
|
|
36139
|
+
return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
|
|
35640
36140
|
[theme]: true,
|
|
35641
|
-
} }, hAsync("div", { key: '
|
|
36141
|
+
} }, hAsync("div", { key: '29bfcc52d581913654f7639b0f669d149bf91026', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c5ddc5a3c22ec365906e8716cdbdb8cf793bb978', class: "refresher-pulling-icon" }, hAsync("div", { key: '4314fff1f89758c81de7d908be2eaae81e8d9fb8', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'cea2bc74fd42c35ec6d6349f033830e745c9e99b', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (hAsync("div", { key: 'bfd43614c33fa6e83f67ac95022db5343af160d6', class: "arrow-container" }, hAsync("ion-icon", { key: '64f48d15dc2c17cbeb177f28272477ee8535136b', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '6f540e79e981a923050f57167aff8da92bfe8990', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '97b0755e0f240ec199b408a9cfef9fc48b481a68', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '1cd2a284b786fa94272f88659942ff15a7344f66', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '722aea4deaef0b014f49ce61a4a81ef219d0b101', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8152f4fe27037c4f34918e515ac460c1f03240d5', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
35642
36142
|
}
|
|
35643
36143
|
get el() { return getElement(this); }
|
|
35644
36144
|
static get style() { return {
|
|
@@ -35707,9 +36207,9 @@ class Reorder {
|
|
|
35707
36207
|
render() {
|
|
35708
36208
|
const { reorderHandleIcon } = this;
|
|
35709
36209
|
const theme = getIonTheme(this);
|
|
35710
|
-
return (hAsync(Host, { key: '
|
|
36210
|
+
return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
|
|
35711
36211
|
[theme]: true,
|
|
35712
|
-
} }, hAsync("slot", { key: '
|
|
36212
|
+
} }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
35713
36213
|
}
|
|
35714
36214
|
get el() { return getElement(this); }
|
|
35715
36215
|
static get style() { return {
|
|
@@ -35985,7 +36485,7 @@ class ReorderGroup {
|
|
|
35985
36485
|
}
|
|
35986
36486
|
render() {
|
|
35987
36487
|
const theme = getIonTheme(this);
|
|
35988
|
-
return (hAsync(Host, { key: '
|
|
36488
|
+
return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
|
|
35989
36489
|
[theme]: true,
|
|
35990
36490
|
'reorder-enabled': !this.disabled,
|
|
35991
36491
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -36111,7 +36611,7 @@ class RippleEffect {
|
|
|
36111
36611
|
}
|
|
36112
36612
|
render() {
|
|
36113
36613
|
const theme = getIonTheme(this);
|
|
36114
|
-
return (hAsync(Host, { key: '
|
|
36614
|
+
return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
|
|
36115
36615
|
[theme]: true,
|
|
36116
36616
|
unbounded: this.unbounded,
|
|
36117
36617
|
} }));
|
|
@@ -37096,10 +37596,10 @@ class RouterLink {
|
|
|
37096
37596
|
rel: this.rel,
|
|
37097
37597
|
target: this.target,
|
|
37098
37598
|
};
|
|
37099
|
-
return (hAsync(Host, { key: '
|
|
37599
|
+
return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37100
37600
|
[theme]: true,
|
|
37101
37601
|
'ion-activatable': true,
|
|
37102
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
37602
|
+
}) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
|
|
37103
37603
|
}
|
|
37104
37604
|
static get style() { return routerLinkCss(); }
|
|
37105
37605
|
static get cmpMeta() { return {
|
|
@@ -37299,7 +37799,7 @@ class RouterOutlet {
|
|
|
37299
37799
|
return true;
|
|
37300
37800
|
}
|
|
37301
37801
|
render() {
|
|
37302
|
-
return hAsync("slot", { key: '
|
|
37802
|
+
return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
|
|
37303
37803
|
}
|
|
37304
37804
|
get el() { return getElement(this); }
|
|
37305
37805
|
static get watchers() { return {
|
|
@@ -37339,9 +37839,9 @@ class Row {
|
|
|
37339
37839
|
}
|
|
37340
37840
|
render() {
|
|
37341
37841
|
const theme = getIonTheme(this);
|
|
37342
|
-
return (hAsync(Host, { key: '
|
|
37842
|
+
return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
|
|
37343
37843
|
[theme]: true,
|
|
37344
|
-
} }, hAsync("slot", { key: '
|
|
37844
|
+
} }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
|
|
37345
37845
|
}
|
|
37346
37846
|
static get style() { return rowCss(); }
|
|
37347
37847
|
static get cmpMeta() { return {
|
|
@@ -37900,8 +38400,8 @@ class Searchbar {
|
|
|
37900
38400
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
37901
38401
|
const shape = this.getShape();
|
|
37902
38402
|
const size = this.getSize();
|
|
37903
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
37904
|
-
return (hAsync(Host, { key: '
|
|
38403
|
+
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '9b71660f86c93ab8e1c4bca45a778584b1473a48', "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: '27c4121c6b49906b2a9c225bd7ba9ab2a41e4292', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (hAsync("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
|
|
38404
|
+
return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
37905
38405
|
[theme]: true,
|
|
37906
38406
|
'searchbar-animated': animated,
|
|
37907
38407
|
'searchbar-disabled': this.disabled,
|
|
@@ -37915,14 +38415,14 @@ class Searchbar {
|
|
|
37915
38415
|
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
37916
38416
|
[`searchbar-size-${size}`]: size !== undefined,
|
|
37917
38417
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37918
|
-
}) }, hAsync("div", { key: '
|
|
38418
|
+
}) }, hAsync("div", { key: 'b7e0dbfa02f9ea4db7eb01cb293d81d4a54e23d2', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '3b790197d1f8bad980086ebd898cb2487d56ea24', "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: 'fce3e3510516d768d8b51a6334cf9d9ac934345e', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (hAsync("button", { key: 'b47cb7c79fd07e44f2273e55782a784f6d567155', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
37919
38419
|
/**
|
|
37920
38420
|
* This prevents mobile browsers from
|
|
37921
38421
|
* blurring the input when the clear
|
|
37922
38422
|
* button is activated.
|
|
37923
38423
|
*/
|
|
37924
38424
|
ev.preventDefault();
|
|
37925
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
38425
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
37926
38426
|
}
|
|
37927
38427
|
get el() { return getElement(this); }
|
|
37928
38428
|
static get watchers() { return {
|
|
@@ -38537,14 +39037,14 @@ class Segment {
|
|
|
38537
39037
|
}
|
|
38538
39038
|
render() {
|
|
38539
39039
|
const theme = getIonTheme(this);
|
|
38540
|
-
return (hAsync(Host, { key: '
|
|
39040
|
+
return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
38541
39041
|
[theme]: true,
|
|
38542
39042
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38543
39043
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
38544
39044
|
'segment-activated': this.activated,
|
|
38545
39045
|
'segment-disabled': this.disabled,
|
|
38546
39046
|
'segment-scrollable': this.scrollable,
|
|
38547
|
-
}) }, hAsync("slot", { key: '
|
|
39047
|
+
}) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
|
|
38548
39048
|
}
|
|
38549
39049
|
get el() { return getElement(this); }
|
|
38550
39050
|
static get watchers() { return {
|
|
@@ -38696,7 +39196,7 @@ class SegmentButton {
|
|
|
38696
39196
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
38697
39197
|
const theme = getIonTheme(this);
|
|
38698
39198
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
38699
|
-
return (hAsync(Host, { key: '
|
|
39199
|
+
return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
|
|
38700
39200
|
[theme]: true,
|
|
38701
39201
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38702
39202
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -38712,7 +39212,7 @@ class SegmentButton {
|
|
|
38712
39212
|
'ion-activatable': true,
|
|
38713
39213
|
'ion-activatable-instant': true,
|
|
38714
39214
|
'ion-focusable': true,
|
|
38715
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
39215
|
+
} }, hAsync("button", Object.assign({ key: '0335787c4606314d2715062b536b544cf0fb1f27', "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: '47d06436538ed9fc97789af76b6681674a2bd0a7', class: "button-inner" }, hAsync("slot", { key: 'de1164da25cb74e6fa3066e43744483fc5b821fa' })), theme === 'md' && hAsync("ion-ripple-effect", { key: '82d3f9d812f851a6bbbf3603e5845e6e6e925442' })), hAsync("div", { key: '77bbfb251707d274635f21e4cd7153791d9fdb49', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: '2d7b64dbdb084bd3a851e215b9d049a9aff6f03f', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
38716
39216
|
}
|
|
38717
39217
|
get el() { return getElement(this); }
|
|
38718
39218
|
static get watchers() { return {
|
|
@@ -38750,7 +39250,7 @@ class SegmentContent {
|
|
|
38750
39250
|
registerInstance(this, hostRef);
|
|
38751
39251
|
}
|
|
38752
39252
|
render() {
|
|
38753
|
-
return (hAsync(Host, { key: '
|
|
39253
|
+
return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
|
|
38754
39254
|
}
|
|
38755
39255
|
static get style() { return segmentContentCss(); }
|
|
38756
39256
|
static get cmpMeta() { return {
|
|
@@ -38878,11 +39378,11 @@ class SegmentView {
|
|
|
38878
39378
|
}
|
|
38879
39379
|
render() {
|
|
38880
39380
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
38881
|
-
return (hAsync(Host, { key: '
|
|
39381
|
+
return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
|
|
38882
39382
|
'segment-view-disabled': disabled,
|
|
38883
39383
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
38884
39384
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
38885
|
-
} }, hAsync("slot", { key: '
|
|
39385
|
+
} }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
|
|
38886
39386
|
}
|
|
38887
39387
|
get el() { return getElement(this); }
|
|
38888
39388
|
static get style() { return {
|
|
@@ -39818,7 +40318,7 @@ class Select {
|
|
|
39818
40318
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39819
40319
|
*/
|
|
39820
40320
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
39821
|
-
return (hAsync(Host, { key: '
|
|
40321
|
+
return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
39822
40322
|
[theme]: true,
|
|
39823
40323
|
'in-item': inItem,
|
|
39824
40324
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -39837,7 +40337,7 @@ class Select {
|
|
|
39837
40337
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
39838
40338
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
39839
40339
|
[`select-size-${size}`]: size !== undefined,
|
|
39840
|
-
}) }, hAsync("label", { key: '
|
|
40340
|
+
}) }, hAsync("label", { key: '66808fb8c26f7a5db356b22d43751463cbb4bcaa', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '3e80160009e0e5b47952d666ca621166067adbea', class: "select-wrapper-inner", part: "inner" },
|
|
39841
40341
|
/**
|
|
39842
40342
|
* For the ionic theme, we render the outline container here
|
|
39843
40343
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -39847,7 +40347,7 @@ class Select {
|
|
|
39847
40347
|
* <label> element, ensuring that clicking the label text
|
|
39848
40348
|
* focuses the select.
|
|
39849
40349
|
*/
|
|
39850
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
40350
|
+
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '8ea2530c4dc535661bf97d16724bdca3b9e23560', class: "select-outline" }), hAsync("slot", { key: '2526c811e6f0f250421f6de9834d96d21df528b7', name: "start" }), hAsync("div", { key: '95d0b2432c9e656166bf35ddd457a74052c91a27', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0864febe104e3ac77aa10ce397e7c7569855636e', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c83f3992d7a0ee55ca635b391421626a9131c8eb', class: "select-highlight" })), this.renderBottomContent()));
|
|
39851
40351
|
}
|
|
39852
40352
|
get el() { return getElement(this); }
|
|
39853
40353
|
static get watchers() { return {
|
|
@@ -40239,7 +40739,7 @@ class SelectModal {
|
|
|
40239
40739
|
});
|
|
40240
40740
|
}
|
|
40241
40741
|
render() {
|
|
40242
|
-
return (hAsync(Host, { key: '
|
|
40742
|
+
return (hAsync(Host, { key: '43db0bab8915e4e422acbd73d27a880935c13a38', class: Object.assign({ [getIonMode$1(this)]: true }, this.getModalContextClasses()) }, hAsync("ion-header", { key: '58f462db240eb759d7be9f090ab9fba48abdea0c' }, hAsync("ion-toolbar", { key: 'dbd4722ad8c2fc21a066b89451fdc5c0a3776808' }, this.header !== undefined && hAsync("ion-title", { key: 'cefe16f3dff1a90d10875506a94fe1d737c67b44' }, this.header), hAsync("ion-buttons", { key: '750ba8ac17447906cbe020d654b943a88adf8185', slot: "end" }, hAsync("ion-button", { key: '8c075ec9d7becf25dd1307bf083bec229a0889ae', "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: '65dff8eab0158cdff103ade997246cea2b3c4b9e' }, hAsync("ion-list", { key: 'e3556e81c97146ffda80260265294a4f8d6ebdf2' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
40243
40743
|
}
|
|
40244
40744
|
get el() { return getElement(this); }
|
|
40245
40745
|
static get style() { return {
|
|
@@ -40284,7 +40784,7 @@ class SelectOption {
|
|
|
40284
40784
|
}
|
|
40285
40785
|
render() {
|
|
40286
40786
|
const theme = getIonTheme(this);
|
|
40287
|
-
return (hAsync(Host, { key: '
|
|
40787
|
+
return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
|
|
40288
40788
|
[theme]: true,
|
|
40289
40789
|
}, role: "option", id: this.inputId }));
|
|
40290
40790
|
}
|
|
@@ -40453,9 +40953,9 @@ class SelectPopover {
|
|
|
40453
40953
|
const { header, message, options, subHeader } = this;
|
|
40454
40954
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
40455
40955
|
const theme = getIonTheme(this);
|
|
40456
|
-
return (hAsync(Host, { key: '
|
|
40956
|
+
return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
|
|
40457
40957
|
[theme]: true,
|
|
40458
|
-
} }, hAsync("ion-list", { key: '
|
|
40958
|
+
} }, hAsync("ion-list", { key: 'a96857c064aaf9a645b9e1ee22932116b1c25d62' }, header !== undefined && hAsync("ion-list-header", { key: '86b8c398f12cdd3e7d2a7d4c4af69029e4decdbc' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '3bcd9c0a544e1e98243163600413d82a304081db' }, hAsync("ion-label", { key: 'd20b933ba82913b623486c982ab094819f850565', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'c869868d89d024b5b02e6a3b626ca91e6f312036' }, subHeader), message !== undefined && hAsync("p", { key: 'd8a26d162ba8d3b092abef38ef3c1795787e7f75' }, message)))), this.renderOptions(options))));
|
|
40459
40959
|
}
|
|
40460
40960
|
get el() { return getElement(this); }
|
|
40461
40961
|
static get style() { return {
|
|
@@ -40510,11 +41010,11 @@ class SkeletonText {
|
|
|
40510
41010
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
40511
41011
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
40512
41012
|
const theme = getIonTheme(this);
|
|
40513
|
-
return (hAsync(Host, { key: '
|
|
41013
|
+
return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
|
|
40514
41014
|
[theme]: true,
|
|
40515
41015
|
'skeleton-text-animated': animated,
|
|
40516
41016
|
'in-media': inMedia,
|
|
40517
|
-
} }, hAsync("span", { key: '
|
|
41017
|
+
} }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
|
|
40518
41018
|
}
|
|
40519
41019
|
get el() { return getElement(this); }
|
|
40520
41020
|
static get style() { return skeletonTextCss(); }
|
|
@@ -40587,7 +41087,7 @@ class Spinner {
|
|
|
40587
41087
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40588
41088
|
}
|
|
40589
41089
|
}
|
|
40590
|
-
return (hAsync(Host, { key: '
|
|
41090
|
+
return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
|
|
40591
41091
|
[theme]: true,
|
|
40592
41092
|
[`spinner-${spinnerName}`]: true,
|
|
40593
41093
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -40631,6 +41131,7 @@ const splitPaneIosCss = () => `:host{--side-width:100%;right:0;left:0;top:0;bott
|
|
|
40631
41131
|
|
|
40632
41132
|
const splitPaneMdCss = () => `:host{--side-width:100%;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){right:0;left:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--side-min-width:270px;--side-max-width:28%}`;
|
|
40633
41133
|
|
|
41134
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
40634
41135
|
const QUERY = {
|
|
40635
41136
|
lg: '(min-width: 992px)'};
|
|
40636
41137
|
/**
|
|
@@ -40698,12 +41199,12 @@ class SplitPane {
|
|
|
40698
41199
|
}
|
|
40699
41200
|
render() {
|
|
40700
41201
|
const theme = getIonTheme(this);
|
|
40701
|
-
return (hAsync(Host, { key: '
|
|
41202
|
+
return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
|
|
40702
41203
|
[theme]: true,
|
|
40703
41204
|
// Used internally for styling
|
|
40704
41205
|
[`split-pane-${theme}`]: true,
|
|
40705
41206
|
'split-pane-visible': this.visible,
|
|
40706
|
-
} }, hAsync("slot", { key: '
|
|
41207
|
+
} }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
|
|
40707
41208
|
}
|
|
40708
41209
|
get el() { return getElement(this); }
|
|
40709
41210
|
static get watchers() { return {
|
|
@@ -40780,10 +41281,10 @@ class Tab {
|
|
|
40780
41281
|
}
|
|
40781
41282
|
render() {
|
|
40782
41283
|
const { tab, active, component } = this;
|
|
40783
|
-
return (hAsync(Host, { key: '
|
|
41284
|
+
return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
40784
41285
|
'ion-page': component === undefined,
|
|
40785
41286
|
'tab-hidden': !active,
|
|
40786
|
-
} }, hAsync("slot", { key: '
|
|
41287
|
+
} }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
|
|
40787
41288
|
}
|
|
40788
41289
|
get el() { return getElement(this); }
|
|
40789
41290
|
static get watchers() { return {
|
|
@@ -40990,7 +41491,7 @@ class TabBar {
|
|
|
40990
41491
|
const theme = getIonTheme(this);
|
|
40991
41492
|
const shape = this.getShape();
|
|
40992
41493
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
40993
|
-
return (hAsync(Host, { key: '
|
|
41494
|
+
return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
40994
41495
|
[theme]: true,
|
|
40995
41496
|
'tab-bar-translucent': translucent,
|
|
40996
41497
|
'tab-bar-hidden': shouldHide,
|
|
@@ -40998,7 +41499,7 @@ class TabBar {
|
|
|
40998
41499
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
40999
41500
|
[`tab-bar-${expand}`]: true,
|
|
41000
41501
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
41001
|
-
}) }, hAsync("slot", { key: '
|
|
41502
|
+
}) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
|
|
41002
41503
|
}
|
|
41003
41504
|
get el() { return getElement(this); }
|
|
41004
41505
|
static get watchers() { return {
|
|
@@ -41126,7 +41627,7 @@ class TabButton {
|
|
|
41126
41627
|
rel,
|
|
41127
41628
|
target,
|
|
41128
41629
|
};
|
|
41129
|
-
return (hAsync(Host, { key: '
|
|
41630
|
+
return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
41130
41631
|
[theme]: true,
|
|
41131
41632
|
'tab-selected': selected,
|
|
41132
41633
|
'tab-disabled': disabled,
|
|
@@ -41139,7 +41640,7 @@ class TabButton {
|
|
|
41139
41640
|
'ion-selectable': true,
|
|
41140
41641
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
41141
41642
|
'ion-focusable': true,
|
|
41142
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
41643
|
+
} }, hAsync("a", Object.assign({ key: 'fde7dc112f62c5e1a08017f1e8665bf68658eadf' }, 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: '0912736f1e69a8da9a49c94bca1c613061bcaad1', class: "button-inner" }, hAsync("slot", { key: '9b919361a07b62304dddc751658fca0540a3747a' })), theme === 'md' && hAsync("ion-ripple-effect", { key: '472967f7b2b8f63d669fae542bb2eb1900955975', type: "unbounded" }))));
|
|
41143
41644
|
}
|
|
41144
41645
|
get el() { return getElement(this); }
|
|
41145
41646
|
static get style() { return {
|
|
@@ -41335,7 +41836,7 @@ class Tabs {
|
|
|
41335
41836
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
41336
41837
|
}
|
|
41337
41838
|
render() {
|
|
41338
|
-
return (hAsync(Host, { key: '
|
|
41839
|
+
return (hAsync(Host, { key: 'd94b2760650125d00a9bd620f367022119aba911', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'dfa95a272dce19af4575e4d6488962cf6c521754', name: "top" }), hAsync("div", { key: 'd537e5212745833107c751cc6f79d12f48f5472a', class: "tabs-inner" }, hAsync("slot", { key: '6db89721daa7ffd390586345137f1fdfcefa7910' })), hAsync("slot", { key: '7b24f140b89e8e316f24170b29390e00c31d9a0c', name: "bottom" })));
|
|
41339
41840
|
}
|
|
41340
41841
|
get el() { return getElement(this); }
|
|
41341
41842
|
static get style() { return tabsCss(); }
|
|
@@ -41376,9 +41877,9 @@ class Text {
|
|
|
41376
41877
|
}
|
|
41377
41878
|
render() {
|
|
41378
41879
|
const theme = getIonTheme(this);
|
|
41379
|
-
return (hAsync(Host, { key: '
|
|
41880
|
+
return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
|
|
41380
41881
|
[theme]: true,
|
|
41381
|
-
}) }, hAsync("slot", { key: '
|
|
41882
|
+
}) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
|
|
41382
41883
|
}
|
|
41383
41884
|
static get style() { return textCss(); }
|
|
41384
41885
|
static get cmpMeta() { return {
|
|
@@ -41942,7 +42443,7 @@ class Textarea {
|
|
|
41942
42443
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
41943
42444
|
*/
|
|
41944
42445
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
41945
|
-
return (hAsync(Host, { key: '
|
|
42446
|
+
return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
|
|
41946
42447
|
[theme]: true,
|
|
41947
42448
|
'has-value': hasValue,
|
|
41948
42449
|
'has-focus': hasFocus,
|
|
@@ -41954,7 +42455,7 @@ class Textarea {
|
|
|
41954
42455
|
'in-item': inItem,
|
|
41955
42456
|
'textarea-disabled': disabled,
|
|
41956
42457
|
'textarea-readonly': readonly,
|
|
41957
|
-
}) }, hAsync("label", { key: '
|
|
42458
|
+
}) }, hAsync("label", { key: '3d21eab560550527de015d36b1c71761792aa516', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '5fe9ec91ac5560d2ebbb93751dd770fe17e5f839', class: "textarea-wrapper-inner" },
|
|
41958
42459
|
/**
|
|
41959
42460
|
* For the ionic theme, we render the outline container here
|
|
41960
42461
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -41964,7 +42465,7 @@ class Textarea {
|
|
|
41964
42465
|
* <label> element, ensuring that clicking the label text
|
|
41965
42466
|
* focuses the textarea.
|
|
41966
42467
|
*/
|
|
41967
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
42468
|
+
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: 'aac1db3f8a9a9d541bd0d76f17c7936daca419d7', class: "textarea-outline" }), hAsync("div", { key: '49779a6b346b5bf2e8f98787c9159f41fd767d26', class: "start-slot-wrapper" }, hAsync("slot", { key: '2a86311a2ee002e286d8cb1e27480364cb3eb5b1', name: "start" })), hAsync("div", { key: '922069ecd0aa72e4294d78e02a4f216706af0d99', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, hAsync("textarea", Object.assign({ key: 'c1cae5f0695b4d978fbbd6d0af8d3da681d2c671', 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: '6e76190d9644dd880200f28bbfdb6291362ce639', class: "end-slot-wrapper" }, hAsync("slot", { key: 'fe9466237a1d88bf8cd534e83cca148ce6178abe', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'e8a158231e0dcacb4df5b94575fe54d7aff5c23f', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
41968
42469
|
}
|
|
41969
42470
|
static get delegatesFocus() { return true; }
|
|
41970
42471
|
static get formAssociated() { return true; }
|
|
@@ -42048,9 +42549,9 @@ class Thumbnail {
|
|
|
42048
42549
|
}
|
|
42049
42550
|
render() {
|
|
42050
42551
|
const theme = getIonTheme(this);
|
|
42051
|
-
return (hAsync(Host, { key: '
|
|
42552
|
+
return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
|
|
42052
42553
|
[theme]: true,
|
|
42053
|
-
} }, hAsync("slot", { key: '
|
|
42554
|
+
} }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
|
|
42054
42555
|
}
|
|
42055
42556
|
static get style() { return thumbnailCss(); }
|
|
42056
42557
|
static get cmpMeta() { return {
|
|
@@ -42934,9 +43435,9 @@ class Toast {
|
|
|
42934
43435
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
42935
43436
|
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);
|
|
42936
43437
|
}
|
|
42937
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
43438
|
+
return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
42938
43439
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
42939
|
-
}, 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: '
|
|
43440
|
+
}, 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: '4f0b39c8e0d7aecfe81da23c3ca1591374a8afa5', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'a2cf3ea830d27b51ffe1158fb3f3bf87486401b5', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'bee5f21ee8df2278e20bf0565495da30c2e61963', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '40a95848e952dd587d1972487affd4b8e088209f', 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')))));
|
|
42940
43441
|
}
|
|
42941
43442
|
get el() { return getElement(this); }
|
|
42942
43443
|
static get watchers() { return {
|
|
@@ -43312,7 +43813,7 @@ class Toggle {
|
|
|
43312
43813
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
43313
43814
|
const isIonicTheme = theme === 'ionic';
|
|
43314
43815
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
43315
|
-
return (hAsync(Host, { key: '
|
|
43816
|
+
return (hAsync(Host, { key: '48744f35038be7be61fea432996440628d4f2ce9', 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, {
|
|
43316
43817
|
[theme]: true,
|
|
43317
43818
|
'in-item': hostContext('ion-item', el),
|
|
43318
43819
|
'toggle-activated': activated,
|
|
@@ -43324,10 +43825,10 @@ class Toggle {
|
|
|
43324
43825
|
[`toggle-${rtl}`]: true,
|
|
43325
43826
|
'ion-activatable': isIonicTheme,
|
|
43326
43827
|
'ion-focusable': isIonicTheme,
|
|
43327
|
-
}) }, hAsync("label", { key: '
|
|
43828
|
+
}) }, hAsync("label", { key: '43d05b9140a9ccabc3981a28b01bf2cb844050f6', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '716f13f4202712d4ce22fe738879a8259102c329', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '0466a7f662ec5804ecc2e22971248a86f20141c7', class: {
|
|
43328
43829
|
'label-text-wrapper': true,
|
|
43329
43830
|
'label-text-wrapper-hidden': !hasLabel,
|
|
43330
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
43831
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
43331
43832
|
}
|
|
43332
43833
|
get el() { return getElement(this); }
|
|
43333
43834
|
static get watchers() { return {
|
|
@@ -43619,11 +44120,11 @@ class Toolbar {
|
|
|
43619
44120
|
Object.assign(childStyles, style);
|
|
43620
44121
|
});
|
|
43621
44122
|
const titlePlacement = this.getTitlePlacement();
|
|
43622
|
-
return (hAsync(Host, { key: '
|
|
44123
|
+
return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
|
|
43623
44124
|
[theme]: true,
|
|
43624
44125
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
43625
44126
|
[`toolbar-title-placement-${titlePlacement}`]: true,
|
|
43626
|
-
})), childStyles) }, hAsync("div", { key: '
|
|
44127
|
+
})), childStyles) }, hAsync("div", { key: '3255531be492b9afa7b47476a805f923beea09db', class: "toolbar-background", part: "background" }), hAsync("div", { key: '8758189374c0a12f293c30ca7f8f049b732d2cab', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '74c3705f717968893bf94ea95c99cae313ce68f3', name: "start", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: '298c78f93291442f140f8c52983871215f20ea87', name: "secondary", onSlotchange: () => this.updateSlotClasses }), hAsync("div", { key: 'f7376320b704b8ce375fe2223ae30d51bfc05acb', class: "toolbar-content", part: "content" }, hAsync("slot", { key: 'ddaec08b1fbd13384d834ba4c3b4441c4d749faf' })), hAsync("slot", { key: '6d5bce85159859bb548e4d3fb6b22208dcb48987', name: "primary", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: 'd1d21752ed3bcc7bf15c20de1c0a6fd956373450', name: "end", onSlotchange: () => this.updateSlotClasses }))));
|
|
43627
44128
|
}
|
|
43628
44129
|
get el() { return getElement(this); }
|
|
43629
44130
|
static get watchers() { return {
|
|
@@ -43682,11 +44183,11 @@ class ToolbarTitle {
|
|
|
43682
44183
|
render() {
|
|
43683
44184
|
const theme = getIonTheme(this);
|
|
43684
44185
|
const size = this.getSize();
|
|
43685
|
-
return (hAsync(Host, { key: '
|
|
44186
|
+
return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
|
|
43686
44187
|
[theme]: true,
|
|
43687
44188
|
[`title-${size}`]: true,
|
|
43688
44189
|
'title-rtl': document.dir === 'rtl',
|
|
43689
|
-
}) }, hAsync("div", { key: '
|
|
44190
|
+
}) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
|
|
43690
44191
|
}
|
|
43691
44192
|
get el() { return getElement(this); }
|
|
43692
44193
|
static get watchers() { return {
|
|
@@ -43742,6 +44243,7 @@ registerComponents([
|
|
|
43742
44243
|
FabButton,
|
|
43743
44244
|
FabList,
|
|
43744
44245
|
Footer,
|
|
44246
|
+
Gallery,
|
|
43745
44247
|
Grid,
|
|
43746
44248
|
Header,
|
|
43747
44249
|
Icon,
|