@ionic/core 8.8.9-dev.11780493108.1d8e1a89 → 8.8.9-dev.11780493937.17fe092d

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.
Files changed (48) hide show
  1. package/components/ion-content.js +1 -1
  2. package/components/ion-footer.js +1 -1
  3. package/components/ion-gallery.js +1 -1
  4. package/components/ion-header.js +1 -1
  5. package/components/ion-select-modal.js +1 -1
  6. package/components/ion-select.js +1 -1
  7. package/components/p-BF5oFX1I.js +4 -0
  8. package/components/p-CpFORZud.js +4 -0
  9. package/components/p-d77Zk1DK.js +4 -0
  10. package/components/p-hdGd8ben.js +4 -0
  11. package/dist/cjs/ion-app_8.cjs.entry.js +286 -28
  12. package/dist/cjs/ion-gallery.cjs.entry.js +7 -26
  13. package/dist/collection/components/content/content.css +56 -0
  14. package/dist/collection/components/footer/footer.ios.css +13 -0
  15. package/dist/collection/components/footer/footer.js +65 -18
  16. package/dist/collection/components/footer/footer.md.css +13 -0
  17. package/dist/collection/components/footer/footer.utils.js +9 -0
  18. package/dist/collection/components/gallery/gallery.js +9 -14
  19. package/dist/collection/components/header/header.ionic.css +75 -0
  20. package/dist/collection/components/header/header.ios.css +75 -0
  21. package/dist/collection/components/header/header.js +41 -11
  22. package/dist/collection/components/header/header.md.css +75 -0
  23. package/dist/collection/components/header/header.utils.js +9 -0
  24. package/dist/collection/utils/css-value-validation.js +0 -14
  25. package/dist/collection/utils/on-scroll/collapse-hide.utils.js +168 -0
  26. package/dist/docs.json +18 -10
  27. package/dist/esm/ion-app_8.entry.js +286 -28
  28. package/dist/esm/ion-gallery.entry.js +7 -26
  29. package/dist/html.html-data.json +9 -3
  30. package/dist/ionic/ionic.esm.js +1 -1
  31. package/dist/ionic/p-04b5794c.entry.js +4 -0
  32. package/dist/ionic/p-ad4d0138.entry.js +4 -0
  33. package/dist/types/components/footer/footer.d.ts +12 -2
  34. package/dist/types/components/footer/footer.utils.d.ts +1 -0
  35. package/dist/types/components/gallery/gallery.d.ts +4 -6
  36. package/dist/types/components/header/header.d.ts +10 -3
  37. package/dist/types/components/header/header.utils.d.ts +1 -0
  38. package/dist/types/components.d.ts +12 -12
  39. package/dist/types/utils/css-value-validation.d.ts +0 -9
  40. package/dist/types/utils/on-scroll/collapse-hide.utils.d.ts +26 -0
  41. package/hydrate/index.js +293 -54
  42. package/hydrate/index.mjs +293 -54
  43. package/package.json +1 -1
  44. package/components/p-7kL3tltU.js +0 -4
  45. package/components/p-BGiYL2RS.js +0 -4
  46. package/components/p-LB-QPk3e.js +0 -4
  47. package/dist/ionic/p-290778c1.entry.js +0 -4
  48. package/dist/ionic/p-70ee89c9.entry.js +0 -4
@@ -1454,9 +1454,9 @@ export namespace Components {
1454
1454
  }
