voyager-ionic-core 8.3.4 → 8.4.0
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/alert.js +7 -5
- package/components/backdrop.js +1 -1
- package/components/button.js +2 -2
- package/components/buttons.js +2 -2
- package/components/checkbox.js +7 -5
- package/components/content.js +446 -0
- package/components/header.js +356 -0
- package/components/index4.js +2 -2
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +2 -2
- package/components/ion-badge.js +2 -2
- package/components/ion-breadcrumb.js +4 -4
- package/components/ion-breadcrumbs.js +2 -2
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +2 -2
- package/components/ion-card-subtitle.js +2 -2
- package/components/ion-card-title.js +2 -2
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +2 -2
- package/components/ion-col.js +2 -2
- package/components/ion-content.js +1 -441
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +2 -2
- package/components/ion-fab-button.js +2 -2
- package/components/ion-fab-list.js +2 -2
- package/components/ion-fab.js +2 -2
- package/components/ion-footer.js +2 -2
- package/components/ion-grid.js +2 -2
- package/components/ion-header.js +1 -351
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +2 -2
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-password-toggle.js +3 -3
- package/components/ion-input.js +3 -3
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +19 -19
- package/components/ion-modal.js +1 -1737
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- 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-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +24 -5
- package/components/ion-segment-content.d.ts +11 -0
- package/components/ion-segment-content.js +37 -0
- package/components/ion-segment-view.d.ts +11 -0
- package/components/ion-segment-view.js +140 -0
- package/components/ion-segment.js +110 -15
- package/components/ion-select-modal.d.ts +11 -0
- package/components/ion-select-modal.js +9 -0
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +114 -41
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -70
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/ion-toolbar.js +1 -88
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/modal.js +1742 -0
- package/components/picker-column-option.js +2 -2
- package/components/picker-column.js +3 -3
- package/components/picker-column2.js +2 -2
- package/components/picker.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +5 -3
- package/components/radio.js +7 -5
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +197 -0
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +75 -0
- package/components/toolbar.js +93 -0
- package/dist/cjs/{index-9cd00dc3.js → index-8e789962.js} +2 -2
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +7 -5
- package/dist/cjs/ion-app_8.cjs.entry.js +15 -15
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.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 +3 -3
- 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 +23 -23
- 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-picker-column.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker.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 +12 -8
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- 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 +23 -0
- package/dist/cjs/ion-segment-view.cjs.entry.js +122 -0
- package/dist/cjs/ion-segment_2.cjs.entry.js +132 -19
- package/dist/cjs/ion-select-modal.cjs.entry.js +111 -0
- package/dist/cjs/ion-select_3.cjs.entry.js +39 -14
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- 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 +3 -0
- package/dist/collection/components/alert/alert.js +7 -5
- package/dist/collection/components/app/app.js +1 -1
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/back-button/back-button.js +2 -2
- package/dist/collection/components/backdrop/backdrop.js +1 -1
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/buttons/buttons.js +2 -2
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-header/card-header.js +2 -2
- package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
- package/dist/collection/components/card-title/card-title.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +29 -4
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/datetime/datetime.js +2 -2
- package/dist/collection/components/datetime-button/datetime-button.js +2 -2
- package/dist/collection/components/fab/fab.js +2 -2
- package/dist/collection/components/fab-button/fab-button.js +2 -2
- package/dist/collection/components/fab-list/fab-list.js +2 -2
- package/dist/collection/components/footer/footer.js +2 -2
- 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 +1 -1
- 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 +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 +47 -27
- 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/picker.js +2 -2
- package/dist/collection/components/picker-column/picker-column.js +3 -3
- 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 +9 -7
- package/dist/collection/components/radio-group/radio-group.js +5 -3
- 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 +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- 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 +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +115 -14
- package/dist/collection/components/segment-button/segment-button.js +40 -5
- package/dist/collection/components/segment-content/segment-content.css +6 -0
- package/dist/collection/components/segment-content/segment-content.js +21 -0
- package/dist/collection/components/segment-view/segment-view-interface.js +1 -0
- package/dist/collection/components/segment-view/segment-view.ios.css +83 -0
- package/dist/collection/components/segment-view/segment-view.js +227 -0
- package/dist/collection/components/segment-view/segment-view.md.css +83 -0
- package/dist/collection/components/select/select.js +61 -16
- package/dist/collection/components/select-modal/select-modal-interface.js +1 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +3 -0
- package/dist/collection/components/select-modal/select-modal.js +159 -0
- package/dist/collection/components/select-modal/select-modal.md.css +110 -0
- package/dist/collection/components/select-modal/test/fixtures.js +48 -0
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- 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/menu-controller/index.js +2 -2
- package/dist/docs.json +426 -29
- package/dist/esm/{index-fe1782b1.js → index-24b48b06.js} +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-alert.entry.js +7 -5
- package/dist/esm/ion-app_8.entry.js +15 -15
- package/dist/esm/ion-avatar_3.entry.js +4 -4
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +6 -6
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +8 -8
- package/dist/esm/ion-checkbox.entry.js +5 -4
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +5 -5
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +6 -6
- package/dist/esm/ion-fab_3.entry.js +6 -6
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +3 -3
- 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 +24 -24
- 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-picker-column.entry.js +3 -3
- package/dist/esm/ion-picker.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 +12 -8
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- 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 +19 -0
- package/dist/esm/ion-segment-view.entry.js +118 -0
- package/dist/esm/ion-segment_2.entry.js +132 -19
- package/dist/esm/ion-select-modal.entry.js +107 -0
- package/dist/esm/ion-select_3.entry.js +40 -15
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- 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/esm-es5/{index-fe1782b1.js → index-24b48b06.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +2 -2
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +4 -0
- package/dist/esm-es5/ion-segment-view.entry.js +4 -0
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +4 -0
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/html.html-data.json +65 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-313ccc01.system.entry.js → p-01186920.system.entry.js} +1 -1
- package/dist/ionic/{p-0790b342.system.entry.js → p-0161caf9.system.entry.js} +1 -1
- package/dist/ionic/p-0437ace4.system.entry.js +4 -0
- package/dist/ionic/{p-e3e1e3de.entry.js → p-081a4ce4.entry.js} +1 -1
- package/dist/ionic/p-09cf2394.entry.js +4 -0
- package/dist/ionic/p-14be4015.entry.js +4 -0
- package/dist/ionic/p-15e76dd1.entry.js +4 -0
- package/dist/ionic/{p-003eecb9.entry.js → p-16188af7.entry.js} +1 -1
- package/dist/ionic/p-16799667.system.entry.js +4 -0
- package/dist/ionic/p-16bfb979.system.entry.js +4 -0
- package/dist/ionic/{p-b54fc1ae.entry.js → p-19ec4f42.entry.js} +1 -1
- package/dist/ionic/p-1b7605a7.system.entry.js +4 -0
- package/dist/ionic/p-1c1b8e1f.entry.js +4 -0
- package/dist/ionic/{p-8b6232a6.system.entry.js → p-1e010627.system.entry.js} +2 -2
- package/dist/ionic/{p-d754c709.system.entry.js → p-1e41f2aa.system.entry.js} +1 -1
- package/dist/ionic/{p-cdb11938.system.entry.js → p-1e67b266.system.entry.js} +1 -1
- package/dist/ionic/{p-bd25d639.system.entry.js → p-1ebd1e27.system.entry.js} +1 -1
- package/dist/ionic/{p-836d39d4.system.entry.js → p-2172893e.system.entry.js} +1 -1
- package/dist/ionic/{p-4a0a4204.system.entry.js → p-2507278c.system.entry.js} +1 -1
- package/dist/ionic/{p-75c0dc65.system.entry.js → p-2799c6d3.system.entry.js} +1 -1
- package/dist/ionic/{p-a879ecb7.system.entry.js → p-2abae1cc.system.entry.js} +1 -1
- package/dist/ionic/{p-293ed6ac.system.entry.js → p-2b838f86.system.entry.js} +1 -1
- package/dist/ionic/{p-4a82bd1c.system.entry.js → p-2e46590d.system.entry.js} +1 -1
- package/dist/ionic/{p-148b8abb.entry.js → p-2fc0dafe.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +2 -2
- package/dist/ionic/{p-60cc7986.entry.js → p-33a8a71b.entry.js} +1 -1
- package/dist/ionic/{p-18105026.system.entry.js → p-37cb43bd.system.entry.js} +1 -1
- package/dist/ionic/{p-ad9b5007.system.entry.js → p-3b419d79.system.entry.js} +1 -1
- package/dist/ionic/p-424eb140.system.entry.js +4 -0
- package/dist/ionic/{p-b7657e8d.entry.js → p-4439fc2a.entry.js} +1 -1
- package/dist/ionic/{p-be71fe0f.system.entry.js → p-4561cd09.system.entry.js} +1 -1
- package/dist/ionic/{p-c34659b9.entry.js → p-45693d7e.entry.js} +1 -1
- package/dist/ionic/p-49a0e74c.entry.js +4 -0
- package/dist/ionic/{p-6d50faff.entry.js → p-4a274c89.entry.js} +1 -1
- package/dist/ionic/{p-41c89b8d.entry.js → p-4b000207.entry.js} +1 -1
- package/dist/ionic/{p-fd0cb4ef.entry.js → p-4ec778aa.entry.js} +1 -1
- package/dist/ionic/{p-f559ac5b.entry.js → p-51796b2d.entry.js} +1 -1
- package/dist/ionic/{p-9ece8dcf.entry.js → p-52d7a191.entry.js} +1 -1
- package/dist/ionic/{p-79e7be3a.system.entry.js → p-5393e8bb.system.entry.js} +1 -1
- package/dist/ionic/{p-ce705aac.system.entry.js → p-567de071.system.entry.js} +1 -1
- package/dist/ionic/{p-95823c62.system.entry.js → p-5823babc.system.entry.js} +2 -2
- package/dist/ionic/{p-baffaf8d.system.entry.js → p-58d5df0c.system.entry.js} +1 -1
- package/dist/ionic/{p-521eca2e.entry.js → p-5ab1b709.entry.js} +1 -1
- package/dist/ionic/{p-c71f301f.system.entry.js → p-5b5c1505.system.entry.js} +1 -1
- package/dist/ionic/{p-8d44cf1f.entry.js → p-5b932840.entry.js} +1 -1
- package/dist/ionic/{p-f0ab13a8.system.entry.js → p-5bd39e5e.system.entry.js} +2 -2
- package/dist/ionic/{p-5800e441.entry.js → p-5f79d8c5.entry.js} +1 -1
- package/dist/ionic/{p-53add985.system.entry.js → p-5fce0c0b.system.entry.js} +1 -1
- package/dist/ionic/{p-233e6c93.entry.js → p-62af944c.entry.js} +1 -1
- package/dist/ionic/{p-00b01a55.system.entry.js → p-63b0abde.system.entry.js} +1 -1
- package/dist/ionic/p-6734db42.system.entry.js +4 -0
- package/dist/ionic/p-69666e8a.system.entry.js +4 -0
- package/dist/ionic/{p-5e842258.entry.js → p-6d32975a.entry.js} +1 -1
- package/dist/ionic/p-73dc4950.entry.js +4 -0
- package/dist/ionic/{p-fcd71204.system.entry.js → p-7458862e.system.entry.js} +1 -1
- package/dist/ionic/{p-a3711608.system.entry.js → p-797eeea8.system.entry.js} +1 -1
- package/dist/ionic/{p-f8c8b9ba.entry.js → p-7b9a2b23.entry.js} +1 -1
- package/dist/ionic/{p-6817cf42.system.entry.js → p-7ed1657c.system.entry.js} +1 -1
- package/dist/ionic/{p-79b12fda.system.js → p-8f05ba3b.system.js} +1 -1
- package/dist/ionic/p-908d6080.entry.js +4 -0
- package/dist/ionic/{p-af999a31.entry.js → p-937a7e21.entry.js} +1 -1
- package/dist/ionic/{p-4c8fceb0.entry.js → p-95775830.entry.js} +1 -1
- package/dist/ionic/{p-973f0b15.system.entry.js → p-98231c01.system.entry.js} +1 -1
- package/dist/ionic/{p-25928b83.system.entry.js → p-985a7e17.system.entry.js} +1 -1
- package/dist/ionic/{p-e3a5da9d.entry.js → p-98ff6b32.entry.js} +1 -1
- package/dist/ionic/{p-6e85e450.entry.js → p-9df2c6fb.entry.js} +1 -1
- package/dist/ionic/{p-7251fed5.entry.js → p-9ee1e8a6.entry.js} +1 -1
- package/dist/ionic/{p-da263d8e.entry.js → p-9fa07aec.entry.js} +1 -1
- package/dist/ionic/{p-d58f21d2.entry.js → p-a1051806.entry.js} +1 -1
- package/dist/ionic/{p-6ceb04b5.entry.js → p-a1b9a163.entry.js} +1 -1
- package/dist/ionic/p-a34b4d94.entry.js +4 -0
- package/dist/ionic/{p-8836d0eb.system.entry.js → p-a49378bb.system.entry.js} +1 -1
- package/dist/ionic/{p-6b8893dd.entry.js → p-a61cba41.entry.js} +1 -1
- package/dist/ionic/p-adbc4bdf.entry.js +4 -0
- package/dist/ionic/{p-49bc6544.entry.js → p-afecb188.entry.js} +1 -1
- package/dist/ionic/{p-be715dd3.system.entry.js → p-b335ffed.system.entry.js} +1 -1
- package/dist/ionic/{p-e3f13b08.js → p-b82d4cab.js} +1 -1
- package/dist/ionic/{p-68c4df55.entry.js → p-b9d7015f.entry.js} +1 -1
- package/dist/ionic/{p-7243df6f.entry.js → p-bb0db172.entry.js} +1 -1
- package/dist/ionic/{p-df83e308.system.entry.js → p-bc36ad98.system.entry.js} +1 -1
- package/dist/ionic/{p-773d118d.entry.js → p-bdad26e3.entry.js} +1 -1
- package/dist/ionic/p-c29f8157.system.entry.js +4 -0
- package/dist/ionic/p-c2b74d92.system.entry.js +4 -0
- package/dist/ionic/{p-176b372f.entry.js → p-c41ac815.entry.js} +1 -1
- package/dist/ionic/{p-5417b9bb.entry.js → p-c9f3a539.entry.js} +1 -1
- package/dist/ionic/{p-2ea1ca4f.system.entry.js → p-ca065903.system.entry.js} +1 -1
- package/dist/ionic/{p-2ca6eac2.system.entry.js → p-cac0e0b3.system.entry.js} +1 -1
- package/dist/ionic/{p-3c968c7f.system.entry.js → p-d18ab582.system.entry.js} +2 -2
- package/dist/ionic/{p-92d7a3d1.entry.js → p-d7aa6b00.entry.js} +1 -1
- package/dist/ionic/{p-21cfd4de.entry.js → p-da074ff7.entry.js} +1 -1
- package/dist/ionic/{p-9e208825.entry.js → p-db0c8e7d.entry.js} +1 -1
- package/dist/ionic/{p-89a0a446.entry.js → p-de930745.entry.js} +1 -1
- package/dist/ionic/p-e2252ad6.entry.js +4 -0
- package/dist/ionic/{p-960803fc.system.entry.js → p-e4ee80be.system.entry.js} +1 -1
- package/dist/ionic/{p-dda5c73d.entry.js → p-e563a35c.entry.js} +1 -1
- package/dist/ionic/{p-7740e32c.system.js → p-e7ed4a7f.system.js} +1 -1
- package/dist/ionic/{p-0373d924.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
- package/dist/ionic/{p-9b6c6302.system.entry.js → p-ed75fcfb.system.entry.js} +1 -1
- package/dist/ionic/p-f10b70a1.entry.js +4 -0
- package/dist/ionic/{p-01503bbd.system.entry.js → p-f3102647.system.entry.js} +1 -1
- package/dist/ionic/{p-6562e0a9.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
- package/dist/ionic/{p-b0180ce1.system.entry.js → p-ffd131f9.system.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +2 -1
- package/dist/types/components/menu/menu-interface.d.ts +5 -2
- package/dist/types/components/menu/menu.d.ts +6 -6
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components/segment/segment.d.ts +21 -1
- package/dist/types/components/segment-button/segment-button.d.ts +4 -0
- package/dist/types/components/segment-content/segment-content.d.ts +4 -0
- package/dist/types/components/segment-view/segment-view-interface.d.ts +4 -0
- package/dist/types/components/segment-view/segment-view.d.ts +55 -0
- package/dist/types/components/select/select-interface.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +5 -4
- package/dist/types/components/select-modal/select-modal-interface.d.ts +10 -0
- package/dist/types/components/select-modal/select-modal.d.ts +16 -0
- package/dist/types/components/select-modal/test/fixtures.d.ts +16 -0
- package/dist/types/components.d.ts +103 -13
- package/dist/types/utils/overlays-interface.d.ts +1 -1
- package/hydrate/index.js +610 -212
- package/hydrate/index.mjs +610 -212
- package/package.json +1 -1
- package/dist/ionic/p-110e03be.system.entry.js +0 -4
- package/dist/ionic/p-2200e26b.entry.js +0 -4
- package/dist/ionic/p-44d1539c.system.entry.js +0 -4
- package/dist/ionic/p-53854390.entry.js +0 -4
- package/dist/ionic/p-63d65dbc.system.entry.js +0 -4
- package/dist/ionic/p-72ffd137.system.entry.js +0 -4
- package/dist/ionic/p-82ab7ccb.entry.js +0 -4
- package/dist/ionic/p-87a4407b.entry.js +0 -4
- package/dist/ionic/p-9172535c.entry.js +0 -4
- package/dist/ionic/p-93f37ceb.system.entry.js +0 -4
- package/dist/ionic/p-9895e7f3.entry.js +0 -4
- package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
- package/dist/ionic/p-a89dac49.entry.js +0 -4
- package/dist/ionic/p-f88ebc36.entry.js +0 -4
|
@@ -1,447 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { i as inheritAriaAttributes, j as hasLazyBuild, c as componentOnReady } from './helpers.js';
|
|
6
|
-
import { b as getIonMode, a as isPlatform } from './ionic-global.js';
|
|
7
|
-
import { i as isRTL } from './dir.js';
|
|
8
|
-
import { c as createColorClasses, h as hostContext } from './theme.js';
|
|
9
|
-
|
|
10
|
-
const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}";
|
|
11
|
-
const IonContentStyle0 = contentCss;
|
|
12
|
-
|
|
13
|
-
const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLElement {
|
|
14
|
-
constructor() {
|
|
15
|
-
super();
|
|
16
|
-
this.__registerHost();
|
|
17
|
-
this.__attachShadow();
|
|
18
|
-
this.ionScrollStart = createEvent(this, "ionScrollStart", 7);
|
|
19
|
-
this.ionScroll = createEvent(this, "ionScroll", 7);
|
|
20
|
-
this.ionScrollEnd = createEvent(this, "ionScrollEnd", 7);
|
|
21
|
-
this.watchDog = null;
|
|
22
|
-
this.isScrolling = false;
|
|
23
|
-
this.lastScroll = 0;
|
|
24
|
-
this.queued = false;
|
|
25
|
-
this.cTop = -1;
|
|
26
|
-
this.cBottom = -1;
|
|
27
|
-
this.isMainContent = true;
|
|
28
|
-
this.resizeTimeout = null;
|
|
29
|
-
this.inheritedAttributes = {};
|
|
30
|
-
this.tabsElement = null;
|
|
31
|
-
// Detail is used in a hot loop in the scroll event, by allocating it here
|
|
32
|
-
// V8 will be able to inline any read/write to it since it's a monomorphic class.
|
|
33
|
-
// https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
|
|
34
|
-
this.detail = {
|
|
35
|
-
scrollTop: 0,
|
|
36
|
-
scrollLeft: 0,
|
|
37
|
-
type: 'scroll',
|
|
38
|
-
event: undefined,
|
|
39
|
-
startX: 0,
|
|
40
|
-
startY: 0,
|
|
41
|
-
startTime: 0,
|
|
42
|
-
currentX: 0,
|
|
43
|
-
currentY: 0,
|
|
44
|
-
velocityX: 0,
|
|
45
|
-
velocityY: 0,
|
|
46
|
-
deltaX: 0,
|
|
47
|
-
deltaY: 0,
|
|
48
|
-
currentTime: 0,
|
|
49
|
-
data: undefined,
|
|
50
|
-
isScrolling: true,
|
|
51
|
-
};
|
|
52
|
-
this.color = undefined;
|
|
53
|
-
this.fullscreen = false;
|
|
54
|
-
this.fixedSlotPlacement = 'after';
|
|
55
|
-
this.forceOverscroll = undefined;
|
|
56
|
-
this.scrollX = false;
|
|
57
|
-
this.scrollY = true;
|
|
58
|
-
this.scrollEvents = false;
|
|
59
|
-
}
|
|
60
|
-
componentWillLoad() {
|
|
61
|
-
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
62
|
-
}
|
|
63
|
-
connectedCallback() {
|
|
64
|
-
this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
|
|
65
|
-
/**
|
|
66
|
-
* The fullscreen content offsets need to be
|
|
67
|
-
* computed after the tab bar has loaded. Since
|
|
68
|
-
* lazy evaluation means components are not hydrated
|
|
69
|
-
* at the same time, we need to wait for the ionTabBarLoaded
|
|
70
|
-
* event to fire. This does not impact dist-custom-elements
|
|
71
|
-
* because there is no hydration there.
|
|
72
|
-
*/
|
|
73
|
-
if (hasLazyBuild(this.el)) {
|
|
74
|
-
/**
|
|
75
|
-
* We need to cache the reference to the tabs.
|
|
76
|
-
* If just the content is unmounted then we won't
|
|
77
|
-
* be able to query for the closest tabs on disconnectedCallback
|
|
78
|
-
* since the content has been removed from the DOM tree.
|
|
79
|
-
*/
|
|
80
|
-
const closestTabs = (this.tabsElement = this.el.closest('ion-tabs'));
|
|
81
|
-
if (closestTabs !== null) {
|
|
82
|
-
/**
|
|
83
|
-
* When adding and removing the event listener
|
|
84
|
-
* we need to make sure we pass the same function reference
|
|
85
|
-
* otherwise the event listener will not be removed properly.
|
|
86
|
-
* We can't only pass `this.resize` because "this" in the function
|
|
87
|
-
* context becomes a reference to IonTabs instead of IonContent.
|
|
88
|
-
*
|
|
89
|
-
* Additionally, we listen for ionTabBarLoaded on the IonTabs
|
|
90
|
-
* instance rather than the IonTabBar instance. It's possible for
|
|
91
|
-
* a tab bar to be conditionally rendered/mounted. Since ionTabBarLoaded
|
|
92
|
-
* bubbles, we can catch any instances of child tab bars loading by listening
|
|
93
|
-
* on IonTabs.
|
|
94
|
-
*/
|
|
95
|
-
this.tabsLoadCallback = () => this.resize();
|
|
96
|
-
closestTabs.addEventListener('ionTabBarLoaded', this.tabsLoadCallback);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
disconnectedCallback() {
|
|
101
|
-
this.onScrollEnd();
|
|
102
|
-
if (hasLazyBuild(this.el)) {
|
|
103
|
-
/**
|
|
104
|
-
* The event listener and tabs caches need to
|
|
105
|
-
* be cleared otherwise this will create a memory
|
|
106
|
-
* leak where the IonTabs instance can never be
|
|
107
|
-
* garbage collected.
|
|
108
|
-
*/
|
|
109
|
-
const { tabsElement, tabsLoadCallback } = this;
|
|
110
|
-
if (tabsElement !== null && tabsLoadCallback !== undefined) {
|
|
111
|
-
tabsElement.removeEventListener('ionTabBarLoaded', tabsLoadCallback);
|
|
112
|
-
}
|
|
113
|
-
this.tabsElement = null;
|
|
114
|
-
this.tabsLoadCallback = undefined;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Rotating certain devices can update
|
|
119
|
-
* the safe area insets. As a result,
|
|
120
|
-
* the fullscreen feature on ion-content
|
|
121
|
-
* needs to be recalculated.
|
|
122
|
-
*
|
|
123
|
-
* We listen for "resize" because we
|
|
124
|
-
* do not care what the orientation of
|
|
125
|
-
* the device is. Other APIs
|
|
126
|
-
* such as ScreenOrientation or
|
|
127
|
-
* the deviceorientation event must have
|
|
128
|
-
* permission from the user first whereas
|
|
129
|
-
* the "resize" event does not.
|
|
130
|
-
*
|
|
131
|
-
* We also throttle the callback to minimize
|
|
132
|
-
* thrashing when quickly resizing a window.
|
|
133
|
-
*/
|
|
134
|
-
onResize() {
|
|
135
|
-
if (this.resizeTimeout) {
|
|
136
|
-
clearTimeout(this.resizeTimeout);
|
|
137
|
-
this.resizeTimeout = null;
|
|
138
|
-
}
|
|
139
|
-
this.resizeTimeout = setTimeout(() => {
|
|
140
|
-
/**
|
|
141
|
-
* Resize should only happen
|
|
142
|
-
* if the content is visible.
|
|
143
|
-
* When the content is hidden
|
|
144
|
-
* then offsetParent will be null.
|
|
145
|
-
*/
|
|
146
|
-
if (this.el.offsetParent === null) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
this.resize();
|
|
150
|
-
}, 100);
|
|
151
|
-
}
|
|
152
|
-
shouldForceOverscroll() {
|
|
153
|
-
const { forceOverscroll } = this;
|
|
154
|
-
const mode = getIonMode(this);
|
|
155
|
-
return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
|
|
156
|
-
}
|
|
157
|
-
resize() {
|
|
158
|
-
/**
|
|
159
|
-
* Only force update if the component is rendered in a browser context.
|
|
160
|
-
* Using `forceUpdate` in a server context with pre-rendering can lead to an infinite loop.
|
|
161
|
-
* The `hydrateDocument` function in `@stencil/core` will render the `ion-content`, but
|
|
162
|
-
* `forceUpdate` will trigger another render, locking up the server.
|
|
163
|
-
*
|
|
164
|
-
* TODO: Remove if STENCIL-834 determines Stencil will account for this.
|
|
165
|
-
*/
|
|
166
|
-
if (Build.isBrowser) {
|
|
167
|
-
if (this.fullscreen) {
|
|
168
|
-
readTask(() => this.readDimensions());
|
|
169
|
-
}
|
|
170
|
-
else if (this.cTop !== 0 || this.cBottom !== 0) {
|
|
171
|
-
this.cTop = this.cBottom = 0;
|
|
172
|
-
forceUpdate(this);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
readDimensions() {
|
|
177
|
-
const page = getPageElement(this.el);
|
|
178
|
-
const top = Math.max(this.el.offsetTop, 0);
|
|
179
|
-
const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);
|
|
180
|
-
const dirty = top !== this.cTop || bottom !== this.cBottom;
|
|
181
|
-
if (dirty) {
|
|
182
|
-
this.cTop = top;
|
|
183
|
-
this.cBottom = bottom;
|
|
184
|
-
forceUpdate(this);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
onScroll(ev) {
|
|
188
|
-
const timeStamp = Date.now();
|
|
189
|
-
const shouldStart = !this.isScrolling;
|
|
190
|
-
this.lastScroll = timeStamp;
|
|
191
|
-
if (shouldStart) {
|
|
192
|
-
this.onScrollStart();
|
|
193
|
-
}
|
|
194
|
-
if (!this.queued && this.scrollEvents) {
|
|
195
|
-
this.queued = true;
|
|
196
|
-
readTask((ts) => {
|
|
197
|
-
this.queued = false;
|
|
198
|
-
this.detail.event = ev;
|
|
199
|
-
updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);
|
|
200
|
-
this.ionScroll.emit(this.detail);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Get the element where the actual scrolling takes place.
|
|
206
|
-
* This element can be used to subscribe to `scroll` events or manually modify
|
|
207
|
-
* `scrollTop`. However, it's recommended to use the API provided by `ion-content`:
|
|
208
|
-
*
|
|
209
|
-
* i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events
|
|
210
|
-
* and `scrollToPoint()` to scroll the content into a certain point.
|
|
211
|
-
*/
|
|
212
|
-
async getScrollElement() {
|
|
213
|
-
/**
|
|
214
|
-
* If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
|
|
215
|
-
* scrollEl won't be defined yet with the custom elements build, so wait for it to load in.
|
|
216
|
-
*/
|
|
217
|
-
if (!this.scrollEl) {
|
|
218
|
-
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
|
219
|
-
}
|
|
220
|
-
return Promise.resolve(this.scrollEl);
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Returns the background content element.
|
|
224
|
-
* @internal
|
|
225
|
-
*/
|
|
226
|
-
async getBackgroundElement() {
|
|
227
|
-
if (!this.backgroundContentEl) {
|
|
228
|
-
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
|
229
|
-
}
|
|
230
|
-
return Promise.resolve(this.backgroundContentEl);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Scroll to the top of the component.
|
|
234
|
-
*
|
|
235
|
-
* @param duration The amount of time to take scrolling to the top. Defaults to `0`.
|
|
236
|
-
*/
|
|
237
|
-
scrollToTop(duration = 0) {
|
|
238
|
-
return this.scrollToPoint(undefined, 0, duration);
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Scroll to the bottom of the component.
|
|
242
|
-
*
|
|
243
|
-
* @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
|
|
244
|
-
*/
|
|
245
|
-
async scrollToBottom(duration = 0) {
|
|
246
|
-
const scrollEl = await this.getScrollElement();
|
|
247
|
-
const y = scrollEl.scrollHeight - scrollEl.clientHeight;
|
|
248
|
-
return this.scrollToPoint(undefined, y, duration);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Scroll by a specified X/Y distance in the component.
|
|
252
|
-
*
|
|
253
|
-
* @param x The amount to scroll by on the horizontal axis.
|
|
254
|
-
* @param y The amount to scroll by on the vertical axis.
|
|
255
|
-
* @param duration The amount of time to take scrolling by that amount.
|
|
256
|
-
*/
|
|
257
|
-
async scrollByPoint(x, y, duration) {
|
|
258
|
-
const scrollEl = await this.getScrollElement();
|
|
259
|
-
return this.scrollToPoint(x + scrollEl.scrollLeft, y + scrollEl.scrollTop, duration);
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Scroll to a specified X/Y location in the component.
|
|
263
|
-
*
|
|
264
|
-
* @param x The point to scroll to on the horizontal axis.
|
|
265
|
-
* @param y The point to scroll to on the vertical axis.
|
|
266
|
-
* @param duration The amount of time to take scrolling to that point. Defaults to `0`.
|
|
267
|
-
*/
|
|
268
|
-
async scrollToPoint(x, y, duration = 0) {
|
|
269
|
-
const el = await this.getScrollElement();
|
|
270
|
-
if (duration < 32) {
|
|
271
|
-
if (y != null) {
|
|
272
|
-
el.scrollTop = y;
|
|
273
|
-
}
|
|
274
|
-
if (x != null) {
|
|
275
|
-
el.scrollLeft = x;
|
|
276
|
-
}
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
279
|
-
let resolve;
|
|
280
|
-
let startTime = 0;
|
|
281
|
-
const promise = new Promise((r) => (resolve = r));
|
|
282
|
-
const fromY = el.scrollTop;
|
|
283
|
-
const fromX = el.scrollLeft;
|
|
284
|
-
const deltaY = y != null ? y - fromY : 0;
|
|
285
|
-
const deltaX = x != null ? x - fromX : 0;
|
|
286
|
-
// scroll loop
|
|
287
|
-
const step = (timeStamp) => {
|
|
288
|
-
const linearTime = Math.min(1, (timeStamp - startTime) / duration) - 1;
|
|
289
|
-
const easedT = Math.pow(linearTime, 3) + 1;
|
|
290
|
-
if (deltaY !== 0) {
|
|
291
|
-
el.scrollTop = Math.floor(easedT * deltaY + fromY);
|
|
292
|
-
}
|
|
293
|
-
if (deltaX !== 0) {
|
|
294
|
-
el.scrollLeft = Math.floor(easedT * deltaX + fromX);
|
|
295
|
-
}
|
|
296
|
-
if (easedT < 1) {
|
|
297
|
-
// do not use DomController here
|
|
298
|
-
// must use nativeRaf in order to fire in the next frame
|
|
299
|
-
requestAnimationFrame(step);
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
resolve();
|
|
303
|
-
}
|
|
304
|
-
};
|
|
305
|
-
// chill out for a frame first
|
|
306
|
-
requestAnimationFrame((ts) => {
|
|
307
|
-
startTime = ts;
|
|
308
|
-
step(ts);
|
|
309
|
-
});
|
|
310
|
-
return promise;
|
|
311
|
-
}
|
|
312
|
-
onScrollStart() {
|
|
313
|
-
this.isScrolling = true;
|
|
314
|
-
this.ionScrollStart.emit({
|
|
315
|
-
isScrolling: true,
|
|
316
|
-
});
|
|
317
|
-
if (this.watchDog) {
|
|
318
|
-
clearInterval(this.watchDog);
|
|
319
|
-
}
|
|
320
|
-
// watchdog
|
|
321
|
-
this.watchDog = setInterval(() => {
|
|
322
|
-
if (this.lastScroll < Date.now() - 120) {
|
|
323
|
-
this.onScrollEnd();
|
|
324
|
-
}
|
|
325
|
-
}, 100);
|
|
326
|
-
}
|
|
327
|
-
onScrollEnd() {
|
|
328
|
-
if (this.watchDog)
|
|
329
|
-
clearInterval(this.watchDog);
|
|
330
|
-
this.watchDog = null;
|
|
331
|
-
if (this.isScrolling) {
|
|
332
|
-
this.isScrolling = false;
|
|
333
|
-
this.ionScrollEnd.emit({
|
|
334
|
-
isScrolling: false,
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
render() {
|
|
339
|
-
const { fixedSlotPlacement, inheritedAttributes, isMainContent, scrollX, scrollY, el } = this;
|
|
340
|
-
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
341
|
-
const mode = getIonMode(this);
|
|
342
|
-
const forceOverscroll = this.shouldForceOverscroll();
|
|
343
|
-
const transitionShadow = mode === 'ios';
|
|
344
|
-
this.resize();
|
|
345
|
-
return (h(Host, Object.assign({ key: '92a7cbc2e9c812930f4231bd846411933a5dded6', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
|
|
346
|
-
[mode]: true,
|
|
347
|
-
'content-sizing': hostContext('ion-popover', this.el),
|
|
348
|
-
overscroll: forceOverscroll,
|
|
349
|
-
[`content-${rtl}`]: true,
|
|
350
|
-
}), style: {
|
|
351
|
-
'--offset-top': `${this.cTop}px`,
|
|
352
|
-
'--offset-bottom': `${this.cBottom}px`,
|
|
353
|
-
} }, inheritedAttributes), h("div", { key: '52498d8874b9944b8245e448ea9dfc75b3929c2d', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '00e157a53485b285300404178436276afceb63f5', class: {
|
|
354
|
-
'inner-scroll': true,
|
|
355
|
-
'scroll-x': scrollX,
|
|
356
|
-
'scroll-y': scrollY,
|
|
357
|
-
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
358
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '8522320514a2e8a63f7dc9ade6c1fb3fb00f454e' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
|
|
359
|
-
}
|
|
360
|
-
get el() { return this; }
|
|
361
|
-
static get style() { return IonContentStyle0; }
|
|
362
|
-
}, [1, "ion-content", {
|
|
363
|
-
"color": [513],
|
|
364
|
-
"fullscreen": [4],
|
|
365
|
-
"fixedSlotPlacement": [1, "fixed-slot-placement"],
|
|
366
|
-
"forceOverscroll": [1028, "force-overscroll"],
|
|
367
|
-
"scrollX": [4, "scroll-x"],
|
|
368
|
-
"scrollY": [4, "scroll-y"],
|
|
369
|
-
"scrollEvents": [4, "scroll-events"],
|
|
370
|
-
"getScrollElement": [64],
|
|
371
|
-
"getBackgroundElement": [64],
|
|
372
|
-
"scrollToTop": [64],
|
|
373
|
-
"scrollToBottom": [64],
|
|
374
|
-
"scrollByPoint": [64],
|
|
375
|
-
"scrollToPoint": [64]
|
|
376
|
-
}, [[9, "resize", "onResize"]]]);
|
|
377
|
-
const getParentElement = (el) => {
|
|
378
|
-
var _a;
|
|
379
|
-
if (el.parentElement) {
|
|
380
|
-
// normal element with a parent element
|
|
381
|
-
return el.parentElement;
|
|
382
|
-
}
|
|
383
|
-
if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
|
|
384
|
-
// shadow dom's document fragment
|
|
385
|
-
return el.parentNode.host;
|
|
386
|
-
}
|
|
387
|
-
return null;
|
|
388
|
-
};
|
|
389
|
-
const getPageElement = (el) => {
|
|
390
|
-
const tabs = el.closest('ion-tabs');
|
|
391
|
-
if (tabs) {
|
|
392
|
-
return tabs;
|
|
393
|
-
}
|
|
394
|
-
/**
|
|
395
|
-
* If we're in a popover, we need to use its wrapper so we can account for space
|
|
396
|
-
* between the popover and the edges of the screen. But if the popover contains
|
|
397
|
-
* its own page element, we should use that instead.
|
|
398
|
-
*/
|
|
399
|
-
const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');
|
|
400
|
-
if (page) {
|
|
401
|
-
return page;
|
|
402
|
-
}
|
|
403
|
-
return getParentElement(el);
|
|
404
|
-
};
|
|
405
|
-
// ******** DOM READ ****************
|
|
406
|
-
const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
|
|
407
|
-
const prevX = detail.currentX;
|
|
408
|
-
const prevY = detail.currentY;
|
|
409
|
-
const prevT = detail.currentTime;
|
|
410
|
-
const currentX = el.scrollLeft;
|
|
411
|
-
const currentY = el.scrollTop;
|
|
412
|
-
const timeDelta = timestamp - prevT;
|
|
413
|
-
if (shouldStart) {
|
|
414
|
-
// remember the start positions
|
|
415
|
-
detail.startTime = timestamp;
|
|
416
|
-
detail.startX = currentX;
|
|
417
|
-
detail.startY = currentY;
|
|
418
|
-
detail.velocityX = detail.velocityY = 0;
|
|
419
|
-
}
|
|
420
|
-
detail.currentTime = timestamp;
|
|
421
|
-
detail.currentX = detail.scrollLeft = currentX;
|
|
422
|
-
detail.currentY = detail.scrollTop = currentY;
|
|
423
|
-
detail.deltaX = currentX - detail.startX;
|
|
424
|
-
detail.deltaY = currentY - detail.startY;
|
|
425
|
-
if (timeDelta > 0 && timeDelta < 100) {
|
|
426
|
-
const velocityX = (currentX - prevX) / timeDelta;
|
|
427
|
-
const velocityY = (currentY - prevY) / timeDelta;
|
|
428
|
-
detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;
|
|
429
|
-
detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;
|
|
430
|
-
}
|
|
431
|
-
};
|
|
432
|
-
function defineCustomElement$1() {
|
|
433
|
-
if (typeof customElements === "undefined") {
|
|
434
|
-
return;
|
|
435
|
-
}
|
|
436
|
-
const components = ["ion-content"];
|
|
437
|
-
components.forEach(tagName => { switch (tagName) {
|
|
438
|
-
case "ion-content":
|
|
439
|
-
if (!customElements.get(tagName)) {
|
|
440
|
-
customElements.define(tagName, Content);
|
|
441
|
-
}
|
|
442
|
-
break;
|
|
443
|
-
} });
|
|
444
|
-
}
|
|
4
|
+
import { C as Content, d as defineCustomElement$1 } from './content.js';
|
|
445
5
|
|
|
446
6
|
const IonContent = Content;
|
|
447
7
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -337,11 +337,11 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
337
337
|
render() {
|
|
338
338
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
339
339
|
const mode = getIonMode(this);
|
|
340
|
-
return (h(Host, { key: '
|
|
340
|
+
return (h(Host, { key: '26e606af6f067a5774db37ed41387ffebb941777', class: createColorClasses(color, {
|
|
341
341
|
[mode]: true,
|
|
342
342
|
[`${selectedButton}-active`]: datetimeActive,
|
|
343
343
|
['datetime-button-disabled']: disabled,
|
|
344
|
-
}) }, dateText && (h("button", { key: '
|
|
344
|
+
}) }, dateText && (h("button", { key: '6b7aa66a15b4a6d89d411e40586de28a2ac9f343', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'd42f34fd167be34386319e7ea788c2ab03c90b87', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '47dd34f3c2799064cac7a5fe25440ecc043950f0' }))), timeText && (h("button", { key: 'd77424a20fae320654774c7bfc8a8e2369d3afe3', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: 'ac088a78141bb53f2efd48dd7745f8954c92378b', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: 'b3a58ddfd28b9396e2518ffd62a045ec13d8b9d0' })))));
|
|
345
345
|
}
|
|
346
346
|
get el() { return this; }
|
|
347
347
|
static get style() { return {
|
|
@@ -1761,7 +1761,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1761
1761
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1762
1762
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1763
1763
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1764
|
-
return (h(Host, { key: '
|
|
1764
|
+
return (h(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1765
1765
|
[mode]: true,
|
|
1766
1766
|
['datetime-readonly']: readonly,
|
|
1767
1767
|
['datetime-disabled']: disabled,
|
|
@@ -1771,7 +1771,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1771
1771
|
[`datetime-size-${size}`]: true,
|
|
1772
1772
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1773
1773
|
[`datetime-grid`]: isGridStyle,
|
|
1774
|
-
})) }, h("div", { key: '
|
|
1774
|
+
})) }, h("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1775
1775
|
}
|
|
1776
1776
|
get el() { return this; }
|
|
1777
1777
|
static get watchers() { return {
|
|
@@ -71,7 +71,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
71
71
|
rel: this.rel,
|
|
72
72
|
target: this.target,
|
|
73
73
|
};
|
|
74
|
-
return (h(Host, { key: '
|
|
74
|
+
return (h(Host, { key: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
75
75
|
[mode]: true,
|
|
76
76
|
'fab-button-in-list': inList,
|
|
77
77
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -82,7 +82,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-focusable': true,
|
|
84
84
|
[`fab-button-${size}`]: size !== undefined,
|
|
85
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
85
|
+
}) }, h(TagType, Object.assign({ key: '914561622c0c6bd41453e828a7d8a39f924875ac' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, h("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && h("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
|
|
86
86
|
}
|
|
87
87
|
get el() { return this; }
|
|
88
88
|
static get style() { return {
|
|
@@ -25,11 +25,11 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
|
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
27
|
const mode = getIonMode(this);
|
|
28
|
-
return (h(Host, { key: '
|
|
28
|
+
return (h(Host, { key: '64b33366447f66c7f979cfac56307fbb1a6fac1c', class: {
|
|
29
29
|
[mode]: true,
|
|
30
30
|
'fab-list-active': this.activated,
|
|
31
31
|
[`fab-list-side-${this.side}`]: true,
|
|
32
|
-
} }, h("slot", { key: '
|
|
32
|
+
} }, h("slot", { key: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
|
|
33
33
|
}
|
|
34
34
|
get el() { return this; }
|
|
35
35
|
static get watchers() { return {
|
package/components/ion-fab.js
CHANGED
|
@@ -54,12 +54,12 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
|
|
|
54
54
|
render() {
|
|
55
55
|
const { horizontal, vertical, edge } = this;
|
|
56
56
|
const mode = getIonMode(this);
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', class: {
|
|
58
58
|
[mode]: true,
|
|
59
59
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
60
60
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
61
61
|
'fab-edge': edge,
|
|
62
|
-
} }, h("slot", { key: '
|
|
62
|
+
} }, h("slot", { key: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
|
|
63
63
|
}
|
|
64
64
|
get el() { return this; }
|
|
65
65
|
static get watchers() { return {
|
package/components/ion-footer.js
CHANGED
|
@@ -115,7 +115,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
115
115
|
const mode = getIonMode(this);
|
|
116
116
|
const tabs = this.el.closest('ion-tabs');
|
|
117
117
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
118
|
-
return (h(Host, { key: '
|
|
118
|
+
return (h(Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
|
|
119
119
|
[mode]: true,
|
|
120
120
|
// Used internally for styling
|
|
121
121
|
[`footer-${mode}`]: true,
|
|
@@ -123,7 +123,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
123
123
|
[`footer-translucent-${mode}`]: translucent,
|
|
124
124
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
125
125
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
126
|
-
} }, mode === 'ios' && translucent && h("div", { key: '
|
|
126
|
+
} }, mode === 'ios' && translucent && h("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), h("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
|
|
127
127
|
}
|
|
128
128
|
get el() { return this; }
|
|
129
129
|
static get style() { return {
|
package/components/ion-grid.js
CHANGED
|
@@ -16,10 +16,10 @@ const Grid = /*@__PURE__*/ proxyCustomElement(class Grid extends HTMLElement {
|
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
18
|
const mode = getIonMode(this);
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
|
|
20
20
|
[mode]: true,
|
|
21
21
|
'grid-fixed': this.fixed,
|
|
22
|
-
} }, h("slot", { key: '
|
|
22
|
+
} }, h("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
|
|
23
23
|
}
|
|
24
24
|
static get style() { return IonGridStyle0; }
|
|
25
25
|
}, [1, "ion-grid", {
|