@ionic/core 8.8.7-dev.11778599050.191a48e3 → 8.8.7-dev.11778702595.1d38f927
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-B2rpt1JV.js +4 -0
- package/components/p-B6zr9RZN.js +4 -0
- package/components/{p-Brxa0j7O.js → p-B71c6yUH.js} +1 -1
- package/components/{p-C2cZvGcF.js → p-BFbsici0.js} +1 -1
- package/components/{p-CoarhFWH.js → p-BLCuPAtN.js} +1 -1
- package/components/{p-GnGGIfCd.js → p-BRWWcnBq.js} +1 -1
- package/components/{p-BfHB6wX_.js → p-BXcCGjEc.js} +1 -1
- package/components/{p-BU8N7ZrK.js → p-BqImG3uk.js} +1 -1
- package/components/{p-D5lMX0xt.js → p-C8ktKu9j.js} +1 -1
- package/components/{p-BhfW3d9j.js → p-CIoAIKEr.js} +1 -1
- package/components/p-CN-WzkJE.js +4 -0
- package/components/{p-CnwZE7CW.js → p-CoFqDNc5.js} +1 -1
- package/components/{p-TpZHKDyk.js → p-DAv9P_LE.js} +1 -1
- package/components/{p-CeYwuysM.js → p-DH_9VCbD.js} +1 -1
- package/components/{p-CdYTq34D.js → p-DTtRWhIZ.js} +1 -1
- package/components/{p-C-_EGKki.js → p-DXUyXgVL.js} +1 -1
- package/components/{p-BTYqyHph.js → p-Di5rHO3q.js} +1 -1
- package/components/{p-D39cV-un.js → p-Dmuy6xyk.js} +1 -1
- package/components/{p-BtAlyZ0b.js → p-IMXp2Inn.js} +1 -1
- package/components/{p-DAeMHNER.js → p-TR4ubkPu.js} +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +8 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-gallery.cjs.entry.js +510 -0
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +3 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/col/col.js +3 -2
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +100 -0
- package/dist/collection/components/gallery/gallery.js +595 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/grid/grid.js +2 -2
- package/dist/collection/components/header/header.js +2 -2
- package/dist/collection/components/img/img.js +2 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-otp/input-otp.js +3 -3
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.js +4 -4
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +2 -2
- package/dist/collection/components/reorder/reorder.js +2 -2
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +3 -3
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +3 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +2 -2
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/utils/css-value-validation.js +25 -0
- package/dist/collection/utils/media.js +1 -0
- package/dist/docs.json +256 -1
- package/dist/esm/ion-app_8.entry.js +7 -7
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +8 -6
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-gallery.entry.js +508 -0
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +12 -12
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +5 -5
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +3 -3
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +6 -6
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +3 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/html.html-data.json +74 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-96549175.entry.js → p-00c0bd38.entry.js} +1 -1
- package/dist/ionic/p-06bd033b.entry.js +4 -0
- package/dist/ionic/{p-192e7509.entry.js → p-15e3e8f5.entry.js} +1 -1
- package/dist/ionic/{p-5ac21be2.entry.js → p-1709b0aa.entry.js} +1 -1
- package/dist/ionic/{p-2bf931ae.entry.js → p-1c2c1869.entry.js} +1 -1
- package/dist/ionic/{p-3bf01c2c.entry.js → p-1c4de46b.entry.js} +1 -1
- package/dist/ionic/p-1e1c8d61.entry.js +4 -0
- package/dist/ionic/p-2aa7567e.entry.js +4 -0
- package/dist/ionic/{p-bc5713f7.entry.js → p-2ad79c23.entry.js} +1 -1
- package/dist/ionic/{p-5a3fc28e.entry.js → p-2f0073af.entry.js} +1 -1
- package/dist/ionic/{p-833910ae.entry.js → p-35b144f5.entry.js} +1 -1
- package/dist/ionic/{p-59b4f8d0.entry.js → p-3f79f594.entry.js} +1 -1
- package/dist/ionic/p-4079cee3.entry.js +4 -0
- package/dist/ionic/{p-f061fcb7.entry.js → p-48026d15.entry.js} +1 -1
- package/dist/ionic/{p-4091ad21.entry.js → p-50b61fab.entry.js} +1 -1
- package/dist/ionic/{p-8516eb69.entry.js → p-50cd2d57.entry.js} +1 -1
- package/dist/ionic/{p-50d90690.entry.js → p-5274f999.entry.js} +1 -1
- package/dist/ionic/{p-3093958a.entry.js → p-586d4270.entry.js} +1 -1
- package/dist/ionic/{p-6991ffa2.entry.js → p-7054a1b9.entry.js} +1 -1
- package/dist/ionic/{p-b8b20b7e.entry.js → p-71b6014c.entry.js} +1 -1
- package/dist/ionic/{p-9b9b1450.entry.js → p-72491468.entry.js} +1 -1
- package/dist/ionic/{p-c2894f9e.entry.js → p-76307d10.entry.js} +1 -1
- package/dist/ionic/{p-f740c359.entry.js → p-7d5057c4.entry.js} +1 -1
- package/dist/ionic/{p-091a95ea.entry.js → p-83c693c4.entry.js} +1 -1
- package/dist/ionic/{p-2aa44c65.entry.js → p-8537b2fb.entry.js} +1 -1
- package/dist/ionic/{p-02ecc684.entry.js → p-90e653e3.entry.js} +1 -1
- package/dist/ionic/{p-98c34fd7.entry.js → p-9d789053.entry.js} +1 -1
- package/dist/ionic/{p-1faf270d.entry.js → p-a9fb086b.entry.js} +1 -1
- package/dist/ionic/{p-e7f216ae.entry.js → p-ae667493.entry.js} +1 -1
- package/dist/ionic/{p-edb0b0c8.entry.js → p-b2fe6c1c.entry.js} +1 -1
- package/dist/ionic/{p-2effd05d.entry.js → p-b3c9f19c.entry.js} +1 -1
- package/dist/ionic/{p-6c8c37c2.entry.js → p-b653f4c2.entry.js} +1 -1
- package/dist/ionic/{p-4e46439d.entry.js → p-bd71a4a7.entry.js} +1 -1
- package/dist/ionic/p-bf972309.entry.js +4 -0
- package/dist/ionic/{p-8180abe5.entry.js → p-c10fa162.entry.js} +1 -1
- package/dist/ionic/{p-d954cd19.entry.js → p-d4ed5710.entry.js} +1 -1
- package/dist/ionic/{p-228b6a9c.entry.js → p-d6299c37.entry.js} +1 -1
- package/dist/ionic/{p-4610e447.entry.js → p-e18d3fdb.entry.js} +1 -1
- package/dist/ionic/{p-4c864eb2.entry.js → p-fad05840.entry.js} +1 -1
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +183 -0
- package/dist/types/components/gallery/test/utils.d.ts +2 -0
- package/dist/types/components.d.ts +75 -0
- package/dist/types/utils/css-value-validation.d.ts +12 -0
- package/hydrate/index.js +648 -126
- package/hydrate/index.mjs +648 -126
- package/package.json +1 -1
- package/components/p-CnOTQxHB.js +0 -4
- package/components/p-XFUFdPrc.js +0 -4
- package/components/p-tYh73xQe.js +0 -4
- package/dist/ionic/p-308beb71.entry.js +0 -4
- package/dist/ionic/p-64341e32.entry.js +0 -4
- package/dist/ionic/p-76d0e7ef.entry.js +0 -4
- package/dist/ionic/p-ae4ea663.entry.js +0 -4
package/hydrate/index.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,524 @@ 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
|
+
onColumnsOrGapChanged() {
|
|
18807
|
+
this.syncResponsiveLayout();
|
|
18808
|
+
}
|
|
18809
|
+
onLayoutOrOrderChanged() {
|
|
18810
|
+
this.syncResponsiveLayout();
|
|
18811
|
+
// Wait until the next animation frame to warn about unused order
|
|
18812
|
+
// to avoid erroneous warnings when the layout and order are updated
|
|
18813
|
+
// in the same frame.
|
|
18814
|
+
raf(() => {
|
|
18815
|
+
this.warnUnusedOrder();
|
|
18816
|
+
});
|
|
18817
|
+
}
|
|
18818
|
+
componentDidLoad() {
|
|
18819
|
+
this.updateResponsiveStyles(true);
|
|
18820
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
18821
|
+
this.updateResponsiveStyles();
|
|
18822
|
+
this.scheduleMasonryResize();
|
|
18823
|
+
});
|
|
18824
|
+
this.resizeObserver.observe(this.el);
|
|
18825
|
+
this.scheduleMasonryResize();
|
|
18826
|
+
this.warnUnusedOrder();
|
|
18827
|
+
}
|
|
18828
|
+
disconnectedCallback() {
|
|
18829
|
+
var _a;
|
|
18830
|
+
if (this.masonryRaf !== undefined) {
|
|
18831
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18832
|
+
this.masonryRaf = undefined;
|
|
18833
|
+
}
|
|
18834
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
18835
|
+
this.resizeObserver = undefined;
|
|
18836
|
+
}
|
|
18837
|
+
/**
|
|
18838
|
+
* Listen for the load event on child elements.
|
|
18839
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
18840
|
+
* of the masonry grid when the child elements load. This is useful for when
|
|
18841
|
+
* images take time to load.
|
|
18842
|
+
*/
|
|
18843
|
+
onChildLoad(ev) {
|
|
18844
|
+
if (this.layout !== 'masonry') {
|
|
18845
|
+
return;
|
|
18846
|
+
}
|
|
18847
|
+
const target = ev.target;
|
|
18848
|
+
if (target instanceof Node && this.el.contains(target)) {
|
|
18849
|
+
this.scheduleMasonryResize();
|
|
18850
|
+
}
|
|
18851
|
+
}
|
|
18852
|
+
/**
|
|
18853
|
+
* Recompute the gallery column and gap variables and masonry placement when
|
|
18854
|
+
* columns, gap, layout, or order change.
|
|
18855
|
+
*/
|
|
18856
|
+
syncResponsiveLayout() {
|
|
18857
|
+
this.updateResponsiveStyles(true);
|
|
18858
|
+
this.scheduleMasonryResize();
|
|
18859
|
+
}
|
|
18860
|
+
/**
|
|
18861
|
+
* Batch masonry measurements to a single animation frame.
|
|
18862
|
+
* This avoids repeated sync layouts during rapid resize/load/slot changes.
|
|
18863
|
+
*/
|
|
18864
|
+
scheduleMasonryResize() {
|
|
18865
|
+
if (this.layout !== 'masonry') {
|
|
18866
|
+
this.clearMasonryStyles();
|
|
18867
|
+
return;
|
|
18868
|
+
}
|
|
18869
|
+
if (this.masonryRaf !== undefined) {
|
|
18870
|
+
cancelAnimationFrame(this.masonryRaf);
|
|
18871
|
+
}
|
|
18872
|
+
this.masonryRaf = requestAnimationFrame(this.resizeMasonryGrid);
|
|
18873
|
+
}
|
|
18874
|
+
/**
|
|
18875
|
+
* Normalize a single column value (`columns` as a number, string, or one entry from
|
|
18876
|
+
* a `columns` breakpoint map) to a positive integer. Returns `undefined` when
|
|
18877
|
+
* the input cannot be interpreted as a finite number.
|
|
18878
|
+
*/
|
|
18879
|
+
sanitizeColumns(columns) {
|
|
18880
|
+
if (columns === undefined) {
|
|
18881
|
+
return undefined;
|
|
18882
|
+
}
|
|
18883
|
+
const numericColumns = typeof columns === 'number' ? columns : Number(columns);
|
|
18884
|
+
if (!Number.isFinite(numericColumns) || !Number.isInteger(numericColumns) || numericColumns <= 0) {
|
|
18885
|
+
return undefined;
|
|
18886
|
+
}
|
|
18887
|
+
return numericColumns;
|
|
18888
|
+
}
|
|
18889
|
+
/**
|
|
18890
|
+
* Normalize a single gap value (`gap` as a number, string, or one entry from
|
|
18891
|
+
* a `gap` breakpoint map) to a CSS length string. Returns `undefined` when
|
|
18892
|
+
* the input cannot be interpreted as a valid CSS length.
|
|
18893
|
+
*/
|
|
18894
|
+
sanitizeGap(gap) {
|
|
18895
|
+
if (gap === undefined) {
|
|
18896
|
+
return undefined;
|
|
18897
|
+
}
|
|
18898
|
+
const normalizedGap = typeof gap === 'string' ? gap.trim() : gap;
|
|
18899
|
+
if (normalizedGap === '' || typeof normalizedGap === 'object') {
|
|
18900
|
+
return undefined;
|
|
18901
|
+
}
|
|
18902
|
+
const numericGap = Number(normalizedGap);
|
|
18903
|
+
if (Number.isFinite(numericGap)) {
|
|
18904
|
+
return numericGap < 0 ? undefined : `${numericGap}px`;
|
|
18905
|
+
}
|
|
18906
|
+
if (typeof normalizedGap !== 'string') {
|
|
18907
|
+
return undefined;
|
|
18908
|
+
}
|
|
18909
|
+
const isValidCssLength = isValidLengthPercentage(normalizedGap);
|
|
18910
|
+
return isValidCssLength ? normalizedGap : undefined;
|
|
18911
|
+
}
|
|
18912
|
+
/**
|
|
18913
|
+
* Check if the value is a breakpoint map object.
|
|
18914
|
+
*/
|
|
18915
|
+
isBreakpointMap(value) {
|
|
18916
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
18917
|
+
}
|
|
18918
|
+
/**
|
|
18919
|
+
* Check if the breakpoint map has any invalid values for the provided
|
|
18920
|
+
* sanitizer. A breakpoint map is invalid when there are no valid breakpoint
|
|
18921
|
+
* keys set (e.g. `{}` or `{ colums: 3 }`), or when a value under a
|
|
18922
|
+
* breakpoint key fails the sanitizer (e.g. `{ xs: -3 }`, `{ sm: 'foo' }`).
|
|
18923
|
+
*/
|
|
18924
|
+
hasInvalidBreakpointMap(breakpointMap, sanitizeValue) {
|
|
18925
|
+
let hasBreakpointEntry = false;
|
|
18926
|
+
for (const breakpoint of BREAKPOINT_ORDER) {
|
|
18927
|
+
const value = breakpointMap[breakpoint];
|
|
18928
|
+
if (value !== undefined) {
|
|
18929
|
+
hasBreakpointEntry = true;
|
|
18930
|
+
if (sanitizeValue(value) === undefined) {
|
|
18931
|
+
return true;
|
|
18932
|
+
}
|
|
18933
|
+
}
|
|
18934
|
+
}
|
|
18935
|
+
return !hasBreakpointEntry;
|
|
18936
|
+
}
|
|
18937
|
+
/**
|
|
18938
|
+
* Resolve a responsive value from a breakpoint map.
|
|
18939
|
+
* Uses a breakpoint-specific default when custom values are missing/invalid.
|
|
18940
|
+
*/
|
|
18941
|
+
resolveFromBreakpoints(width, breakpointMap, sanitizeProvided, getSanitizedDefault) {
|
|
18942
|
+
let resolvedValue;
|
|
18943
|
+
for (const bp of BREAKPOINT_ORDER) {
|
|
18944
|
+
const providedValue = breakpointMap[bp];
|
|
18945
|
+
const sanitizedProvided = sanitizeProvided(providedValue);
|
|
18946
|
+
const sanitizedDefault = getSanitizedDefault(bp);
|
|
18947
|
+
const resolved = providedValue === undefined || sanitizedProvided === undefined ? sanitizedDefault : sanitizedProvided;
|
|
18948
|
+
if (resolved !== undefined && width >= BREAKPOINTS[bp]) {
|
|
18949
|
+
resolvedValue = resolved;
|
|
18950
|
+
}
|
|
18951
|
+
}
|
|
18952
|
+
return resolvedValue;
|
|
18953
|
+
}
|
|
18954
|
+
/**
|
|
18955
|
+
* Get the columns from a responsive breakpoint map.
|
|
18956
|
+
* Returns the columns for the last matching breakpoint.
|
|
18957
|
+
*/
|
|
18958
|
+
getColumnsFromBreakpointMap(width, breakpointMap) {
|
|
18959
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeColumns(value), (bp) => this.sanitizeColumns(DEFAULT_COLUMNS[bp]));
|
|
18960
|
+
}
|
|
18961
|
+
/**
|
|
18962
|
+
* Get the gap from a responsive breakpoint map.
|
|
18963
|
+
* Returns the gap for the last matching breakpoint.
|
|
18964
|
+
*/
|
|
18965
|
+
getGapFromBreakpointMap(width, breakpointMap) {
|
|
18966
|
+
return this.resolveFromBreakpoints(width, breakpointMap, (value) => this.sanitizeGap(value), () => this.sanitizeGap(DEFAULT_GAP));
|
|
18967
|
+
}
|
|
18968
|
+
/**
|
|
18969
|
+
* Warn about an invalid columns value when it is set to a negative number,
|
|
18970
|
+
* an empty breakpoint map, a map with no supported breakpoint keys,
|
|
18971
|
+
* or a map with invalid breakpoint values.
|
|
18972
|
+
*/
|
|
18973
|
+
warnInvalidColumns(columns) {
|
|
18974
|
+
if (this.hasWarnedInvalidColumns) {
|
|
18975
|
+
return;
|
|
18976
|
+
}
|
|
18977
|
+
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);
|
|
18978
|
+
this.hasWarnedInvalidColumns = true;
|
|
18979
|
+
}
|
|
18980
|
+
/**
|
|
18981
|
+
* Warn about an invalid gap value when it is set to a negative number,
|
|
18982
|
+
* an empty breakpoint map, a map with no supported breakpoint keys,
|
|
18983
|
+
* or a map with invalid breakpoint values.
|
|
18984
|
+
*/
|
|
18985
|
+
warnInvalidGap(gap) {
|
|
18986
|
+
if (this.hasWarnedInvalidGap) {
|
|
18987
|
+
return;
|
|
18988
|
+
}
|
|
18989
|
+
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);
|
|
18990
|
+
this.hasWarnedInvalidGap = true;
|
|
18991
|
+
}
|
|
18992
|
+
/**
|
|
18993
|
+
* Warn when `order` is explicitly set while layout is `uniform`.
|
|
18994
|
+
*/
|
|
18995
|
+
warnUnusedOrder() {
|
|
18996
|
+
const { layout } = this;
|
|
18997
|
+
const order = this.order == null ? undefined : this.order;
|
|
18998
|
+
if (this.hasWarnedUnusedOrder || layout !== 'uniform' || order === undefined) {
|
|
18999
|
+
return;
|
|
19000
|
+
}
|
|
19001
|
+
printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
|
|
19002
|
+
this.hasWarnedUnusedOrder = true;
|
|
19003
|
+
}
|
|
19004
|
+
/**
|
|
19005
|
+
* Resolve the active columns value for the current width. Falls back to
|
|
19006
|
+
* the default responsive columns when the provided prop is invalid.
|
|
19007
|
+
*/
|
|
19008
|
+
getColumnsForWidth(width) {
|
|
19009
|
+
const { columns } = this;
|
|
19010
|
+
const isBreakpointColumns = this.isBreakpointMap(columns);
|
|
19011
|
+
const hasInvalidBreakpointColumns = isBreakpointColumns && this.hasInvalidBreakpointMap(columns, (value) => this.sanitizeColumns(value));
|
|
19012
|
+
const sanitizedColumns = isBreakpointColumns
|
|
19013
|
+
? this.getColumnsFromBreakpointMap(width, columns)
|
|
19014
|
+
: this.sanitizeColumns(columns);
|
|
19015
|
+
if (hasInvalidBreakpointColumns || (!isBreakpointColumns && sanitizedColumns === undefined)) {
|
|
19016
|
+
this.warnInvalidColumns(columns);
|
|
19017
|
+
}
|
|
19018
|
+
if (sanitizedColumns !== undefined) {
|
|
19019
|
+
return sanitizedColumns;
|
|
19020
|
+
}
|
|
19021
|
+
return this.getColumnsFromBreakpointMap(width, DEFAULT_COLUMNS);
|
|
19022
|
+
}
|
|
19023
|
+
/**
|
|
19024
|
+
* Resolve the active gap value for the current width.
|
|
19025
|
+
*/
|
|
19026
|
+
getGapForWidth(width) {
|
|
19027
|
+
const { gap } = this;
|
|
19028
|
+
const providedGap = gap !== null && gap !== void 0 ? gap : DEFAULT_GAP;
|
|
19029
|
+
const isBreakpointGap = this.isBreakpointMap(providedGap);
|
|
19030
|
+
const hasInvalidBreakpointGap = isBreakpointGap && this.hasInvalidBreakpointMap(providedGap, (value) => this.sanitizeGap(value));
|
|
19031
|
+
const sanitizedGap = isBreakpointGap
|
|
19032
|
+
? this.getGapFromBreakpointMap(width, providedGap)
|
|
19033
|
+
: this.sanitizeGap(providedGap);
|
|
19034
|
+
if (hasInvalidBreakpointGap || (!isBreakpointGap && sanitizedGap === undefined)) {
|
|
19035
|
+
this.warnInvalidGap(providedGap);
|
|
19036
|
+
}
|
|
19037
|
+
if (sanitizedGap !== undefined) {
|
|
19038
|
+
return sanitizedGap;
|
|
19039
|
+
}
|
|
19040
|
+
return this.sanitizeGap(DEFAULT_GAP);
|
|
19041
|
+
}
|
|
19042
|
+
/**
|
|
19043
|
+
* Update the responsive styles for the gallery. This is used to update
|
|
19044
|
+
* the columns and gap when the component width changes.
|
|
19045
|
+
*/
|
|
19046
|
+
updateResponsiveStyles(force = false) {
|
|
19047
|
+
const width = this.el.getBoundingClientRect().width;
|
|
19048
|
+
// Only update the columns if the component width has changed by more than
|
|
19049
|
+
// 1px or if the force flag is true. This prevents unnecessary re-renders
|
|
19050
|
+
// when the component width has not changed.
|
|
19051
|
+
if (!width || (!force && this.lastWidth !== undefined && Math.abs(this.lastWidth - width) < 1)) {
|
|
19052
|
+
return;
|
|
19053
|
+
}
|
|
19054
|
+
this.lastWidth = width;
|
|
19055
|
+
const columns = this.getColumnsForWidth(width);
|
|
19056
|
+
this.el.style.setProperty('--internal-gallery-columns', `${columns}`);
|
|
19057
|
+
const gap = this.getGapForWidth(width);
|
|
19058
|
+
this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
|
|
19059
|
+
}
|
|
19060
|
+
/**
|
|
19061
|
+
* Return all directly slotted children of the gallery that can be grid items
|
|
19062
|
+
* with inline placement styles (HTML elements and SVG elements).
|
|
19063
|
+
*/
|
|
19064
|
+
getItems() {
|
|
19065
|
+
return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
|
|
19066
|
+
}
|
|
19067
|
+
/**
|
|
19068
|
+
* Clear the item styles for the given item element.
|
|
19069
|
+
* This is used to switch between uniform and masonry layouts.
|
|
19070
|
+
*/
|
|
19071
|
+
clearItemStyles(itemEl) {
|
|
19072
|
+
itemEl.style.gridRowStart = '';
|
|
19073
|
+
itemEl.style.gridRowEnd = '';
|
|
19074
|
+
itemEl.style.gridColumn = '';
|
|
19075
|
+
itemEl.style.marginBottom = '';
|
|
19076
|
+
}
|
|
19077
|
+
/**
|
|
19078
|
+
* Clear placement styles for all items when leaving masonry mode.
|
|
19079
|
+
*/
|
|
19080
|
+
clearMasonryStyles() {
|
|
19081
|
+
this.getItems().forEach((itemEl) => this.clearItemStyles(itemEl));
|
|
19082
|
+
}
|
|
19083
|
+
/**
|
|
19084
|
+
* Convert a rendered item height to the number of grid rows it should span.
|
|
19085
|
+
* Returns undefined for images that are not fully loaded yet.
|
|
19086
|
+
*/
|
|
19087
|
+
calculateRowSpan(itemEl, rowHeight, rowGap) {
|
|
19088
|
+
if (itemEl instanceof HTMLImageElement && (!itemEl.complete || itemEl.naturalHeight === 0)) {
|
|
19089
|
+
return undefined;
|
|
19090
|
+
}
|
|
19091
|
+
const height = itemEl.getBoundingClientRect().height;
|
|
19092
|
+
const itemStyles = getComputedStyle(itemEl);
|
|
19093
|
+
const marginBottom = parseFloat(itemStyles.getPropertyValue('margin-bottom')) || 0;
|
|
19094
|
+
const denominator = rowHeight + rowGap;
|
|
19095
|
+
if (!denominator || !Number.isFinite(denominator)) {
|
|
19096
|
+
return 1;
|
|
19097
|
+
}
|
|
19098
|
+
return Math.ceil((height + marginBottom + rowGap) / denominator) || 1;
|
|
19099
|
+
}
|
|
19100
|
+
/**
|
|
19101
|
+
* Get the index of the column to position the item in.
|
|
19102
|
+
* When the order is `best-fit`, the column with the shortest height is
|
|
19103
|
+
* returned. Otherwise, items are placed in the column that matches their
|
|
19104
|
+
* natural DOM order.
|
|
19105
|
+
*/
|
|
19106
|
+
getColumnIndex(index, columnHeights, columns) {
|
|
19107
|
+
const order = this.getOrder();
|
|
19108
|
+
if (order === 'best-fit') {
|
|
19109
|
+
let columnIndex = 0;
|
|
19110
|
+
for (let i = 1; i < columns; i++) {
|
|
19111
|
+
if (columnHeights[i] < columnHeights[columnIndex]) {
|
|
19112
|
+
columnIndex = i;
|
|
19113
|
+
}
|
|
19114
|
+
}
|
|
19115
|
+
return columnIndex;
|
|
19116
|
+
}
|
|
19117
|
+
return index % columns;
|
|
19118
|
+
}
|
|
19119
|
+
/**
|
|
19120
|
+
* Apply masonry placement by assigning each item a column and row span.
|
|
19121
|
+
*/
|
|
19122
|
+
layoutMasonry(items, rowHeight, rowGap, columns) {
|
|
19123
|
+
const columnHeights = new Array(columns).fill(0);
|
|
19124
|
+
const lastItemsByColumn = new Array(columns).fill(undefined);
|
|
19125
|
+
items.forEach((itemEl, i) => {
|
|
19126
|
+
itemEl.style.marginBottom = '';
|
|
19127
|
+
const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19128
|
+
if (span === undefined) {
|
|
19129
|
+
this.clearItemStyles(itemEl);
|
|
19130
|
+
return;
|
|
19131
|
+
}
|
|
19132
|
+
const columnIndex = this.getColumnIndex(i, columnHeights, columns);
|
|
19133
|
+
const start = columnHeights[columnIndex] + 1;
|
|
19134
|
+
itemEl.style.gridColumn = `${columnIndex + 1}`;
|
|
19135
|
+
itemEl.style.gridRowStart = `${start}`;
|
|
19136
|
+
itemEl.style.gridRowEnd = `span ${span}`;
|
|
19137
|
+
columnHeights[columnIndex] = start + span - 1;
|
|
19138
|
+
lastItemsByColumn[columnIndex] = itemEl;
|
|
19139
|
+
});
|
|
19140
|
+
// Remove trailing space from the final item in each column while preserving
|
|
19141
|
+
// spacing between all non-final items.
|
|
19142
|
+
lastItemsByColumn.forEach((itemEl) => {
|
|
19143
|
+
if (itemEl === undefined) {
|
|
19144
|
+
return;
|
|
19145
|
+
}
|
|
19146
|
+
itemEl.style.marginBottom = '0px';
|
|
19147
|
+
const spanWithoutTrailingGap = this.calculateRowSpan(itemEl, rowHeight, rowGap);
|
|
19148
|
+
if (spanWithoutTrailingGap === undefined) {
|
|
19149
|
+
this.clearItemStyles(itemEl);
|
|
19150
|
+
return;
|
|
19151
|
+
}
|
|
19152
|
+
itemEl.style.gridRowEnd = `span ${spanWithoutTrailingGap}`;
|
|
19153
|
+
});
|
|
19154
|
+
}
|
|
19155
|
+
/**
|
|
19156
|
+
* Resolved order for layout and CSS. Order should be `undefined` for
|
|
19157
|
+
* the uniform layout. When order is not set, it should be `"sequential"`
|
|
19158
|
+
* for the masonry layout.
|
|
19159
|
+
*/
|
|
19160
|
+
getOrder() {
|
|
19161
|
+
const { layout } = this;
|
|
19162
|
+
const order = this.order == null ? undefined : this.order;
|
|
19163
|
+
if (layout === 'uniform') {
|
|
19164
|
+
return undefined;
|
|
19165
|
+
}
|
|
19166
|
+
if (layout === 'masonry' && order === undefined) {
|
|
19167
|
+
return 'sequential';
|
|
19168
|
+
}
|
|
19169
|
+
return order;
|
|
19170
|
+
}
|
|
19171
|
+
render() {
|
|
19172
|
+
const { layout } = this;
|
|
19173
|
+
const order = this.getOrder();
|
|
19174
|
+
const theme = getIonTheme(this);
|
|
19175
|
+
return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
|
|
19176
|
+
[theme]: true,
|
|
19177
|
+
[`gallery-layout-${layout}`]: true,
|
|
19178
|
+
[`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
|
|
19179
|
+
} }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
|
|
19180
|
+
}
|
|
19181
|
+
get el() { return getElement(this); }
|
|
19182
|
+
static get watchers() { return {
|
|
19183
|
+
"columns": [{
|
|
19184
|
+
"onColumnsOrGapChanged": 0
|
|
19185
|
+
}],
|
|
19186
|
+
"gap": [{
|
|
19187
|
+
"onColumnsOrGapChanged": 0
|
|
19188
|
+
}],
|
|
19189
|
+
"layout": [{
|
|
19190
|
+
"onLayoutOrOrderChanged": 0
|
|
19191
|
+
}],
|
|
19192
|
+
"order": [{
|
|
19193
|
+
"onLayoutOrOrderChanged": 0
|
|
19194
|
+
}]
|
|
19195
|
+
}; }
|
|
19196
|
+
static get style() { return galleryCss(); }
|
|
19197
|
+
static get cmpMeta() { return {
|
|
19198
|
+
"$flags$": 265,
|
|
19199
|
+
"$tagName$": "ion-gallery",
|
|
19200
|
+
"$members$": {
|
|
19201
|
+
"layout": [1],
|
|
19202
|
+
"order": [1],
|
|
19203
|
+
"columns": [8],
|
|
19204
|
+
"gap": [8]
|
|
19205
|
+
},
|
|
19206
|
+
"$listeners$": [[2, "load", "onChildLoad"]],
|
|
19207
|
+
"$lazyBundleId$": "-",
|
|
19208
|
+
"$attrsToReflect$": []
|
|
19209
|
+
}; }
|
|
19210
|
+
}
|
|
19211
|
+
|
|
18692
19212
|
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
19213
|
|
|
18694
19214
|
/**
|
|
@@ -18705,10 +19225,10 @@ class Grid {
|
|
|
18705
19225
|
}
|
|
18706
19226
|
render() {
|
|
18707
19227
|
const theme = getIonTheme(this);
|
|
18708
|
-
return (hAsync(Host, { key: '
|
|
19228
|
+
return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
|
|
18709
19229
|
[theme]: true,
|
|
18710
19230
|
'grid-fixed': this.fixed,
|
|
18711
|
-
} }, hAsync("slot", { key: '
|
|
19231
|
+
} }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
|
|
18712
19232
|
}
|
|
18713
19233
|
static get style() { return gridCss(); }
|
|
18714
19234
|
static get cmpMeta() { return {
|
|
@@ -19110,7 +19630,7 @@ class Header {
|
|
|
19110
19630
|
const isCondensed = collapse === 'condense';
|
|
19111
19631
|
// banner role must be at top level, so remove role if inside a menu
|
|
19112
19632
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
|
|
19113
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
19633
|
+
return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
|
|
19114
19634
|
[theme]: true,
|
|
19115
19635
|
// Used internally for styling
|
|
19116
19636
|
[`header-${theme}`]: true,
|
|
@@ -19118,7 +19638,7 @@ class Header {
|
|
|
19118
19638
|
[`header-collapse-${collapse}`]: true,
|
|
19119
19639
|
[`header-translucent-${theme}`]: this.translucent,
|
|
19120
19640
|
['header-divider']: divider,
|
|
19121
|
-
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: '
|
|
19641
|
+
} }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
|
|
19122
19642
|
}
|
|
19123
19643
|
get el() { return getElement(this); }
|
|
19124
19644
|
static get style() { return {
|
|
@@ -19469,9 +19989,9 @@ class Img {
|
|
|
19469
19989
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
19470
19990
|
const { draggable } = inheritedAttributes;
|
|
19471
19991
|
const theme = getIonTheme(this);
|
|
19472
|
-
return (hAsync(Host, { key: '
|
|
19992
|
+
return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
|
|
19473
19993
|
[theme]: true,
|
|
19474
|
-
} }, hAsync("img", { key: '
|
|
19994
|
+
} }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
19475
19995
|
}
|
|
19476
19996
|
get el() { return getElement(this); }
|
|
19477
19997
|
static get watchers() { return {
|
|
@@ -19776,7 +20296,7 @@ class InfiniteScroll {
|
|
|
19776
20296
|
render() {
|
|
19777
20297
|
const theme = getIonTheme(this);
|
|
19778
20298
|
const disabled = this.disabled;
|
|
19779
|
-
return (hAsync(Host, { key: '
|
|
20299
|
+
return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
|
|
19780
20300
|
[theme]: true,
|
|
19781
20301
|
'infinite-scroll-loading': this.isLoading,
|
|
19782
20302
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -19839,11 +20359,11 @@ class InfiniteScrollContent {
|
|
|
19839
20359
|
}
|
|
19840
20360
|
render() {
|
|
19841
20361
|
const theme = getIonTheme(this);
|
|
19842
|
-
return (hAsync(Host, { key: '
|
|
20362
|
+
return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
|
|
19843
20363
|
[theme]: true,
|
|
19844
20364
|
// Used internally for styling
|
|
19845
20365
|
[`infinite-scroll-content-${theme}`]: true,
|
|
19846
|
-
} }, hAsync("div", { key: '
|
|
20366
|
+
} }, 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
20367
|
}
|
|
19848
20368
|
static get style() { return {
|
|
19849
20369
|
ionic: ionicInfiniteScrollContentMdCss(),
|
|
@@ -20591,7 +21111,7 @@ class Input {
|
|
|
20591
21111
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
20592
21112
|
*/
|
|
20593
21113
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
20594
|
-
return (hAsync(Host, { key: '
|
|
21114
|
+
return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
|
|
20595
21115
|
[theme]: true,
|
|
20596
21116
|
'has-value': hasValue,
|
|
20597
21117
|
'has-focus': hasFocus,
|
|
@@ -20604,7 +21124,7 @@ class Input {
|
|
|
20604
21124
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
20605
21125
|
'input-disabled': disabled,
|
|
20606
21126
|
'input-readonly': readonly,
|
|
20607
|
-
}) }, hAsync("label", { key: '
|
|
21127
|
+
}) }, 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
21128
|
/**
|
|
20609
21129
|
* For the ionic theme, we render the outline container here
|
|
20610
21130
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -20614,14 +21134,14 @@ class Input {
|
|
|
20614
21134
|
* <label> element, ensuring that clicking the label text
|
|
20615
21135
|
* focuses the input.
|
|
20616
21136
|
*/
|
|
20617
|
-
theme === 'ionic' && hAsync("div", { key: '
|
|
21137
|
+
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
21138
|
/**
|
|
20619
21139
|
* This prevents mobile browsers from
|
|
20620
21140
|
* blurring the input when the clear
|
|
20621
21141
|
* button is activated.
|
|
20622
21142
|
*/
|
|
20623
21143
|
ev.preventDefault();
|
|
20624
|
-
}, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '
|
|
21144
|
+
}, 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
21145
|
}
|
|
20626
21146
|
get el() { return getElement(this); }
|
|
20627
21147
|
static get watchers() { return {
|
|
@@ -21386,7 +21906,7 @@ class InputOTP {
|
|
|
21386
21906
|
const tabbableIndex = this.getTabbableIndex();
|
|
21387
21907
|
const pattern = this.getPattern();
|
|
21388
21908
|
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: '
|
|
21909
|
+
return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
|
|
21390
21910
|
[mode]: true,
|
|
21391
21911
|
'has-focus': hasFocus,
|
|
21392
21912
|
[`input-otp-size-${size}`]: true,
|
|
@@ -21394,10 +21914,10 @@ class InputOTP {
|
|
|
21394
21914
|
[`input-otp-fill-${fill}`]: true,
|
|
21395
21915
|
'input-otp-disabled': disabled,
|
|
21396
21916
|
'input-otp-readonly': readonly,
|
|
21397
|
-
}) }, hAsync("div", Object.assign({ key: '
|
|
21917
|
+
}) }, 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
21918
|
'input-otp-description': true,
|
|
21399
21919
|
'input-otp-description-hidden': !hasDescription,
|
|
21400
|
-
}, part: "description" }, hAsync("slot", { key: '
|
|
21920
|
+
}, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
|
|
21401
21921
|
}
|
|
21402
21922
|
static get formAssociated() { return true; }
|
|
21403
21923
|
get el() { return getElement(this); }
|
|
@@ -21545,16 +22065,16 @@ class InputPasswordToggle {
|
|
|
21545
22065
|
const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
|
|
21546
22066
|
const mode = getIonMode$1(this);
|
|
21547
22067
|
const isPasswordVisible = type === 'text';
|
|
21548
|
-
return (hAsync(Host, { key: '
|
|
22068
|
+
return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
|
|
21549
22069
|
[mode]: true,
|
|
21550
|
-
}) }, hAsync("ion-button", { key: '
|
|
22070
|
+
}) }, 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
22071
|
/**
|
|
21552
22072
|
* This prevents mobile browsers from
|
|
21553
22073
|
* blurring the input when the password toggle
|
|
21554
22074
|
* button is activated.
|
|
21555
22075
|
*/
|
|
21556
22076
|
ev.preventDefault();
|
|
21557
|
-
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '
|
|
22077
|
+
}, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
|
|
21558
22078
|
}
|
|
21559
22079
|
get el() { return getElement(this); }
|
|
21560
22080
|
static get watchers() { return {
|
|
@@ -21929,11 +22449,11 @@ class ItemDivider {
|
|
|
21929
22449
|
}
|
|
21930
22450
|
render() {
|
|
21931
22451
|
const theme = getIonTheme(this);
|
|
21932
|
-
return (hAsync(Host, { key: '
|
|
22452
|
+
return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
|
|
21933
22453
|
[theme]: true,
|
|
21934
22454
|
'item-divider-sticky': this.sticky,
|
|
21935
22455
|
item: true,
|
|
21936
|
-
}) }, hAsync("slot", { key: '
|
|
22456
|
+
}) }, 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
22457
|
}
|
|
21938
22458
|
get el() { return getElement(this); }
|
|
21939
22459
|
static get style() { return {
|
|
@@ -21970,7 +22490,7 @@ class ItemGroup {
|
|
|
21970
22490
|
}
|
|
21971
22491
|
render() {
|
|
21972
22492
|
const theme = getIonTheme(this);
|
|
21973
|
-
return (hAsync(Host, { key: '
|
|
22493
|
+
return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
|
|
21974
22494
|
[theme]: true,
|
|
21975
22495
|
// Used internally for styling
|
|
21976
22496
|
[`item-group-${theme}`]: true,
|
|
@@ -22066,14 +22586,14 @@ class ItemOption {
|
|
|
22066
22586
|
href: this.href,
|
|
22067
22587
|
target: this.target,
|
|
22068
22588
|
};
|
|
22069
|
-
return (hAsync(Host, { key: '
|
|
22589
|
+
return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
22070
22590
|
[theme]: true,
|
|
22071
22591
|
[`item-option-${shape}`]: shape !== undefined,
|
|
22072
22592
|
[`item-option-${hue}`]: hue !== undefined,
|
|
22073
22593
|
'item-option-disabled': disabled,
|
|
22074
22594
|
'item-option-expandable': expandable,
|
|
22075
22595
|
'ion-activatable': true,
|
|
22076
|
-
}) }, hAsync(TagType, Object.assign({ key: '
|
|
22596
|
+
}) }, 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
22597
|
}
|
|
22078
22598
|
get el() { return getElement(this); }
|
|
22079
22599
|
static get style() { return {
|
|
@@ -22131,7 +22651,7 @@ class ItemOptions {
|
|
|
22131
22651
|
render() {
|
|
22132
22652
|
const theme = getIonTheme(this);
|
|
22133
22653
|
const isEnd = isEndSide(this.side);
|
|
22134
|
-
return (hAsync(Host, { key: '
|
|
22654
|
+
return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
|
|
22135
22655
|
[theme]: true,
|
|
22136
22656
|
// Used internally for styling
|
|
22137
22657
|
[`item-options-${theme}`]: true,
|
|
@@ -22983,7 +23503,7 @@ class ItemSliding {
|
|
|
22983
23503
|
}
|
|
22984
23504
|
render() {
|
|
22985
23505
|
const theme = getIonTheme(this);
|
|
22986
|
-
return (hAsync(Host, { key: '
|
|
23506
|
+
return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
|
|
22987
23507
|
[theme]: true,
|
|
22988
23508
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
22989
23509
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23102,13 +23622,13 @@ class Label {
|
|
|
23102
23622
|
render() {
|
|
23103
23623
|
const position = this.position;
|
|
23104
23624
|
const theme = getIonTheme(this);
|
|
23105
|
-
return (hAsync(Host, { key: '
|
|
23625
|
+
return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
|
|
23106
23626
|
[theme]: true,
|
|
23107
23627
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23108
23628
|
[`label-${position}`]: position !== undefined,
|
|
23109
23629
|
[`label-no-animate`]: this.noAnimate,
|
|
23110
23630
|
'label-rtl': document.dir === 'rtl',
|
|
23111
|
-
}) }, hAsync("slot", { key: '
|
|
23631
|
+
}) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
|
|
23112
23632
|
}
|
|
23113
23633
|
get el() { return getElement(this); }
|
|
23114
23634
|
static get watchers() { return {
|
|
@@ -23188,7 +23708,7 @@ class List {
|
|
|
23188
23708
|
const theme = getIonTheme(this);
|
|
23189
23709
|
const shape = this.getShape();
|
|
23190
23710
|
const { lines, inset } = this;
|
|
23191
|
-
return (hAsync(Host, { key: '
|
|
23711
|
+
return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
|
|
23192
23712
|
[theme]: true,
|
|
23193
23713
|
// Used internally for styling
|
|
23194
23714
|
[`list-${theme}`]: true,
|
|
@@ -23238,10 +23758,10 @@ class ListHeader {
|
|
|
23238
23758
|
render() {
|
|
23239
23759
|
const { lines } = this;
|
|
23240
23760
|
const theme = getIonTheme(this);
|
|
23241
|
-
return (hAsync(Host, { key: '
|
|
23761
|
+
return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
|
|
23242
23762
|
[theme]: true,
|
|
23243
23763
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
23244
|
-
}) }, hAsync("div", { key: '
|
|
23764
|
+
}) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
|
|
23245
23765
|
}
|
|
23246
23766
|
static get style() { return {
|
|
23247
23767
|
ionic: listHeaderIonicCss(),
|
|
@@ -23530,9 +24050,9 @@ class Loading {
|
|
|
23530
24050
|
* Otherwise, don't set aria-labelledby.
|
|
23531
24051
|
*/
|
|
23532
24052
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23533
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
24053
|
+
return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
23534
24054
|
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: '
|
|
24055
|
+
}, 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
24056
|
}
|
|
23537
24057
|
get el() { return getElement(this); }
|
|
23538
24058
|
static get watchers() { return {
|
|
@@ -24593,14 +25113,14 @@ class Menu {
|
|
|
24593
25113
|
* the ionBackButton listener in the menu controller
|
|
24594
25114
|
* will handle closing the menu when Escape is pressed.
|
|
24595
25115
|
*/
|
|
24596
|
-
return (hAsync(Host, { key: '
|
|
25116
|
+
return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
24597
25117
|
[theme]: true,
|
|
24598
25118
|
[`menu-type-${type}`]: true,
|
|
24599
25119
|
'menu-enabled': !disabled,
|
|
24600
25120
|
[`menu-side-${side}`]: true,
|
|
24601
25121
|
'menu-pane-visible': isPaneVisible,
|
|
24602
25122
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
24603
|
-
} }, hAsync("div", { key: '
|
|
25123
|
+
} }, 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
25124
|
}
|
|
24605
25125
|
get el() { return getElement(this); }
|
|
24606
25126
|
static get watchers() { return {
|
|
@@ -24734,7 +25254,7 @@ class MenuButton {
|
|
|
24734
25254
|
type: this.type,
|
|
24735
25255
|
};
|
|
24736
25256
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
24737
|
-
return (hAsync(Host, { key: '
|
|
25257
|
+
return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
|
|
24738
25258
|
[theme]: true,
|
|
24739
25259
|
button: true, // ion-buttons target .button
|
|
24740
25260
|
'menu-button-hidden': hidden,
|
|
@@ -24743,7 +25263,7 @@ class MenuButton {
|
|
|
24743
25263
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
24744
25264
|
'ion-activatable': true,
|
|
24745
25265
|
'ion-focusable': true,
|
|
24746
|
-
}) }, hAsync("button", Object.assign({ key: '
|
|
25266
|
+
}) }, 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
25267
|
}
|
|
24748
25268
|
get el() { return getElement(this); }
|
|
24749
25269
|
static get style() { return {
|
|
@@ -24800,10 +25320,10 @@ class MenuToggle {
|
|
|
24800
25320
|
render() {
|
|
24801
25321
|
const theme = getIonTheme(this);
|
|
24802
25322
|
const hidden = this.autoHide && !this.visible;
|
|
24803
|
-
return (hAsync(Host, { key: '
|
|
25323
|
+
return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
24804
25324
|
[theme]: true,
|
|
24805
25325
|
'menu-toggle-hidden': hidden,
|
|
24806
|
-
} }, hAsync("slot", { key: '
|
|
25326
|
+
} }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
|
|
24807
25327
|
}
|
|
24808
25328
|
static get style() { return menuToggleCss(); }
|
|
24809
25329
|
static get cmpMeta() { return {
|
|
@@ -28306,20 +28826,20 @@ class Modal {
|
|
|
28306
28826
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
28307
28827
|
const shape = this.getShape();
|
|
28308
28828
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
28309
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
28829
|
+
return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
|
|
28310
28830
|
// Allow the modal to be navigable when the handle is focusable
|
|
28311
28831
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
28312
28832
|
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: '
|
|
28833
|
+
}, 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
28834
|
/*
|
|
28315
28835
|
role and aria-modal must be used on the
|
|
28316
28836
|
same element. They must also be set inside the
|
|
28317
28837
|
shadow DOM otherwise ion-button will not be highlighted
|
|
28318
28838
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
28319
28839
|
*/
|
|
28320
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
28840
|
+
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
28841
|
// 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: '
|
|
28842
|
+
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
28843
|
}
|
|
28324
28844
|
get el() { return getElement(this); }
|
|
28325
28845
|
static get watchers() { return {
|
|
@@ -29279,7 +29799,7 @@ class Nav {
|
|
|
29279
29799
|
}
|
|
29280
29800
|
}
|
|
29281
29801
|
render() {
|
|
29282
|
-
return hAsync("slot", { key: '
|
|
29802
|
+
return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
|
|
29283
29803
|
}
|
|
29284
29804
|
get el() { return getElement(this); }
|
|
29285
29805
|
static get watchers() { return {
|
|
@@ -29360,7 +29880,7 @@ class NavLink {
|
|
|
29360
29880
|
};
|
|
29361
29881
|
}
|
|
29362
29882
|
render() {
|
|
29363
|
-
return hAsync(Host, { key: '
|
|
29883
|
+
return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
|
|
29364
29884
|
}
|
|
29365
29885
|
get el() { return getElement(this); }
|
|
29366
29886
|
static get cmpMeta() { return {
|
|
@@ -29394,9 +29914,9 @@ class Note {
|
|
|
29394
29914
|
}
|
|
29395
29915
|
render() {
|
|
29396
29916
|
const theme = getIonTheme(this);
|
|
29397
|
-
return (hAsync(Host, { key: '
|
|
29917
|
+
return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
|
|
29398
29918
|
[theme]: true,
|
|
29399
|
-
}) }, hAsync("slot", { key: '
|
|
29919
|
+
}) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
|
|
29400
29920
|
}
|
|
29401
29921
|
static get style() { return {
|
|
29402
29922
|
ionic: ionicNoteMdCss(),
|
|
@@ -30162,11 +30682,11 @@ class Picker {
|
|
|
30162
30682
|
render() {
|
|
30163
30683
|
const { htmlAttributes } = this;
|
|
30164
30684
|
const theme = getIonTheme(this);
|
|
30165
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
30685
|
+
return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
30166
30686
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
30167
30687
|
}, class: Object.assign({ [theme]: true,
|
|
30168
30688
|
// Used internally for styling
|
|
30169
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '
|
|
30689
|
+
[`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
30690
|
}
|
|
30171
30691
|
get el() { return getElement(this); }
|
|
30172
30692
|
static get watchers() { return {
|
|
@@ -31144,9 +31664,9 @@ class PickerColumnCmp {
|
|
|
31144
31664
|
render() {
|
|
31145
31665
|
const col = this.col;
|
|
31146
31666
|
const theme = getIonTheme(this);
|
|
31147
|
-
return (hAsync(Host, { key: '
|
|
31667
|
+
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
31668
|
'max-width': this.col.columnWidth,
|
|
31149
|
-
} }, col.prefix && (hAsync("div", { key: '
|
|
31669
|
+
} }, 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
31670
|
}
|
|
31151
31671
|
get el() { return getElement(this); }
|
|
31152
31672
|
static get watchers() { return {
|
|
@@ -31271,10 +31791,10 @@ class PickerColumnOption {
|
|
|
31271
31791
|
render() {
|
|
31272
31792
|
const { color, disabled, ariaLabel } = this;
|
|
31273
31793
|
const theme = getIonTheme(this);
|
|
31274
|
-
return (hAsync(Host, { key: '
|
|
31794
|
+
return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
|
|
31275
31795
|
[theme]: true,
|
|
31276
31796
|
['option-disabled']: disabled,
|
|
31277
|
-
}) }, hAsync("div", { key: '
|
|
31797
|
+
}) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
|
|
31278
31798
|
}
|
|
31279
31799
|
get el() { return getElement(this); }
|
|
31280
31800
|
static get watchers() { return {
|
|
@@ -32843,9 +33363,9 @@ class Popover {
|
|
|
32843
33363
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32844
33364
|
const desktop = isPlatform('desktop');
|
|
32845
33365
|
const enableArrow = arrow && !parentPopover;
|
|
32846
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
33366
|
+
return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
32847
33367
|
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: '
|
|
33368
|
+
}, 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
33369
|
}
|
|
32850
33370
|
get el() { return getElement(this); }
|
|
32851
33371
|
static get watchers() { return {
|
|
@@ -32973,7 +33493,7 @@ class ProgressBar {
|
|
|
32973
33493
|
const shape = this.getShape();
|
|
32974
33494
|
// If the progress is displayed as a solid bar.
|
|
32975
33495
|
const progressSolid = buffer === 1;
|
|
32976
|
-
return (hAsync(Host, { key: '
|
|
33496
|
+
return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32977
33497
|
[theme]: true,
|
|
32978
33498
|
[`progress-bar-${type}`]: true,
|
|
32979
33499
|
'progress-paused': paused,
|
|
@@ -33166,7 +33686,7 @@ class Radio {
|
|
|
33166
33686
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
33167
33687
|
const theme = getIonTheme(this);
|
|
33168
33688
|
const inItem = hostContext('ion-item', el);
|
|
33169
|
-
return (hAsync(Host, { key: '
|
|
33689
|
+
return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
33170
33690
|
[theme]: true,
|
|
33171
33691
|
'in-item': inItem,
|
|
33172
33692
|
'radio-checked': checked,
|
|
@@ -33177,10 +33697,10 @@ class Radio {
|
|
|
33177
33697
|
// Focus and active styling should not apply when the radio is in an item
|
|
33178
33698
|
'ion-activatable': !inItem,
|
|
33179
33699
|
'ion-focusable': !inItem,
|
|
33180
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
33700
|
+
}), 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
33701
|
'label-text-wrapper': true,
|
|
33182
33702
|
'label-text-wrapper-hidden': !hasLabel,
|
|
33183
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
33703
|
+
}, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
33184
33704
|
}
|
|
33185
33705
|
get el() { return getElement(this); }
|
|
33186
33706
|
static get watchers() { return {
|
|
@@ -33450,10 +33970,10 @@ class RadioGroup {
|
|
|
33450
33970
|
const { label, labelId, el, name, value } = this;
|
|
33451
33971
|
const theme = getIonTheme(this);
|
|
33452
33972
|
renderHiddenInput(true, el, name, value, false);
|
|
33453
|
-
return (hAsync(Host, { key: '
|
|
33973
|
+
return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
|
|
33454
33974
|
[theme]: true,
|
|
33455
33975
|
'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: '
|
|
33976
|
+
}, 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
33977
|
}
|
|
33458
33978
|
get el() { return getElement(this); }
|
|
33459
33979
|
static get watchers() { return {
|
|
@@ -34303,7 +34823,7 @@ class Range {
|
|
|
34303
34823
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
34304
34824
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
34305
34825
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
34306
|
-
return (hAsync(Host, { key: '
|
|
34826
|
+
return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
|
|
34307
34827
|
[theme]: true,
|
|
34308
34828
|
'in-item': inItem,
|
|
34309
34829
|
'range-disabled': disabled,
|
|
@@ -34317,10 +34837,10 @@ class Range {
|
|
|
34317
34837
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
34318
34838
|
'range-value-min': valueAtMin,
|
|
34319
34839
|
'range-value-max': valueAtMax,
|
|
34320
|
-
}) }, hAsync("label", { key: '
|
|
34840
|
+
}) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
|
|
34321
34841
|
'label-text-wrapper': true,
|
|
34322
34842
|
'label-text-wrapper-hidden': !hasLabel,
|
|
34323
|
-
}, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '
|
|
34843
|
+
}, 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
34844
|
}
|
|
34325
34845
|
get el() { return getElement(this); }
|
|
34326
34846
|
static get watchers() { return {
|
|
@@ -35395,7 +35915,7 @@ class Refresher {
|
|
|
35395
35915
|
}
|
|
35396
35916
|
render() {
|
|
35397
35917
|
const theme = getIonTheme(this);
|
|
35398
|
-
return (hAsync(Host, { key: '
|
|
35918
|
+
return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
|
|
35399
35919
|
[theme]: true,
|
|
35400
35920
|
// Used internally for styling
|
|
35401
35921
|
[`refresher-${theme}`]: true,
|
|
@@ -35634,9 +36154,9 @@ class RefresherContent {
|
|
|
35634
36154
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
35635
36155
|
const theme = getIonTheme(this);
|
|
35636
36156
|
const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
|
|
35637
|
-
return (hAsync(Host, { key: '
|
|
36157
|
+
return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
|
|
35638
36158
|
[theme]: true,
|
|
35639
|
-
} }, hAsync("div", { key: '
|
|
36159
|
+
} }, 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
36160
|
}
|
|
35641
36161
|
get el() { return getElement(this); }
|
|
35642
36162
|
static get style() { return {
|
|
@@ -35705,9 +36225,9 @@ class Reorder {
|
|
|
35705
36225
|
render() {
|
|
35706
36226
|
const { reorderHandleIcon } = this;
|
|
35707
36227
|
const theme = getIonTheme(this);
|
|
35708
|
-
return (hAsync(Host, { key: '
|
|
36228
|
+
return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
|
|
35709
36229
|
[theme]: true,
|
|
35710
|
-
} }, hAsync("slot", { key: '
|
|
36230
|
+
} }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
35711
36231
|
}
|
|
35712
36232
|
get el() { return getElement(this); }
|
|
35713
36233
|
static get style() { return {
|
|
@@ -35983,7 +36503,7 @@ class ReorderGroup {
|
|
|
35983
36503
|
}
|
|
35984
36504
|
render() {
|
|
35985
36505
|
const theme = getIonTheme(this);
|
|
35986
|
-
return (hAsync(Host, { key: '
|
|
36506
|
+
return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
|
|
35987
36507
|
[theme]: true,
|
|
35988
36508
|
'reorder-enabled': !this.disabled,
|
|
35989
36509
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -36109,7 +36629,7 @@ class RippleEffect {
|
|
|
36109
36629
|
}
|
|
36110
36630
|
render() {
|
|
36111
36631
|
const theme = getIonTheme(this);
|
|
36112
|
-
return (hAsync(Host, { key: '
|
|
36632
|
+
return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
|
|
36113
36633
|
[theme]: true,
|
|
36114
36634
|
unbounded: this.unbounded,
|
|
36115
36635
|
} }));
|
|
@@ -37094,10 +37614,10 @@ class RouterLink {
|
|
|
37094
37614
|
rel: this.rel,
|
|
37095
37615
|
target: this.target,
|
|
37096
37616
|
};
|
|
37097
|
-
return (hAsync(Host, { key: '
|
|
37617
|
+
return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
37098
37618
|
[theme]: true,
|
|
37099
37619
|
'ion-activatable': true,
|
|
37100
|
-
}) }, hAsync("a", Object.assign({ key: '
|
|
37620
|
+
}) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
|
|
37101
37621
|
}
|
|
37102
37622
|
static get style() { return routerLinkCss(); }
|
|
37103
37623
|
static get cmpMeta() { return {
|
|
@@ -37297,7 +37817,7 @@ class RouterOutlet {
|
|
|
37297
37817
|
return true;
|
|
37298
37818
|
}
|
|
37299
37819
|
render() {
|
|
37300
|
-
return hAsync("slot", { key: '
|
|
37820
|
+
return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
|
|
37301
37821
|
}
|
|
37302
37822
|
get el() { return getElement(this); }
|
|
37303
37823
|
static get watchers() { return {
|
|
@@ -37337,9 +37857,9 @@ class Row {
|
|
|
37337
37857
|
}
|
|
37338
37858
|
render() {
|
|
37339
37859
|
const theme = getIonTheme(this);
|
|
37340
|
-
return (hAsync(Host, { key: '
|
|
37860
|
+
return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
|
|
37341
37861
|
[theme]: true,
|
|
37342
|
-
} }, hAsync("slot", { key: '
|
|
37862
|
+
} }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
|
|
37343
37863
|
}
|
|
37344
37864
|
static get style() { return rowCss(); }
|
|
37345
37865
|
static get cmpMeta() { return {
|
|
@@ -37898,8 +38418,8 @@ class Searchbar {
|
|
|
37898
38418
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
37899
38419
|
const shape = this.getShape();
|
|
37900
38420
|
const size = this.getSize();
|
|
37901
|
-
const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '
|
|
37902
|
-
return (hAsync(Host, { key: '
|
|
38421
|
+
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))));
|
|
38422
|
+
return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
|
|
37903
38423
|
[theme]: true,
|
|
37904
38424
|
'searchbar-animated': animated,
|
|
37905
38425
|
'searchbar-disabled': this.disabled,
|
|
@@ -37913,14 +38433,14 @@ class Searchbar {
|
|
|
37913
38433
|
[`searchbar-shape-${shape}`]: shape !== undefined,
|
|
37914
38434
|
[`searchbar-size-${size}`]: size !== undefined,
|
|
37915
38435
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
37916
|
-
}) }, hAsync("div", { key: '
|
|
38436
|
+
}) }, 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
38437
|
/**
|
|
37918
38438
|
* This prevents mobile browsers from
|
|
37919
38439
|
* blurring the input when the clear
|
|
37920
38440
|
* button is activated.
|
|
37921
38441
|
*/
|
|
37922
38442
|
ev.preventDefault();
|
|
37923
|
-
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '
|
|
38443
|
+
}, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
|
|
37924
38444
|
}
|
|
37925
38445
|
get el() { return getElement(this); }
|
|
37926
38446
|
static get watchers() { return {
|
|
@@ -38535,14 +39055,14 @@ class Segment {
|
|
|
38535
39055
|
}
|
|
38536
39056
|
render() {
|
|
38537
39057
|
const theme = getIonTheme(this);
|
|
38538
|
-
return (hAsync(Host, { key: '
|
|
39058
|
+
return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
38539
39059
|
[theme]: true,
|
|
38540
39060
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38541
39061
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
38542
39062
|
'segment-activated': this.activated,
|
|
38543
39063
|
'segment-disabled': this.disabled,
|
|
38544
39064
|
'segment-scrollable': this.scrollable,
|
|
38545
|
-
}) }, hAsync("slot", { key: '
|
|
39065
|
+
}) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
|
|
38546
39066
|
}
|
|
38547
39067
|
get el() { return getElement(this); }
|
|
38548
39068
|
static get watchers() { return {
|
|
@@ -38694,7 +39214,7 @@ class SegmentButton {
|
|
|
38694
39214
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
38695
39215
|
const theme = getIonTheme(this);
|
|
38696
39216
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
38697
|
-
return (hAsync(Host, { key: '
|
|
39217
|
+
return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
|
|
38698
39218
|
[theme]: true,
|
|
38699
39219
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
38700
39220
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -38710,7 +39230,7 @@ class SegmentButton {
|
|
|
38710
39230
|
'ion-activatable': true,
|
|
38711
39231
|
'ion-activatable-instant': true,
|
|
38712
39232
|
'ion-focusable': true,
|
|
38713
|
-
} }, hAsync("button", Object.assign({ key: '
|
|
39233
|
+
} }, 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
39234
|
}
|
|
38715
39235
|
get el() { return getElement(this); }
|
|
38716
39236
|
static get watchers() { return {
|
|
@@ -38748,7 +39268,7 @@ class SegmentContent {
|
|
|
38748
39268
|
registerInstance(this, hostRef);
|
|
38749
39269
|
}
|
|
38750
39270
|
render() {
|
|
38751
|
-
return (hAsync(Host, { key: '
|
|
39271
|
+
return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
|
|
38752
39272
|
}
|
|
38753
39273
|
static get style() { return segmentContentCss(); }
|
|
38754
39274
|
static get cmpMeta() { return {
|
|
@@ -38876,11 +39396,11 @@ class SegmentView {
|
|
|
38876
39396
|
}
|
|
38877
39397
|
render() {
|
|
38878
39398
|
const { disabled, isManualScroll, swipeGesture } = this;
|
|
38879
|
-
return (hAsync(Host, { key: '
|
|
39399
|
+
return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
|
|
38880
39400
|
'segment-view-disabled': disabled,
|
|
38881
39401
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
38882
39402
|
'segment-view-swipe-disabled': swipeGesture === false,
|
|
38883
|
-
} }, hAsync("slot", { key: '
|
|
39403
|
+
} }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
|
|
38884
39404
|
}
|
|
38885
39405
|
get el() { return getElement(this); }
|
|
38886
39406
|
static get style() { return {
|
|
@@ -39816,7 +40336,7 @@ class Select {
|
|
|
39816
40336
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
39817
40337
|
*/
|
|
39818
40338
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
39819
|
-
return (hAsync(Host, { key: '
|
|
40339
|
+
return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
39820
40340
|
[theme]: true,
|
|
39821
40341
|
'in-item': inItem,
|
|
39822
40342
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -39835,7 +40355,7 @@ class Select {
|
|
|
39835
40355
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
39836
40356
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
39837
40357
|
[`select-size-${size}`]: size !== undefined,
|
|
39838
|
-
}) }, hAsync("label", { key: '
|
|
40358
|
+
}) }, 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
40359
|
/**
|
|
39840
40360
|
* For the ionic theme, we render the outline container here
|
|
39841
40361
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -39845,7 +40365,7 @@ class Select {
|
|
|
39845
40365
|
* <label> element, ensuring that clicking the label text
|
|
39846
40366
|
* focuses the select.
|
|
39847
40367
|
*/
|
|
39848
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
40368
|
+
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
40369
|
}
|
|
39850
40370
|
get el() { return getElement(this); }
|
|
39851
40371
|
static get watchers() { return {
|
|
@@ -40237,7 +40757,7 @@ class SelectModal {
|
|
|
40237
40757
|
});
|
|
40238
40758
|
}
|
|
40239
40759
|
render() {
|
|
40240
|
-
return (hAsync(Host, { key: '
|
|
40760
|
+
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
40761
|
}
|
|
40242
40762
|
get el() { return getElement(this); }
|
|
40243
40763
|
static get style() { return {
|
|
@@ -40282,7 +40802,7 @@ class SelectOption {
|
|
|
40282
40802
|
}
|
|
40283
40803
|
render() {
|
|
40284
40804
|
const theme = getIonTheme(this);
|
|
40285
|
-
return (hAsync(Host, { key: '
|
|
40805
|
+
return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
|
|
40286
40806
|
[theme]: true,
|
|
40287
40807
|
}, role: "option", id: this.inputId }));
|
|
40288
40808
|
}
|
|
@@ -40451,9 +40971,9 @@ class SelectPopover {
|
|
|
40451
40971
|
const { header, message, options, subHeader } = this;
|
|
40452
40972
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
40453
40973
|
const theme = getIonTheme(this);
|
|
40454
|
-
return (hAsync(Host, { key: '
|
|
40974
|
+
return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
|
|
40455
40975
|
[theme]: true,
|
|
40456
|
-
} }, hAsync("ion-list", { key: '
|
|
40976
|
+
} }, 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
40977
|
}
|
|
40458
40978
|
get el() { return getElement(this); }
|
|
40459
40979
|
static get style() { return {
|
|
@@ -40508,11 +41028,11 @@ class SkeletonText {
|
|
|
40508
41028
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
40509
41029
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
40510
41030
|
const theme = getIonTheme(this);
|
|
40511
|
-
return (hAsync(Host, { key: '
|
|
41031
|
+
return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
|
|
40512
41032
|
[theme]: true,
|
|
40513
41033
|
'skeleton-text-animated': animated,
|
|
40514
41034
|
'in-media': inMedia,
|
|
40515
|
-
} }, hAsync("span", { key: '
|
|
41035
|
+
} }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
|
|
40516
41036
|
}
|
|
40517
41037
|
get el() { return getElement(this); }
|
|
40518
41038
|
static get style() { return skeletonTextCss(); }
|
|
@@ -40585,7 +41105,7 @@ class Spinner {
|
|
|
40585
41105
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40586
41106
|
}
|
|
40587
41107
|
}
|
|
40588
|
-
return (hAsync(Host, { key: '
|
|
41108
|
+
return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
|
|
40589
41109
|
[theme]: true,
|
|
40590
41110
|
[`spinner-${spinnerName}`]: true,
|
|
40591
41111
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -40629,6 +41149,7 @@ const splitPaneIosCss = () => `:host{--side-width:100%;right:0;left:0;top:0;bott
|
|
|
40629
41149
|
|
|
40630
41150
|
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
41151
|
|
|
41152
|
+
// TODO(FW-7285): Replace with global breakpoints
|
|
40632
41153
|
const QUERY = {
|
|
40633
41154
|
lg: '(min-width: 992px)'};
|
|
40634
41155
|
/**
|
|
@@ -40696,12 +41217,12 @@ class SplitPane {
|
|
|
40696
41217
|
}
|
|
40697
41218
|
render() {
|
|
40698
41219
|
const theme = getIonTheme(this);
|
|
40699
|
-
return (hAsync(Host, { key: '
|
|
41220
|
+
return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
|
|
40700
41221
|
[theme]: true,
|
|
40701
41222
|
// Used internally for styling
|
|
40702
41223
|
[`split-pane-${theme}`]: true,
|
|
40703
41224
|
'split-pane-visible': this.visible,
|
|
40704
|
-
} }, hAsync("slot", { key: '
|
|
41225
|
+
} }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
|
|
40705
41226
|
}
|
|
40706
41227
|
get el() { return getElement(this); }
|
|
40707
41228
|
static get watchers() { return {
|
|
@@ -40778,10 +41299,10 @@ class Tab {
|
|
|
40778
41299
|
}
|
|
40779
41300
|
render() {
|
|
40780
41301
|
const { tab, active, component } = this;
|
|
40781
|
-
return (hAsync(Host, { key: '
|
|
41302
|
+
return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
40782
41303
|
'ion-page': component === undefined,
|
|
40783
41304
|
'tab-hidden': !active,
|
|
40784
|
-
} }, hAsync("slot", { key: '
|
|
41305
|
+
} }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
|
|
40785
41306
|
}
|
|
40786
41307
|
get el() { return getElement(this); }
|
|
40787
41308
|
static get watchers() { return {
|
|
@@ -40988,7 +41509,7 @@ class TabBar {
|
|
|
40988
41509
|
const theme = getIonTheme(this);
|
|
40989
41510
|
const shape = this.getShape();
|
|
40990
41511
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
40991
|
-
return (hAsync(Host, { key: '
|
|
41512
|
+
return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
|
|
40992
41513
|
[theme]: true,
|
|
40993
41514
|
'tab-bar-translucent': translucent,
|
|
40994
41515
|
'tab-bar-hidden': shouldHide,
|
|
@@ -40996,7 +41517,7 @@ class TabBar {
|
|
|
40996
41517
|
'tab-bar-scroll-hidden': scrollHidden,
|
|
40997
41518
|
[`tab-bar-${expand}`]: true,
|
|
40998
41519
|
[`tab-bar-${shape}`]: shape !== undefined,
|
|
40999
|
-
}) }, hAsync("slot", { key: '
|
|
41520
|
+
}) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
|
|
41000
41521
|
}
|
|
41001
41522
|
get el() { return getElement(this); }
|
|
41002
41523
|
static get watchers() { return {
|
|
@@ -41124,7 +41645,7 @@ class TabButton {
|
|
|
41124
41645
|
rel,
|
|
41125
41646
|
target,
|
|
41126
41647
|
};
|
|
41127
|
-
return (hAsync(Host, { key: '
|
|
41648
|
+
return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
41128
41649
|
[theme]: true,
|
|
41129
41650
|
'tab-selected': selected,
|
|
41130
41651
|
'tab-disabled': disabled,
|
|
@@ -41137,7 +41658,7 @@ class TabButton {
|
|
|
41137
41658
|
'ion-selectable': true,
|
|
41138
41659
|
[`tab-button-shape-${shape}`]: shape !== undefined,
|
|
41139
41660
|
'ion-focusable': true,
|
|
41140
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
41661
|
+
} }, 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
41662
|
}
|
|
41142
41663
|
get el() { return getElement(this); }
|
|
41143
41664
|
static get style() { return {
|
|
@@ -41333,7 +41854,7 @@ class Tabs {
|
|
|
41333
41854
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
41334
41855
|
}
|
|
41335
41856
|
render() {
|
|
41336
|
-
return (hAsync(Host, { key: '
|
|
41857
|
+
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
41858
|
}
|
|
41338
41859
|
get el() { return getElement(this); }
|
|
41339
41860
|
static get style() { return tabsCss(); }
|
|
@@ -41374,9 +41895,9 @@ class Text {
|
|
|
41374
41895
|
}
|
|
41375
41896
|
render() {
|
|
41376
41897
|
const theme = getIonTheme(this);
|
|
41377
|
-
return (hAsync(Host, { key: '
|
|
41898
|
+
return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
|
|
41378
41899
|
[theme]: true,
|
|
41379
|
-
}) }, hAsync("slot", { key: '
|
|
41900
|
+
}) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
|
|
41380
41901
|
}
|
|
41381
41902
|
static get style() { return textCss(); }
|
|
41382
41903
|
static get cmpMeta() { return {
|
|
@@ -41940,7 +42461,7 @@ class Textarea {
|
|
|
41940
42461
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
41941
42462
|
*/
|
|
41942
42463
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
41943
|
-
return (hAsync(Host, { key: '
|
|
42464
|
+
return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
|
|
41944
42465
|
[theme]: true,
|
|
41945
42466
|
'has-value': hasValue,
|
|
41946
42467
|
'has-focus': hasFocus,
|
|
@@ -41952,7 +42473,7 @@ class Textarea {
|
|
|
41952
42473
|
'in-item': inItem,
|
|
41953
42474
|
'textarea-disabled': disabled,
|
|
41954
42475
|
'textarea-readonly': readonly,
|
|
41955
|
-
}) }, hAsync("label", { key: '
|
|
42476
|
+
}) }, 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
42477
|
/**
|
|
41957
42478
|
* For the ionic theme, we render the outline container here
|
|
41958
42479
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -41962,7 +42483,7 @@ class Textarea {
|
|
|
41962
42483
|
* <label> element, ensuring that clicking the label text
|
|
41963
42484
|
* focuses the textarea.
|
|
41964
42485
|
*/
|
|
41965
|
-
theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '
|
|
42486
|
+
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
42487
|
}
|
|
41967
42488
|
static get delegatesFocus() { return true; }
|
|
41968
42489
|
static get formAssociated() { return true; }
|
|
@@ -42046,9 +42567,9 @@ class Thumbnail {
|
|
|
42046
42567
|
}
|
|
42047
42568
|
render() {
|
|
42048
42569
|
const theme = getIonTheme(this);
|
|
42049
|
-
return (hAsync(Host, { key: '
|
|
42570
|
+
return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
|
|
42050
42571
|
[theme]: true,
|
|
42051
|
-
} }, hAsync("slot", { key: '
|
|
42572
|
+
} }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
|
|
42052
42573
|
}
|
|
42053
42574
|
static get style() { return thumbnailCss(); }
|
|
42054
42575
|
static get cmpMeta() { return {
|
|
@@ -42932,9 +43453,9 @@ class Toast {
|
|
|
42932
43453
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
42933
43454
|
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
43455
|
}
|
|
42935
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
43456
|
+
return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
42936
43457
|
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: '
|
|
43458
|
+
}, 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
43459
|
}
|
|
42939
43460
|
get el() { return getElement(this); }
|
|
42940
43461
|
static get watchers() { return {
|
|
@@ -43310,7 +43831,7 @@ class Toggle {
|
|
|
43310
43831
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
43311
43832
|
const isIonicTheme = theme === 'ionic';
|
|
43312
43833
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
43313
|
-
return (hAsync(Host, { key: '
|
|
43834
|
+
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
43835
|
[theme]: true,
|
|
43315
43836
|
'in-item': hostContext('ion-item', el),
|
|
43316
43837
|
'toggle-activated': activated,
|
|
@@ -43322,10 +43843,10 @@ class Toggle {
|
|
|
43322
43843
|
[`toggle-${rtl}`]: true,
|
|
43323
43844
|
'ion-activatable': isIonicTheme,
|
|
43324
43845
|
'ion-focusable': isIonicTheme,
|
|
43325
|
-
}) }, hAsync("label", { key: '
|
|
43846
|
+
}) }, 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
43847
|
'label-text-wrapper': true,
|
|
43327
43848
|
'label-text-wrapper-hidden': !hasLabel,
|
|
43328
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '
|
|
43849
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
43329
43850
|
}
|
|
43330
43851
|
get el() { return getElement(this); }
|
|
43331
43852
|
static get watchers() { return {
|
|
@@ -43617,11 +44138,11 @@ class Toolbar {
|
|
|
43617
44138
|
Object.assign(childStyles, style);
|
|
43618
44139
|
});
|
|
43619
44140
|
const titlePlacement = this.getTitlePlacement();
|
|
43620
|
-
return (hAsync(Host, { key: '
|
|
44141
|
+
return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
|
|
43621
44142
|
[theme]: true,
|
|
43622
44143
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
43623
44144
|
[`toolbar-title-placement-${titlePlacement}`]: true,
|
|
43624
|
-
})), childStyles) }, hAsync("div", { key: '
|
|
44145
|
+
})), 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
44146
|
}
|
|
43626
44147
|
get el() { return getElement(this); }
|
|
43627
44148
|
static get watchers() { return {
|
|
@@ -43680,11 +44201,11 @@ class ToolbarTitle {
|
|
|
43680
44201
|
render() {
|
|
43681
44202
|
const theme = getIonTheme(this);
|
|
43682
44203
|
const size = this.getSize();
|
|
43683
|
-
return (hAsync(Host, { key: '
|
|
44204
|
+
return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
|
|
43684
44205
|
[theme]: true,
|
|
43685
44206
|
[`title-${size}`]: true,
|
|
43686
44207
|
'title-rtl': document.dir === 'rtl',
|
|
43687
|
-
}) }, hAsync("div", { key: '
|
|
44208
|
+
}) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
|
|
43688
44209
|
}
|
|
43689
44210
|
get el() { return getElement(this); }
|
|
43690
44211
|
static get watchers() { return {
|
|
@@ -43740,6 +44261,7 @@ registerComponents([
|
|
|
43740
44261
|
FabButton,
|
|
43741
44262
|
FabList,
|
|
43742
44263
|
Footer,
|
|
44264
|
+
Gallery,
|
|
43743
44265
|
Grid,
|
|
43744
44266
|
Header,
|
|
43745
44267
|
Icon,
|