1455
1455
  interface IonFooter {
1456
1456
  /**
1457
- * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
1457
+ * Describes the scroll effect that will be applied to the footer. - `"fade"` only applies when the theme is `"ios"`. - `"hide"` applies to all themes (`"ios"`, `"md"`, and `"ionic"`): the footer slides down and fades out after cumulative downward scrolling on the page content, and returns on any upward scroll (same behavior as `ion-header[collapse="hide"]`).
1458
1458
  */
1459
- "collapse"?: 'fade';
1459
+ "collapse"?: 'fade' | 'hide';
1460
1460
  /**
1461
1461
  * The mode determines the platform behaviors of the component.
1462
1462
  */
@@ -1478,7 +1478,7 @@ export namespace Components {
1478
1478
  */
1479
1479
  "columns": GalleryColumns;
1480
1480
  /**
1481
- * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
1481
+ * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
1482
1482
  * @default DEFAULT_GAP
1483
1483
  */
1484
1484
  "gap": GalleryGap;
@@ -1517,9 +1517,9 @@ export namespace Components {
1517
1517
  }
1518
1518
  interface IonHeader {
1519
1519
  /**
1520
- * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1520
+ * Describes the scroll effect that will be applied to the header. - `"condense"` and `"fade"` only apply when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles). - `"hide"` applies to all themes (`"ios"`, `"md"`, and `"ionic"`): the header slides up and fades out after cumulative downward scrolling on the page content, and returns on any upward scroll.
1521
1521
  */
1522
- "collapse"?: 'condense' | 'fade';
1522
+ "collapse"?: 'condense' | 'fade' | 'hide';
1523
1523
  /**
1524
1524
  * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
1525
1525
  * @default false
@@ -7464,9 +7464,9 @@ declare namespace LocalJSX {
7464
7464
  }
7465
7465
  interface IonFooter {
7466
7466
  /**
7467
- * Describes the scroll effect that will be applied to the footer. Only applies when the theme is `"ios"`.
7467
+ * Describes the scroll effect that will be applied to the footer. - `"fade"` only applies when the theme is `"ios"`. - `"hide"` applies to all themes (`"ios"`, `"md"`, and `"ionic"`): the footer slides down and fades out after cumulative downward scrolling on the page content, and returns on any upward scroll (same behavior as `ion-header[collapse="hide"]`).
7468
7468
  */
7469
- "collapse"?: 'fade';
7469
+ "collapse"?: 'fade' | 'hide';
7470
7470
  /**
7471
7471
  * The mode determines the platform behaviors of the component.
7472
7472
  */
@@ -7488,7 +7488,7 @@ declare namespace LocalJSX {
7488
7488
  */
7489
7489
  "columns"?: GalleryColumns;
7490
7490
  /**
7491
- * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, CSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
7491
+ * The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage) values like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`, or numbers (treated as pixel values). Can also be set as a breakpoint map (e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept space-separated values or CSS keyword values like `inherit`, `auto`, etc.
7492
7492
  * @default DEFAULT_GAP
7493
7493
  */
7494
7494
  "gap"?: GalleryGap;
@@ -7527,9 +7527,9 @@ declare namespace LocalJSX {
7527
7527
  }
7528
7528
  interface IonHeader {
7529
7529
  /**
7530
- * Describes the scroll effect that will be applied to the header. Only applies when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
7530
+ * Describes the scroll effect that will be applied to the header. - `"condense"` and `"fade"` only apply when the theme is `"ios"`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles). - `"hide"` applies to all themes (`"ios"`, `"md"`, and `"ionic"`): the header slides up and fades out after cumulative downward scrolling on the page content, and returns on any upward scroll.
7531
7531
  */
7532
- "collapse"?: 'condense' | 'fade';
7532
+ "collapse"?: 'condense' | 'fade' | 'hide';
7533
7533
  /**
7534
7534
  * If `true`, the header will have a line at the bottom. TODO(ROU-10855): add support for this prop on ios/md themes
7535
7535
  * @default false
@@ -10778,7 +10778,7 @@ declare namespace LocalJSX {
10778
10778
  "side": 'start' | 'end' | 'top' | 'bottom';
10779
10779
  }
10780
10780
  interface IonFooterAttributes {
10781
- "collapse": 'fade';
10781
+ "collapse": 'fade' | 'hide';
10782
10782
  "translucent": boolean;
10783
10783
  }
10784
10784
  interface IonGalleryAttributes {
@@ -10791,7 +10791,7 @@ declare namespace LocalJSX {
10791
10791
  "fixed": boolean;
10792
10792
  }
10793
10793
  interface IonHeaderAttributes {
10794
- "collapse": 'condense' | 'fade';
10794
+ "collapse": 'condense' | 'fade' | 'hide';
10795
10795
  "divider": boolean;
10796
10796
  "translucent": boolean;
10797
10797
  }
@@ -10,12 +10,3 @@
10
10
  * @param value String value to validate.
11
11
  */
12
12
  export declare function isValidLengthPercentage(value: string): boolean;
13
- /**
14
- * Returns whether `value` is a single [`var()`](https://developer.mozilla.org/en-US/docs/Web/CSS/var)
15
- * reference, e.g. `var(--my-token)` or `var(--my-token, 16px)`. The referenced
16
- * custom property is resolved by the browser, so the resolved value is not
17
- * validated here.
18
- *
19
- * @param value String value to validate.
20
- */
21
- export declare function isCssVariable(value: string): boolean;
@@ -0,0 +1,26 @@
1
+ /** Cumulative downward delta before hiding (header or footer `collapse="hide"`). */
2
+ export declare const COLLAPSE_HIDE_THRESHOLD_PX = 24;
3
+ /**
4
+ * Cumulative upward delta before showing again after hide. Small bias
5
+ * (instead of "any upward delta") guards against inertial-scroll
6
+ * oscillation flicking the region back open during a downward gesture.
7
+ */
8
+ export declare const COLLAPSE_SHOW_THRESHOLD_PX = 5;
9
+ export interface CollapseHideInteractionConfig {
10
+ regionEl: HTMLElement;
11
+ scrollEl: HTMLElement;
12
+ /** Custom property set on the region and on `ion-content` (e.g. `--header-hide-slide-y`). */
13
+ slideCssVar: string;
14
+ contentPartnerClass: string;
15
+ contentHiddenClass: string;
16
+ regionHiddenClass: string;
17
+ }
18
+ /**
19
+ * Scroll/wheel-driven hide/show for `collapse="hide"` on `ion-header` or `ion-footer`.
20
+ * Hide after {@link COLLAPSE_HIDE_THRESHOLD_PX}px cumulative downward delta; show after
21
+ * {@link COLLAPSE_SHOW_THRESHOLD_PX}px cumulative upward delta. Each direction drains
22
+ * (not resets) the opposing accumulator so inertial-scroll jitter doesn't stall either
23
+ * transition. Motion is defined in component SCSS and `content.scss`; this toggles
24
+ * classes and syncs the slide distance CSS var.
25
+ */
26
+ export declare const createCollapseHideInteraction: ({ regionEl, scrollEl, slideCssVar, contentPartnerClass, contentHiddenClass, regionHiddenClass, }: CollapseHideInteractionConfig) => (() => void);