@ionic/core 8.8.7-dev.11778599050.191a48e3 → 8.8.7-dev.11778702595.1d38f927
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 +510 -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 +595 -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 +508 -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-06bd033b.entry.js +4 -0
- 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-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 +183 -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 +648 -126
- package/hydrate/index.mjs +648 -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,524 @@ 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
|
+
onColumnsOrGapChanged() {
|
|
18809
|
+
this.syncResponsiveLayout();
|
|
18810
|
+
}
|
|
18811
|
+
onLayoutOrOrderChanged() {
|
|
18812
|
+
this.syncResponsiveLayout();
|
|
18813
|
+
// Wait until the next animation frame to warn about unused order
|
|
18814
|
+
// to avoid erroneous warnings when the layout and order are updated
|
|
18815
|
+
// in the same frame.
|
|
18816
|
+
raf(() => {
|
|
18817
|
+
this.warnUnusedOrder();
|
|
18818
|
+
});
|
|
18819
|
+
}
|
|
18820
|
+
componentDidLoad() {
|
|
18821
|
+
this.updateResponsiveStyles(true);
|
|
18822
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
18823
|
+
this.updateResponsiveStyles();
|
|
18824
|
+
this.scheduleMasonryResize();
|
|
18825
|
+
});
|
|
18826
|
+
this.resizeObserver.observe(this.el);
|
|
18827
|
+
this.scheduleMasonryResize();
|
|
18828
|
+
this.warnUnusedOrder();
|
|
18829
|
+
}
|
|
18830
|
+
disconnectedCallback() {
|
|
18831
|
+
var _a;
|
|
18832
|
+
if (this.masonryRaf !== undefined) {
|
|
18833
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18834
|
+
this.masonryRaf = undefined;
|
|
18835
|
+
}
|
|
18836
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
18837
|
+
this.resizeObserver = undefined;
|
|
18838
|
+
}
|
|
18839
|
+
/**
|
|
18840
|
+
* Listen for the load event on child elements.
|
|
18841
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18842
|
+
* of the masonry grid when the child elements load. This is useful for when
|
|
18843
|
+
* images take time to load.
|
|
18844
|
+
*/
|
|
18845
|
+
onChildLoad(ev) {
|
|
18846
|
+
if (this.layout !== 'masonry') {
|
|
18847
|
+
return;
|
|
18848
|
+
}
|
|
18849
|
+
const target = ev.target;
|
|
18850
|
+
if (target instanceof Node && this.el.contains(target)) {
|
|
18851
|
+
this.scheduleMasonryResize();
|
|
18852
|
+
}
|
|
18853
|
+
}
|
|
18854
|
+
/**
|
|
18855
|
+
* Recompute the gallery column and gap variables and masonry placement when
|
|
18856
|
+
* columns, gap, layout, or order change.
|
|
18857
|
+
*/
|
|
18858
|
+
syncResponsiveLayout() {
|
|
18859
|
+
this.updateResponsiveStyles(true);
|
|
18860
|
+
this.scheduleMasonryResize();
|
|
18861
|
+
}
|
|
18862
|
+
/**
|
|
18863
|
+
* Batch masonry measurements to a single animation frame.
|
|
18864
|
+
* This avoids repeated sync layouts during rapid resize/load/slot changes.
|
|
18865
|
+
*/
|
|
18866
|
+
scheduleMasonryResize() {
|
|
18867
|
+
if (this.layout !== 'masonry') {
|
|
18868
|
+
this.clearMasonryStyles();
|
|
18869
|
+
return;
|
|
18870
|
+
}
|
|
18871
|
+
if (this.masonryRaf !== undefined) {
|
|
18872
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18873
|
+
}
|
|
18874
|
+
this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
|
|
18875
|
+
}
|
|
18876
|
+
/**
|
|
18877
|
+
* Normalize a single column value (`columns` as a number, string, or one entry from
|
|
18878
|
+
* a `columns` breakpoint map) to a positive integer. Returns `undefined` when
|
|
18879
|
+
* the input cannot be interpreted as a finite number.
|
|
18880
|
+
*/
|
|
18881
|
+
sanitizeColumns(columns) {
|
|
18882
|
+
if (columns === undefined) {
|
|
18883
|
+
return undefined;
|
|
18884
|
+
}
|
|
18885
|
+
const numericColumns = typeof columns === 'number' ? columns : Number(columns);
|
|
18886
|
+
if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
|
|
18887
|
+
return undefined;
|
|
18888
|
+
}
|
|
18889
|
+
return numericColumns;
|
|
18890
|
+
}
|
|
18891
|
+
/**
|
|
18892
|
+
* Normalize a single gap value (`gap` as a number, string, or one entry from
|
|
18893
|
+
* a `gap` breakpoint map) to a CSS length string. Returns `undefined` when
|
|
18894
|
+
* the input cannot be interpreted as a valid CSS length.
|
|
18895
|
+
*/
|
|
18896
|
+
sanitizeGap(gap) {
|
|
18897
|
+
if (gap === undefined) {
|
|
18898
|
+
return undefined;
|
|
18899
|
+
}
|
|
18900
|
+
const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
|
|
18901
|
+
if (normalizedGap === '' || typeof normalizedGap === 'object') {
|
|
18902
|
+
return undefined;
|
|
18903
|
+
}
|
|
18904
|
+
const numericGap = Number(normalizedGap);
|
|
18905
|
+
if (Number.isFinite(numericGap)) {
|
|
18906
|
+
return numericGap < 0 ? undefined : `${numericGap}px`;
|
|
18907
|
+
}
|
|
18908
|
+
if (typeof normalizedGap !== 'string') {
|
|
18909
|
+
return undefined;
|
|
18910
|
+
}
|
|
18911
|
+
const isValidCssLength = isValidLengthPercentage(normalizedGap);
|
|
18912
|
+
return isValidCssLength ? normalizedGap : undefined;
|
|
18913
|
+
}
|
|
18914
|
+
/**
|
|
18915
|
+
* Check if the value is a breakpoint map object.
|
|
18916
|
+
*/
|
|
18917
|
+
isBreakpointMap(value) {
|
|
18918
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
18919
|
+
}
|
|
18920
|
+
/**
|
|
18921
|
+
* Check if the breakpoint map has any invalid values for the provided
|
|
18922
|
+
* sanitizer. A breakpoint map is invalid when there are no valid breakpoint
|
|
18923
|
+
* keys set (e.g. `{}` or `{ colums: 3 }`), or when a value under a
|
|
18924
|
+
* breakpoint key fails the sanitizer (e.g. `{ xs: -3 }`, `{ sm: 'foo' }`).
|
|
18925
|
+
*/
|
|
18926
|
+
hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
|
|
18927
|
+
let hasBreakpointEntry = false;
|
|
18928
|
+
for (const breakpoint of BREAKPOINT_ORDER) {
|
|
18929
|
+
const value = breakpointMap[breakpoint];
|
|
18930
|
+
if (value !== undefined) {
|
|
18931
|
+
hasBreakpointEntry = true;
|
|
18932
|
+
if (sanitizeValue(value) === undefined) {
|
|
18933
|
+
return true;
|
|
18934
|
+
}
|
|
18935
|
+
}
|
|
18936
|
+
}
|
|
18937
|
+
return !hasBreakpointEntry;
|
|
18938
|
+
}
|
|
18939
|
+
/**
|
|
18940
|
+
* Resolve a responsive value from a breakpoint map.
|
|
18941
|
+
* Uses a breakpoint-specific default when custom values are missing/invalid.
|
|
18942
|
+
*/
|
|
18943
|
+
resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
|
|
18944
|
+
let resolvedValue;
|
|
18945
|
+
for (const bp of BREAKPOINT_ORDER) {
|
|
18946
|
+
const providedValue = breakpointMap[bp];
|
|
18947
|
+
const sanitizedProvided = sanitizeProvided(providedValue);
|
|
18948
|
+
const sanitizedDefault = getSanitizedDefault(bp);
|
|
18949
|
+
const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
|
|
18950
|
+
if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
|
|
18951
|
+
resolvedValue = resolved;
|
|
18952
|
+
}
|
|
18953
|
+
}
|
|
18954
|
+
return resolvedValue;
|
|
18955
|
+
}
|
|
18956
|
+
/**
|
|
18957
|
+
* Get the columns from a responsive breakpoint map.
|
|
18958
|
+
* Returns the columns for the last matching breakpoint.
|
|
18959
|
+
*/
|
|
18960
|
+
getColumnsFromBreakpointMap(width, breakpointMap) {
|
|
18961
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
|
|
18962
|
+
}
|
|
18963
|
+
/**
|
|
18964
|
+
* Get the gap from a responsive breakpoint map.
|
|
18965
|
+
* Returns the gap for the last matching breakpoint.
|
|
18966
|
+
*/
|
|
18967
|
+
getGapFromBreakpointMap(width, breakpointMap) {
|
|
18968
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
|
|
18969
|
+
}
|
|
18970
|
+
/**
|
|
18971
|
+
* Warn about an invalid columns value when it is set to a negative number,
|
|
18972
|
+
* an empty breakpoint map, a map with no supported breakpoint keys,
|
|
18973
|
+
* or a map with invalid breakpoint values.
|
|
18974
|
+
*/
|
|
18975
|
+
warnInvalidColumns(columns) {
|
|
18976
|
+
if (this.hasWarnedInvalidColumns) {
|
|
18977
|
+
return;
|
|
18978
|
+
}
|
|
18979
|
+
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);
|
|
18980
|
+
this.hasWarnedInvalidColumns = true;
|
|
18981
|
+
}
|
|
18982
|
+
/**
|
|
18983
|
+
* Warn about an invalid gap value when it is set to a negative number,
|
|
18984
|
+
* an empty breakpoint map, a map with no supported breakpoint keys,
|
|
18985
|
+
* or a map with invalid breakpoint values.
|
|
18986
|
+
*/
|
|
18987
|
+
warnInvalidGap(gap) {
|
|
18988
|
+
if (this.hasWarnedInvalidGap) {
|
|
18989
|
+
return;
|
|
18990
|
+
}
|
|
18991
|
+
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);
|
|
18992
|
+
this.hasWarnedInvalidGap = true;
|
|
18993
|
+
}
|
|
18994
|
+
/**
|
|
18995
|
+
* Warn when `order` is explicitly set while layout is `uniform`.
|
|
18996
|
+
*/
|
|
18997
|
+
warnUnusedOrder() {
|
|
18998
|
+
const { layout } = this;
|
|
18999
|
+
const order = this.order == null ? undefined : this.order;
|
|
19000
|
+
if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
|
|
19001
|
+
return;
|
|
19002
|
+
}
|
|
19003
|
+
printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
|
|
19004
|
+
this.hasWarnedUnusedOrder = true;
|
|
19005
|
+
}
|
|
19006
|
+
/**
|
|
19007
|
+
* Resolve the active columns value for the current width. Falls back to
|
|
19008
|
+
* the default responsive columns when the provided prop is invalid.
|
|
19009
|
+
*/
|
|
19010
|
+
getColumnsForWidth(width) {
|
|
19011
|
+
const { columns } = this;
|
|
19012
|
+
const isBreakpointColumns = this.isBreakpointMap(columns);
|
|
19013
|
+
const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
|
|
19014
|
+
const sanitizedColumns = isBreakpointColumns
|
|
19015
|
+
? this.getColumnsFromBreakpointMap(width, columns)
|
|
19016
|
+
: this.sanitizeColumns(columns);
|
|
19017
|
+
if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
|
|
19018
|
+
this.warnInvalidColumns(columns);
|
|
19019
|
+
}
|
|
19020
|
+
if (sanitizedColumns !== undefined) {
|
|
19021
|
+
return sanitizedColumns;
|
|
19022
|
+
}
|
|
19023
|
+
return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
|
|
19024
|
+
}
|
|
19025
|
+
/**
|
|
19026
|
+
* Resolve the active gap value for the current width.
|
|
19027
|
+
*/
|
|
19028
|
+
getGapForWidth(width) {
|
|
19029
|
+
const { gap } = this;
|
|
19030
|
+
const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
|
|
19031
|
+
const isBreakpointGap = this.isBreakpointMap(providedGap);
|
|
19032
|
+
const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
|
|
19033
|
+
const sanitizedGap = isBreakpointGap
|
|
19034
|
+
? this.getGapFromBreakpointMap(width, providedGap)
|
|
19035
|
+
: this.sanitizeGap(providedGap);
|
|
19036
|
+
if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
|
|
19037
|
+
this.warnInvalidGap(providedGap);
|
|
19038
|
+
}
|
|
19039
|
+
if (sanitizedGap !== undefined) {
|
|
19040
|
+
return sanitizedGap;
|
|
19041
|
+
}
|
|
19042
|
+
return this.sanitizeGap(DEFAULT_GAP);
|
|
19043
|
+
}
|
|
19044
|
+
/**
|
|
19045
|
+
* Update the responsive styles for the gallery. This is used to update
|
|
19046
|
+
* the columns and gap when the component width changes.
|
|
19047
|
+
*/
|
|
19048
|
+
updateResponsiveStyles(force = false) {
|
|
19049
|
+
const width = this.el.getBoundingClientRect().width;
|
|
19050
|
+
// Only update the columns if the component width has changed by more than
|
|
19051
|
+
// 1px or if the force flag is true. This prevents unnecessary re-renders
|
|
19052
|
+
// when the component width has not changed.
|
|
19053
|
+
if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
|
|
19054
|
+
return;
|
|
19055
|
+
}
|
|
19056
|
+
this.lastWidth = width;
|
|
19057
|
+
const columns = this.getColumnsForWidth(width);
|
|
19058
|
+
this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
|
|
19059
|
+
const gap = this.getGapForWidth(width);
|
|
19060
|
+
this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
|
|
19061
|
+
}
|
|
19062
|
+
/**
|
|
19063
|
+
* Return all directly slotted children of the gallery that can be grid items
|
|
19064
|
+
* with inline placement styles (HTML elements and SVG elements).
|
|
19065
|
+
*/
|
|
19066
|
+
getItems() {
|
|
19067
|
+
return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
|
|
19068
|
+
}
|
|
19069
|
+
/**
|
|
19070
|
+
* Clear the item styles for the given item element.
|
|
19071
|
+
* This is used to switch between uniform and masonry layouts.
|
|
19072
|
+
*/
|
|
19073
|
+
clearItemStyles(itemEl) {
|
|
19074
|
+
itemEl.style.gridRowStart = '';
|
|
19075
|
+
itemEl.style.gridRowEnd = '';
|
|
19076
|
+
itemEl.style.gridColumn = '';
|
|
19077
|
+
itemEl.style.marginBottom = '';
|
|
19078
|
+
}
|
|
19079
|
+
/**
|
|
19080
|
+
* Clear placement styles for all items when leaving masonry mode.
|
|
19081
|
+
*/
|
|
19082
|
+
clearMasonryStyles() {
|
|
19083
|
+
this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
|
|
19084
|
+
}
|
|
19085
|
+
/**
|
|
19086
|
+
* Convert a rendered item height to the number of grid rows it should span.
|
|
19087
|
+
* Returns undefined for images that are not fully loaded yet.
|
|
19088
|
+
*/
|
|
19089
|
+
calculateRowSpan(itemEl, rowHeight, rowGap) {
|
|
19090
|
+
if (itemEl instanceof HTMLImageElement && (!itemEl.complete || itemEl.naturalHeight === 0)) {
|
|
19091
|
+
return undefined;
|
|
19092
|
+
}
|
|
19093
|
+
const height = itemEl.getBoundingClientRect().height;
|
|
19094
|
+
const itemStyles = getComputedStyle(itemEl);
|
|
19095
|
+
const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
|
|
19096
|
+
const denominator = rowHeight + rowGap;
|
|
19097
|
+
if (!denominator || !Number.isFinite(denominator)) {
|
|
19098
|
+
return 1;
|
|
19099
|
+
}
|
|
19100
|
+
return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
|
|
19101
|
+
}
|
|
19102
|
+
/**
|
|
19103
|
+
* Get the index of the column to position the item in.
|
|
19104
|
+
* When the order is `best-fit`, the column with the shortest height is
|
|
19105
|
+
* returned. Otherwise, items are placed in the column that matches their
|
|
19106
|
+
* natural DOM order.
|
|
19107
|
+
*/
|
|
19108
|
+
getColumnIndex(index, columnHeights, columns) {
|
|
19109
|
+
const order = this.getOrder();
|
|
19110
|
+
if (order === 'best-fit') {
|
|
19111
|
+
let columnIndex = 0;
|
|
19112
|
+
for (let i = 1; i < columns; i++) {
|
|
19113
|
+
if (columnHeights[i] < columnHeights[columnIndex]) {
|
|
19114
|
+
columnIndex = i;
|
|
19115
|
+
}
|
|
19116
|
+
}
|
|
19117
|
+
return columnIndex;
|
|
19118
|
+
}
|
|
19119
|
+
return index % columns;
|
|
19120
|
+
}
|
|
19121
|
+
/**
|
|
19122
|
+
* Apply masonry placement by assigning each item a column and row span.
|
|
19123
|
+
*/
|
|
19124
|
+
layoutMasonry(items, rowHeight, rowGap, columns) {
|
|
19125
|
+
const columnHeights = new Array(columns).fill(0);
|
|
19126
|
+
const lastItemsByColumn = new Array(columns).fill(undefined);
|
|
19127
|
+
items.forEach((itemEl, i) => {
|
|
19128
|
+
itemEl.style.marginBottom = '';
|
|
19129
|
+
const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19130
|
+
if (span === undefined) {
|
|
19131
|
+
this.clearItemStyles(itemEl);
|
|
19132
|
+
return;
|
|
19133
|
+
}
|
|
19134
|
+
const columnIndex = this.getColumnIndex(i, columnHeights, columns);
|
|
19135
|
+
const start = columnHeights[columnIndex] + 1;
|
|
19136
|
+
itemEl.style.gridColumn = `${columnIndex + 1}`;
|
|
19137
|
+
itemEl.style.gridRowStart = `${start}`;
|
|
19138
|
+
itemEl.style.gridRowEnd = `span ${span}`;
|
|
19139
|
+
columnHeights[columnIndex] = start + span - 1;
|
|
19140
|
+
lastItemsByColumn[columnIndex] = itemEl;
|
|
19141
|
+
});
|
|
19142
|
+
// Remove trailing space from the final item in each column while preserving
|
|
19143
|
+
// spacing between all non-final items.
|
|
19144
|
+
lastItemsByColumn.forEach((itemEl) => {
|
|
19145
|
+
if (itemEl === undefined) {
|
|
19146
|
+
return;
|
|
19147
|
+
}
|
|
19148
|
+
itemEl.style.marginBottom = '0px';
|
|
19149
|
+
const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19150
|
+
if (spanWithoutTrailingGap === undefined) {
|
|
19151
|
+
this.clearItemStyles(itemEl);
|
|
19152
|
+
return;
|
|
19153
|
+
}
|
|
19154
|
+
itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
|
|
19155
|
+
});
|
|
19156
|
+
}
|
|
19157
|
+
/**
|
|
19158
|
+
* Resolved order for layout and CSS. Order should be `undefined` for
|
|
19159
|
+
* the uniform layout. When order is not set, it should be `"sequential"`
|
|
19160
|
+
* for the masonry layout.
|
|
19161
|
+
*/
|
|
19162
|
+
getOrder() {
|
|
19163
|
+
const { layout } = this;
|
|
19164
|
+
const order = this.order == null ? undefined : this.order;
|
|
19165
|
+
if (layout === 'uniform') {
|
|
19166
|
+
return undefined;
|
|
19167
|
+
}
|
|
19168
|
+
if (layout === 'masonry' && order === undefined) {
|
|
19169
|
+
return 'sequential';
|
|
19170
|
+
}
|
|
19171
|
+
return order;
|
|
19172
|
+
}
|
|
19173
|
+
render() {
|
|
19174
|
+
const { layout } = this;
|
|
19175
|
+
const order = this.getOrder();
|
|
19176
|
+
const theme = getIonTheme(this);
|
|
19177
|
+
return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
|
|
19178
|
+
[theme]: true,
|
|
19179
|
+
[`gallery-layout-${layout}`]: true,
|
|
19180
|
+
[`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
|
|
19181
|
+
} }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
|
|
19182
|
+
}
|
|
19183
|
+
get el() { return getElement(this); }
|
|
19184
|
+
static get watchers() { return {
|
|
19185
|
+
"columns": [{
|
|
19186
|
+
"onColumnsOrGapChanged": 0
|
|
19187
|
+
}],
|
|
19188
|
+
"gap": [{
|
|
19189
|
+
"onColumnsOrGapChanged": 0
|
|
19190
|
+
}],
|
|
19191
|
+
"layout": [{
|
|
19192
|
+
"onLayoutOrOrderChanged": 0
|
|
19193
|
+
}],
|
|
19194
|
+
"order": [{
|
|
19195
|
+
"onLayoutOrOrderChanged": 0
|
|
19196
|
+
}]
|
|
19197
|
+
}; }
|
|
19198
|
+
static get style() { return galleryCss(); }
|
|
19199
|
+
static get cmpMeta() { return {
|
|
19200
|
+
"$flags$": 265,
|
|
19201
|
+
"$tagName$": "ion-gallery",
|
|
19202
|
+
"$members$": {
|
|
19203
|
+
"layout": [1],
|
|
19204
|
+
"order": [1],
|
|
19205
|
+
"columns": [8],
|
|
19206
|
+
"gap": [8]
|
|
19207
|
+
},
|
|
19208
|
+
"$listeners$": [[2, "load", "onChildLoad"]],
|
|
19209
|
+
"$lazyBundleId$": "-",
|
|
19210
|
+
"$attrsToReflect$": []
|
|
19211
|
+
}; }
|
|
19212
|
+
}
|
|
19213
|
+
|
|
18694
19214
|
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
19215
|
|
|
18696
19216
|
/**
|
|
@@ -18707,10 +19227,10 @@ class Grid {
|
|
|
18707
19227
|
}
|
|
18708
19228
|
render() {
|
|
18709
19229
|
const theme = getIonTheme(this);
|
|
18710
|
-
return (hAsync(Host, { key: '
|
|
19230
|
+
return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
|
|
18711
19231
|
[theme]: true,
|
|
18712
19232
|
'grid-fixed': this.fixed,
|
|
18713
|
-
} }, hAsync("slot", { key: '
|
|
19233
|
+
} }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
|
|
18714
19234
|
}
|
|
18715
19235
|
static get style() { return gridCss(); }
|
|
18716
19236
|
static get cmpMeta() { return {
|
|
@@ -19112,7 +19632,7 @@ class Header {
|
|
|
19112
19632
|
const isCondensed = collapse === 'condense';
|
|
19113
19633
|
// banner role must be at top level, so remove role if inside a menu
|
|
19114
19634
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
19115
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19635
|
+
return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
|
|
19116
19636
|
[theme]: true,
|
|
19117
19637
|
// Used internally for styling
|
|
19118
19638
|
[`header-${theme}`]: true,
|
|
@@ -19120,7 +19640,7 @@ class Header {
|
|
|
19120
19640
|
[`header-collapse-${collapse}`]: true,
|
|
19121
19641
|
[`header-translucent-${theme}`]: this.translucent,
|
|
19122
19642
|
['header-divider']: divider,
|
|
19123
|
-
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: '
|
|
19643
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
|
|
19124
19644
|
}
|
|
19125
19645
|
get el() { return getElement(this); }
|
|
19126
19646
|
static get style() { return {
|
|
@@ -19471,9 +19991,9 @@ class Img {
|
|
|
19471
19991
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
19472
19992
|
const { draggable } = inheritedAttributes;
|
|
19473
19993
|
const theme = getIonTheme(this);
|
|
19474
|
-
return (hAsync(Host, { key: '
|
|
19994
|
+
return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
|
|
19475
19995
|
[theme]: true,
|
|
19476
|
-
} }, hAsync("img", { key: '
|
|
19996
|
+
} }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
19477
19997
|
}
|
|
19478
19998
|
get el() { return getElement(this); }
|
|
19479
19999
|
static get watchers() { return {
|
|
@@ -19778,7 +20298,7 @@ class InfiniteScroll {
|
|
|
19778
20298
|
render() {
|
|
19779
20299
|
const theme = getIonTheme(this);
|
|
19780
20300
|
const disabled = this.disabled;
|
|
19781
|
-
return (hAsync(Host, { key: '
|
|
20301
|
+
return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
|
|
19782
20302
|
[theme]: true,
|
|
19783
20303
|
'infinite-scroll-loading': this.isLoading,
|
|
19784
20304
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -19841,11 +20361,11 @@ class InfiniteScrollContent {
|
|
|
19841
20361
|
}
|
|
19842
20362
|
render() {
|
|
19843
20363
|
const theme = getIonTheme(this);
|
|
19844
|
-
return (hAsync(Host, { key: '
|
|
20364
|
+
return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
|
|
19845
20365
|
[theme]: true,
|
|
19846
20366
|
// Used internally for styling
|
|
19847
20367
|
[`infinite-scroll-content-${theme}`]: true,
|
|
19848
|
-
} }, hAsync("div", { key: '
|
|
20368
|
+
} }, 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
20369
|
}
|
|
19850
20370
|
static get style() { return {
|
|
19851
20371
|
ionic: ionicInfiniteScrollContentMdCss(),
|
|
@@ -20593,7 +21113,7 @@ class Input {
|
|
|
20593
21113
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
20594
21114
|
*/
|
|
20595
21115
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
20596
|
-
return (hAsync(Host, { key: '
|
|
21116
|
+
return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
|
|
20597
21117
|
[theme]: true,
|
|
20598
21118
|
'has-value': hasValue,
|
|
20599
21119
|
'has-focus': hasFocus,
|
|
@@ -20606,7 +21126,7 @@ class Input {
|
|
|
20606
21126
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
20607
21127
|
'input-disabled': disabled,
|
|
20608
21128
|
'input-readonly': readonly,
|
|
20609
|
-
}) }, hAsync("label", { key: '
|
|
21129
|
+
}) }, 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
21130
|
/**
|
|
20611
21131
|
* For the ionic theme, we render the outline container here
|
|
20612
21132
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -20616,14 +21136,14 @@ class Input {
|
|
|
20616
21136
|
* <label> element, ensuring that clicking the label text
|
|
20617
21137
|
* focuses the input.
|
|
20618
21138
|
*/
|
|
20619
|
-
theme === 'ionic' && hAsync("div", { key: '
|
|
21139
|
+
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
21140
|
/**
|
|
20621
21141
|
* This prevents mobile browsers from
|
|
20622
21142
|
* blurring the input when the clear
|
|
20623
21143
|
* button is activated.
|
|
20624
21144
|
*/
|
|
20625
21145
|
ev.preventDefault();
|
|
20626
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
21146
|
+
}, 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
21147
|
}
|
|
20628
21148
|
get el() { return getElement(this); }
|
|
20629
21149
|
static get watchers() { return {
|
|
@@ -21388,7 +21908,7 @@ class InputOTP {
|
|
|
21388
21908
|
const tabbableIndex = this.getTabbableIndex();
|
|
21389
21909
|
const pattern = this.getPattern();
|
|
21390
21910
|
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: '
|
|
21911
|
+
return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
|
|
21392
21912
|
[mode]: true,
|
|
21393
21913
|
'has-focus': hasFocus,
|
|
21394
21914
|
[`input-otp-size-${size}`]: true,
|
|
@@ -21396,10 +21916,10 @@ class InputOTP {
|
|
|
21396
21916
|
[`input-otp-fill-${fill}`]: true,
|
|
21397
21917
|
'input-otp-disabled': disabled,
|
|
21398
21918
|
'input-otp-readonly': readonly,
|
|
21399
|
-
}) }, hAsync("div", Object.assign({ key: '
|
|
21919
|
+
}) }, 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
21920
|
'input-otp-description': true,
|
|
21401
21921
|
'input-otp-description-hidden': !hasDescription,
|
|
21402
|
-
}, part: "description" }, hAsync("slot", { key: '
|
|
21922
|
+
}, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
|
|
21403
21923
|
}
|
|
21404
21924
|
static get formAssociated() { return true; }
|
|
21405
21925
|
get el() { return getElement(this); }
|
|
@@ -21547,16 +22067,16 @@ class InputPasswordToggle {
|
|
|
21547
22067
|
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
21548
22068
|
const mode = getIonMode$1(this);
|
|
21549
22069
|
const isPasswordVisible = type === 'text';
|
|
21550
|
-
return (hAsync(Host, { key: '
|
|
22070
|
+
return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
|
|
21551
22071
|
[mode]: true,
|
|
21552
|
-
}) }, hAsync("ion-button", { key: '
|
|
22072
|
+
}) }, 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
22073
|
/**
|
|
21554
22074
|
* This prevents mobile browsers from
|
|
21555
22075
|
* blurring the input when the password toggle
|
|
21556
22076
|
* button is activated.
|
|
21557
22077
|
*/
|
|
21558
22078
|
ev.preventDefault();
|
|
21559
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
22079
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
21560
22080
|
}
|
|
21561
22081
|
get el() { return getElement(this); }
|
|
21562
22082
|
static get watchers() { return {
|
|
@@ -21931,11 +22451,11 @@ class ItemDivider {
|
|
|
21931
22451
|
}
|
|
21932
22452
|
render() {
|
|
21933
22453
|
const theme = getIonTheme(this);
|
|
21934
|
-
return (hAsync(Host, { key: '
|
|
22454
|
+
return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
|
|
21935
22455
|
[theme]: true,
|
|
21936
22456
|
'item-divider-sticky': this.sticky,
|
|
21937
22457
|
item: true,
|
|
21938
|
-
}) }, hAsync("slot", { key: '
|
|
22458
|
+
}) }, 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
22459
|
}
|
|
21940
22460
|
get el() { return getElement(this); }
|
|
21941
22461
|
static get style() { return {
|
|
@@ -21972,7 +22492,7 @@ class ItemGroup {
|
|
|
21972
22492
|
}
|
|
21973
22493
|
render() {
|
|
21974
22494
|
const theme = getIonTheme(this);
|
|
21975
|
-
return (hAsync(Host, { key: '
|
|
22495
|
+
return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
|
|
21976
22496
|
[theme]: true,
|
|
21977
22497
|
// Used internally for styling
|
|
21978
22498
|
[`item-group-${theme}`]: true,
|
|
@@ -22068,14 +22588,14 @@ class ItemOption {
|
|
|
22068
22588
|
href: this.href,
|
|
22069
22589
|
target: this.target,
|
|
22070
22590
|
};
|
|
22071
|
-
return (hAsync(Host, { key: '
|
|
22591
|
+
return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
22072
22592
|
[theme]: true,
|
|
22073
22593
|
[`item-option-${shape}`]: shape !== undefined,
|
|
22074
22594
|
[`item-option-${hue}`]: hue !== undefined,
|
|
22075
22595
|
'item-option-disabled': disabled,
|
|
22076
22596
|
'item-option-expandable': expandable,
|
|
22077
22597
|
'ion-activatable': true,
|
|
22078
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
22598
|
+
}) }, 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
22599
|
}
|
|
22080
22600
|
get el() { return getElement(this); }
|
|
22081
22601
|
static get style() { return {
|
|
@@ -22133,7 +22653,7 @@ class ItemOptions {
|
|
|
22133
22653
|
render() {
|
|
22134
22654
|
const theme = getIonTheme(this);
|
|
22135
22655
|
const isEnd = isEndSide(this.side);
|
|
22136
|
-
return (hAsync(Host, { key: '
|
|
22656
|
+
return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
|
|
22137
22657
|
[theme]: true,
|
|
22138
22658
|
// Used internally for styling
|
|
22139
22659
|
[`item-options-${theme}`]: true,
|
|
@@ -22985,7 +23505,7 @@ class ItemSliding {
|
|
|
22985
23505
|
}
|
|
22986
23506
|
render() {
|
|
22987
23507
|
const theme = getIonTheme(this);
|
|
22988
|
-
return (hAsync(Host, { key: '
|
|
23508
|
+
return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
|
|
22989
23509
|
[theme]: true,
|
|
22990
23510
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
22991
23511
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23104,13 +23624,13 @@ class Label {
|
|
|
23104
23624
|
render() {
|
|
23105
23625
|
const position = this.position;
|
|
23106
23626
|
const theme = getIonTheme(this);
|
|
23107
|
-
return (hAsync(Host, { key: '
|
|
23627
|
+
return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
|
|
23108
23628
|
[theme]: true,
|
|
23109
23629
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23110
23630
|
[`label-${position}`]: position !== undefined,
|
|
23111
23631
|
[`label-no-animate`]: this.noAnimate,
|
|
23112
23632
|
'label-rtl': document.dir === 'rtl',
|
|
23113
|
-
}) }, hAsync("slot", { key: '
|
|
23633
|
+
}) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
|
|
23114
23634
|
}
|
|
23115
23635
|
get el() { return getElement(this); }
|
|
23116
23636
|
static get watchers() { return {
|
|
@@ -23190,7 +23710,7 @@ class List {
|
|
|
23190
23710
|
const theme = getIonTheme(this);
|
|
23191
23711
|
const shape = this.getShape();
|
|
23192
23712
|
const { lines, inset } = this;
|
|
23193
|
-
return (hAsync(Host, { key: '
|
|
23713
|
+
return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
|
|
23194
23714
|
[theme]: true,
|
|
23195
23715
|
// Used internally for styling
|
|
23196
23716
|
[`list-${theme}`]: true,
|
|
@@ -23240,10 +23760,10 @@ class ListHeader {
|
|
|
23240
23760
|
render() {
|
|
23241
23761
|
const { lines } = this;
|
|
23242
23762
|
const theme = getIonTheme(this);
|
|
23243
|
-
return (hAsync(Host, { key: '
|
|
23763
|
+
return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
|
|
23244
23764
|
[theme]: true,
|
|
23245
23765
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
23246
|
-
}) }, hAsync("div", { key: '
|
|
23766
|
+
}) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
|
|
23247
23767
|
}
|
|
23248
23768
|
static get style() { return {
|
|
23249
23769
|
ionic: listHeaderIonicCss(),
|
|
@@ -23532,9 +24052,9 @@ class Loading {
|
|
|
23532
24052
|
* Otherwise, don't set aria-labelledby.
|
|
23533
24053
|
*/
|
|
23534
24054
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23535
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24055
|
+
return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
23536
24056
|
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: '
|
|
24057
|
+
}, 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
24058
|
}
|
|
23539
24059
|
get el() { return getElement(this); }
|
|
23540
24060
|
static get watchers() { return {
|
|
@@ -24595,14 +25115,14 @@ class Menu {
|
|
|
24595
25115
|
* the ionBackButton listener in the menu controller
|
|
24596
25116
|
* will handle closing the menu when Escape is pressed.
|
|
24597
25117
|
*/
|
|
24598
|
-
return (hAsync(Host, { key: '
|
|
25118
|
+
return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
24599
25119
|
[theme]: true,
|
|
24600
25120
|
[`menu-type-${type}`]: true,
|
|
24601
25121
|
'menu-enabled': !disabled,
|
|
24602
25122
|
[`menu-side-${side}`]: true,
|
|
24603
25123
|
'menu-pane-visible': isPaneVisible,
|
|
24604
25124
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
24605
|
-
} }, hAsync("div", { key: '
|
|
25125
|
+
} }, 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
25126
|
}
|
|
24607
25127
|
get el() { return getElement(this); }
|
|
24608
25128
|
static get watchers() { return {
|
|
@@ -24736,7 +25256,7 @@ class MenuButton {
|
|
|
24736
25256
|
type: this.type,
|
|
24737
25257
|
};
|
|
24738
25258
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
24739
|
-
return (hAsync(Host, { key: '
|
|
25259
|
+
return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
24740
25260
|
[theme]: true,
|
|
24741
25261
|
button: true, // ion-buttons target .button
|
|
24742
25262
|
'menu-button-hidden': hidden,
|
|
@@ -24745,7 +25265,7 @@ class MenuButton {
|
|
|
24745
25265
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
24746
25266
|
'ion-activatable': true,
|
|
24747
25267
|
'ion-focusable': true,
|
|
24748
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
25268
|
+
}) }, 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
25269
|
}
|
|
24750
25270
|
get el() { return getElement(this); }
|
|
24751
25271
|
static get style() { return {
|
|
@@ -24802,10 +25322,10 @@ class MenuToggle {
|
|
|
24802
25322
|
render() {
|
|
24803
25323
|
const theme = getIonTheme(this);
|
|
24804
25324
|
const hidden = this.autoHide && !this.visible;
|
|
24805
|
-
return (hAsync(Host, { key: '
|
|
25325
|
+
return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
24806
25326
|
[theme]: true,
|
|
24807
25327
|
'menu-toggle-hidden': hidden,
|
|
24808
|
-
} }, hAsync("slot", { key: '
|
|
25328
|
+
} }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
|
|
24809
25329
|
}
|
|
24810
25330
|
static get style() { return menuToggleCss(); }
|
|
24811
25331
|
static get cmpMeta() { return {
|
|
@@ -28308,20 +28828,20 @@ class Modal {
|
|
|
28308
28828
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
28309
28829
|
const shape = this.getShape();
|
|
28310
28830
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
28311
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
28831
|
+
return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
|
|
28312
28832
|
// Allow the modal to be navigable when the handle is focusable
|
|
28313
28833
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
28314
28834
|
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: '
|
|
28835
|
+
}, 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
28836
|
/*
|
|
28317
28837
|
role and aria-modal must be used on the
|
|
28318
28838
|
same element. They must also be set inside the
|
|
28319
28839
|
shadow DOM otherwise ion-button will not be highlighted
|
|
28320
28840
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
28321
28841
|
*/
|
|
28322
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
28842
|
+
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
28843
|
// 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: '
|
|
28844
|
+
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
28845
|
}
|
|
28326
28846
|
get el() { return getElement(this); }
|
|
28327
28847
|
static get watchers() { return {
|
|
@@ -29281,7 +29801,7 @@ class Nav {
|
|
|
29281
29801
|
}
|
|
29282
29802
|
}
|
|
29283
29803
|
render() {
|
|
29284
|
-
return hAsync("slot", { key: '
|
|
29804
|
+
return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
|
|
29285
29805
|
}
|
|
29286
29806
|
get el() { return getElement(this); }
|
|
29287
29807
|
static get watchers() { return {
|
|
@@ -29362,7 +29882,7 @@ class NavLink {
|
|
|
29362
29882
|
};
|
|
29363
29883
|
}
|
|
29364
29884
|
render() {
|
|
29365
|
-
return hAsync(Host, { key: '
|
|
29885
|
+
return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
|
|
29366
29886
|
}
|
|
29367
29887
|
get el() { return getElement(this); }
|
|
29368
29888
|
static get cmpMeta() { return {
|
|
@@ -29396,9 +29916,9 @@ class Note {
|
|
|
29396
29916
|
}
|
|
29397
29917
|
render() {
|
|
29398
29918
|
const theme = getIonTheme(this);
|
|
29399
|
-
return (hAsync(Host, { key: '
|
|
29919
|
+
return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
|
|
29400
29920
|
[theme]: true,
|
|
29401
|
-
}) }, hAsync("slot", { key: '
|
|
29921
|
+
}) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
|
|
29402
29922
|
}
|
|
29403
29923
|
static get style() { return {
|
|
29404
29924
|
ionic: ionicNoteMdCss(),
|
|
@@ -30164,11 +30684,11 @@ class Picker {
|
|
|
30164
30684
|
render() {
|
|
30165
30685
|
const { htmlAttributes } = this;
|
|
30166
30686
|
const theme = getIonTheme(this);
|
|
30167
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30687
|
+
return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
30168
30688
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
30169
30689
|
}, class: Object.assign({ [theme]: true,
|
|
30170
30690
|
// Used internally for styling
|
|
30171
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
30691
|
+
[`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
30692
|
}
|
|
30173
30693
|
get el() { return getElement(this); }
|
|
30174
30694
|
static get watchers() { return {
|
|
@@ -31146,9 +31666,9 @@ class PickerColumnCmp {
|
|
|
31146
31666
|
render() {
|
|
31147
31667
|
const col = this.col;
|
|
31148
31668
|
const theme = getIonTheme(this);
|
|
31149
|
-
return (hAsync(Host, { key: '
|
|
31669
|
+
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
31670
|
'max-width': this.col.columnWidth,
|
|
31151
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
31671
|
+
} }, 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
31672
|
}
|
|
31153
31673
|
get el() { return getElement(this); }
|
|
31154
31674
|
static get watchers() { return {
|
|
@@ -31273,10 +31793,10 @@ class PickerColumnOption {
|
|
|
31273
31793
|
render() {
|
|
31274
31794
|
const { color, disabled, ariaLabel } = this;
|
|
31275
31795
|
const theme = getIonTheme(this);
|
|
31276
|
-
return (hAsync(Host, { key: '
|
|
31796
|
+
return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
|
|
31277
31797
|
[theme]: true,
|
|
31278
31798
|
['option-disabled']: disabled,
|
|
31279
|
-
}) }, hAsync("div", { key: '
|
|
31799
|
+
}) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
|
|
31280
31800
|
}
|
|
31281
31801
|
get el() { return getElement(this); }
|
|
31282
31802
|
static get watchers() { return {
|
|
@@ -32845,9 +33365,9 @@ class Popover {
|
|
|
32845
33365
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32846
33366
|
const desktop = isPlatform('desktop');
|
|
32847
33367
|
const enableArrow = arrow && !parentPopover;
|
|
32848
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
33368
|
+
return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
32849
33369
|
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: '
|
|
33370
|
+
}, 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
33371
|
}
|
|
32852
33372
|
get el() { return getElement(this); }
|
|
32853
33373
|
static get watchers() { return {
|
|
@@ -32975,7 +33495,7 @@ class ProgressBar {
|
|
|
32975
33495
|
const shape = this.getShape();
|
|
32976
33496
|
// If the progress is displayed as a solid bar.
|
|
32977
33497
|
const progressSolid = buffer === 1;
|
|
32978
|
-
return (hAsync(Host, { key: '
|
|
33498
|
+
return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32979
33499
|
[theme]: true,
|
|
32980
33500
|
[`progress-bar-${type}`]: true,
|
|
32981
33501
|
'progress-paused': paused,
|
|
@@ -33168,7 +33688,7 @@ class Radio {
|
|
|
33168
33688
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
33169
33689
|
const theme = getIonTheme(this);
|
|
33170
33690
|
const inItem = hostContext('ion-item', el);
|
|
33171
|
-
return (hAsync(Host, { key: '
|
|
33691
|
+
return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
33172
33692
|
[theme]: true,
|
|
33173
33693
|
'in-item': inItem,
|
|
33174
33694
|
'radio-checked': checked,
|
|
@@ -33179,10 +33699,10 @@ class Radio {
|
|
|
33179
33699
|
// Focus and active styling should not apply when the radio is in an item
|
|
33180
33700
|
'ion-activatable': !inItem,
|
|
33181
33701
|
'ion-focusable': !inItem,
|
|
33182
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
33702
|
+
}), 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
33703
|
'label-text-wrapper': true,
|
|
33184
33704
|
'label-text-wrapper-hidden': !hasLabel,
|
|
33185
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
33705
|
+
}, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
33186
33706
|
}
|
|
33187
33707
|
get el() { return getElement(this); }
|
|
33188
33708
|
static get watchers() { return {
|
|
@@ -33452,10 +33972,10 @@ class RadioGroup {
|
|
|
33452
33972
|
const { label, labelId, el, name, value } = this;
|
|
33453
33973
|
const theme = getIonTheme(this);
|
|
33454
33974
|
renderHiddenInput(true, el, name, value, false);
|
|
33455
|
-
return (hAsync(Host, { key: '
|
|
33975
|
+
return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
|
|
33456
33976
|
[theme]: true,
|
|
33457
33977
|
'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: '
|
|
33978
|
+
}, 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
33979
|
}
|
|
33460
33980
|
get el() { return getElement(this); }
|
|
33461
33981
|
static get watchers() { return {
|
|
@@ -34305,7 +34825,7 @@ class Range {
|
|
|
34305
34825
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
34306
34826
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
34307
34827
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
34308
|
-
return (hAsync(Host, { key: '
|
|
34828
|
+
return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
34309
34829
|
[theme]: true,
|
|
34310
34830
|
'in-item': inItem,
|
|
34311
34831
|
'range-disabled': disabled,
|
|
@@ -34319,10 +34839,10 @@ class Range {
|
|
|
34319
34839
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
34320
34840
|
'range-value-min': valueAtMin,
|
|
34321
34841
|
'range-value-max': valueAtMax,
|
|
34322
|
-
}) }, hAsync("label", { key: '
|
|
34842
|
+
}) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
|
|
34323
34843
|
'label-text-wrapper': true,
|
|
34324
34844
|
'label-text-wrapper-hidden': !hasLabel,
|
|
34325
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
34845
|
+
}, 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
34846
|
}
|
|
34327
34847
|
get el() { return getElement(this); }
|
|
34328
34848
|
static get watchers() { return {
|
|
@@ -35397,7 +35917,7 @@ class Refresher {
|
|
|
35397
35917
|
}
|
|
35398
35918
|
render() {
|
|
35399
35919
|
const theme = getIonTheme(this);
|
|
35400
|
-
return (hAsync(Host, { key: '
|
|
35920
|
+
return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
|
|
35401
35921
|
[theme]: true,
|
|
35402
35922
|
// Used internally for styling
|
|
35403
35923
|
[`refresher-${theme}`]: true,
|
|
@@ -35636,9 +36156,9 @@ class RefresherContent {
|
|
|
35636
36156
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
35637
36157
|
const theme = getIonTheme(this);
|
|
35638
36158
|
const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
|
|
35639
|
-
return (hAsync(Host, { key: '
|
|
36159
|
+
return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
|
|
35640
36160
|
[theme]: true,
|
|
35641
|
-
} }, hAsync("div", { key: '
|
|
36161
|
+
} }, 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
36162
|
}
|
|
35643
36163
|
get el() { return getElement(this); }
|
|
35644
36164
|
static get style() { return {
|
|
@@ -35707,9 +36227,9 @@ class Reorder {
|
|
|
35707
36227
|
render() {
|
|
35708
36228
|
const { reorderHandleIcon } = this;
|
|
35709
36229
|
const theme = getIonTheme(this);
|
|
35710
|
-
return (hAsync(Host, { key: '
|
|
36230
|
+
return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
|
|
35711
36231
|
[theme]: true,
|
|
35712
|
-
} }, hAsync("slot", { key: '
|
|
36232
|
+
} }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
35713
36233
|
}
|
|
35714
36234
|
get el() { return getElement(this); }
|
|
35715
36235
|
static get style() { return {
|
|
@@ -35985,7 +36505,7 @@ class ReorderGroup {
|
|
|
35985
36505
|
}
|
|
35986
36506
|
render() {
|
|
35987
36507
|
const theme = getIonTheme(this);
|
|
35988
|
-
return (hAsync(Host, { key: '
|
|
36508
|
+
return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
|
|
35989
36509
|
[theme]: true,
|
|
35990
36510
|
'reorder-enabled': !this.disabled,
|
|
35991
36511
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -36111,7 +36631,7 @@ class RippleEffect {
|
|
|
36111
36631
|
}
|
|
36112
36632
|
render() {
|
|
36113
36633
|
const theme = getIonTheme(this);
|
|
36114
|
-
return (hAsync(Host, { key: '
|
|
36634
|
+
return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
|
|
36115
36635
|
[theme]: true,
|
|
36116
36636
|
unbounded: this.unbounded,
|
|
36117
36637
|
} }));
|
|
@@ -37096,10 +37616,10 @@ class RouterLink {
|
|
|
37096
37616
|
rel: this.rel,
|
|
37097
37617
|
target: this.target,
|
|
37098
37618
|
};
|
|
37099
|
-
return (hAsync(Host, { key: '
|
|
37619
|
+
return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37100
37620
|
[theme]: true,
|
|
37101
37621
|
'ion-activatable': true,
|
|
37102
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
37622
|
+
}) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
|
|
37103
37623
|
}
|
|
37104
37624
|
static get style() { return routerLinkCss(); }
|
|
37105
37625
|
static get cmpMeta() { return {
|
|
@@ -37299,7 +37819,7 @@ class RouterOutlet {
|
|
|
37299
37819
|
return true;
|
|
37300
37820
|
}
|
|
37301
37821
|
render() {
|
|
37302
|
-
return hAsync("slot", { key: '
|
|
37822
|
+
return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
|
|
37303
37823
|
}
|
|
37304
37824
|
get el() { return getElement(this); }
|
|
37305
37825
|
static get watchers() { return {
|
|
@@ -37339,9 +37859,9 @@ class Row {
|
|
|
37339
37859
|
}
|
|
37340
37860
|
render() {
|
|
37341
37861
|
const theme = getIonTheme(this);
|
|
37342
|
-
return (hAsync(Host, { key: '
|
|
37862
|
+
return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
|
|
37343
37863
|
[theme]: true,
|
|
37344
|
-
} }, hAsync("slot", { key: '
|
|
37864
|
+
} }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
|
|
37345
37865
|
}
|
|
37346
37866
|
static get style() { return rowCss(); }
|
|
37347
37867
|
static get cmpMeta() { return {
|
|
@@ -37900,8 +38420,8 @@ class Searchbar {
|
|
|
37900
38420
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
37901
38421
|
const shape = this.getShape();
|
|
37902
38422
|
const size = this.getSize();
|
|
37903
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
37904
|
-
return (hAsync(Host, { key: '
|
|
38423
|
+
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))));
|
|
38424
|
+
return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
37905
38425
|
[theme]: true,
|
|
37906
38426
|
'searchbar-animated': animated,
|
|
37907
38427
|
'searchbar-disabled': this.disabled,
|
|
@@ -37915,14 +38435,14 @@ class Searchbar {
|
|
|
37915
38435
|
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
37916
38436
|
[`searchbar-size-${size}`]: size !== undefined,
|
|
37917
38437
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37918
|
-
}) }, hAsync("div", { key: '
|
|
38438
|
+
}) }, 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
38439
|
/**
|
|
37920
38440
|
* This prevents mobile browsers from
|
|
37921
38441
|
* blurring the input when the clear
|
|
37922
38442
|
* button is activated.
|
|
37923
38443
|
*/
|
|
37924
38444
|
ev.preventDefault();
|
|
37925
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
38445
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
37926
38446
|
}
|
|
37927
38447
|
get el() { return getElement(this); }
|
|
37928
38448
|
static get watchers() { return {
|
|
@@ -38537,14 +39057,14 @@ class Segment {
|
|
|
38537
39057
|
}
|
|
38538
39058
|
render() {
|
|
38539
39059
|
const theme = getIonTheme(this);
|
|
38540
|
-
return (hAsync(Host, { key: '
|
|
39060
|
+
return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
38541
39061
|
[theme]: true,
|
|
38542
39062
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38543
39063
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
38544
39064
|
'segment-activated': this.activated,
|
|
38545
39065
|
'segment-disabled': this.disabled,
|
|
38546
39066
|
'segment-scrollable': this.scrollable,
|
|
38547
|
-
}) }, hAsync("slot", { key: '
|
|
39067
|
+
}) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
|
|
38548
39068
|
}
|
|
38549
39069
|
get el() { return getElement(this); }
|
|
38550
39070
|
static get watchers() { return {
|
|
@@ -38696,7 +39216,7 @@ class SegmentButton {
|
|
|
38696
39216
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
38697
39217
|
const theme = getIonTheme(this);
|
|
38698
39218
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
38699
|
-
return (hAsync(Host, { key: '
|
|
39219
|
+
return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
|
|
38700
39220
|
[theme]: true,
|
|
38701
39221
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38702
39222
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -38712,7 +39232,7 @@ class SegmentButton {
|
|
|
38712
39232
|
'ion-activatable': true,
|
|
38713
39233
|
'ion-activatable-instant': true,
|
|
38714
39234
|
'ion-focusable': true,
|
|
38715
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
39235
|
+
} }, 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
39236
|
}
|
|
38717
39237
|
get el() { return getElement(this); }
|
|
38718
39238
|
static get watchers() { return {
|
|
@@ -38750,7 +39270,7 @@ class SegmentContent {
|
|
|
38750
39270
|
registerInstance(this, hostRef);
|
|
38751
39271
|
}
|
|
38752
39272
|
render() {
|
|
38753
|
-
return (hAsync(Host, { key: '
|
|
39273
|
+
return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
|
|
38754
39274
|
}
|
|
38755
39275
|
static get style() { return segmentContentCss(); }
|
|
38756
39276
|
static get cmpMeta() { return {
|
|
@@ -38878,11 +39398,11 @@ class SegmentView {
|
|
|
38878
39398
|
}
|
|
38879
39399
|
render() {
|
|
38880
39400
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
38881
|
-
return (hAsync(Host, { key: '
|
|
39401
|
+
return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
|
|
38882
39402
|
'segment-view-disabled': disabled,
|
|
38883
39403
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
38884
39404
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
38885
|
-
} }, hAsync("slot", { key: '
|
|
39405
|
+
} }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
|
|
38886
39406
|
}
|
|
38887
39407
|
get el() { return getElement(this); }
|
|
38888
39408
|
static get style() { return {
|
|
@@ -39818,7 +40338,7 @@ class Select {
|
|
|
39818
40338
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39819
40339
|
*/
|
|
39820
40340
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
39821
|
-
return (hAsync(Host, { key: '
|
|
40341
|
+
return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
39822
40342
|
[theme]: true,
|
|
39823
40343
|
'in-item': inItem,
|
|
39824
40344
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -39837,7 +40357,7 @@ class Select {
|
|
|
39837
40357
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
39838
40358
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
39839
40359
|
[`select-size-${size}`]: size !== undefined,
|
|
39840
|
-
}) }, hAsync("label", { key: '
|
|
40360
|
+
}) }, 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
40361
|
/**
|
|
39842
40362
|
* For the ionic theme, we render the outline container here
|
|
39843
40363
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -39847,7 +40367,7 @@ class Select {
|
|
|
39847
40367
|
* <label> element, ensuring that clicking the label text
|
|
39848
40368
|
* focuses the select.
|
|
39849
40369
|
*/
|
|
39850
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
40370
|
+
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
40371
|
}
|
|
39852
40372
|
get el() { return getElement(this); }
|
|
39853
40373
|
static get watchers() { return {
|
|
@@ -40239,7 +40759,7 @@ class SelectModal {
|
|
|
40239
40759
|
});
|
|
40240
40760
|
}
|
|
40241
40761
|
render() {
|
|
40242
|
-
return (hAsync(Host, { key: '
|
|
40762
|
+
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
40763
|
}
|
|
40244
40764
|
get el() { return getElement(this); }
|
|
40245
40765
|
static get style() { return {
|
|
@@ -40284,7 +40804,7 @@ class SelectOption {
|
|
|
40284
40804
|
}
|
|
40285
40805
|
render() {
|
|
40286
40806
|
const theme = getIonTheme(this);
|
|
40287
|
-
return (hAsync(Host, { key: '
|
|
40807
|
+
return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
|
|
40288
40808
|
[theme]: true,
|
|
40289
40809
|
}, role: "option", id: this.inputId }));
|
|
40290
40810
|
}
|
|
@@ -40453,9 +40973,9 @@ class SelectPopover {
|
|
|
40453
40973
|
const { header, message, options, subHeader } = this;
|
|
40454
40974
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
40455
40975
|
const theme = getIonTheme(this);
|
|
40456
|
-
return (hAsync(Host, { key: '
|
|
40976
|
+
return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
|
|
40457
40977
|
[theme]: true,
|
|
40458
|
-
} }, hAsync("ion-list", { key: '
|
|
40978
|
+
} }, 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
40979
|
}
|
|
40460
40980
|
get el() { return getElement(this); }
|
|
40461
40981
|
static get style() { return {
|
|
@@ -40510,11 +41030,11 @@ class SkeletonText {
|
|
|
40510
41030
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
40511
41031
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
40512
41032
|
const theme = getIonTheme(this);
|
|
40513
|
-
return (hAsync(Host, { key: '
|
|
41033
|
+
return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
|
|
40514
41034
|
[theme]: true,
|
|
40515
41035
|
'skeleton-text-animated': animated,
|
|
40516
41036
|
'in-media': inMedia,
|
|
40517
|
-
} }, hAsync("span", { key: '
|
|
41037
|
+
} }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
|
|
40518
41038
|
}
|
|
40519
41039
|
get el() { return getElement(this); }
|
|
40520
41040
|
static get style() { return skeletonTextCss(); }
|
|
@@ -40587,7 +41107,7 @@ class Spinner {
|
|
|
40587
41107
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40588
41108
|
}
|
|
40589
41109
|
}
|
|
40590
|
-
return (hAsync(Host, { key: '
|
|
41110
|
+
return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
|
|
40591
41111
|
[theme]: true,
|
|
40592
41112
|
[`spinner-${spinnerName}`]: true,
|
|
40593
41113
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -40631,6 +41151,7 @@ const splitPaneIosCss = () => `:host{--side-width:100%;right:0;left:0;top:0;bott
|
|
|
40631
41151
|
|
|
40632
41152
|
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
41153
|
|
|
41154
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
40634
41155
|
const QUERY = {
|
|
40635
41156
|
lg: '(min-width: 992px)'};
|
|
40636
41157
|
/**
|
|
@@ -40698,12 +41219,12 @@ class SplitPane {
|
|
|
40698
41219
|
}
|
|
40699
41220
|
render() {
|
|
40700
41221
|
const theme = getIonTheme(this);
|
|
40701
|
-
return (hAsync(Host, { key: '
|
|
41222
|
+
return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
|
|
40702
41223
|
[theme]: true,
|
|
40703
41224
|
// Used internally for styling
|
|
40704
41225
|
[`split-pane-${theme}`]: true,
|
|
40705
41226
|
'split-pane-visible': this.visible,
|
|
40706
|
-
} }, hAsync("slot", { key: '
|
|
41227
|
+
} }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
|
|
40707
41228
|
}
|
|
40708
41229
|
get el() { return getElement(this); }
|
|
40709
41230
|
static get watchers() { return {
|
|
@@ -40780,10 +41301,10 @@ class Tab {
|
|
|
40780
41301
|
}
|
|
40781
41302
|
render() {
|
|
40782
41303
|
const { tab, active, component } = this;
|
|
40783
|
-
return (hAsync(Host, { key: '
|
|
41304
|
+
return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
40784
41305
|
'ion-page': component === undefined,
|
|
40785
41306
|
'tab-hidden': !active,
|
|
40786
|
-
} }, hAsync("slot", { key: '
|
|
41307
|
+
} }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
|
|
40787
41308
|
}
|
|
40788
41309
|
get el() { return getElement(this); }
|
|
40789
41310
|
static get watchers() { return {
|
|
@@ -40990,7 +41511,7 @@ class TabBar {
|
|
|
40990
41511
|
const theme = getIonTheme(this);
|
|
40991
41512
|
const shape = this.getShape();
|
|
40992
41513
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
40993
|
-
return (hAsync(Host, { key: '
|
|
41514
|
+
return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
40994
41515
|
[theme]: true,
|
|
40995
41516
|
'tab-bar-translucent': translucent,
|
|
40996
41517
|
'tab-bar-hidden': shouldHide,
|
|
@@ -40998,7 +41519,7 @@ class TabBar {
|
|
|
40998
41519
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
40999
41520
|
[`tab-bar-${expand}`]: true,
|
|
41000
41521
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
41001
|
-
}) }, hAsync("slot", { key: '
|
|
41522
|
+
}) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
|
|
41002
41523
|
}
|
|
41003
41524
|
get el() { return getElement(this); }
|
|
41004
41525
|
static get watchers() { return {
|
|
@@ -41126,7 +41647,7 @@ class TabButton {
|
|
|
41126
41647
|
rel,
|
|
41127
41648
|
target,
|
|
41128
41649
|
};
|
|
41129
|
-
return (hAsync(Host, { key: '
|
|
41650
|
+
return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
41130
41651
|
[theme]: true,
|
|
41131
41652
|
'tab-selected': selected,
|
|
41132
41653
|
'tab-disabled': disabled,
|
|
@@ -41139,7 +41660,7 @@ class TabButton {
|
|
|
41139
41660
|
'ion-selectable': true,
|
|
41140
41661
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
41141
41662
|
'ion-focusable': true,
|
|
41142
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
41663
|
+
} }, 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
41664
|
}
|
|
41144
41665
|
get el() { return getElement(this); }
|
|
41145
41666
|
static get style() { return {
|
|
@@ -41335,7 +41856,7 @@ class Tabs {
|
|
|
41335
41856
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
41336
41857
|
}
|
|
41337
41858
|
render() {
|
|
41338
|
-
return (hAsync(Host, { key: '
|
|
41859
|
+
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
41860
|
}
|
|
41340
41861
|
get el() { return getElement(this); }
|
|
41341
41862
|
static get style() { return tabsCss(); }
|
|
@@ -41376,9 +41897,9 @@ class Text {
|
|
|
41376
41897
|
}
|
|
41377
41898
|
render() {
|
|
41378
41899
|
const theme = getIonTheme(this);
|
|
41379
|
-
return (hAsync(Host, { key: '
|
|
41900
|
+
return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
|
|
41380
41901
|
[theme]: true,
|
|
41381
|
-
}) }, hAsync("slot", { key: '
|
|
41902
|
+
}) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
|
|
41382
41903
|
}
|
|
41383
41904
|
static get style() { return textCss(); }
|
|
41384
41905
|
static get cmpMeta() { return {
|
|
@@ -41942,7 +42463,7 @@ class Textarea {
|
|
|
41942
42463
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
41943
42464
|
*/
|
|
41944
42465
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
41945
|
-
return (hAsync(Host, { key: '
|
|
42466
|
+
return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
|
|
41946
42467
|
[theme]: true,
|
|
41947
42468
|
'has-value': hasValue,
|
|
41948
42469
|
'has-focus': hasFocus,
|
|
@@ -41954,7 +42475,7 @@ class Textarea {
|
|
|
41954
42475
|
'in-item': inItem,
|
|
41955
42476
|
'textarea-disabled': disabled,
|
|
41956
42477
|
'textarea-readonly': readonly,
|
|
41957
|
-
}) }, hAsync("label", { key: '
|
|
42478
|
+
}) }, 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
42479
|
/**
|
|
41959
42480
|
* For the ionic theme, we render the outline container here
|
|
41960
42481
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -41964,7 +42485,7 @@ class Textarea {
|
|
|
41964
42485
|
* <label> element, ensuring that clicking the label text
|
|
41965
42486
|
* focuses the textarea.
|
|
41966
42487
|
*/
|
|
41967
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
42488
|
+
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
42489
|
}
|
|
41969
42490
|
static get delegatesFocus() { return true; }
|
|
41970
42491
|
static get formAssociated() { return true; }
|
|
@@ -42048,9 +42569,9 @@ class Thumbnail {
|
|
|
42048
42569
|
}
|
|
42049
42570
|
render() {
|
|
42050
42571
|
const theme = getIonTheme(this);
|
|
42051
|
-
return (hAsync(Host, { key: '
|
|
42572
|
+
return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
|
|
42052
42573
|
[theme]: true,
|
|
42053
|
-
} }, hAsync("slot", { key: '
|
|
42574
|
+
} }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
|
|
42054
42575
|
}
|
|
42055
42576
|
static get style() { return thumbnailCss(); }
|
|
42056
42577
|
static get cmpMeta() { return {
|
|
@@ -42934,9 +43455,9 @@ class Toast {
|
|
|
42934
43455
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
42935
43456
|
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
43457
|
}
|
|
42937
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
43458
|
+
return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
42938
43459
|
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: '
|
|
43460
|
+
}, 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
43461
|
}
|
|
42941
43462
|
get el() { return getElement(this); }
|
|
42942
43463
|
static get watchers() { return {
|
|
@@ -43312,7 +43833,7 @@ class Toggle {
|
|
|
43312
43833
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
43313
43834
|
const isIonicTheme = theme === 'ionic';
|
|
43314
43835
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
43315
|
-
return (hAsync(Host, { key: '
|
|
43836
|
+
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
43837
|
[theme]: true,
|
|
43317
43838
|
'in-item': hostContext('ion-item', el),
|
|
43318
43839
|
'toggle-activated': activated,
|
|
@@ -43324,10 +43845,10 @@ class Toggle {
|
|
|
43324
43845
|
[`toggle-${rtl}`]: true,
|
|
43325
43846
|
'ion-activatable': isIonicTheme,
|
|
43326
43847
|
'ion-focusable': isIonicTheme,
|
|
43327
|
-
}) }, hAsync("label", { key: '
|
|
43848
|
+
}) }, 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
43849
|
'label-text-wrapper': true,
|
|
43329
43850
|
'label-text-wrapper-hidden': !hasLabel,
|
|
43330
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
43851
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
43331
43852
|
}
|
|
43332
43853
|
get el() { return getElement(this); }
|
|
43333
43854
|
static get watchers() { return {
|
|
@@ -43619,11 +44140,11 @@ class Toolbar {
|
|
|
43619
44140
|
Object.assign(childStyles, style);
|
|
43620
44141
|
});
|
|
43621
44142
|
const titlePlacement = this.getTitlePlacement();
|
|
43622
|
-
return (hAsync(Host, { key: '
|
|
44143
|
+
return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
|
|
43623
44144
|
[theme]: true,
|
|
43624
44145
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
43625
44146
|
[`toolbar-title-placement-${titlePlacement}`]: true,
|
|
43626
|
-
})), childStyles) }, hAsync("div", { key: '
|
|
44147
|
+
})), 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
44148
|
}
|
|
43628
44149
|
get el() { return getElement(this); }
|
|
43629
44150
|
static get watchers() { return {
|
|
@@ -43682,11 +44203,11 @@ class ToolbarTitle {
|
|
|
43682
44203
|
render() {
|
|
43683
44204
|
const theme = getIonTheme(this);
|
|
43684
44205
|
const size = this.getSize();
|
|
43685
|
-
return (hAsync(Host, { key: '
|
|
44206
|
+
return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
|
|
43686
44207
|
[theme]: true,
|
|
43687
44208
|
[`title-${size}`]: true,
|
|
43688
44209
|
'title-rtl': document.dir === 'rtl',
|
|
43689
|
-
}) }, hAsync("div", { key: '
|
|
44210
|
+
}) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
|
|
43690
44211
|
}
|
|
43691
44212
|
get el() { return getElement(this); }
|
|
43692
44213
|
static get watchers() { return {
|
|
@@ -43742,6 +44263,7 @@ registerComponents([
|
|
|
43742
44263
|
FabButton,
|
|
43743
44264
|
FabList,
|
|
43744
44265
|
Footer,
|
|
44266
|
+
Gallery,
|
|
43745
44267
|
Grid,
|
|
43746
44268
|
Header,
|
|
43747
44269
|
Icon,
|