voyager-ionic-core 8.8.2 → 8.8.5
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-checkbox.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/p-0z8QSI5b.js +4 -0
- package/components/{p-ApmKVjaE.js → p-BGHGpkPX.js} +1 -1
- package/components/p-BlNv564p.js +4 -0
- package/components/p-D-cP12ZN.js +4 -0
- package/components/p-D3Ti70Hx.js +4 -0
- package/components/{p-Bk2zuNWT.js → p-DvOO1fxp.js} +1 -1
- package/components/p-FBcnjE5W.js +4 -0
- package/components/p-SBseW5KJ.js +4 -0
- package/css/palettes/dark.always.css +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +39 -32
- package/dist/cjs/ion-datetime_3.cjs.entry.js +17 -6
- package/dist/cjs/ion-input-otp.cjs.entry.js +21 -6
- package/dist/cjs/ion-modal.cjs.entry.js +99 -45
- package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
- package/dist/cjs/ion-radio_2.cjs.entry.js +13 -1
- package/dist/cjs/ion-select-modal.cjs.entry.js +18 -7
- package/dist/cjs/ion-select_3.cjs.entry.js +18 -7
- package/dist/collection/components/action-sheet/action-sheet.js +4 -4
- package/dist/collection/components/checkbox/checkbox.js +39 -32
- package/dist/collection/components/content/content.css +1 -1
- package/dist/collection/components/datetime/datetime.js +17 -6
- package/dist/collection/components/input-otp/input-otp.js +21 -6
- package/dist/collection/components/modal/modal.js +73 -44
- package/dist/collection/components/modal/safe-area-utils.js +27 -2
- package/dist/collection/components/picker-column/picker-column.js +5 -5
- package/dist/collection/components/radio-group/radio-group.js +13 -1
- package/dist/collection/components/radio-group/test/fixtures.js +2 -2
- package/dist/collection/components/select-modal/select-modal.js +18 -7
- package/dist/collection/components/select-modal/test/fixtures.js +4 -0
- package/dist/collection/components/select-popover/select-popover.js +18 -7
- package/dist/collection/components/select-popover/test/fixtures.js +4 -0
- package/dist/docs.json +1 -1
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +39 -32
- package/dist/esm/ion-datetime_3.entry.js +17 -6
- package/dist/esm/ion-input-otp.entry.js +21 -6
- package/dist/esm/ion-modal.entry.js +99 -45
- package/dist/esm/ion-picker-column.entry.js +5 -5
- package/dist/esm/ion-radio_2.entry.js +13 -1
- package/dist/esm/ion-select-modal.entry.js +18 -7
- package/dist/esm/ion-select_3.entry.js +18 -7
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-078037da.entry.js +4 -0
- package/dist/ionic/p-23ec35e4.entry.js +4 -0
- package/dist/ionic/p-268a3397.entry.js +4 -0
- package/dist/ionic/p-28a9e720.entry.js +4 -0
- package/dist/ionic/p-4c67ce4c.entry.js +4 -0
- package/dist/ionic/p-87125490.entry.js +4 -0
- package/dist/ionic/{p-4dd5e8e0.entry.js → p-8fda6a62.entry.js} +1 -1
- package/dist/ionic/{p-9eac4eb1.entry.js → p-aa812c4b.entry.js} +1 -1
- package/dist/ionic/p-cb27fe68.entry.js +4 -0
- package/dist/ionic/p-ce2edb36.entry.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +0 -1
- package/dist/types/components/datetime/datetime.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +41 -3
- package/dist/types/components/modal/safe-area-utils.d.ts +16 -0
- package/dist/types/components/radio-group/test/fixtures.d.ts +1 -1
- package/dist/types/components/select-modal/select-modal.d.ts +1 -0
- package/dist/types/components/select-modal/test/fixtures.d.ts +1 -0
- package/dist/types/components/select-popover/select-popover.d.ts +1 -0
- package/dist/types/components/select-popover/test/fixtures.d.ts +1 -0
- package/hydrate/index.js +199 -87
- package/hydrate/index.mjs +199 -87
- package/package.json +4 -4
- package/components/p-1KVKSLu5.js +0 -4
- package/components/p-BI7WNErr.js +0 -4
- package/components/p-C7AoMl7c.js +0 -4
- package/components/p-D6pdfDIA.js +0 -4
- package/components/p-cvHphHJA.js +0 -4
- package/components/p-e-EDj2CO.js +0 -4
- package/dist/ionic/p-2d4eb1b4.entry.js +0 -4
- package/dist/ionic/p-3e143d1d.entry.js +0 -4
- package/dist/ionic/p-51c11c47.entry.js +0 -4
- package/dist/ionic/p-5681dde4.entry.js +0 -4
- package/dist/ionic/p-9fae83d8.entry.js +0 -4
- package/dist/ionic/p-c744307d.entry.js +0 -4
- package/dist/ionic/p-cb78f5a0.entry.js +0 -4
- package/dist/ionic/p-e6c5f060.entry.js +0 -4
|
@@ -382,6 +382,11 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
|
|
|
382
382
|
private onDragEnd;
|
|
383
383
|
/**
|
|
384
384
|
* Creates the context object for safe-area utilities.
|
|
385
|
+
*
|
|
386
|
+
* `hasCustomDimensions` is only set by `setInitialSafeAreaOverrides()`
|
|
387
|
+
* because it is only read by `getInitialSafeAreaConfig()`. Other callers
|
|
388
|
+
* (resize handler, post-animation update, fullscreen-padding apply) would
|
|
389
|
+
* pay a `getComputedStyle()` cost for a value they never consult.
|
|
385
390
|
*/
|
|
386
391
|
private getSafeAreaContext;
|
|
387
392
|
/**
|
|
@@ -407,12 +412,45 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
|
|
|
407
412
|
*/
|
|
408
413
|
private updateSafeAreaOverrides;
|
|
409
414
|
/**
|
|
410
|
-
* Applies
|
|
411
|
-
*
|
|
415
|
+
* Applies safe-area-bottom scroll padding to ion-content inside
|
|
416
|
+
* fullscreen modals that have no ion-footer. This prevents content
|
|
417
|
+
* from being hidden behind the system navigation bar while keeping
|
|
418
|
+
* the modal background edge-to-edge (no visible gap).
|
|
412
419
|
*/
|
|
413
420
|
private applyFullscreenSafeArea;
|
|
414
421
|
/**
|
|
415
|
-
*
|
|
422
|
+
* Sets --ion-content-safe-area-padding-bottom on the given ion-content
|
|
423
|
+
* when no footer is present, so ion-content's .inner-scroll includes
|
|
424
|
+
* safe-area-bottom in its scroll padding. This keeps the modal background
|
|
425
|
+
* edge-to-edge while ensuring content scrolls clear of the system nav bar.
|
|
426
|
+
*
|
|
427
|
+
* --ion-content-safe-area-padding-bottom is an internal CSS property used
|
|
428
|
+
* only by this code path. It is not part of ion-content's public API and
|
|
429
|
+
* should not be set by consumers. The default of 0px makes it a no-op
|
|
430
|
+
* when unset, which is the expected state for ion-content used outside of
|
|
431
|
+
* a fullscreen modal without a footer.
|
|
432
|
+
*/
|
|
433
|
+
private applyFullscreenSafeAreaTo;
|
|
434
|
+
/**
|
|
435
|
+
* Removes the internal --ion-content-safe-area-padding-bottom property
|
|
436
|
+
* from an already-located ion-content. Callers do their own
|
|
437
|
+
* findContentAndFooter() so they can also read hasFooter if needed.
|
|
438
|
+
*/
|
|
439
|
+
private clearContentSafeAreaPadding;
|
|
440
|
+
/**
|
|
441
|
+
* Finds ion-content and ion-footer among direct children and one level of
|
|
442
|
+
* grandchildren (for wrapped components like <app-footer><ion-footer>).
|
|
443
|
+
*
|
|
444
|
+
* Intentionally does NOT use findIonContent() or querySelector() because
|
|
445
|
+
* those search the full subtree and would match ion-content inside nested
|
|
446
|
+
* routes/pages. We only want direct slot children (+ one wrapper level).
|
|
447
|
+
*
|
|
448
|
+
* Uses a manual loop instead of querySelector(':scope > ...') because
|
|
449
|
+
* Stencil's mock-doc (used in spec tests) does not support :scope.
|
|
450
|
+
*/
|
|
451
|
+
private findContentAndFooter;
|
|
452
|
+
/**
|
|
453
|
+
* Clears all safe-area overrides and padding.
|
|
416
454
|
*/
|
|
417
455
|
private cleanupSafeAreaOverrides;
|
|
418
456
|
render(): any;
|
|
@@ -18,6 +18,11 @@ export interface ModalSafeAreaContext {
|
|
|
18
18
|
presentingElement?: HTMLElement;
|
|
19
19
|
breakpoints?: number[];
|
|
20
20
|
currentBreakpoint?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Only consulted by `getInitialSafeAreaConfig()`. Callers that only use the
|
|
23
|
+
* context for non-initial paths can omit this. See `hasCustomModalDimensions()`.
|
|
24
|
+
*/
|
|
25
|
+
hasCustomDimensions?: boolean;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
23
28
|
* Resolves the current root --ion-safe-area-top value to pixels.
|
|
@@ -28,6 +33,17 @@ export interface ModalSafeAreaContext {
|
|
|
28
33
|
* Results are cached for the current frame to avoid repeated reflows.
|
|
29
34
|
*/
|
|
30
35
|
export declare const getRootSafeAreaTop: () => number;
|
|
36
|
+
/**
|
|
37
|
+
* True when the modal host declares BOTH a non-fullscreen `--width` AND a
|
|
38
|
+
* non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
|
|
39
|
+
* touch any screen edge).
|
|
40
|
+
*
|
|
41
|
+
* The conservative "both axes" check avoids mis-zeroing safe-area for
|
|
42
|
+
* partial-custom modals where the modal still touches top/bottom edges
|
|
43
|
+
* (e.g. only `--width` overridden). Partial cases fall through to the
|
|
44
|
+
* existing position-based post-animation correction.
|
|
45
|
+
*/
|
|
46
|
+
export declare const hasCustomModalDimensions: (hostEl: HTMLElement) => boolean;
|
|
31
47
|
/**
|
|
32
48
|
* Returns the initial safe-area configuration based on modal type.
|
|
33
49
|
* This is called before animation starts and uses configuration-based prediction.
|
|
@@ -3,6 +3,6 @@ export declare class RadioFixture {
|
|
|
3
3
|
readonly page: E2EPage;
|
|
4
4
|
private radio;
|
|
5
5
|
constructor(page: E2EPage);
|
|
6
|
-
checkRadio(method: 'keyboard' | 'mouse', selector?: string): Promise<import("@utils/test/playwright").E2ELocator>;
|
|
6
|
+
checkRadio(method: 'keyboard' | 'mouse', selector?: string, key?: 'Space' | 'Enter'): Promise<import("@utils/test/playwright").E2ELocator>;
|
|
7
7
|
expectChecked(state: boolean): Promise<void>;
|
|
8
8
|
}
|
|
@@ -2,6 +2,7 @@ import type { ComponentInterface } from '../../stencil-public-runtime';
|
|
|
2
2
|
import type { SelectModalOption } from './select-modal-interface';
|
|
3
3
|
export declare class SelectModal implements ComponentInterface {
|
|
4
4
|
el: HTMLIonSelectModalElement;
|
|
5
|
+
private pendingEnterTarget;
|
|
5
6
|
header?: string;
|
|
6
7
|
/**
|
|
7
8
|
* The text to display on the cancel button.
|
|
@@ -12,5 +12,6 @@ export declare class SelectModalPage {
|
|
|
12
12
|
screenshot(screenshot: ScreenshotFn, name: string): Promise<void>;
|
|
13
13
|
clickOption(value: string): Promise<void>;
|
|
14
14
|
pressSpaceOnOption(value: string): Promise<void>;
|
|
15
|
+
pressEnterOnOption(value: string): Promise<void>;
|
|
15
16
|
private getOption;
|
|
16
17
|
}
|
|
@@ -12,5 +12,6 @@ export declare class SelectPopoverPage {
|
|
|
12
12
|
screenshot(screenshot: ScreenshotFn, name: string): Promise<void>;
|
|
13
13
|
clickOption(value: string): Promise<void>;
|
|
14
14
|
pressSpaceOnOption(value: string): Promise<void>;
|
|
15
|
+
pressEnterOnOption(value: string): Promise<void>;
|
|
15
16
|
private getOption;
|
|
16
17
|
}
|