@ionic/core 8.8.7-dev.11778599050.191a48e3 → 8.8.7-dev.11778680417.1f9234bd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-B2rpt1JV.js +4 -0
- package/components/p-B6zr9RZN.js +4 -0
- package/components/{p-Brxa0j7O.js → p-B71c6yUH.js} +1 -1
- package/components/{p-C2cZvGcF.js → p-BFbsici0.js} +1 -1
- package/components/{p-CoarhFWH.js → p-BLCuPAtN.js} +1 -1
- package/components/{p-GnGGIfCd.js → p-BRWWcnBq.js} +1 -1
- package/components/{p-BfHB6wX_.js → p-BXcCGjEc.js} +1 -1
- package/components/{p-BU8N7ZrK.js → p-BqImG3uk.js} +1 -1
- package/components/{p-D5lMX0xt.js → p-C8ktKu9j.js} +1 -1
- package/components/{p-BhfW3d9j.js → p-CIoAIKEr.js} +1 -1
- package/components/p-CN-WzkJE.js +4 -0
- package/components/{p-CnwZE7CW.js → p-CoFqDNc5.js} +1 -1
- package/components/{p-TpZHKDyk.js → p-DAv9P_LE.js} +1 -1
- package/components/{p-CeYwuysM.js → p-DH_9VCbD.js} +1 -1
- package/components/{p-CdYTq34D.js → p-DTtRWhIZ.js} +1 -1
- package/components/{p-C-_EGKki.js → p-DXUyXgVL.js} +1 -1
- package/components/{p-BTYqyHph.js → p-Di5rHO3q.js} +1 -1
- package/components/{p-D39cV-un.js → p-Dmuy6xyk.js} +1 -1
- package/components/{p-BtAlyZ0b.js → p-IMXp2Inn.js} +1 -1
- package/components/{p-DAeMHNER.js → p-TR4ubkPu.js} +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-gallery.cjs.entry.js +490 -0
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +3 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/col/col.js +3 -2
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +100 -0
- package/dist/collection/components/gallery/gallery.js +575 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +2 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-otp/input-otp.js +3 -3
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +4 -4
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +2 -2
- package/dist/collection/components/reorder/reorder.js +2 -2
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +3 -3
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +3 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +2 -2
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/css-value-validation.js +25 -0
- package/dist/collection/utils/media.js +1 -0
- package/dist/docs.json +256 -1
- package/dist/esm/ion-app_8.entry.js +7 -7
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +8 -6
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-gallery.entry.js +488 -0
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +12 -12
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +5 -5
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +6 -6
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +3 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/html.html-data.json +74 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-96549175.entry.js → p-00c0bd38.entry.js} +1 -1
- package/dist/ionic/{p-192e7509.entry.js → p-15e3e8f5.entry.js} +1 -1
- package/dist/ionic/{p-5ac21be2.entry.js → p-1709b0aa.entry.js} +1 -1
- package/dist/ionic/{p-2bf931ae.entry.js → p-1c2c1869.entry.js} +1 -1
- package/dist/ionic/{p-3bf01c2c.entry.js → p-1c4de46b.entry.js} +1 -1
- package/dist/ionic/p-1e1c8d61.entry.js +4 -0
- package/dist/ionic/p-2aa7567e.entry.js +4 -0
- package/dist/ionic/{p-bc5713f7.entry.js → p-2ad79c23.entry.js} +1 -1
- package/dist/ionic/{p-5a3fc28e.entry.js → p-2f0073af.entry.js} +1 -1
- package/dist/ionic/{p-833910ae.entry.js → p-35b144f5.entry.js} +1 -1
- package/dist/ionic/{p-59b4f8d0.entry.js → p-3f79f594.entry.js} +1 -1
- package/dist/ionic/p-4079cee3.entry.js +4 -0
- package/dist/ionic/{p-f061fcb7.entry.js → p-48026d15.entry.js} +1 -1
- package/dist/ionic/{p-4091ad21.entry.js → p-50b61fab.entry.js} +1 -1
- package/dist/ionic/{p-8516eb69.entry.js → p-50cd2d57.entry.js} +1 -1
- package/dist/ionic/{p-50d90690.entry.js → p-5274f999.entry.js} +1 -1
- package/dist/ionic/{p-3093958a.entry.js → p-586d4270.entry.js} +1 -1
- package/dist/ionic/{p-6991ffa2.entry.js → p-7054a1b9.entry.js} +1 -1
- package/dist/ionic/{p-b8b20b7e.entry.js → p-71b6014c.entry.js} +1 -1
- package/dist/ionic/{p-9b9b1450.entry.js → p-72491468.entry.js} +1 -1
- package/dist/ionic/{p-c2894f9e.entry.js → p-76307d10.entry.js} +1 -1
- package/dist/ionic/{p-f740c359.entry.js → p-7d5057c4.entry.js} +1 -1
- package/dist/ionic/{p-091a95ea.entry.js → p-83c693c4.entry.js} +1 -1
- package/dist/ionic/{p-2aa44c65.entry.js → p-8537b2fb.entry.js} +1 -1
- package/dist/ionic/{p-02ecc684.entry.js → p-90e653e3.entry.js} +1 -1
- package/dist/ionic/p-96001281.entry.js +4 -0
- package/dist/ionic/{p-98c34fd7.entry.js → p-9d789053.entry.js} +1 -1
- package/dist/ionic/{p-1faf270d.entry.js → p-a9fb086b.entry.js} +1 -1
- package/dist/ionic/{p-e7f216ae.entry.js → p-ae667493.entry.js} +1 -1
- package/dist/ionic/{p-edb0b0c8.entry.js → p-b2fe6c1c.entry.js} +1 -1
- package/dist/ionic/{p-2effd05d.entry.js → p-b3c9f19c.entry.js} +1 -1
- package/dist/ionic/{p-6c8c37c2.entry.js → p-b653f4c2.entry.js} +1 -1
- package/dist/ionic/{p-4e46439d.entry.js → p-bd71a4a7.entry.js} +1 -1
- package/dist/ionic/p-bf972309.entry.js +4 -0
- package/dist/ionic/{p-8180abe5.entry.js → p-c10fa162.entry.js} +1 -1
- package/dist/ionic/{p-d954cd19.entry.js → p-d4ed5710.entry.js} +1 -1
- package/dist/ionic/{p-228b6a9c.entry.js → p-d6299c37.entry.js} +1 -1
- package/dist/ionic/{p-4610e447.entry.js → p-e18d3fdb.entry.js} +1 -1
- package/dist/ionic/{p-4c864eb2.entry.js → p-fad05840.entry.js} +1 -1
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +171 -0
- package/dist/types/components/gallery/test/utils.d.ts +2 -0
- package/dist/types/components.d.ts +75 -0
- package/dist/types/utils/css-value-validation.d.ts +12 -0
- package/hydrate/index.js +628 -126
- package/hydrate/index.mjs +628 -126
- package/package.json +1 -1
- package/components/p-CnOTQxHB.js +0 -4
- package/components/p-XFUFdPrc.js +0 -4
- package/components/p-tYh73xQe.js +0 -4
- package/dist/ionic/p-308beb71.entry.js +0 -4
- package/dist/ionic/p-64341e32.entry.js +0 -4
- package/dist/ionic/p-76d0e7ef.entry.js +0 -4
- package/dist/ionic/p-ae4ea663.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -13106,6 +13106,7 @@ class Chip {
|
|
|
13106
13106
|
}; }
|
|
13107
13107
|
}
|
|
13108
13108
|
|
|
13109
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
13109
13110
|
const SIZE_TO_MEDIA = {
|
|
13110
13111
|
xs: '(min-width: 0px)',
|
|
13111
13112
|
sm: '(min-width: 576px)',
|
|
@@ -13129,8 +13130,9 @@ const matchBreakpoint = (breakpoint) => {
|
|
|
13129
13130
|
|
|
13130
13131
|
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}`;
|
|
13131
13132
|
|
|
13133
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
13132
13134
|
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
13133
|
-
const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
|
|
13135
|
+
const BREAKPOINTS$1 = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
|
|
13134
13136
|
/**
|
|
13135
13137
|
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
13136
13138
|
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
@@ -13145,7 +13147,7 @@ class Col {
|
|
|
13145
13147
|
// matches and grab the column value from the relevant prop if so
|
|
13146
13148
|
getColumns(property) {
|
|
13147
13149
|
let matched;
|
|
13148
|
-
for (const breakpoint of BREAKPOINTS) {
|
|
13150
|
+
for (const breakpoint of BREAKPOINTS$1) {
|
|
13149
13151
|
const matches = matchBreakpoint(breakpoint);
|
|
13150
13152
|
// Grab the value of the property, if it exists and our
|
|
13151
13153
|
// media query matches we return the value
|
|
@@ -13206,12 +13208,12 @@ class Col {
|
|
|
13206
13208
|
const colSize = this.getSizeClass();
|
|
13207
13209
|
const colOrder = this.getOrderClass();
|
|
13208
13210
|
const colOffset = this.getOffsetClass();
|
|
13209
|
-
return (hAsync(Host, { key: '
|
|
13211
|
+
return (hAsync(Host, { key: '7fc98e15bd75e9c22fe7eaf71f2f49f5d987613a', class: {
|
|
13210
13212
|
[theme]: true,
|
|
13211
13213
|
[`${colSize}`]: colSize !== undefined,
|
|
13212
13214
|
[`${colOrder}`]: colOrder !== undefined,
|
|
13213
13215
|
[`${colOffset}`]: colOffset !== undefined,
|
|
13214
|
-
} }, hAsync("slot", { key: '
|
|
13216
|
+
} }, hAsync("slot", { key: '6ed04a2c2bcdb0400354368c568e58414a60fc39' })));
|
|
13215
13217
|
}
|
|
13216
13218
|
get el() { return getElement(this); }
|
|
13217
13219
|
static get style() { return colCss(); }
|
|
@@ -18689,6 +18691,504 @@ class Footer {
|
|
|
18689
18691
|
}; }
|
|
18690
18692
|
}
|
|
18691
18693
|
|
|
18694
|
+
/**
|
|
18695
|
+
* Helpers for validating user-supplied CSS values using regular expressions, without
|
|
18696
|
+
* relying on browser CSS APIs.
|
|
18697
|
+
*/
|
|
18698
|
+
// Matches `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
|
|
18699
|
+
const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
|
|
18700
|
+
// Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
|
|
18701
|
+
const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
|
|
18702
|
+
/**
|
|
18703
|
+
* Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
18704
|
+
* syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
|
|
18705
|
+
* Also supports simple `calc` / `min` / `max` / `clamp(...)` functions.
|
|
18706
|
+
*
|
|
18707
|
+
* @param value String value to validate.
|
|
18708
|
+
*/
|
|
18709
|
+
function isValidLengthPercentage(value) {
|
|
18710
|
+
const v = value.trim();
|
|
18711
|
+
if (!v) {
|
|
18712
|
+
return false;
|
|
18713
|
+
}
|
|
18714
|
+
return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
|
|
18715
|
+
}
|
|
18716
|
+
|
|
18717
|
+
const DEFAULT_COLUMNS = {
|
|
18718
|
+
xs: 2,
|
|
18719
|
+
sm: 3,
|
|
18720
|
+
md: 4,
|
|
18721
|
+
lg: 6,
|
|
18722
|
+
xl: 8,
|
|
18723
|
+
xxl: 10,
|
|
18724
|
+
};
|
|
18725
|
+
const DEFAULT_GAP = '16px';
|
|
18726
|
+
|
|
18727
|
+
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}`;
|
|
18728
|
+
|
|
18729
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
18730
|
+
const BREAKPOINTS = {
|
|
18731
|
+
xs: 0,
|
|
18732
|
+
sm: 576,
|
|
18733
|
+
md: 768,
|
|
18734
|
+
lg: 992,
|
|
18735
|
+
xl: 1200,
|
|
18736
|
+
xxl: 1400,
|
|
18737
|
+
};
|
|
18738
|
+
const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
|
|
18739
|
+
/**
|
|
18740
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
18741
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
18742
|
+
*
|
|
18743
|
+
* @slot - Content is placed in a responsive gallery layout.
|
|
18744
|
+
*/
|
|
18745
|
+
class Gallery {
|
|
18746
|
+
constructor(hostRef) {
|
|
18747
|
+
registerInstance(this, hostRef);
|
|
18748
|
+
// Keep track of whether we've warned about invalid columns, invalid gap,
|
|
18749
|
+
// and unused order properties to avoid duplicate warnings on screen resize.
|
|
18750
|
+
this.hasWarnedInvalidColumns = false;
|
|
18751
|
+
this.hasWarnedInvalidGap = false;
|
|
18752
|
+
this.hasWarnedUnusedOrder = false;
|
|
18753
|
+
/**
|
|
18754
|
+
* The visual layout of the gallery. When `uniform`, rows take up the height
|
|
18755
|
+
* of the tallest item and are spaced evenly across the gallery. Additionally,
|
|
18756
|
+
* items will have an aspect ratio of 1/1, forcing them to be square unless a
|
|
18757
|
+
* height is explicitly set. When `masonry`, items will be positioned under each
|
|
18758
|
+
* other with only the specified gap between them.
|
|
18759
|
+
*/
|
|
18760
|
+
this.layout = 'uniform';
|
|
18761
|
+
/**
|
|
18762
|
+
* The number of columns to display. Can be set as a number or an object of
|
|
18763
|
+
* breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
|
|
18764
|
+
*/
|
|
18765
|
+
this.columns = DEFAULT_COLUMNS;
|
|
18766
|
+
/**
|
|
18767
|
+
* The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
|
|
18768
|
+
* values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,
|
|
18769
|
+
* or numbers (treated as pixel values). Can also be set as a breakpoint map
|
|
18770
|
+
* (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept
|
|
18771
|
+
* space-separated values or CSS keyword values like `inherit`, `auto`, etc.
|
|
18772
|
+
*/
|
|
18773
|
+
this.gap = DEFAULT_GAP;
|
|
18774
|
+
/**
|
|
18775
|
+
* Listen for the slotchange event on the slot.
|
|
18776
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18777
|
+
* of the masonry grid when the slot changes. This is useful for when items
|
|
18778
|
+
* are added or removed from the gallery.
|
|
18779
|
+
*/
|
|
18780
|
+
this.onSlotChange = () => {
|
|
18781
|
+
this.scheduleMasonryResize();
|
|
18782
|
+
};
|
|
18783
|
+
/**
|
|
18784
|
+
* Measure the host and children, then compute masonry placement.
|
|
18785
|
+
*/
|
|
18786
|
+
this.resizeMasonryGrid = () => {
|
|
18787
|
+
this.masonryRaf = undefined;
|
|
18788
|
+
if (this.layout !== 'masonry') {
|
|
18789
|
+
this.clearMasonryStyles();
|
|
18790
|
+
return;
|
|
18791
|
+
}
|
|
18792
|
+
const width = this.el.getBoundingClientRect().width;
|
|
18793
|
+
const columns = this.getColumnsForWidth(width);
|
|
18794
|
+
// Skip masonry placement when width/columns does not resolve
|
|
18795
|
+
// to a valid breakpoint column count.
|
|
18796
|
+
if (columns === undefined) {
|
|
18797
|
+
return;
|
|
18798
|
+
}
|
|
18799
|
+
const styles = getComputedStyle(this.el);
|
|
18800
|
+
const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
|
|
18801
|
+
const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
|
|
18802
|
+
const items = this.getItems();
|
|
18803
|
+
this.layoutMasonry(items, rowHeight, rowGap, columns);
|
|
18804
|
+
};
|
|
18805
|
+
}
|
|
18806
|
+
propertiesChanged() {
|
|
18807
|
+
this.updateResponsiveStyles(true);
|
|
18808
|
+
this.scheduleMasonryResize();
|
|
18809
|
+
// Wait until the next animation frame to warn about unused order
|
|
18810
|
+
// to avoid erroneous warnings when the layout and order are updated
|
|
18811
|
+
// in the same frame.
|
|
18812
|
+
raf(() => {
|
|
18813
|
+
this.warnUnusedOrder();
|
|
18814
|
+
});
|
|
18815
|
+
}
|
|
18816
|
+
componentDidLoad() {
|
|
18817
|
+
this.updateResponsiveStyles(true);
|
|
18818
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
18819
|
+
this.updateResponsiveStyles();
|
|
18820
|
+
this.scheduleMasonryResize();
|
|
18821
|
+
});
|
|
18822
|
+
this.resizeObserver.observe(this.el);
|
|
18823
|
+
this.scheduleMasonryResize();
|
|
18824
|
+
this.warnUnusedOrder();
|
|
18825
|
+
}
|
|
18826
|
+
disconnectedCallback() {
|
|
18827
|
+
var _a;
|
|
18828
|
+
if (this.masonryRaf !== undefined) {
|
|
18829
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18830
|
+
this.masonryRaf = undefined;
|
|
18831
|
+
}
|
|
18832
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
18833
|
+
this.resizeObserver = undefined;
|
|
18834
|
+
}
|
|
18835
|
+
/**
|
|
18836
|
+
* Listen for the load event on child elements.
|
|
18837
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18838
|
+
* of the masonry grid when the child elements load. This is useful for when
|
|
18839
|
+
* images take time to load.
|
|
18840
|
+
*/
|
|
18841
|
+
onChildLoad(ev) {
|
|
18842
|
+
if (this.layout !== 'masonry') {
|
|
18843
|
+
return;
|
|
18844
|
+
}
|
|
18845
|
+
const target = ev.target;
|
|
18846
|
+
if (target !== null && this.el.contains(target)) {
|
|
18847
|
+
this.scheduleMasonryResize();
|
|
18848
|
+
}
|
|
18849
|
+
}
|
|
18850
|
+
/**
|
|
18851
|
+
* Batch masonry measurements to a single animation frame.
|
|
18852
|
+
* This avoids repeated sync layouts during rapid resize/load/slot changes.
|
|
18853
|
+
*/
|
|
18854
|
+
scheduleMasonryResize() {
|
|
18855
|
+
if (this.layout !== 'masonry') {
|
|
18856
|
+
this.clearMasonryStyles();
|
|
18857
|
+
return;
|
|
18858
|
+
}
|
|
18859
|
+
if (this.masonryRaf !== undefined) {
|
|
18860
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18861
|
+
}
|
|
18862
|
+
this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
|
|
18863
|
+
}
|
|
18864
|
+
/**
|
|
18865
|
+
* Normalize a single column value (`columns` as a number, string, or one entry from
|
|
18866
|
+
* a `columns` breakpoint map) to a positive integer. Returns `undefined` when
|
|
18867
|
+
* the input cannot be interpreted as a finite number.
|
|
18868
|
+
*/
|
|
18869
|
+
sanitizeColumns(columns) {
|
|
18870
|
+
if (columns === undefined) {
|
|
18871
|
+
return undefined;
|
|
18872
|
+
}
|
|
18873
|
+
const numericColumns = typeof columns === 'number' ? columns : Number(columns);
|
|
18874
|
+
if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
|
|
18875
|
+
return undefined;
|
|
18876
|
+
}
|
|
18877
|
+
return numericColumns;
|
|
18878
|
+
}
|
|
18879
|
+
/**
|
|
18880
|
+
* Normalize a single gap value (`gap` as a number, string, or one entry from
|
|
18881
|
+
* a `gap` breakpoint map) to a CSS length string. Returns `undefined` when
|
|
18882
|
+
* the input cannot be interpreted as a valid CSS length.
|
|
18883
|
+
*/
|
|
18884
|
+
sanitizeGap(gap) {
|
|
18885
|
+
if (gap === undefined) {
|
|
18886
|
+
return undefined;
|
|
18887
|
+
}
|
|
18888
|
+
const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
|
|
18889
|
+
if (normalizedGap === '' || typeof normalizedGap === 'object') {
|
|
18890
|
+
return undefined;
|
|
18891
|
+
}
|
|
18892
|
+
const numericGap = Number(normalizedGap);
|
|
18893
|
+
if (Number.isFinite(numericGap)) {
|
|
18894
|
+
return numericGap < 0 ? undefined : `${numericGap}px`;
|
|
18895
|
+
}
|
|
18896
|
+
if (typeof normalizedGap !== 'string') {
|
|
18897
|
+
return undefined;
|
|
18898
|
+
}
|
|
18899
|
+
const isValidCssLength = isValidLengthPercentage(normalizedGap);
|
|
18900
|
+
return isValidCssLength ? normalizedGap : undefined;
|
|
18901
|
+
}
|
|
18902
|
+
/**
|
|
18903
|
+
* Check if the value is a breakpoint map object.
|
|
18904
|
+
*/
|
|
18905
|
+
isBreakpointMap(value) {
|
|
18906
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
18907
|
+
}
|
|
18908
|
+
/**
|
|
18909
|
+
* Check if the breakpoint map has any invalid values for the provided sanitizer.
|
|
18910
|
+
*/
|
|
18911
|
+
hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
|
|
18912
|
+
for (const breakpoint of BREAKPOINT_ORDER) {
|
|
18913
|
+
const value = breakpointMap[breakpoint];
|
|
18914
|
+
if (value !== undefined && sanitizeValue(value) === undefined) {
|
|
18915
|
+
return true;
|
|
18916
|
+
}
|
|
18917
|
+
}
|
|
18918
|
+
return false;
|
|
18919
|
+
}
|
|
18920
|
+
/**
|
|
18921
|
+
* Resolve a responsive value from a breakpoint map.
|
|
18922
|
+
* Uses a breakpoint-specific default when custom values are missing/invalid.
|
|
18923
|
+
*/
|
|
18924
|
+
resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
|
|
18925
|
+
let resolvedValue;
|
|
18926
|
+
for (const bp of BREAKPOINT_ORDER) {
|
|
18927
|
+
const providedValue = breakpointMap[bp];
|
|
18928
|
+
const sanitizedProvided = sanitizeProvided(providedValue);
|
|
18929
|
+
const sanitizedDefault = getSanitizedDefault(bp);
|
|
18930
|
+
const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
|
|
18931
|
+
if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
|
|
18932
|
+
resolvedValue = resolved;
|
|
18933
|
+
}
|
|
18934
|
+
}
|
|
18935
|
+
return resolvedValue;
|
|
18936
|
+
}
|
|
18937
|
+
/**
|
|
18938
|
+
* Get the columns from a responsive breakpoint map.
|
|
18939
|
+
* Returns the columns for the last matching breakpoint.
|
|
18940
|
+
*/
|
|
18941
|
+
getColumnsFromBreakpointMap(width, breakpointMap) {
|
|
18942
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
|
|
18943
|
+
}
|
|
18944
|
+
/**
|
|
18945
|
+
* Get the gap from a responsive breakpoint map.
|
|
18946
|
+
* Returns the gap for the last matching breakpoint.
|
|
18947
|
+
*/
|
|
18948
|
+
getGapFromBreakpointMap(width, breakpointMap) {
|
|
18949
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
|
|
18950
|
+
}
|
|
18951
|
+
/**
|
|
18952
|
+
* Warn about an invalid columns value when it is set to a non-positive
|
|
18953
|
+
* integer or a breakpoint map object with invalid values.
|
|
18954
|
+
*/
|
|
18955
|
+
warnInvalidColumns(columns) {
|
|
18956
|
+
if (this.hasWarnedInvalidColumns) {
|
|
18957
|
+
return;
|
|
18958
|
+
}
|
|
18959
|
+
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);
|
|
18960
|
+
this.hasWarnedInvalidColumns = true;
|
|
18961
|
+
}
|
|
18962
|
+
/**
|
|
18963
|
+
* Warn about an invalid gap value when it is set to a negative number
|
|
18964
|
+
* or a breakpoint map object with invalid values.
|
|
18965
|
+
*/
|
|
18966
|
+
warnInvalidGap(gap) {
|
|
18967
|
+
if (this.hasWarnedInvalidGap) {
|
|
18968
|
+
return;
|
|
18969
|
+
}
|
|
18970
|
+
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);
|
|
18971
|
+
this.hasWarnedInvalidGap = true;
|
|
18972
|
+
}
|
|
18973
|
+
/**
|
|
18974
|
+
* Warn when `order` is explicitly set while layout is `uniform`.
|
|
18975
|
+
*/
|
|
18976
|
+
warnUnusedOrder() {
|
|
18977
|
+
const { layout } = this;
|
|
18978
|
+
const order = this.order == null ? undefined : this.order;
|
|
18979
|
+
if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
|
|
18980
|
+
return;
|
|
18981
|
+
}
|
|
18982
|
+
printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
|
|
18983
|
+
this.hasWarnedUnusedOrder = true;
|
|
18984
|
+
}
|
|
18985
|
+
/**
|
|
18986
|
+
* Resolve the active columns value for the current width. Falls back to
|
|
18987
|
+
* the default responsive columns when the provided prop is invalid.
|
|
18988
|
+
*/
|
|
18989
|
+
getColumnsForWidth(width) {
|
|
18990
|
+
const { columns } = this;
|
|
18991
|
+
const isBreakpointColumns = this.isBreakpointMap(columns);
|
|
18992
|
+
const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
|
|
18993
|
+
const sanitizedColumns = isBreakpointColumns
|
|
18994
|
+
? this.getColumnsFromBreakpointMap(width, columns)
|
|
18995
|
+
: this.sanitizeColumns(columns);
|
|
18996
|
+
if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
|
|
18997
|
+
this.warnInvalidColumns(columns);
|
|
18998
|
+
}
|
|
18999
|
+
if (sanitizedColumns !== undefined) {
|
|
19000
|
+
return sanitizedColumns;
|
|
19001
|
+
}
|
|
19002
|
+
return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
|
|
19003
|
+
}
|
|
19004
|
+
/**
|
|
19005
|
+
* Resolve the active gap value for the current width.
|
|
19006
|
+
*/
|
|
19007
|
+
getGapForWidth(width) {
|
|
19008
|
+
const { gap } = this;
|
|
19009
|
+
const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
|
|
19010
|
+
const isBreakpointGap = this.isBreakpointMap(providedGap);
|
|
19011
|
+
const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
|
|
19012
|
+
const sanitizedGap = isBreakpointGap
|
|
19013
|
+
? this.getGapFromBreakpointMap(width, providedGap)
|
|
19014
|
+
: this.sanitizeGap(providedGap);
|
|
19015
|
+
if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
|
|
19016
|
+
this.warnInvalidGap(providedGap);
|
|
19017
|
+
}
|
|
19018
|
+
if (sanitizedGap !== undefined) {
|
|
19019
|
+
return sanitizedGap;
|
|
19020
|
+
}
|
|
19021
|
+
return this.sanitizeGap(DEFAULT_GAP);
|
|
19022
|
+
}
|
|
19023
|
+
/**
|
|
19024
|
+
* Update the responsive styles for the gallery. This is used to update
|
|
19025
|
+
* the columns and gap when the component width changes.
|
|
19026
|
+
*/
|
|
19027
|
+
updateResponsiveStyles(force = false) {
|
|
19028
|
+
const width = this.el.getBoundingClientRect().width;
|
|
19029
|
+
// Only update the columns if the component width has changed by more than
|
|
19030
|
+
// 1px or if the force flag is true. This prevents unnecessary re-renders
|
|
19031
|
+
// when the component width has not changed.
|
|
19032
|
+
if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
|
|
19033
|
+
return;
|
|
19034
|
+
}
|
|
19035
|
+
this.lastWidth = width;
|
|
19036
|
+
const columns = this.getColumnsForWidth(width);
|
|
19037
|
+
this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
|
|
19038
|
+
const gap = this.getGapForWidth(width);
|
|
19039
|
+
this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
|
|
19040
|
+
}
|
|
19041
|
+
/**
|
|
19042
|
+
* Return all directly slotted HTMLElement children of the gallery.
|
|
19043
|
+
*/
|
|
19044
|
+
getItems() {
|
|
19045
|
+
return Array.from(this.el.children).filter((child) => child instanceof HTMLElement);
|
|
19046
|
+
}
|
|
19047
|
+
/**
|
|
19048
|
+
* Clear the item styles for the given item element.
|
|
19049
|
+
* This is used to switch between uniform and masonry layouts.
|
|
19050
|
+
*/
|
|
19051
|
+
clearItemStyles(itemEl) {
|
|
19052
|
+
itemEl.style.gridRowStart = '';
|
|
19053
|
+
itemEl.style.gridRowEnd = '';
|
|
19054
|
+
itemEl.style.gridColumn = '';
|
|
19055
|
+
itemEl.style.marginBottom = '';
|
|
19056
|
+
}
|
|
19057
|
+
/**
|
|
19058
|
+
* Clear placement styles for all items when leaving masonry mode.
|
|
19059
|
+
*/
|
|
19060
|
+
clearMasonryStyles() {
|
|
19061
|
+
this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
|
|
19062
|
+
}
|
|
19063
|
+
/**
|
|
19064
|
+
* Convert a rendered item height to the number of grid rows it should span.
|
|
19065
|
+
* Returns undefined for images that are not fully loaded yet.
|
|
19066
|
+
*/
|
|
19067
|
+
calculateRowSpan(itemEl, rowHeight, rowGap) {
|
|
19068
|
+
if (itemEl instanceof HTMLImageElement && (!itemEl.complete || itemEl.naturalHeight === 0)) {
|
|
19069
|
+
return undefined;
|
|
19070
|
+
}
|
|
19071
|
+
const height = itemEl.getBoundingClientRect().height;
|
|
19072
|
+
const itemStyles = getComputedStyle(itemEl);
|
|
19073
|
+
const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
|
|
19074
|
+
const denominator = rowHeight + rowGap;
|
|
19075
|
+
if (!denominator || !Number.isFinite(denominator)) {
|
|
19076
|
+
return 1;
|
|
19077
|
+
}
|
|
19078
|
+
return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
|
|
19079
|
+
}
|
|
19080
|
+
/**
|
|
19081
|
+
* Get the index of the column to position the item in.
|
|
19082
|
+
* When the order is `best-fit`, the column with the shortest height is
|
|
19083
|
+
* returned. Otherwise, items are placed in the column that matches their
|
|
19084
|
+
* natural DOM order.
|
|
19085
|
+
*/
|
|
19086
|
+
getColumnIndex(index, columnHeights, columns) {
|
|
19087
|
+
const order = this.getOrder();
|
|
19088
|
+
if (order === 'best-fit') {
|
|
19089
|
+
let columnIndex = 0;
|
|
19090
|
+
for (let i = 1; i < columns; i++) {
|
|
19091
|
+
if (columnHeights[i] < columnHeights[columnIndex]) {
|
|
19092
|
+
columnIndex = i;
|
|
19093
|
+
}
|
|
19094
|
+
}
|
|
19095
|
+
return columnIndex;
|
|
19096
|
+
}
|
|
19097
|
+
return index % columns;
|
|
19098
|
+
}
|
|
19099
|
+
/**
|
|
19100
|
+
* Apply masonry placement by assigning each item a column and row span.
|
|
19101
|
+
*/
|
|
19102
|
+
layoutMasonry(items, rowHeight, rowGap, columns) {
|
|
19103
|
+
const columnHeights = new Array(columns).fill(0);
|
|
19104
|
+
const lastItemsByColumn = new Array(columns).fill(undefined);
|
|
19105
|
+
items.forEach((itemEl, i) => {
|
|
19106
|
+
itemEl.style.marginBottom = '';
|
|
19107
|
+
const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19108
|
+
if (span === undefined) {
|
|
19109
|
+
this.clearItemStyles(itemEl);
|
|
19110
|
+
return;
|
|
19111
|
+
}
|
|
19112
|
+
const columnIndex = this.getColumnIndex(i, columnHeights, columns);
|
|
19113
|
+
const start = columnHeights[columnIndex] + 1;
|
|
19114
|
+
itemEl.style.gridColumn = `${columnIndex + 1}`;
|
|
19115
|
+
itemEl.style.gridRowStart = `${start}`;
|
|
19116
|
+
itemEl.style.gridRowEnd = `span ${span}`;
|
|
19117
|
+
columnHeights[columnIndex] = start + span - 1;
|
|
19118
|
+
lastItemsByColumn[columnIndex] = itemEl;
|
|
19119
|
+
});
|
|
19120
|
+
// Remove trailing space from the final item in each column while preserving
|
|
19121
|
+
// spacing between all non-final items.
|
|
19122
|
+
lastItemsByColumn.forEach((itemEl) => {
|
|
19123
|
+
if (itemEl === undefined) {
|
|
19124
|
+
return;
|
|
19125
|
+
}
|
|
19126
|
+
itemEl.style.marginBottom = '0px';
|
|
19127
|
+
const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19128
|
+
if (spanWithoutTrailingGap === undefined) {
|
|
19129
|
+
this.clearItemStyles(itemEl);
|
|
19130
|
+
return;
|
|
19131
|
+
}
|
|
19132
|
+
itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
|
|
19133
|
+
});
|
|
19134
|
+
}
|
|
19135
|
+
/**
|
|
19136
|
+
* Resolved order for layout and CSS. Order should be `undefined` for
|
|
19137
|
+
* the uniform layout. When order is not set, it should be `"sequential"`
|
|
19138
|
+
* for the masonry layout.
|
|
19139
|
+
*/
|
|
19140
|
+
getOrder() {
|
|
19141
|
+
const { layout } = this;
|
|
19142
|
+
const order = this.order == null ? undefined : this.order;
|
|
19143
|
+
if (layout === 'uniform') {
|
|
19144
|
+
return undefined;
|
|
19145
|
+
}
|
|
19146
|
+
if (layout === 'masonry' && order === undefined) {
|
|
19147
|
+
return 'sequential';
|
|
19148
|
+
}
|
|
19149
|
+
return order;
|
|
19150
|
+
}
|
|
19151
|
+
render() {
|
|
19152
|
+
const { layout } = this;
|
|
19153
|
+
const order = this.getOrder();
|
|
19154
|
+
const theme = getIonTheme(this);
|
|
19155
|
+
return (hAsync(Host, { key: '8a8266626f1ba8beb7e382c89ae7905372fe23a9', class: {
|
|
19156
|
+
[theme]: true,
|
|
19157
|
+
[`gallery-layout-${layout}`]: true,
|
|
19158
|
+
[`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
|
|
19159
|
+
} }, hAsync("slot", { key: '7758e89bda53a91d593b9ece0cbe60a4bce0a0fa', onSlotchange: this.onSlotChange })));
|
|
19160
|
+
}
|
|
19161
|
+
get el() { return getElement(this); }
|
|
19162
|
+
static get watchers() { return {
|
|
19163
|
+
"columns": [{
|
|
19164
|
+
"propertiesChanged": 0
|
|
19165
|
+
}],
|
|
19166
|
+
"gap": [{
|
|
19167
|
+
"propertiesChanged": 0
|
|
19168
|
+
}],
|
|
19169
|
+
"layout": [{
|
|
19170
|
+
"propertiesChanged": 0
|
|
19171
|
+
}],
|
|
19172
|
+
"order": [{
|
|
19173
|
+
"propertiesChanged": 0
|
|
19174
|
+
}]
|
|
19175
|
+
}; }
|
|
19176
|
+
static get style() { return galleryCss(); }
|
|
19177
|
+
static get cmpMeta() { return {
|
|
19178
|
+
"$flags$": 265,
|
|
19179
|
+
"$tagName$": "ion-gallery",
|
|
19180
|
+
"$members$": {
|
|
19181
|
+
"layout": [1],
|
|
19182
|
+
"order": [1],
|
|
19183
|
+
"columns": [8],
|
|
19184
|
+
"gap": [8]
|
|
19185
|
+
},
|
|
19186
|
+
"$listeners$": [[2, "load", "onChildLoad"]],
|
|
19187
|
+
"$lazyBundleId$": "-",
|
|
19188
|
+
"$attrsToReflect$": []
|
|
19189
|
+
}; }
|
|
19190
|
+
}
|
|
19191
|
+
|
|
18692
19192
|
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}`;
|
|
18693
19193
|
|
|
18694
19194
|
/**
|
|
@@ -18705,10 +19205,10 @@ class Grid {
|
|
|
18705
19205
|
}
|
|
18706
19206
|
render() {
|
|
18707
19207
|
const theme = getIonTheme(this);
|
|
18708
|
-
return (hAsync(Host, { key: '
|
|
19208
|
+
return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
|
|
18709
19209
|
[theme]: true,
|
|
18710
19210
|
'grid-fixed': this.fixed,
|
|
18711
|
-
} }, hAsync("slot", { key: '
|
|
19211
|
+
} }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
|
|
18712
19212
|
}
|
|
18713
19213
|
static get style() { return gridCss(); }
|
|
18714
19214
|
static get cmpMeta() { return {
|
|
@@ -19110,7 +19610,7 @@ class Header {
|
|
|
19110
19610
|
const isCondensed = collapse === 'condense';
|
|
19111
19611
|
// banner role must be at top level, so remove role if inside a menu
|
|
19112
19612
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
19113
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19613
|
+
return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
|
|
19114
19614
|
[theme]: true,
|
|
19115
19615
|
// Used internally for styling
|
|
19116
19616
|
[`header-${theme}`]: true,
|
|
@@ -19118,7 +19618,7 @@ class Header {
|
|
|
19118
19618
|
[`header-collapse-${collapse}`]: true,
|
|
19119
19619
|
[`header-translucent-${theme}`]: this.translucent,
|
|
19120
19620
|
['header-divider']: divider,
|
|
19121
|
-
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: '
|
|
19621
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
|
|
19122
19622
|
}
|
|
19123
19623
|
get el() { return getElement(this); }
|
|
19124
19624
|
static get style() { return {
|
|
@@ -19469,9 +19969,9 @@ class Img {
|
|
|
19469
19969
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
19470
19970
|
const { draggable } = inheritedAttributes;
|
|
19471
19971
|
const theme = getIonTheme(this);
|
|
19472
|
-
return (hAsync(Host, { key: '
|
|
19972
|
+
return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
|
|
19473
19973
|
[theme]: true,
|
|
19474
|
-
} }, hAsync("img", { key: '
|
|
19974
|
+
} }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
19475
19975
|
}
|
|
19476
19976
|
get el() { return getElement(this); }
|
|
19477
19977
|
static get watchers() { return {
|
|
@@ -19776,7 +20276,7 @@ class InfiniteScroll {
|
|
|
19776
20276
|
render() {
|
|
19777
20277
|
const theme = getIonTheme(this);
|
|
19778
20278
|
const disabled = this.disabled;
|
|
19779
|
-
return (hAsync(Host, { key: '
|
|
20279
|
+
return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
|
|
19780
20280
|
[theme]: true,
|
|
19781
20281
|
'infinite-scroll-loading': this.isLoading,
|
|
19782
20282
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -19839,11 +20339,11 @@ class InfiniteScrollContent {
|
|
|
19839
20339
|
}
|
|
19840
20340
|
render() {
|
|
19841
20341
|
const theme = getIonTheme(this);
|
|
19842
|
-
return (hAsync(Host, { key: '
|
|
20342
|
+
return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
|
|
19843
20343
|
[theme]: true,
|
|
19844
20344
|
// Used internally for styling
|
|
19845
20345
|
[`infinite-scroll-content-${theme}`]: true,
|
|
19846
|
-
} }, hAsync("div", { key: '
|
|
20346
|
+
} }, 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())));
|
|
19847
20347
|
}
|
|
19848
20348
|
static get style() { return {
|
|
19849
20349
|
ionic: ionicInfiniteScrollContentMdCss(),
|
|
@@ -20591,7 +21091,7 @@ class Input {
|
|
|
20591
21091
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
20592
21092
|
*/
|
|
20593
21093
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
20594
|
-
return (hAsync(Host, { key: '
|
|
21094
|
+
return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
|
|
20595
21095
|
[theme]: true,
|
|
20596
21096
|
'has-value': hasValue,
|
|
20597
21097
|
'has-focus': hasFocus,
|
|
@@ -20604,7 +21104,7 @@ class Input {
|
|
|
20604
21104
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
20605
21105
|
'input-disabled': disabled,
|
|
20606
21106
|
'input-readonly': readonly,
|
|
20607
|
-
}) }, hAsync("label", { key: '
|
|
21107
|
+
}) }, hAsync("label", { key: 'f227df52a6ad60344f16261a82c0d0566bb8cd5b', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'ae6da554ce21f805361a7704139b776a9344dcb2', class: "native-wrapper", onClick: this.onLabelClick },
|
|
20608
21108
|
/**
|
|
20609
21109
|
* For the ionic theme, we render the outline container here
|
|
20610
21110
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -20614,14 +21114,14 @@ class Input {
|
|
|
20614
21114
|
* <label> element, ensuring that clicking the label text
|
|
20615
21115
|
* focuses the input.
|
|
20616
21116
|
*/
|
|
20617
|
-
theme === 'ionic' && hAsync("div", { key: '
|
|
21117
|
+
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) => {
|
|
20618
21118
|
/**
|
|
20619
21119
|
* This prevents mobile browsers from
|
|
20620
21120
|
* blurring the input when the clear
|
|
20621
21121
|
* button is activated.
|
|
20622
21122
|
*/
|
|
20623
21123
|
ev.preventDefault();
|
|
20624
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
21124
|
+
}, 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()));
|
|
20625
21125
|
}
|
|
20626
21126
|
get el() { return getElement(this); }
|
|
20627
21127
|
static get watchers() { return {
|
|
@@ -21386,7 +21886,7 @@ class InputOTP {
|
|
|
21386
21886
|
const tabbableIndex = this.getTabbableIndex();
|
|
21387
21887
|
const pattern = this.getPattern();
|
|
21388
21888
|
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()) !== '';
|
|
21389
|
-
return (hAsync(Host, { key: '
|
|
21889
|
+
return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
|
|
21390
21890
|
[mode]: true,
|
|
21391
21891
|
'has-focus': hasFocus,
|
|
21392
21892
|
[`input-otp-size-${size}`]: true,
|
|
@@ -21394,10 +21894,10 @@ class InputOTP {
|
|
|
21394
21894
|
[`input-otp-fill-${fill}`]: true,
|
|
21395
21895
|
'input-otp-disabled': disabled,
|
|
21396
21896
|
'input-otp-readonly': readonly,
|
|
21397
|
-
}) }, hAsync("div", Object.assign({ key: '
|
|
21897
|
+
}) }, 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: {
|
|
21398
21898
|
'input-otp-description': true,
|
|
21399
21899
|
'input-otp-description-hidden': !hasDescription,
|
|
21400
|
-
}, part: "description" }, hAsync("slot", { key: '
|
|
21900
|
+
}, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
|
|
21401
21901
|
}
|
|
21402
21902
|
static get formAssociated() { return true; }
|
|
21403
21903
|
get el() { return getElement(this); }
|
|
@@ -21545,16 +22045,16 @@ class InputPasswordToggle {
|
|
|
21545
22045
|
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
21546
22046
|
const mode = getIonMode$1(this);
|
|
21547
22047
|
const isPasswordVisible = type === 'text';
|
|
21548
|
-
return (hAsync(Host, { key: '
|
|
22048
|
+
return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
|
|
21549
22049
|
[mode]: true,
|
|
21550
|
-
}) }, hAsync("ion-button", { key: '
|
|
22050
|
+
}) }, 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) => {
|
|
21551
22051
|
/**
|
|
21552
22052
|
* This prevents mobile browsers from
|
|
21553
22053
|
* blurring the input when the password toggle
|
|
21554
22054
|
* button is activated.
|
|
21555
22055
|
*/
|
|
21556
22056
|
ev.preventDefault();
|
|
21557
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
22057
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
21558
22058
|
}
|
|
21559
22059
|
get el() { return getElement(this); }
|
|
21560
22060
|
static get watchers() { return {
|
|
@@ -21929,11 +22429,11 @@ class ItemDivider {
|
|
|
21929
22429
|
}
|
|
21930
22430
|
render() {
|
|
21931
22431
|
const theme = getIonTheme(this);
|
|
21932
|
-
return (hAsync(Host, { key: '
|
|
22432
|
+
return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
|
|
21933
22433
|
[theme]: true,
|
|
21934
22434
|
'item-divider-sticky': this.sticky,
|
|
21935
22435
|
item: true,
|
|
21936
|
-
}) }, hAsync("slot", { key: '
|
|
22436
|
+
}) }, 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" }))));
|
|
21937
22437
|
}
|
|
21938
22438
|
get el() { return getElement(this); }
|
|
21939
22439
|
static get style() { return {
|
|
@@ -21970,7 +22470,7 @@ class ItemGroup {
|
|
|
21970
22470
|
}
|
|
21971
22471
|
render() {
|
|
21972
22472
|
const theme = getIonTheme(this);
|
|
21973
|
-
return (hAsync(Host, { key: '
|
|
22473
|
+
return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
|
|
21974
22474
|
[theme]: true,
|
|
21975
22475
|
// Used internally for styling
|
|
21976
22476
|
[`item-group-${theme}`]: true,
|
|
@@ -22066,14 +22566,14 @@ class ItemOption {
|
|
|
22066
22566
|
href: this.href,
|
|
22067
22567
|
target: this.target,
|
|
22068
22568
|
};
|
|
22069
|
-
return (hAsync(Host, { key: '
|
|
22569
|
+
return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
22070
22570
|
[theme]: true,
|
|
22071
22571
|
[`item-option-${shape}`]: shape !== undefined,
|
|
22072
22572
|
[`item-option-${hue}`]: hue !== undefined,
|
|
22073
22573
|
'item-option-disabled': disabled,
|
|
22074
22574
|
'item-option-expandable': expandable,
|
|
22075
22575
|
'ion-activatable': true,
|
|
22076
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
22576
|
+
}) }, 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' }))));
|
|
22077
22577
|
}
|
|
22078
22578
|
get el() { return getElement(this); }
|
|
22079
22579
|
static get style() { return {
|
|
@@ -22131,7 +22631,7 @@ class ItemOptions {
|
|
|
22131
22631
|
render() {
|
|
22132
22632
|
const theme = getIonTheme(this);
|
|
22133
22633
|
const isEnd = isEndSide(this.side);
|
|
22134
|
-
return (hAsync(Host, { key: '
|
|
22634
|
+
return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
|
|
22135
22635
|
[theme]: true,
|
|
22136
22636
|
// Used internally for styling
|
|
22137
22637
|
[`item-options-${theme}`]: true,
|
|
@@ -22983,7 +23483,7 @@ class ItemSliding {
|
|
|
22983
23483
|
}
|
|
22984
23484
|
render() {
|
|
22985
23485
|
const theme = getIonTheme(this);
|
|
22986
|
-
return (hAsync(Host, { key: '
|
|
23486
|
+
return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
|
|
22987
23487
|
[theme]: true,
|
|
22988
23488
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
22989
23489
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23102,13 +23602,13 @@ class Label {
|
|
|
23102
23602
|
render() {
|
|
23103
23603
|
const position = this.position;
|
|
23104
23604
|
const theme = getIonTheme(this);
|
|
23105
|
-
return (hAsync(Host, { key: '
|
|
23605
|
+
return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
|
|
23106
23606
|
[theme]: true,
|
|
23107
23607
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23108
23608
|
[`label-${position}`]: position !== undefined,
|
|
23109
23609
|
[`label-no-animate`]: this.noAnimate,
|
|
23110
23610
|
'label-rtl': document.dir === 'rtl',
|
|
23111
|
-
}) }, hAsync("slot", { key: '
|
|
23611
|
+
}) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
|
|
23112
23612
|
}
|
|
23113
23613
|
get el() { return getElement(this); }
|
|
23114
23614
|
static get watchers() { return {
|
|
@@ -23188,7 +23688,7 @@ class List {
|
|
|
23188
23688
|
const theme = getIonTheme(this);
|
|
23189
23689
|
const shape = this.getShape();
|
|
23190
23690
|
const { lines, inset } = this;
|
|
23191
|
-
return (hAsync(Host, { key: '
|
|
23691
|
+
return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
|
|
23192
23692
|
[theme]: true,
|
|
23193
23693
|
// Used internally for styling
|
|
23194
23694
|
[`list-${theme}`]: true,
|
|
@@ -23238,10 +23738,10 @@ class ListHeader {
|
|
|
23238
23738
|
render() {
|
|
23239
23739
|
const { lines } = this;
|
|
23240
23740
|
const theme = getIonTheme(this);
|
|
23241
|
-
return (hAsync(Host, { key: '
|
|
23741
|
+
return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
|
|
23242
23742
|
[theme]: true,
|
|
23243
23743
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
23244
|
-
}) }, hAsync("div", { key: '
|
|
23744
|
+
}) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
|
|
23245
23745
|
}
|
|
23246
23746
|
static get style() { return {
|
|
23247
23747
|
ionic: listHeaderIonicCss(),
|
|
@@ -23530,9 +24030,9 @@ class Loading {
|
|
|
23530
24030
|
* Otherwise, don't set aria-labelledby.
|
|
23531
24031
|
*/
|
|
23532
24032
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23533
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24033
|
+
return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
23534
24034
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
23535
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '
|
|
24035
|
+
}, 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" })));
|
|
23536
24036
|
}
|
|
23537
24037
|
get el() { return getElement(this); }
|
|
23538
24038
|
static get watchers() { return {
|
|
@@ -24593,14 +25093,14 @@ class Menu {
|
|
|
24593
25093
|
* the ionBackButton listener in the menu controller
|
|
24594
25094
|
* will handle closing the menu when Escape is pressed.
|
|
24595
25095
|
*/
|
|
24596
|
-
return (hAsync(Host, { key: '
|
|
25096
|
+
return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
24597
25097
|
[theme]: true,
|
|
24598
25098
|
[`menu-type-${type}`]: true,
|
|
24599
25099
|
'menu-enabled': !disabled,
|
|
24600
25100
|
[`menu-side-${side}`]: true,
|
|
24601
25101
|
'menu-pane-visible': isPaneVisible,
|
|
24602
25102
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
24603
|
-
} }, hAsync("div", { key: '
|
|
25103
|
+
} }, 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" })));
|
|
24604
25104
|
}
|
|
24605
25105
|
get el() { return getElement(this); }
|
|
24606
25106
|
static get watchers() { return {
|
|
@@ -24734,7 +25234,7 @@ class MenuButton {
|
|
|
24734
25234
|
type: this.type,
|
|
24735
25235
|
};
|
|
24736
25236
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
24737
|
-
return (hAsync(Host, { key: '
|
|
25237
|
+
return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
24738
25238
|
[theme]: true,
|
|
24739
25239
|
button: true, // ion-buttons target .button
|
|
24740
25240
|
'menu-button-hidden': hidden,
|
|
@@ -24743,7 +25243,7 @@ class MenuButton {
|
|
|
24743
25243
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
24744
25244
|
'ion-activatable': true,
|
|
24745
25245
|
'ion-focusable': true,
|
|
24746
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
25246
|
+
}) }, 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" }))));
|
|
24747
25247
|
}
|
|
24748
25248
|
get el() { return getElement(this); }
|
|
24749
25249
|
static get style() { return {
|
|
@@ -24800,10 +25300,10 @@ class MenuToggle {
|
|
|
24800
25300
|
render() {
|
|
24801
25301
|
const theme = getIonTheme(this);
|
|
24802
25302
|
const hidden = this.autoHide && !this.visible;
|
|
24803
|
-
return (hAsync(Host, { key: '
|
|
25303
|
+
return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
24804
25304
|
[theme]: true,
|
|
24805
25305
|
'menu-toggle-hidden': hidden,
|
|
24806
|
-
} }, hAsync("slot", { key: '
|
|
25306
|
+
} }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
|
|
24807
25307
|
}
|
|
24808
25308
|
static get style() { return menuToggleCss(); }
|
|
24809
25309
|
static get cmpMeta() { return {
|
|
@@ -28306,20 +28806,20 @@ class Modal {
|
|
|
28306
28806
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
28307
28807
|
const shape = this.getShape();
|
|
28308
28808
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
28309
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
28809
|
+
return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
|
|
28310
28810
|
// Allow the modal to be navigable when the handle is focusable
|
|
28311
28811
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
28312
28812
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
28313
|
-
}, 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: '
|
|
28813
|
+
}, 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',
|
|
28314
28814
|
/*
|
|
28315
28815
|
role and aria-modal must be used on the
|
|
28316
28816
|
same element. They must also be set inside the
|
|
28317
28817
|
shadow DOM otherwise ion-button will not be highlighted
|
|
28318
28818
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
28319
28819
|
*/
|
|
28320
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
28820
|
+
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",
|
|
28321
28821
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
28322
|
-
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: '
|
|
28822
|
+
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 }))));
|
|
28323
28823
|
}
|
|
28324
28824
|
get el() { return getElement(this); }
|
|
28325
28825
|
static get watchers() { return {
|
|
@@ -29279,7 +29779,7 @@ class Nav {
|
|
|
29279
29779
|
}
|
|
29280
29780
|
}
|
|
29281
29781
|
render() {
|
|
29282
|
-
return hAsync("slot", { key: '
|
|
29782
|
+
return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
|
|
29283
29783
|
}
|
|
29284
29784
|
get el() { return getElement(this); }
|
|
29285
29785
|
static get watchers() { return {
|
|
@@ -29360,7 +29860,7 @@ class NavLink {
|
|
|
29360
29860
|
};
|
|
29361
29861
|
}
|
|
29362
29862
|
render() {
|
|
29363
|
-
return hAsync(Host, { key: '
|
|
29863
|
+
return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
|
|
29364
29864
|
}
|
|
29365
29865
|
get el() { return getElement(this); }
|
|
29366
29866
|
static get cmpMeta() { return {
|
|
@@ -29394,9 +29894,9 @@ class Note {
|
|
|
29394
29894
|
}
|
|
29395
29895
|
render() {
|
|
29396
29896
|
const theme = getIonTheme(this);
|
|
29397
|
-
return (hAsync(Host, { key: '
|
|
29897
|
+
return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
|
|
29398
29898
|
[theme]: true,
|
|
29399
|
-
}) }, hAsync("slot", { key: '
|
|
29899
|
+
}) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
|
|
29400
29900
|
}
|
|
29401
29901
|
static get style() { return {
|
|
29402
29902
|
ionic: ionicNoteMdCss(),
|
|
@@ -30162,11 +30662,11 @@ class Picker {
|
|
|
30162
30662
|
render() {
|
|
30163
30663
|
const { htmlAttributes } = this;
|
|
30164
30664
|
const theme = getIonTheme(this);
|
|
30165
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30665
|
+
return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
30166
30666
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
30167
30667
|
}, class: Object.assign({ [theme]: true,
|
|
30168
30668
|
// Used internally for styling
|
|
30169
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
30669
|
+
[`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" })));
|
|
30170
30670
|
}
|
|
30171
30671
|
get el() { return getElement(this); }
|
|
30172
30672
|
static get watchers() { return {
|
|
@@ -31144,9 +31644,9 @@ class PickerColumnCmp {
|
|
|
31144
31644
|
render() {
|
|
31145
31645
|
const col = this.col;
|
|
31146
31646
|
const theme = getIonTheme(this);
|
|
31147
|
-
return (hAsync(Host, { key: '
|
|
31647
|
+
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: {
|
|
31148
31648
|
'max-width': this.col.columnWidth,
|
|
31149
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
31649
|
+
} }, 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))));
|
|
31150
31650
|
}
|
|
31151
31651
|
get el() { return getElement(this); }
|
|
31152
31652
|
static get watchers() { return {
|
|
@@ -31271,10 +31771,10 @@ class PickerColumnOption {
|
|
|
31271
31771
|
render() {
|
|
31272
31772
|
const { color, disabled, ariaLabel } = this;
|
|
31273
31773
|
const theme = getIonTheme(this);
|
|
31274
|
-
return (hAsync(Host, { key: '
|
|
31774
|
+
return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
|
|
31275
31775
|
[theme]: true,
|
|
31276
31776
|
['option-disabled']: disabled,
|
|
31277
|
-
}) }, hAsync("div", { key: '
|
|
31777
|
+
}) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
|
|
31278
31778
|
}
|
|
31279
31779
|
get el() { return getElement(this); }
|
|
31280
31780
|
static get watchers() { return {
|
|
@@ -32843,9 +33343,9 @@ class Popover {
|
|
|
32843
33343
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32844
33344
|
const desktop = isPlatform('desktop');
|
|
32845
33345
|
const enableArrow = arrow && !parentPopover;
|
|
32846
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
33346
|
+
return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
32847
33347
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
32848
|
-
}, 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: '
|
|
33348
|
+
}, 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' })))));
|
|
32849
33349
|
}
|
|
32850
33350
|
get el() { return getElement(this); }
|
|
32851
33351
|
static get watchers() { return {
|
|
@@ -32973,7 +33473,7 @@ class ProgressBar {
|
|
|
32973
33473
|
const shape = this.getShape();
|
|
32974
33474
|
// If the progress is displayed as a solid bar.
|
|
32975
33475
|
const progressSolid = buffer === 1;
|
|
32976
|
-
return (hAsync(Host, { key: '
|
|
33476
|
+
return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32977
33477
|
[theme]: true,
|
|
32978
33478
|
[`progress-bar-${type}`]: true,
|
|
32979
33479
|
'progress-paused': paused,
|
|
@@ -33166,7 +33666,7 @@ class Radio {
|
|
|
33166
33666
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
33167
33667
|
const theme = getIonTheme(this);
|
|
33168
33668
|
const inItem = hostContext('ion-item', el);
|
|
33169
|
-
return (hAsync(Host, { key: '
|
|
33669
|
+
return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
33170
33670
|
[theme]: true,
|
|
33171
33671
|
'in-item': inItem,
|
|
33172
33672
|
'radio-checked': checked,
|
|
@@ -33177,10 +33677,10 @@ class Radio {
|
|
|
33177
33677
|
// Focus and active styling should not apply when the radio is in an item
|
|
33178
33678
|
'ion-activatable': !inItem,
|
|
33179
33679
|
'ion-focusable': !inItem,
|
|
33180
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
33680
|
+
}), 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: {
|
|
33181
33681
|
'label-text-wrapper': true,
|
|
33182
33682
|
'label-text-wrapper-hidden': !hasLabel,
|
|
33183
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
33683
|
+
}, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
33184
33684
|
}
|
|
33185
33685
|
get el() { return getElement(this); }
|
|
33186
33686
|
static get watchers() { return {
|
|
@@ -33450,10 +33950,10 @@ class RadioGroup {
|
|
|
33450
33950
|
const { label, labelId, el, name, value } = this;
|
|
33451
33951
|
const theme = getIonTheme(this);
|
|
33452
33952
|
renderHiddenInput(true, el, name, value, false);
|
|
33453
|
-
return (hAsync(Host, { key: '
|
|
33953
|
+
return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
|
|
33454
33954
|
[theme]: true,
|
|
33455
33955
|
'in-list': hostContext('ion-list', el),
|
|
33456
|
-
}, 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: '
|
|
33956
|
+
}, 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' })));
|
|
33457
33957
|
}
|
|
33458
33958
|
get el() { return getElement(this); }
|
|
33459
33959
|
static get watchers() { return {
|
|
@@ -34303,7 +34803,7 @@ class Range {
|
|
|
34303
34803
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
34304
34804
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
34305
34805
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
34306
|
-
return (hAsync(Host, { key: '
|
|
34806
|
+
return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
34307
34807
|
[theme]: true,
|
|
34308
34808
|
'in-item': inItem,
|
|
34309
34809
|
'range-disabled': disabled,
|
|
@@ -34317,10 +34817,10 @@ class Range {
|
|
|
34317
34817
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
34318
34818
|
'range-value-min': valueAtMin,
|
|
34319
34819
|
'range-value-max': valueAtMax,
|
|
34320
|
-
}) }, hAsync("label", { key: '
|
|
34820
|
+
}) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
|
|
34321
34821
|
'label-text-wrapper': true,
|
|
34322
34822
|
'label-text-wrapper-hidden': !hasLabel,
|
|
34323
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
34823
|
+
}, 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" })))));
|
|
34324
34824
|
}
|
|
34325
34825
|
get el() { return getElement(this); }
|
|
34326
34826
|
static get watchers() { return {
|
|
@@ -35395,7 +35895,7 @@ class Refresher {
|
|
|
35395
35895
|
}
|
|
35396
35896
|
render() {
|
|
35397
35897
|
const theme = getIonTheme(this);
|
|
35398
|
-
return (hAsync(Host, { key: '
|
|
35898
|
+
return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
|
|
35399
35899
|
[theme]: true,
|
|
35400
35900
|
// Used internally for styling
|
|
35401
35901
|
[`refresher-${theme}`]: true,
|
|
@@ -35634,9 +36134,9 @@ class RefresherContent {
|
|
|
35634
36134
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
35635
36135
|
const theme = getIonTheme(this);
|
|
35636
36136
|
const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
|
|
35637
|
-
return (hAsync(Host, { key: '
|
|
36137
|
+
return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
|
|
35638
36138
|
[theme]: true,
|
|
35639
|
-
} }, hAsync("div", { key: '
|
|
36139
|
+
} }, 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())));
|
|
35640
36140
|
}
|
|
35641
36141
|
get el() { return getElement(this); }
|
|
35642
36142
|
static get style() { return {
|
|
@@ -35705,9 +36205,9 @@ class Reorder {
|
|
|
35705
36205
|
render() {
|
|
35706
36206
|
const { reorderHandleIcon } = this;
|
|
35707
36207
|
const theme = getIonTheme(this);
|
|
35708
|
-
return (hAsync(Host, { key: '
|
|
36208
|
+
return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
|
|
35709
36209
|
[theme]: true,
|
|
35710
|
-
} }, hAsync("slot", { key: '
|
|
36210
|
+
} }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
35711
36211
|
}
|
|
35712
36212
|
get el() { return getElement(this); }
|
|
35713
36213
|
static get style() { return {
|
|
@@ -35983,7 +36483,7 @@ class ReorderGroup {
|
|
|
35983
36483
|
}
|
|
35984
36484
|
render() {
|
|
35985
36485
|
const theme = getIonTheme(this);
|
|
35986
|
-
return (hAsync(Host, { key: '
|
|
36486
|
+
return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
|
|
35987
36487
|
[theme]: true,
|
|
35988
36488
|
'reorder-enabled': !this.disabled,
|
|
35989
36489
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -36109,7 +36609,7 @@ class RippleEffect {
|
|
|
36109
36609
|
}
|
|
36110
36610
|
render() {
|
|
36111
36611
|
const theme = getIonTheme(this);
|
|
36112
|
-
return (hAsync(Host, { key: '
|
|
36612
|
+
return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
|
|
36113
36613
|
[theme]: true,
|
|
36114
36614
|
unbounded: this.unbounded,
|
|
36115
36615
|
} }));
|
|
@@ -37094,10 +37594,10 @@ class RouterLink {
|
|
|
37094
37594
|
rel: this.rel,
|
|
37095
37595
|
target: this.target,
|
|
37096
37596
|
};
|
|
37097
|
-
return (hAsync(Host, { key: '
|
|
37597
|
+
return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37098
37598
|
[theme]: true,
|
|
37099
37599
|
'ion-activatable': true,
|
|
37100
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
37600
|
+
}) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
|
|
37101
37601
|
}
|
|
37102
37602
|
static get style() { return routerLinkCss(); }
|
|
37103
37603
|
static get cmpMeta() { return {
|
|
@@ -37297,7 +37797,7 @@ class RouterOutlet {
|
|
|
37297
37797
|
return true;
|
|
37298
37798
|
}
|
|
37299
37799
|
render() {
|
|
37300
|
-
return hAsync("slot", { key: '
|
|
37800
|
+
return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
|
|
37301
37801
|
}
|
|
37302
37802
|
get el() { return getElement(this); }
|
|
37303
37803
|
static get watchers() { return {
|
|
@@ -37337,9 +37837,9 @@ class Row {
|
|
|
37337
37837
|
}
|
|
37338
37838
|
render() {
|
|
37339
37839
|
const theme = getIonTheme(this);
|
|
37340
|
-
return (hAsync(Host, { key: '
|
|
37840
|
+
return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
|
|
37341
37841
|
[theme]: true,
|
|
37342
|
-
} }, hAsync("slot", { key: '
|
|
37842
|
+
} }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
|
|
37343
37843
|
}
|
|
37344
37844
|
static get style() { return rowCss(); }
|
|
37345
37845
|
static get cmpMeta() { return {
|
|
@@ -37898,8 +38398,8 @@ class Searchbar {
|
|
|
37898
38398
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
37899
38399
|
const shape = this.getShape();
|
|
37900
38400
|
const size = this.getSize();
|
|
37901
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
37902
|
-
return (hAsync(Host, { key: '
|
|
38401
|
+
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))));
|
|
38402
|
+
return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
37903
38403
|
[theme]: true,
|
|
37904
38404
|
'searchbar-animated': animated,
|
|
37905
38405
|
'searchbar-disabled': this.disabled,
|
|
@@ -37913,14 +38413,14 @@ class Searchbar {
|
|
|
37913
38413
|
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
37914
38414
|
[`searchbar-size-${size}`]: size !== undefined,
|
|
37915
38415
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37916
|
-
}) }, hAsync("div", { key: '
|
|
38416
|
+
}) }, 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) => {
|
|
37917
38417
|
/**
|
|
37918
38418
|
* This prevents mobile browsers from
|
|
37919
38419
|
* blurring the input when the clear
|
|
37920
38420
|
* button is activated.
|
|
37921
38421
|
*/
|
|
37922
38422
|
ev.preventDefault();
|
|
37923
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
38423
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
37924
38424
|
}
|
|
37925
38425
|
get el() { return getElement(this); }
|
|
37926
38426
|
static get watchers() { return {
|
|
@@ -38535,14 +39035,14 @@ class Segment {
|
|
|
38535
39035
|
}
|
|
38536
39036
|
render() {
|
|
38537
39037
|
const theme = getIonTheme(this);
|
|
38538
|
-
return (hAsync(Host, { key: '
|
|
39038
|
+
return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
38539
39039
|
[theme]: true,
|
|
38540
39040
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38541
39041
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
38542
39042
|
'segment-activated': this.activated,
|
|
38543
39043
|
'segment-disabled': this.disabled,
|
|
38544
39044
|
'segment-scrollable': this.scrollable,
|
|
38545
|
-
}) }, hAsync("slot", { key: '
|
|
39045
|
+
}) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
|
|
38546
39046
|
}
|
|
38547
39047
|
get el() { return getElement(this); }
|
|
38548
39048
|
static get watchers() { return {
|
|
@@ -38694,7 +39194,7 @@ class SegmentButton {
|
|
|
38694
39194
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
38695
39195
|
const theme = getIonTheme(this);
|
|
38696
39196
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
38697
|
-
return (hAsync(Host, { key: '
|
|
39197
|
+
return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
|
|
38698
39198
|
[theme]: true,
|
|
38699
39199
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38700
39200
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -38710,7 +39210,7 @@ class SegmentButton {
|
|
|
38710
39210
|
'ion-activatable': true,
|
|
38711
39211
|
'ion-activatable-instant': true,
|
|
38712
39212
|
'ion-focusable': true,
|
|
38713
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
39213
|
+
} }, 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" }))));
|
|
38714
39214
|
}
|
|
38715
39215
|
get el() { return getElement(this); }
|
|
38716
39216
|
static get watchers() { return {
|
|
@@ -38748,7 +39248,7 @@ class SegmentContent {
|
|
|
38748
39248
|
registerInstance(this, hostRef);
|
|
38749
39249
|
}
|
|
38750
39250
|
render() {
|
|
38751
|
-
return (hAsync(Host, { key: '
|
|
39251
|
+
return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
|
|
38752
39252
|
}
|
|
38753
39253
|
static get style() { return segmentContentCss(); }
|
|
38754
39254
|
static get cmpMeta() { return {
|
|
@@ -38876,11 +39376,11 @@ class SegmentView {
|
|
|
38876
39376
|
}
|
|
38877
39377
|
render() {
|
|
38878
39378
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
38879
|
-
return (hAsync(Host, { key: '
|
|
39379
|
+
return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
|
|
38880
39380
|
'segment-view-disabled': disabled,
|
|
38881
39381
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
38882
39382
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
38883
|
-
} }, hAsync("slot", { key: '
|
|
39383
|
+
} }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
|
|
38884
39384
|
}
|
|
38885
39385
|
get el() { return getElement(this); }
|
|
38886
39386
|
static get style() { return {
|
|
@@ -39816,7 +40316,7 @@ class Select {
|
|
|
39816
40316
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39817
40317
|
*/
|
|
39818
40318
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
39819
|
-
return (hAsync(Host, { key: '
|
|
40319
|
+
return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
39820
40320
|
[theme]: true,
|
|
39821
40321
|
'in-item': inItem,
|
|
39822
40322
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -39835,7 +40335,7 @@ class Select {
|
|
|
39835
40335
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
39836
40336
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
39837
40337
|
[`select-size-${size}`]: size !== undefined,
|
|
39838
|
-
}) }, hAsync("label", { key: '
|
|
40338
|
+
}) }, 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" },
|
|
39839
40339
|
/**
|
|
39840
40340
|
* For the ionic theme, we render the outline container here
|
|
39841
40341
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -39845,7 +40345,7 @@ class Select {
|
|
|
39845
40345
|
* <label> element, ensuring that clicking the label text
|
|
39846
40346
|
* focuses the select.
|
|
39847
40347
|
*/
|
|
39848
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
40348
|
+
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()));
|
|
39849
40349
|
}
|
|
39850
40350
|
get el() { return getElement(this); }
|
|
39851
40351
|
static get watchers() { return {
|
|
@@ -40237,7 +40737,7 @@ class SelectModal {
|
|
|
40237
40737
|
});
|
|
40238
40738
|
}
|
|
40239
40739
|
render() {
|
|
40240
|
-
return (hAsync(Host, { key: '
|
|
40740
|
+
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()))));
|
|
40241
40741
|
}
|
|
40242
40742
|
get el() { return getElement(this); }
|
|
40243
40743
|
static get style() { return {
|
|
@@ -40282,7 +40782,7 @@ class SelectOption {
|
|
|
40282
40782
|
}
|
|
40283
40783
|
render() {
|
|
40284
40784
|
const theme = getIonTheme(this);
|
|
40285
|
-
return (hAsync(Host, { key: '
|
|
40785
|
+
return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
|
|
40286
40786
|
[theme]: true,
|
|
40287
40787
|
}, role: "option", id: this.inputId }));
|
|
40288
40788
|
}
|
|
@@ -40451,9 +40951,9 @@ class SelectPopover {
|
|
|
40451
40951
|
const { header, message, options, subHeader } = this;
|
|
40452
40952
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
40453
40953
|
const theme = getIonTheme(this);
|
|
40454
|
-
return (hAsync(Host, { key: '
|
|
40954
|
+
return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
|
|
40455
40955
|
[theme]: true,
|
|
40456
|
-
} }, hAsync("ion-list", { key: '
|
|
40956
|
+
} }, 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))));
|
|
40457
40957
|
}
|
|
40458
40958
|
get el() { return getElement(this); }
|
|
40459
40959
|
static get style() { return {
|
|
@@ -40508,11 +41008,11 @@ class SkeletonText {
|
|
|
40508
41008
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
40509
41009
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
40510
41010
|
const theme = getIonTheme(this);
|
|
40511
|
-
return (hAsync(Host, { key: '
|
|
41011
|
+
return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
|
|
40512
41012
|
[theme]: true,
|
|
40513
41013
|
'skeleton-text-animated': animated,
|
|
40514
41014
|
'in-media': inMedia,
|
|
40515
|
-
} }, hAsync("span", { key: '
|
|
41015
|
+
} }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
|
|
40516
41016
|
}
|
|
40517
41017
|
get el() { return getElement(this); }
|
|
40518
41018
|
static get style() { return skeletonTextCss(); }
|
|
@@ -40585,7 +41085,7 @@ class Spinner {
|
|
|
40585
41085
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40586
41086
|
}
|
|
40587
41087
|
}
|
|
40588
|
-
return (hAsync(Host, { key: '
|
|
41088
|
+
return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
|
|
40589
41089
|
[theme]: true,
|
|
40590
41090
|
[`spinner-${spinnerName}`]: true,
|
|
40591
41091
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -40629,6 +41129,7 @@ const splitPaneIosCss = () => `:host{--side-width:100%;right:0;left:0;top:0;bott
|
|
|
40629
41129
|
|
|
40630
41130
|
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%}`;
|
|
40631
41131
|
|
|
41132
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
40632
41133
|
const QUERY = {
|
|
40633
41134
|
lg: '(min-width: 992px)'};
|
|
40634
41135
|
/**
|
|
@@ -40696,12 +41197,12 @@ class SplitPane {
|
|
|
40696
41197
|
}
|
|
40697
41198
|
render() {
|
|
40698
41199
|
const theme = getIonTheme(this);
|
|
40699
|
-
return (hAsync(Host, { key: '
|
|
41200
|
+
return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
|
|
40700
41201
|
[theme]: true,
|
|
40701
41202
|
// Used internally for styling
|
|
40702
41203
|
[`split-pane-${theme}`]: true,
|
|
40703
41204
|
'split-pane-visible': this.visible,
|
|
40704
|
-
} }, hAsync("slot", { key: '
|
|
41205
|
+
} }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
|
|
40705
41206
|
}
|
|
40706
41207
|
get el() { return getElement(this); }
|
|
40707
41208
|
static get watchers() { return {
|
|
@@ -40778,10 +41279,10 @@ class Tab {
|
|
|
40778
41279
|
}
|
|
40779
41280
|
render() {
|
|
40780
41281
|
const { tab, active, component } = this;
|
|
40781
|
-
return (hAsync(Host, { key: '
|
|
41282
|
+
return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
40782
41283
|
'ion-page': component === undefined,
|
|
40783
41284
|
'tab-hidden': !active,
|
|
40784
|
-
} }, hAsync("slot", { key: '
|
|
41285
|
+
} }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
|
|
40785
41286
|
}
|
|
40786
41287
|
get el() { return getElement(this); }
|
|
40787
41288
|
static get watchers() { return {
|
|
@@ -40988,7 +41489,7 @@ class TabBar {
|
|
|
40988
41489
|
const theme = getIonTheme(this);
|
|
40989
41490
|
const shape = this.getShape();
|
|
40990
41491
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
40991
|
-
return (hAsync(Host, { key: '
|
|
41492
|
+
return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
40992
41493
|
[theme]: true,
|
|
40993
41494
|
'tab-bar-translucent': translucent,
|
|
40994
41495
|
'tab-bar-hidden': shouldHide,
|
|
@@ -40996,7 +41497,7 @@ class TabBar {
|
|
|
40996
41497
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
40997
41498
|
[`tab-bar-${expand}`]: true,
|
|
40998
41499
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
40999
|
-
}) }, hAsync("slot", { key: '
|
|
41500
|
+
}) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
|
|
41000
41501
|
}
|
|
41001
41502
|
get el() { return getElement(this); }
|
|
41002
41503
|
static get watchers() { return {
|
|
@@ -41124,7 +41625,7 @@ class TabButton {
|
|
|
41124
41625
|
rel,
|
|
41125
41626
|
target,
|
|
41126
41627
|
};
|
|
41127
|
-
return (hAsync(Host, { key: '
|
|
41628
|
+
return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
41128
41629
|
[theme]: true,
|
|
41129
41630
|
'tab-selected': selected,
|
|
41130
41631
|
'tab-disabled': disabled,
|
|
@@ -41137,7 +41638,7 @@ class TabButton {
|
|
|
41137
41638
|
'ion-selectable': true,
|
|
41138
41639
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
41139
41640
|
'ion-focusable': true,
|
|
41140
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
41641
|
+
} }, 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" }))));
|
|
41141
41642
|
}
|
|
41142
41643
|
get el() { return getElement(this); }
|
|
41143
41644
|
static get style() { return {
|
|
@@ -41333,7 +41834,7 @@ class Tabs {
|
|
|
41333
41834
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
41334
41835
|
}
|
|
41335
41836
|
render() {
|
|
41336
|
-
return (hAsync(Host, { key: '
|
|
41837
|
+
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" })));
|
|
41337
41838
|
}
|
|
41338
41839
|
get el() { return getElement(this); }
|
|
41339
41840
|
static get style() { return tabsCss(); }
|
|
@@ -41374,9 +41875,9 @@ class Text {
|
|
|
41374
41875
|
}
|
|
41375
41876
|
render() {
|
|
41376
41877
|
const theme = getIonTheme(this);
|
|
41377
|
-
return (hAsync(Host, { key: '
|
|
41878
|
+
return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
|
|
41378
41879
|
[theme]: true,
|
|
41379
|
-
}) }, hAsync("slot", { key: '
|
|
41880
|
+
}) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
|
|
41380
41881
|
}
|
|
41381
41882
|
static get style() { return textCss(); }
|
|
41382
41883
|
static get cmpMeta() { return {
|
|
@@ -41940,7 +42441,7 @@ class Textarea {
|
|
|
41940
42441
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
41941
42442
|
*/
|
|
41942
42443
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
41943
|
-
return (hAsync(Host, { key: '
|
|
42444
|
+
return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
|
|
41944
42445
|
[theme]: true,
|
|
41945
42446
|
'has-value': hasValue,
|
|
41946
42447
|
'has-focus': hasFocus,
|
|
@@ -41952,7 +42453,7 @@ class Textarea {
|
|
|
41952
42453
|
'in-item': inItem,
|
|
41953
42454
|
'textarea-disabled': disabled,
|
|
41954
42455
|
'textarea-readonly': readonly,
|
|
41955
|
-
}) }, hAsync("label", { key: '
|
|
42456
|
+
}) }, hAsync("label", { key: '3d21eab560550527de015d36b1c71761792aa516', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '5fe9ec91ac5560d2ebbb93751dd770fe17e5f839', class: "textarea-wrapper-inner" },
|
|
41956
42457
|
/**
|
|
41957
42458
|
* For the ionic theme, we render the outline container here
|
|
41958
42459
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -41962,7 +42463,7 @@ class Textarea {
|
|
|
41962
42463
|
* <label> element, ensuring that clicking the label text
|
|
41963
42464
|
* focuses the textarea.
|
|
41964
42465
|
*/
|
|
41965
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
42466
|
+
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()));
|
|
41966
42467
|
}
|
|
41967
42468
|
static get delegatesFocus() { return true; }
|
|
41968
42469
|
static get formAssociated() { return true; }
|
|
@@ -42046,9 +42547,9 @@ class Thumbnail {
|
|
|
42046
42547
|
}
|
|
42047
42548
|
render() {
|
|
42048
42549
|
const theme = getIonTheme(this);
|
|
42049
|
-
return (hAsync(Host, { key: '
|
|
42550
|
+
return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
|
|
42050
42551
|
[theme]: true,
|
|
42051
|
-
} }, hAsync("slot", { key: '
|
|
42552
|
+
} }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
|
|
42052
42553
|
}
|
|
42053
42554
|
static get style() { return thumbnailCss(); }
|
|
42054
42555
|
static get cmpMeta() { return {
|
|
@@ -42932,9 +43433,9 @@ class Toast {
|
|
|
42932
43433
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
42933
43434
|
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);
|
|
42934
43435
|
}
|
|
42935
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
43436
|
+
return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
42936
43437
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
42937
|
-
}, 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: '
|
|
43438
|
+
}, 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')))));
|
|
42938
43439
|
}
|
|
42939
43440
|
get el() { return getElement(this); }
|
|
42940
43441
|
static get watchers() { return {
|
|
@@ -43310,7 +43811,7 @@ class Toggle {
|
|
|
43310
43811
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
43311
43812
|
const isIonicTheme = theme === 'ionic';
|
|
43312
43813
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
43313
|
-
return (hAsync(Host, { key: '
|
|
43814
|
+
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, {
|
|
43314
43815
|
[theme]: true,
|
|
43315
43816
|
'in-item': hostContext('ion-item', el),
|
|
43316
43817
|
'toggle-activated': activated,
|
|
@@ -43322,10 +43823,10 @@ class Toggle {
|
|
|
43322
43823
|
[`toggle-${rtl}`]: true,
|
|
43323
43824
|
'ion-activatable': isIonicTheme,
|
|
43324
43825
|
'ion-focusable': isIonicTheme,
|
|
43325
|
-
}) }, hAsync("label", { key: '
|
|
43826
|
+
}) }, 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: {
|
|
43326
43827
|
'label-text-wrapper': true,
|
|
43327
43828
|
'label-text-wrapper-hidden': !hasLabel,
|
|
43328
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
43829
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
43329
43830
|
}
|
|
43330
43831
|
get el() { return getElement(this); }
|
|
43331
43832
|
static get watchers() { return {
|
|
@@ -43617,11 +44118,11 @@ class Toolbar {
|
|
|
43617
44118
|
Object.assign(childStyles, style);
|
|
43618
44119
|
});
|
|
43619
44120
|
const titlePlacement = this.getTitlePlacement();
|
|
43620
|
-
return (hAsync(Host, { key: '
|
|
44121
|
+
return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
|
|
43621
44122
|
[theme]: true,
|
|
43622
44123
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
43623
44124
|
[`toolbar-title-placement-${titlePlacement}`]: true,
|
|
43624
|
-
})), childStyles) }, hAsync("div", { key: '
|
|
44125
|
+
})), 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 }))));
|
|
43625
44126
|
}
|
|
43626
44127
|
get el() { return getElement(this); }
|
|
43627
44128
|
static get watchers() { return {
|
|
@@ -43680,11 +44181,11 @@ class ToolbarTitle {
|
|
|
43680
44181
|
render() {
|
|
43681
44182
|
const theme = getIonTheme(this);
|
|
43682
44183
|
const size = this.getSize();
|
|
43683
|
-
return (hAsync(Host, { key: '
|
|
44184
|
+
return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
|
|
43684
44185
|
[theme]: true,
|
|
43685
44186
|
[`title-${size}`]: true,
|
|
43686
44187
|
'title-rtl': document.dir === 'rtl',
|
|
43687
|
-
}) }, hAsync("div", { key: '
|
|
44188
|
+
}) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
|
|
43688
44189
|
}
|
|
43689
44190
|
get el() { return getElement(this); }
|
|
43690
44191
|
static get watchers() { return {
|
|
@@ -43740,6 +44241,7 @@ registerComponents([
|
|
|
43740
44241
|
FabButton,
|
|
43741
44242
|
FabList,
|
|
43742
44243
|
Footer,
|
|
44244
|
+
Gallery,
|
|
43743
44245
|
Grid,
|
|
43744
44246
|
Header,
|
|
43745
44247
|
Icon,
|