@ionic/core 8.8.6-dev.11777559143.1d1ad1ad → 8.8.6-dev.11777569278.1613db2e
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-ByuCfbYy.js → p-BCFZKMI6.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-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 +330 -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-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +103 -0
- package/dist/collection/components/gallery/gallery.js +421 -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/media.js +1 -0
- package/dist/docs.json +212 -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 +328 -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 +70 -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-79ae0425.entry.js → p-05a30032.entry.js} +1 -1
- package/dist/ionic/{p-192e7509.entry.js → p-15e3e8f5.entry.js} +1 -1
- package/dist/ionic/{p-5ac21be2.entry.js → p-1709b0aa.entry.js} +1 -1
- package/dist/ionic/{p-2bf931ae.entry.js → p-1c2c1869.entry.js} +1 -1
- package/dist/ionic/{p-3bf01c2c.entry.js → p-1c4de46b.entry.js} +1 -1
- package/dist/ionic/p-1e1c8d61.entry.js +4 -0
- package/dist/ionic/p-24b35f99.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-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-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-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-a53a3ecc.entry.js → p-8f127a9c.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-b0c54b4c.entry.js → p-d976e777.entry.js} +1 -1
- package/dist/ionic/{p-4610e447.entry.js → p-e18d3fdb.entry.js} +1 -1
- package/dist/ionic/{p-1855fcb6.entry.js → p-e3abffbe.entry.js} +1 -1
- package/dist/ionic/{p-4c864eb2.entry.js → p-fad05840.entry.js} +1 -1
- package/dist/types/components/gallery/gallery-interface.d.ts +9 -0
- package/dist/types/components/gallery/gallery.d.ts +125 -0
- package/dist/types/components/gallery/test/utils.d.ts +2 -0
- package/dist/types/components.d.ts +66 -0
- package/hydrate/index.js +469 -126
- package/hydrate/index.mjs +469 -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
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { ComponentInterface } from '../../stencil-public-runtime';
|
|
2
|
+
import type { GalleryColumns } from './gallery-interface';
|
|
3
|
+
/**
|
|
4
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
5
|
+
* @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
|
|
6
|
+
*
|
|
7
|
+
* @slot - Content is placed in a responsive gallery layout.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Gallery implements ComponentInterface {
|
|
10
|
+
el: HTMLIonGalleryElement;
|
|
11
|
+
private masonryRaf?;
|
|
12
|
+
private resizeObserver?;
|
|
13
|
+
private lastWidth?;
|
|
14
|
+
private hasWarnedInvalidColumns;
|
|
15
|
+
/**
|
|
16
|
+
* The visual layout of the gallery. When `uniform`, rows take up the height
|
|
17
|
+
* of the tallest item and are spaced evenly across the gallery. Additionally,
|
|
18
|
+
* items will have an aspect ratio of 1/1, forcing them to be square unless a
|
|
19
|
+
* height is explicitly set. When `masonry`, items will be positioned under each
|
|
20
|
+
* other with only the specified gap between them.
|
|
21
|
+
*/
|
|
22
|
+
layout: 'uniform' | 'masonry';
|
|
23
|
+
/**
|
|
24
|
+
* The order in which items are positioned. Only applies when layout is
|
|
25
|
+
* `masonry`. When `sequential`, items are positioned in the order they are
|
|
26
|
+
* placed in the DOM. When `best-fit`, items are positioned under the column
|
|
27
|
+
* with the most available space.
|
|
28
|
+
*/
|
|
29
|
+
order: 'sequential' | 'best-fit';
|
|
30
|
+
/**
|
|
31
|
+
* The number of columns to display. Can be set as a number or an object of
|
|
32
|
+
* breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
|
|
33
|
+
*/
|
|
34
|
+
columns: GalleryColumns;
|
|
35
|
+
protected layoutChanged(): void;
|
|
36
|
+
componentDidLoad(): void;
|
|
37
|
+
disconnectedCallback(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Listen for the load event on child elements.
|
|
40
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
41
|
+
* of the masonry grid when the child elements load. This is useful for when
|
|
42
|
+
* images take time to load.
|
|
43
|
+
*/
|
|
44
|
+
protected onChildLoad(ev: Event): void;
|
|
45
|
+
/**
|
|
46
|
+
* Listen for the slotchange event on the slot.
|
|
47
|
+
* When the layout is `masonry`, this listener is used to schedule a resize
|
|
48
|
+
* of the masonry grid when the slot changes. This is useful for when items
|
|
49
|
+
* are added or removed from the gallery.
|
|
50
|
+
*/
|
|
51
|
+
private onSlotChange;
|
|
52
|
+
/**
|
|
53
|
+
* Batch masonry measurements to a single animation frame.
|
|
54
|
+
* This avoids repeated sync layouts during rapid resize/load/slot changes.
|
|
55
|
+
*/
|
|
56
|
+
private scheduleMasonryResize;
|
|
57
|
+
/**
|
|
58
|
+
* Normalize a columns value to a positive integer.
|
|
59
|
+
* Returns undefined when the input cannot be interpreted as a finite number.
|
|
60
|
+
*/
|
|
61
|
+
private sanitizeColumns;
|
|
62
|
+
/**
|
|
63
|
+
* Check if the value is a breakpoint columns object.
|
|
64
|
+
*/
|
|
65
|
+
private isBreakpointColumns;
|
|
66
|
+
/**
|
|
67
|
+
* Check if the breakpoint columns object has any invalid values.
|
|
68
|
+
* Returns true if any value is undefined or not a positive integer.
|
|
69
|
+
*/
|
|
70
|
+
private hasInvalidBreakpointColumns;
|
|
71
|
+
/**
|
|
72
|
+
* Get the columns from a responsive breakpoint map.
|
|
73
|
+
* Returns the columns for the last matching breakpoint.
|
|
74
|
+
*/
|
|
75
|
+
private getColumnsFromBreakpointColumns;
|
|
76
|
+
/**
|
|
77
|
+
* Warn about an invalid columns value when it is set to a non-positive
|
|
78
|
+
* integer or a breakpoint map object with invalid values.
|
|
79
|
+
*/
|
|
80
|
+
private warnInvalidColumns;
|
|
81
|
+
/**
|
|
82
|
+
* Resolve the active columns value for the current width. Falls back to
|
|
83
|
+
* the default responsive columns when the provided prop is invalid.
|
|
84
|
+
*/
|
|
85
|
+
private getColumnsForWidth;
|
|
86
|
+
/**
|
|
87
|
+
* Update the responsive columns for the gallery.
|
|
88
|
+
* This is used to update the columns when the component width changes.
|
|
89
|
+
*/
|
|
90
|
+
private updateResponsiveColumns;
|
|
91
|
+
/**
|
|
92
|
+
* Return all directly slotted HTMLElement children of the gallery.
|
|
93
|
+
*/
|
|
94
|
+
private getItems;
|
|
95
|
+
/**
|
|
96
|
+
* Clear the item styles for the given item element.
|
|
97
|
+
* This is used to switch between uniform and masonry layouts.
|
|
98
|
+
*/
|
|
99
|
+
private clearItemStyles;
|
|
100
|
+
/**
|
|
101
|
+
* Clear placement styles for all items when leaving masonry mode.
|
|
102
|
+
*/
|
|
103
|
+
private clearMasonryStyles;
|
|
104
|
+
/**
|
|
105
|
+
* Convert a rendered item height to the number of grid rows it should span.
|
|
106
|
+
* Returns undefined for images that are not fully loaded yet.
|
|
107
|
+
*/
|
|
108
|
+
private calculateRowSpan;
|
|
109
|
+
/**
|
|
110
|
+
* Get the index of the column to position the item in.
|
|
111
|
+
* When the order is `best-fit`, the column with the shortest height is
|
|
112
|
+
* returned. Otherwise, items are placed in the column that matches their
|
|
113
|
+
* natural DOM order.
|
|
114
|
+
*/
|
|
115
|
+
private getColumnIndex;
|
|
116
|
+
/**
|
|
117
|
+
* Apply masonry placement by assigning each item a column and row span.
|
|
118
|
+
*/
|
|
119
|
+
private layoutMasonry;
|
|
120
|
+
/**
|
|
121
|
+
* Measure the host and children, then compute masonry placement.
|
|
122
|
+
*/
|
|
123
|
+
private resizeMasonryGrid;
|
|
124
|
+
render(): any;
|
|
125
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const sharedStyles = "\n ion-gallery {\n width: 343px;\n }\n\n div {\n color: #fff;\n height: 150px;\n }\n\n div:nth-child(1) {\n background: #ff6b6b;\n }\n\n div:nth-child(2) {\n background: #4ecdc4;\n }\n\n div:nth-child(3) {\n background: #ffe66d;\n color: #333;\n }\n\n div:nth-child(4) {\n background: #5f27cd;\n }\n\n div:nth-child(5) {\n background: #7f8c8d;\n }\n\n div:nth-child(6) {\n background: #ff9f43;\n }\n\n div:nth-child(7) {\n background: #ff3f34;\n }\n\n div:nth-child(8) {\n background: #2ecc71;\n }\n\n div:nth-child(9) {\n background: #34495e;\n }\n\n div:nth-child(10) {\n background: #1abc9c;\n }\n\n div:nth-child(11) {\n background: #e67e22;\n }\n\n div:nth-child(12) {\n background: #9b59b6;\n }\n";
|
|
2
|
+
export declare const numberToWords: (value: number) => string;
|
|
@@ -16,6 +16,7 @@ import { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
|
|
|
16
16
|
import { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
|
|
17
17
|
import { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
|
|
18
18
|
import { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
|
|
19
|
+
import { GalleryColumns } from "./components/gallery/gallery-interface";
|
|
19
20
|
import { SpinnerTypes } from "./components/spinner/spinner-configs";
|
|
20
21
|
import { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
|
|
21
22
|
import { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
|
|
@@ -54,6 +55,7 @@ export { BreadcrumbCollapsedClickEventDetail } from "./components/breadcrumb/bre
|
|
|
54
55
|
export { CheckboxChangeEventDetail } from "./components/checkbox/checkbox-interface";
|
|
55
56
|
export { ScrollBaseDetail, ScrollDetail } from "./components/content/content-interface";
|
|
56
57
|
export { DatetimeChangeEventDetail, DatetimeHighlight, DatetimeHighlightCallback, DatetimeHourCycle, DatetimePresentation, FormatOptions, TitleSelectedDatesFormatter } from "./components/datetime/datetime-interface";
|
|
58
|
+
export { GalleryColumns } from "./components/gallery/gallery-interface";
|
|
57
59
|
export { SpinnerTypes } from "./components/spinner/spinner-configs";
|
|
58
60
|
export { InputChangeEventDetail, InputInputEventDetail } from "./components/input/input-interface";
|
|
59
61
|
export { InputOtpChangeEventDetail, InputOtpCompleteEventDetail, InputOtpInputEventDetail } from "./components/input-otp/input-otp-interface";
|
|
@@ -1469,6 +1471,31 @@ export namespace Components {
|
|
|
1469
1471
|
*/
|
|
1470
1472
|
"translucent": boolean;
|
|
1471
1473
|
}
|
|
1474
|
+
interface IonGallery {
|
|
1475
|
+
/**
|
|
1476
|
+
* The number of columns to display. Can be set as a number or an object of breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
|
|
1477
|
+
* @default DEFAULT_COLUMNS
|
|
1478
|
+
*/
|
|
1479
|
+
"columns": GalleryColumns;
|
|
1480
|
+
/**
|
|
1481
|
+
* The visual layout of the gallery. When `uniform`, rows take up the height of the tallest item and are spaced evenly across the gallery. Additionally, items will have an aspect ratio of 1/1, forcing them to be square unless a height is explicitly set. When `masonry`, items will be positioned under each other with only the specified gap between them.
|
|
1482
|
+
* @default 'uniform'
|
|
1483
|
+
*/
|
|
1484
|
+
"layout": 'uniform' | 'masonry';
|
|
1485
|
+
/**
|
|
1486
|
+
* The mode determines the platform behaviors of the component.
|
|
1487
|
+
*/
|
|
1488
|
+
"mode"?: "ios" | "md";
|
|
1489
|
+
/**
|
|
1490
|
+
* The order in which items are positioned. Only applies when layout is `masonry`. When `sequential`, items are positioned in the order they are placed in the DOM. When `best-fit`, items are positioned under the column with the most available space.
|
|
1491
|
+
* @default 'sequential'
|
|
1492
|
+
*/
|
|
1493
|
+
"order": 'sequential' | 'best-fit';
|
|
1494
|
+
/**
|
|
1495
|
+
* The theme determines the visual appearance of the component.
|
|
1496
|
+
*/
|
|
1497
|
+
"theme"?: "ios" | "md" | "ionic";
|
|
1498
|
+
}
|
|
1472
1499
|
interface IonGrid {
|
|
1473
1500
|
/**
|
|
1474
1501
|
* If `true`, the grid will have a fixed width based on the screen size.
|
|
@@ -5009,6 +5036,12 @@ declare global {
|
|
|
5009
5036
|
prototype: HTMLIonFooterElement;
|
|
5010
5037
|
new (): HTMLIonFooterElement;
|
|
5011
5038
|
};
|
|
5039
|
+
interface HTMLIonGalleryElement extends Components.IonGallery, HTMLStencilElement {
|
|
5040
|
+
}
|
|
5041
|
+
var HTMLIonGalleryElement: {
|
|
5042
|
+
prototype: HTMLIonGalleryElement;
|
|
5043
|
+
new (): HTMLIonGalleryElement;
|
|
5044
|
+
};
|
|
5012
5045
|
interface HTMLIonGridElement extends Components.IonGrid, HTMLStencilElement {
|
|
5013
5046
|
}
|
|
5014
5047
|
var HTMLIonGridElement: {
|
|
@@ -5966,6 +5999,7 @@ declare global {
|
|
|
5966
5999
|
"ion-fab-button": HTMLIonFabButtonElement;
|
|
5967
6000
|
"ion-fab-list": HTMLIonFabListElement;
|
|
5968
6001
|
"ion-footer": HTMLIonFooterElement;
|
|
6002
|
+
"ion-gallery": HTMLIonGalleryElement;
|
|
5969
6003
|
"ion-grid": HTMLIonGridElement;
|
|
5970
6004
|
"ion-header": HTMLIonHeaderElement;
|
|
5971
6005
|
"ion-img": HTMLIonImgElement;
|
|
@@ -7443,6 +7477,31 @@ declare namespace LocalJSX {
|
|
|
7443
7477
|
*/
|
|
7444
7478
|
"translucent"?: boolean;
|
|
7445
7479
|
}
|
|
7480
|
+
interface IonGallery {
|
|
7481
|
+
/**
|
|
7482
|
+
* The number of columns to display. Can be set as a number or an object of breakpoint values (e.g. `{ xs: 2, sm: 3, md: 4 }`).
|
|
7483
|
+
* @default DEFAULT_COLUMNS
|
|
7484
|
+
*/
|
|
7485
|
+
"columns"?: GalleryColumns;
|
|
7486
|
+
/**
|
|
7487
|
+
* The visual layout of the gallery. When `uniform`, rows take up the height of the tallest item and are spaced evenly across the gallery. Additionally, items will have an aspect ratio of 1/1, forcing them to be square unless a height is explicitly set. When `masonry`, items will be positioned under each other with only the specified gap between them.
|
|
7488
|
+
* @default 'uniform'
|
|
7489
|
+
*/
|
|
7490
|
+
"layout"?: 'uniform' | 'masonry';
|
|
7491
|
+
/**
|
|
7492
|
+
* The mode determines the platform behaviors of the component.
|
|
7493
|
+
*/
|
|
7494
|
+
"mode"?: "ios" | "md";
|
|
7495
|
+
/**
|
|
7496
|
+
* The order in which items are positioned. Only applies when layout is `masonry`. When `sequential`, items are positioned in the order they are placed in the DOM. When `best-fit`, items are positioned under the column with the most available space.
|
|
7497
|
+
* @default 'sequential'
|
|
7498
|
+
*/
|
|
7499
|
+
"order"?: 'sequential' | 'best-fit';
|
|
7500
|
+
/**
|
|
7501
|
+
* The theme determines the visual appearance of the component.
|
|
7502
|
+
*/
|
|
7503
|
+
"theme"?: "ios" | "md" | "ionic";
|
|
7504
|
+
}
|
|
7446
7505
|
interface IonGrid {
|
|
7447
7506
|
/**
|
|
7448
7507
|
* If `true`, the grid will have a fixed width based on the screen size.
|
|
@@ -10714,6 +10773,11 @@ declare namespace LocalJSX {
|
|
|
10714
10773
|
"collapse": 'fade';
|
|
10715
10774
|
"translucent": boolean;
|
|
10716
10775
|
}
|
|
10776
|
+
interface IonGalleryAttributes {
|
|
10777
|
+
"layout": 'uniform' | 'masonry';
|
|
10778
|
+
"order": 'sequential' | 'best-fit';
|
|
10779
|
+
"columns": string;
|
|
10780
|
+
}
|
|
10717
10781
|
interface IonGridAttributes {
|
|
10718
10782
|
"fixed": boolean;
|
|
10719
10783
|
}
|
|
@@ -11262,6 +11326,7 @@ declare namespace LocalJSX {
|
|
|
11262
11326
|
"ion-fab-button": Omit<IonFabButton, keyof IonFabButtonAttributes> & { [K in keyof IonFabButton & keyof IonFabButtonAttributes]?: IonFabButton[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `attr:${K}`]?: IonFabButtonAttributes[K] } & { [K in keyof IonFabButton & keyof IonFabButtonAttributes as `prop:${K}`]?: IonFabButton[K] };
|
|
11263
11327
|
"ion-fab-list": Omit<IonFabList, keyof IonFabListAttributes> & { [K in keyof IonFabList & keyof IonFabListAttributes]?: IonFabList[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `attr:${K}`]?: IonFabListAttributes[K] } & { [K in keyof IonFabList & keyof IonFabListAttributes as `prop:${K}`]?: IonFabList[K] };
|
|
11264
11328
|
"ion-footer": Omit<IonFooter, keyof IonFooterAttributes> & { [K in keyof IonFooter & keyof IonFooterAttributes]?: IonFooter[K] } & { [K in keyof IonFooter & keyof IonFooterAttributes as `attr:${K}`]?: IonFooterAttributes[K] } & { [K in keyof IonFooter & keyof IonFooterAttributes as `prop:${K}`]?: IonFooter[K] };
|
|
11329
|
+
"ion-gallery": Omit<IonGallery, keyof IonGalleryAttributes> & { [K in keyof IonGallery & keyof IonGalleryAttributes]?: IonGallery[K] } & { [K in keyof IonGallery & keyof IonGalleryAttributes as `attr:${K}`]?: IonGalleryAttributes[K] } & { [K in keyof IonGallery & keyof IonGalleryAttributes as `prop:${K}`]?: IonGallery[K] };
|
|
11265
11330
|
"ion-grid": Omit<IonGrid, keyof IonGridAttributes> & { [K in keyof IonGrid & keyof IonGridAttributes]?: IonGrid[K] } & { [K in keyof IonGrid & keyof IonGridAttributes as `attr:${K}`]?: IonGridAttributes[K] } & { [K in keyof IonGrid & keyof IonGridAttributes as `prop:${K}`]?: IonGrid[K] };
|
|
11266
11331
|
"ion-header": Omit<IonHeader, keyof IonHeaderAttributes> & { [K in keyof IonHeader & keyof IonHeaderAttributes]?: IonHeader[K] } & { [K in keyof IonHeader & keyof IonHeaderAttributes as `attr:${K}`]?: IonHeaderAttributes[K] } & { [K in keyof IonHeader & keyof IonHeaderAttributes as `prop:${K}`]?: IonHeader[K] };
|
|
11267
11332
|
"ion-img": Omit<IonImg, keyof IonImgAttributes> & { [K in keyof IonImg & keyof IonImgAttributes]?: IonImg[K] } & { [K in keyof IonImg & keyof IonImgAttributes as `attr:${K}`]?: IonImgAttributes[K] } & { [K in keyof IonImg & keyof IonImgAttributes as `prop:${K}`]?: IonImg[K] };
|
|
@@ -11366,6 +11431,7 @@ declare module "@stencil/core" {
|
|
|
11366
11431
|
"ion-fab-button": LocalJSX.IntrinsicElements["ion-fab-button"] & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
|
|
11367
11432
|
"ion-fab-list": LocalJSX.IntrinsicElements["ion-fab-list"] & JSXBase.HTMLAttributes<HTMLIonFabListElement>;
|
|
11368
11433
|
"ion-footer": LocalJSX.IntrinsicElements["ion-footer"] & JSXBase.HTMLAttributes<HTMLIonFooterElement>;
|
|
11434
|
+
"ion-gallery": LocalJSX.IntrinsicElements["ion-gallery"] & JSXBase.HTMLAttributes<HTMLIonGalleryElement>;
|
|
11369
11435
|
"ion-grid": LocalJSX.IntrinsicElements["ion-grid"] & JSXBase.HTMLAttributes<HTMLIonGridElement>;
|
|
11370
11436
|
"ion-header": LocalJSX.IntrinsicElements["ion-header"] & JSXBase.HTMLAttributes<HTMLIonHeaderElement>;
|
|
11371
11437
|
"ion-img": LocalJSX.IntrinsicElements["ion-img"] & JSXBase.HTMLAttributes<HTMLIonImgElement>;
|