@ionic/core 8.7.13-dev.11765486444.14025098 → 8.7.13-dev.11765552290.11441928
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/header.js +2 -2
- package/components/ion-datetime-button.js +2 -2
- package/components/ion-datetime.js +59 -83
- 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-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-otp.js +3 -3
- 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 +2 -2
- 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 +2 -2
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +2 -2
- 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-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/list.js +1 -1
- package/components/modal.js +4 -4
- 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 +1 -1
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +63 -87
- 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-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 +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 +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-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 +4 -4
- 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 +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 +4 -4
- 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/collection/components/datetime/datetime.js +59 -83
- 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-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/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 +3 -3
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- 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 +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 +2 -2
- 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 +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/docs.json +1 -1
- package/dist/esm/ion-app_8.entry.js +9 -9
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +3 -3
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +63 -87
- 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-otp.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 +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-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 +4 -4
- 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 +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 +4 -4
- 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/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-074839fc.entry.js → p-01e27965.entry.js} +1 -1
- package/dist/ionic/{p-ea509e3c.entry.js → p-0852af24.entry.js} +1 -1
- package/dist/ionic/p-0ca0fe9c.entry.js +4 -0
- package/dist/ionic/{p-72c38b88.entry.js → p-20f135b4.entry.js} +1 -1
- package/dist/ionic/{p-316c0420.entry.js → p-221a3d8c.entry.js} +1 -1
- package/dist/ionic/{p-3a6caca9.entry.js → p-2668188b.entry.js} +1 -1
- package/dist/ionic/{p-d3014190.entry.js → p-2bd1ea35.entry.js} +1 -1
- package/dist/ionic/p-2ccaee5c.entry.js +4 -0
- package/dist/ionic/{p-a127bee2.entry.js → p-30333874.entry.js} +1 -1
- package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
- package/dist/ionic/{p-a8ed848b.entry.js → p-3b0b7a05.entry.js} +1 -1
- package/dist/ionic/p-43c5249f.entry.js +4 -0
- package/dist/ionic/{p-0dfa5a37.entry.js → p-530fcd71.entry.js} +1 -1
- package/dist/ionic/{p-0bf76d0f.entry.js → p-59a5cdf5.entry.js} +1 -1
- package/dist/ionic/{p-40c261a3.entry.js → p-64841854.entry.js} +1 -1
- package/dist/ionic/{p-dbbe606a.entry.js → p-652318c3.entry.js} +1 -1
- package/dist/ionic/{p-675b1a31.entry.js → p-65db57d7.entry.js} +1 -1
- package/dist/ionic/{p-0abeb0fc.entry.js → p-67f46577.entry.js} +1 -1
- package/dist/ionic/{p-cc45bcbc.entry.js → p-69c6fe52.entry.js} +1 -1
- package/dist/ionic/{p-2a939845.entry.js → p-6f37536a.entry.js} +1 -1
- package/dist/ionic/{p-cebb0328.entry.js → p-75ebaa15.entry.js} +1 -1
- package/dist/ionic/p-7f98e710.entry.js +4 -0
- package/dist/ionic/{p-6d070558.entry.js → p-82d5bb3d.entry.js} +1 -1
- package/dist/ionic/{p-11518b31.entry.js → p-85ee4a92.entry.js} +1 -1
- package/dist/ionic/{p-31f7095f.entry.js → p-a4a9f5ae.entry.js} +1 -1
- package/dist/ionic/{p-c19f63d0.entry.js → p-b30c3430.entry.js} +1 -1
- package/dist/ionic/{p-86f53961.entry.js → p-b8551510.entry.js} +1 -1
- package/dist/ionic/{p-ac4eb91d.entry.js → p-bccc9207.entry.js} +1 -1
- package/dist/ionic/{p-d126e8d3.entry.js → p-bce86e56.entry.js} +1 -1
- package/dist/ionic/{p-639dd543.entry.js → p-c175d792.entry.js} +1 -1
- package/dist/ionic/{p-020af078.entry.js → p-cc2a9936.entry.js} +1 -1
- package/dist/ionic/p-ce8dad03.entry.js +4 -0
- package/dist/ionic/{p-6444c606.entry.js → p-d655735d.entry.js} +1 -1
- package/dist/ionic/{p-b57c6d3e.entry.js → p-dbc82f0e.entry.js} +1 -1
- package/dist/ionic/{p-6241ce47.entry.js → p-e036eb2f.entry.js} +1 -1
- package/dist/ionic/{p-9575b654.entry.js → p-e48f026f.entry.js} +1 -1
- package/dist/ionic/{p-7268efa5.entry.js → p-e64b550c.entry.js} +1 -1
- package/dist/ionic/{p-46d74291.entry.js → p-ee8ecd40.entry.js} +1 -1
- package/dist/ionic/{p-c85a2127.entry.js → p-f097a9e5.entry.js} +1 -1
- package/dist/ionic/{p-f8f22cc0.entry.js → p-fb0271ae.entry.js} +1 -1
- package/dist/ionic/{p-370e4237.entry.js → p-fbb00634.entry.js} +1 -1
- package/dist/ionic/{p-ec654c42.entry.js → p-fc14f34a.entry.js} +1 -1
- package/dist/types/components/datetime/datetime.d.ts +1 -11
- package/hydrate/index.js +187 -211
- package/hydrate/index.mjs +187 -211
- package/package.json +1 -1
- package/dist/ionic/p-4b658a7c.entry.js +0 -4
- package/dist/ionic/p-4e41ea20.entry.js +0 -4
- package/dist/ionic/p-51a60e0f.entry.js +0 -4
- package/dist/ionic/p-576e0965.entry.js +0 -4
- package/dist/ionic/p-94de5cfa.entry.js +0 -4
package/components/header.js
CHANGED
|
@@ -385,14 +385,14 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
|
|
|
385
385
|
const isCondensed = collapse === 'condense';
|
|
386
386
|
// banner role must be at top level, so remove role if inside a menu
|
|
387
387
|
const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
|
|
388
|
-
return (h(Host, Object.assign({ key: '
|
|
388
|
+
return (h(Host, Object.assign({ key: '42fb0d8aa663bef7b1a21e026ea45e932b965794', role: roleType, class: {
|
|
389
389
|
[mode]: true,
|
|
390
390
|
// Used internally for styling
|
|
391
391
|
[`header-${mode}`]: true,
|
|
392
392
|
[`header-translucent`]: this.translucent,
|
|
393
393
|
[`header-collapse-${collapse}`]: true,
|
|
394
394
|
[`header-translucent-${mode}`]: this.translucent,
|
|
395
|
-
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '
|
|
395
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '31fac480feb43bf4adcc97529d88f1fa8034ce98', class: "header-background" }), h("slot", { key: '8fb8d10312836c3de63ba3fccf9ec1a08ca5b9d1' })));
|
|
396
396
|
}
|
|
397
397
|
get el() { return this; }
|
|
398
398
|
static get style() { return {
|
|
@@ -341,11 +341,11 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
|
|
|
341
341
|
render() {
|
|
342
342
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
343
343
|
const mode = getIonMode(this);
|
|
344
|
-
return (h(Host, { key: '
|
|
344
|
+
return (h(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses(color, {
|
|
345
345
|
[mode]: true,
|
|
346
346
|
[`${selectedButton}-active`]: datetimeActive,
|
|
347
347
|
['datetime-button-disabled']: disabled,
|
|
348
|
-
}) }, dateText && (h("button", { key: '
|
|
348
|
+
}) }, dateText && (h("button", { key: '03ceb62c8dd7b4a97eca211d8ad73a4cfa8c2a1a', 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: '251c03d7dc30180caf5f2728818ab445b7b99b52', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: 'ce5fa19ed565fd788c6096aa55d8102ac36a1307' }))), timeText && (h("button", { key: '4833eb0e7b23f7c4faf03c998a58cc80cc714887', 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: '60966f907d725aea78af66dbb57f1d6f212a1ef5', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: 'c26bd731e8991e2b2b7984a2bd859f36337a038b' })))));
|
|
349
349
|
}
|
|
350
350
|
get el() { return this; }
|
|
351
351
|
static get style() { return {
|
|
@@ -790,28 +790,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
790
790
|
destroyKeyboardMO();
|
|
791
791
|
}
|
|
792
792
|
};
|
|
793
|
-
/**
|
|
794
|
-
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
795
|
-
* Fallback to ensure the datetime becomes ready even if
|
|
796
|
-
* IntersectionObserver never reports it as intersecting.
|
|
797
|
-
*
|
|
798
|
-
* This is primarily used in environments where the observer
|
|
799
|
-
* might not fire as expected, such as when running under
|
|
800
|
-
* synthetic tests that stub IntersectionObserver.
|
|
801
|
-
*/
|
|
802
|
-
this.ensureReadyIfVisible = () => {
|
|
803
|
-
if (this.el.classList.contains('datetime-ready')) {
|
|
804
|
-
return;
|
|
805
|
-
}
|
|
806
|
-
const rect = this.el.getBoundingClientRect();
|
|
807
|
-
if (rect.width === 0 || rect.height === 0) {
|
|
808
|
-
return;
|
|
809
|
-
}
|
|
810
|
-
this.initializeListeners();
|
|
811
|
-
writeTask(() => {
|
|
812
|
-
this.el.classList.add('datetime-ready');
|
|
813
|
-
});
|
|
814
|
-
};
|
|
815
793
|
this.processValue = (value) => {
|
|
816
794
|
const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
|
|
817
795
|
const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
|
|
@@ -1089,84 +1067,82 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1089
1067
|
this.clearFocusVisible();
|
|
1090
1068
|
this.clearFocusVisible = undefined;
|
|
1091
1069
|
}
|
|
1070
|
+
if (this.resizeObserver) {
|
|
1071
|
+
this.resizeObserver.disconnect();
|
|
1072
|
+
this.resizeObserver = undefined;
|
|
1073
|
+
}
|
|
1092
1074
|
}
|
|
1093
1075
|
initializeListeners() {
|
|
1094
1076
|
this.initializeCalendarListener();
|
|
1095
1077
|
this.initializeKeyboardListeners();
|
|
1096
1078
|
}
|
|
1097
1079
|
componentDidLoad() {
|
|
1098
|
-
const { el
|
|
1080
|
+
const { el } = this;
|
|
1099
1081
|
/**
|
|
1100
1082
|
* If a scrollable element is hidden using `display: none`,
|
|
1101
1083
|
* it will not have a scroll height meaning we cannot scroll elements
|
|
1102
1084
|
* into view. As a result, we will need to wait for the datetime to become
|
|
1103
1085
|
* visible if used inside of a modal or a popover otherwise the scrollable
|
|
1104
1086
|
* areas will not have the correct values snapped into place.
|
|
1087
|
+
*
|
|
1088
|
+
* FW-6931: We use ResizeObserver to detect when the element transitions
|
|
1089
|
+
* between having dimensions (visible) and zero dimensions (hidden). This
|
|
1090
|
+
* is more reliable than IntersectionObserver for detecting visibility
|
|
1091
|
+
* changes, especially when the element is inside a modal or popover.
|
|
1105
1092
|
*/
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1093
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
1094
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1095
|
+
const entry = entries[0];
|
|
1096
|
+
const { width, height } = entry.contentRect;
|
|
1097
|
+
const isVisible = width > 0 && height > 0;
|
|
1098
|
+
const isReady = el.classList.contains('datetime-ready');
|
|
1099
|
+
if (isVisible && !isReady) {
|
|
1100
|
+
this.initializeListeners();
|
|
1101
|
+
/**
|
|
1102
|
+
* TODO FW-2793: Datetime needs a frame to ensure that it
|
|
1103
|
+
* can properly scroll contents into view. As a result
|
|
1104
|
+
* we hide the scrollable content until after that frame
|
|
1105
|
+
* so users do not see the content quickly shifting. The downside
|
|
1106
|
+
* is that the content will pop into view a frame after. Maybe there
|
|
1107
|
+
* is a better way to handle this?
|
|
1108
|
+
*/
|
|
1109
|
+
writeTask(() => {
|
|
1110
|
+
el.classList.add('datetime-ready');
|
|
1111
|
+
});
|
|
1112
|
+
}
|
|
1113
|
+
else if (!isVisible && isReady) {
|
|
1114
|
+
/**
|
|
1115
|
+
* Clean up listeners when hidden so we can properly
|
|
1116
|
+
* reinitialize scroll positions on re-presentation.
|
|
1117
|
+
*/
|
|
1118
|
+
this.destroyInteractionListeners();
|
|
1119
|
+
/**
|
|
1120
|
+
* Close month/year picker when hidden, otherwise
|
|
1121
|
+
* it will be open when re-presented with a 0-height
|
|
1122
|
+
* scroll area, showing the wrong month.
|
|
1123
|
+
*/
|
|
1124
|
+
this.showMonthAndYear = false;
|
|
1125
|
+
writeTask(() => {
|
|
1126
|
+
el.classList.remove('datetime-ready');
|
|
1127
|
+
});
|
|
1128
|
+
}
|
|
1129
|
+
});
|
|
1112
1130
|
/**
|
|
1113
|
-
*
|
|
1114
|
-
*
|
|
1115
|
-
* we hide the scrollable content until after that frame
|
|
1116
|
-
* so users do not see the content quickly shifting. The downside
|
|
1117
|
-
* is that the content will pop into view a frame after. Maybe there
|
|
1118
|
-
* is a better way to handle this?
|
|
1131
|
+
* Use raf to avoid a race condition between the component loading and
|
|
1132
|
+
* its display animation starting (such as when shown in a modal).
|
|
1119
1133
|
*/
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
};
|
|
1124
|
-
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
|
|
1125
|
-
/**
|
|
1126
|
-
* Use raf to avoid a race condition between the component loading and
|
|
1127
|
-
* its display animation starting (such as when shown in a modal). This
|
|
1128
|
-
* could cause the datetime to start at a visibility of 0, erroneously
|
|
1129
|
-
* triggering the `hiddenIO` observer below.
|
|
1130
|
-
*/
|
|
1131
|
-
raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
|
|
1132
|
-
/**
|
|
1133
|
-
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
1134
|
-
* Fallback: If IntersectionObserver never reports that the
|
|
1135
|
-
* datetime is visible but the host clearly has layout, ensure
|
|
1136
|
-
* we still initialize listeners and mark the component as ready.
|
|
1137
|
-
*
|
|
1138
|
-
* We schedule this after everything has had a chance to run.
|
|
1139
|
-
*/
|
|
1140
|
-
setTimeout(() => {
|
|
1141
|
-
this.ensureReadyIfVisible();
|
|
1142
|
-
}, 100);
|
|
1143
|
-
/**
|
|
1144
|
-
* We need to clean up listeners when the datetime is hidden
|
|
1145
|
-
* in a popover/modal so that we can properly scroll containers
|
|
1146
|
-
* back into view if they are re-presented. When the datetime is hidden
|
|
1147
|
-
* the scroll areas have scroll widths/heights of 0px, so any snapping
|
|
1148
|
-
* we did originally has been lost.
|
|
1149
|
-
*/
|
|
1150
|
-
const hiddenCallback = (entries) => {
|
|
1151
|
-
const ev = entries[0];
|
|
1152
|
-
if (ev.isIntersecting) {
|
|
1153
|
-
return;
|
|
1154
|
-
}
|
|
1155
|
-
this.destroyInteractionListeners();
|
|
1134
|
+
raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
|
|
1135
|
+
}
|
|
1136
|
+
else {
|
|
1156
1137
|
/**
|
|
1157
|
-
*
|
|
1158
|
-
*
|
|
1159
|
-
*
|
|
1160
|
-
* and the scroll area of the calendar grid will be 0.
|
|
1161
|
-
* As a result, the wrong month will be shown.
|
|
1138
|
+
* Fallback for test environments where ResizeObserver is not available.
|
|
1139
|
+
* Just mark as ready without initializing scroll/keyboard listeners
|
|
1140
|
+
* since those also require browser APIs not available in Jest.
|
|
1162
1141
|
*/
|
|
1163
|
-
this.showMonthAndYear = false;
|
|
1164
1142
|
writeTask(() => {
|
|
1165
|
-
|
|
1143
|
+
el.classList.add('datetime-ready');
|
|
1166
1144
|
});
|
|
1167
|
-
}
|
|
1168
|
-
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
|
|
1169
|
-
raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
|
|
1145
|
+
}
|
|
1170
1146
|
/**
|
|
1171
1147
|
* Datetime uses Ionic components that emit
|
|
1172
1148
|
* ionFocus and ionBlur. These events are
|
|
@@ -1895,7 +1871,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1895
1871
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1896
1872
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1897
1873
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1898
|
-
return (h(Host, { key: '
|
|
1874
|
+
return (h(Host, { key: '187a5b5cf1413449a9db33f8c5b0fd3b7fded302', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1899
1875
|
[mode]: true,
|
|
1900
1876
|
['datetime-readonly']: readonly,
|
|
1901
1877
|
['datetime-disabled']: disabled,
|
|
@@ -1905,7 +1881,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1905
1881
|
[`datetime-size-${size}`]: true,
|
|
1906
1882
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1907
1883
|
[`datetime-grid`]: isGridStyle,
|
|
1908
|
-
})) },
|
|
1884
|
+
})) }, this.renderDatetime(mode)));
|
|
1909
1885
|
}
|
|
1910
1886
|
get el() { return this; }
|
|
1911
1887
|
static get watchers() { return {
|
|
@@ -90,7 +90,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
90
90
|
rel: this.rel,
|
|
91
91
|
target: this.target,
|
|
92
92
|
};
|
|
93
|
-
return (h(Host, { key: '
|
|
93
|
+
return (h(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
94
94
|
[mode]: true,
|
|
95
95
|
'fab-button-in-list': inList,
|
|
96
96
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -101,7 +101,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
|
|
|
101
101
|
'ion-activatable': true,
|
|
102
102
|
'ion-focusable': true,
|
|
103
103
|
[`fab-button-${size}`]: size !== undefined,
|
|
104
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
104
|
+
}) }, h(TagType, Object.assign({ key: '83e853c8815f41543c848eb2e05ec2bb1716110a' }, 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: '798deede94de658e4345acf7c2aafe2ab2567b0b', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '99252fde6de1aca73fc240a6da7e29acac9acb18', class: "button-inner" }, h("slot", { key: 'dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb' })), mode === 'md' && h("ion-ripple-effect", { key: '8413e162f44a0350f54dff06cff7aad101de3549' }))));
|
|
105
105
|
}
|
|
106
106
|
get el() { return this; }
|
|
107
107
|
static get style() { return {
|
|
@@ -32,11 +32,11 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
|
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
34
|
const mode = getIonMode(this);
|
|
35
|
-
return (h(Host, { key: '
|
|
35
|
+
return (h(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
|
|
36
36
|
[mode]: true,
|
|
37
37
|
'fab-list-active': this.activated,
|
|
38
38
|
[`fab-list-side-${this.side}`]: true,
|
|
39
|
-
} }, h("slot", { key: '
|
|
39
|
+
} }, h("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
|
|
40
40
|
}
|
|
41
41
|
get el() { return this; }
|
|
42
42
|
static get watchers() { return {
|
package/components/ion-fab.js
CHANGED
|
@@ -62,12 +62,12 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
|
|
|
62
62
|
render() {
|
|
63
63
|
const { horizontal, vertical, edge } = this;
|
|
64
64
|
const mode = getIonMode(this);
|
|
65
|
-
return (h(Host, { key: '
|
|
65
|
+
return (h(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
|
|
66
66
|
[mode]: true,
|
|
67
67
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
68
68
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
69
69
|
'fab-edge': edge,
|
|
70
|
-
} }, h("slot", { key: '
|
|
70
|
+
} }, h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
|
|
71
71
|
}
|
|
72
72
|
get el() { return this; }
|
|
73
73
|
static get watchers() { return {
|
package/components/ion-footer.js
CHANGED
|
@@ -122,7 +122,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
122
122
|
const mode = getIonMode(this);
|
|
123
123
|
const tabs = this.el.closest('ion-tabs');
|
|
124
124
|
const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
|
|
125
|
-
return (h(Host, { key: '
|
|
125
|
+
return (h(Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
|
|
126
126
|
[mode]: true,
|
|
127
127
|
// Used internally for styling
|
|
128
128
|
[`footer-${mode}`]: true,
|
|
@@ -130,7 +130,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
130
130
|
[`footer-translucent-${mode}`]: translucent,
|
|
131
131
|
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
|
|
132
132
|
[`footer-collapse-${collapse}`]: collapse !== undefined,
|
|
133
|
-
} }, mode === 'ios' && translucent && h("div", { key: '
|
|
133
|
+
} }, mode === 'ios' && translucent && h("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), h("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
|
|
134
134
|
}
|
|
135
135
|
get el() { return this; }
|
|
136
136
|
static get style() { return {
|
package/components/ion-grid.js
CHANGED
|
@@ -20,10 +20,10 @@ const Grid = /*@__PURE__*/ proxyCustomElement(class Grid extends HTMLElement {
|
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
22
|
const mode = getIonMode(this);
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
|
|
24
24
|
[mode]: true,
|
|
25
25
|
'grid-fixed': this.fixed,
|
|
26
|
-
} }, h("slot", { key: '
|
|
26
|
+
} }, h("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
|
|
27
27
|
}
|
|
28
28
|
static get style() { return gridCss; }
|
|
29
29
|
}, [257, "ion-grid", {
|
package/components/ion-img.js
CHANGED
|
@@ -75,7 +75,7 @@ const Img = /*@__PURE__*/ proxyCustomElement(class Img extends HTMLElement {
|
|
|
75
75
|
render() {
|
|
76
76
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
77
77
|
const { draggable } = inheritedAttributes;
|
|
78
|
-
return (h(Host, { key: '
|
|
78
|
+
return (h(Host, { key: '14d24d65ec8e5522192ca58035264971b1ab883b', class: getIonMode(this) }, h("img", { key: '345ba155a5fdce5e66c397a599b7333d37d9cb1d', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
79
79
|
}
|
|
80
80
|
get el() { return this; }
|
|
81
81
|
static get watchers() { return {
|
|
@@ -34,11 +34,11 @@ const InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class InfiniteScr
|
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
36
|
const mode = getIonMode(this);
|
|
37
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
|
|
38
38
|
[mode]: true,
|
|
39
39
|
// Used internally for styling
|
|
40
40
|
[`infinite-scroll-content-${mode}`]: true,
|
|
41
|
-
} }, h("div", { key: '
|
|
41
|
+
} }, h("div", { key: '07d3cada920145f979ad315bd187fb878e0c3da3', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '6254f175d7543d09f3dd47cd0589a2809182cd8c', class: "infinite-loading-spinner" }, h("ion-spinner", { key: 'a6a816d1c65b60b786333b209b63492aa716a283', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
|
|
42
42
|
}
|
|
43
43
|
static get style() { return {
|
|
44
44
|
ios: infiniteScrollContentIosCss,
|
|
@@ -197,7 +197,7 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
|
|
|
197
197
|
render() {
|
|
198
198
|
const mode = getIonMode(this);
|
|
199
199
|
const disabled = this.disabled;
|
|
200
|
-
return (h(Host, { key: '
|
|
200
|
+
return (h(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
|
|
201
201
|
[mode]: true,
|
|
202
202
|
'infinite-scroll-loading': this.isLoading,
|
|
203
203
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -619,7 +619,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
|
|
|
619
619
|
const tabbableIndex = this.getTabbableIndex();
|
|
620
620
|
const pattern = this.getPattern();
|
|
621
621
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
622
|
-
return (h(Host, { key: '
|
|
622
|
+
return (h(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses(color, {
|
|
623
623
|
[mode]: true,
|
|
624
624
|
'has-focus': hasFocus,
|
|
625
625
|
[`input-otp-size-${size}`]: true,
|
|
@@ -627,10 +627,10 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
|
|
|
627
627
|
[`input-otp-fill-${fill}`]: true,
|
|
628
628
|
'input-otp-disabled': disabled,
|
|
629
629
|
'input-otp-readonly': readonly,
|
|
630
|
-
}) }, h("div", Object.assign({ key: '
|
|
630
|
+
}) }, h("div", Object.assign({ key: 'e9aa792de40a0e49075e8881c6a11245807e1051', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '262ead41c9401a2144e9d7b7bd85311e366d09b2', class: {
|
|
631
631
|
'input-otp-description': true,
|
|
632
632
|
'input-otp-description-hidden': !hasDescription,
|
|
633
|
-
} }, h("slot", { key: '
|
|
633
|
+
} }, h("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
|
|
634
634
|
}
|
|
635
635
|
get el() { return this; }
|
|
636
636
|
static get watchers() { return {
|
|
@@ -70,16 +70,16 @@ const InputPasswordToggle = /*@__PURE__*/ proxyCustomElement(class InputPassword
|
|
|
70
70
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
71
71
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
72
72
|
const isPasswordVisible = type === 'text';
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses(color, {
|
|
74
74
|
[mode]: true,
|
|
75
|
-
}) }, h("ion-button", { key: '
|
|
75
|
+
}) }, h("ion-button", { key: '9f21eaea5756844d37930d52d8d3013c9d476b9f', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
|
|
76
76
|
/**
|
|
77
77
|
* This prevents mobile browsers from
|
|
78
78
|
* blurring the input when the password toggle
|
|
79
79
|
* button is activated.
|
|
80
80
|
*/
|
|
81
81
|
ev.preventDefault();
|
|
82
|
-
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '
|
|
82
|
+
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
83
83
|
}
|
|
84
84
|
get el() { return this; }
|
|
85
85
|
static get watchers() { return {
|
package/components/ion-input.js
CHANGED
|
@@ -518,7 +518,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
518
518
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
519
519
|
*/
|
|
520
520
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
521
|
-
return (h(Host, { key: '
|
|
521
|
+
return (h(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses(this.color, {
|
|
522
522
|
[mode]: true,
|
|
523
523
|
'has-value': hasValue,
|
|
524
524
|
'has-focus': hasFocus,
|
|
@@ -529,14 +529,14 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
529
529
|
'in-item': inItem,
|
|
530
530
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
531
531
|
'input-disabled': disabled,
|
|
532
|
-
}) }, h("label", { key: '
|
|
532
|
+
}) }, h("label", { key: '049adad1bdcb64ee416e420b523e222cb9c0d3df', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '00414cbb2adcc565d52dd5ba3af0280df3ba2c9c', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'a09366b057322372e48daeb5a70619e5603b6972', name: "start" }), h("input", Object.assign({ key: '8bd259fca7c30885df0bef6fa37a3c6516b7533e', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '9655b387bf51a371877ab40879c9cdc953a8019f', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
533
533
|
/**
|
|
534
534
|
* This prevents mobile browsers from
|
|
535
535
|
* blurring the input when the clear
|
|
536
536
|
* button is activated.
|
|
537
537
|
*/
|
|
538
538
|
ev.preventDefault();
|
|
539
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
539
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '834670e725e0140069eead8ff6c7a63d87f0aac0', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'e41136ffef6bd8f8fb4c8480bf6dfaa3b61dc286', name: "end" })), shouldRenderHighlight && h("div", { key: '517a556a9748600af6c258c9f668e7b10a798427', class: "input-highlight" })), this.renderBottomContent()));
|
|
540
540
|
}
|
|
541
541
|
get el() { return this; }
|
|
542
542
|
static get watchers() { return {
|
|
@@ -27,11 +27,11 @@ const ItemDivider = /*@__PURE__*/ proxyCustomElement(class ItemDivider extends H
|
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
29
|
const mode = getIonMode(this);
|
|
30
|
-
return (h(Host, { key: '
|
|
30
|
+
return (h(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses(this.color, {
|
|
31
31
|
[mode]: true,
|
|
32
32
|
'item-divider-sticky': this.sticky,
|
|
33
33
|
item: true,
|
|
34
|
-
}) }, h("slot", { key: '
|
|
34
|
+
}) }, h("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), h("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, h("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, h("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), h("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
|
|
35
35
|
}
|
|
36
36
|
get el() { return this; }
|
|
37
37
|
static get style() { return {
|
|
@@ -17,7 +17,7 @@ const ItemGroup = /*@__PURE__*/ proxyCustomElement(class ItemGroup extends HTMLE
|
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
19
|
const mode = getIonMode(this);
|
|
20
|
-
return (h(Host, { key: '
|
|
20
|
+
return (h(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
|
|
21
21
|
[mode]: true,
|
|
22
22
|
// Used internally for styling
|
|
23
23
|
[`item-group-${mode}`]: true,
|
|
@@ -47,12 +47,12 @@ const ItemOption = /*@__PURE__*/ proxyCustomElement(class ItemOption extends HTM
|
|
|
47
47
|
href: this.href,
|
|
48
48
|
target: this.target,
|
|
49
49
|
};
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
51
51
|
[mode]: true,
|
|
52
52
|
'item-option-disabled': disabled,
|
|
53
53
|
'item-option-expandable': expandable,
|
|
54
54
|
'ion-activatable': true,
|
|
55
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
55
|
+
}) }, h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
|
|
56
56
|
}
|
|
57
57
|
get el() { return this; }
|
|
58
58
|
static get style() { return {
|
|
@@ -31,7 +31,7 @@ const ItemOptions = /*@__PURE__*/ proxyCustomElement(class ItemOptions extends H
|
|
|
31
31
|
render() {
|
|
32
32
|
const mode = getIonMode(this);
|
|
33
33
|
const isEnd = isEndSide(this.side);
|
|
34
|
-
return (h(Host, { key: '
|
|
34
|
+
return (h(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
|
|
35
35
|
[mode]: true,
|
|
36
36
|
// Used internally for styling
|
|
37
37
|
[`item-options-${mode}`]: true,
|
|
@@ -399,7 +399,7 @@ const ItemSliding = /*@__PURE__*/ proxyCustomElement(class ItemSliding extends H
|
|
|
399
399
|
}
|
|
400
400
|
render() {
|
|
401
401
|
const mode = getIonMode(this);
|
|
402
|
-
return (h(Host, { key: '
|
|
402
|
+
return (h(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
|
|
403
403
|
[mode]: true,
|
|
404
404
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
405
405
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -278,9 +278,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
|
|
|
278
278
|
* Otherwise, don't set aria-labelledby.
|
|
279
279
|
*/
|
|
280
280
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
281
|
-
return (h(Host, Object.assign({ key: '
|
|
281
|
+
return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
282
282
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
283
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
283
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
|
|
284
284
|
}
|
|
285
285
|
get el() { return this; }
|
|
286
286
|
static get watchers() { return {
|
|
@@ -59,7 +59,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
|
|
|
59
59
|
type: this.type,
|
|
60
60
|
};
|
|
61
61
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
|
|
63
63
|
[mode]: true,
|
|
64
64
|
button: true, // ion-buttons target .button
|
|
65
65
|
'menu-button-hidden': hidden,
|
|
@@ -68,7 +68,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
|
|
|
68
68
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
69
69
|
'ion-activatable': true,
|
|
70
70
|
'ion-focusable': true,
|
|
71
|
-
}) }, h("button", Object.assign({ key: '
|
|
71
|
+
}) }, h("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
|
|
72
72
|
}
|
|
73
73
|
get el() { return this; }
|
|
74
74
|
static get style() { return {
|
|
@@ -36,10 +36,10 @@ const MenuToggle = /*@__PURE__*/ proxyCustomElement(class MenuToggle extends HTM
|
|
|
36
36
|
render() {
|
|
37
37
|
const mode = getIonMode(this);
|
|
38
38
|
const hidden = this.autoHide && !this.visible;
|
|
39
|
-
return (h(Host, { key: '
|
|
39
|
+
return (h(Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
40
40
|
[mode]: true,
|
|
41
41
|
'menu-toggle-hidden': hidden,
|
|
42
|
-
} }, h("slot", { key: '
|
|
42
|
+
} }, h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
|
|
43
43
|
}
|
|
44
44
|
static get style() { return menuToggleCss; }
|
|
45
45
|
}, [257, "ion-menu-toggle", {
|
package/components/ion-menu.js
CHANGED
|
@@ -667,14 +667,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
|
|
|
667
667
|
* the ionBackButton listener in the menu controller
|
|
668
668
|
* will handle closing the menu when Escape is pressed.
|
|
669
669
|
*/
|
|
670
|
-
return (h(Host, { key: '
|
|
670
|
+
return (h(Host, { key: '29ef73894e2795e4ce23e59888ffb87faf4dd543', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
671
671
|
[mode]: true,
|
|
672
672
|
[`menu-type-${type}`]: true,
|
|
673
673
|
'menu-enabled': !disabled,
|
|
674
674
|
[`menu-side-${side}`]: true,
|
|
675
675
|
'menu-pane-visible': isPaneVisible,
|
|
676
676
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
677
|
-
} }, h("div", { key: '
|
|
677
|
+
} }, h("div", { key: '22e44f7bd602ee0c96550f0dfc22ac81c0033ad6', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '7bbef92fe03bb3ce4d3981eb8535aab449aab2fc' })), h("ion-backdrop", { key: '9ab8d5b61563e16b212c71c03869d4fc23a0400b', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
678
678
|
}
|
|
679
679
|
get el() { return this; }
|
|
680
680
|
static get watchers() { return {
|
|
@@ -38,7 +38,7 @@ const NavLink = /*@__PURE__*/ proxyCustomElement(class NavLink extends HTMLEleme
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return h(Host, { key: '
|
|
41
|
+
return h(Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
|
|
42
42
|
}
|
|
43
43
|
get el() { return this; }
|
|
44
44
|
}, [256, "ion-nav-link", {
|
package/components/ion-nav.js
CHANGED
|
@@ -904,7 +904,7 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
|
|
|
904
904
|
}
|
|
905
905
|
}
|
|
906
906
|
render() {
|
|
907
|
-
return h("slot", { key: '
|
|
907
|
+
return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
|
|
908
908
|
}
|
|
909
909
|
get el() { return this; }
|
|
910
910
|
static get watchers() { return {
|
package/components/ion-note.js
CHANGED
|
@@ -19,9 +19,9 @@ const Note = /*@__PURE__*/ proxyCustomElement(class Note extends HTMLElement {
|
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
21
|
const mode = getIonMode(this);
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses(this.color, {
|
|
23
23
|
[mode]: true,
|
|
24
|
-
}) }, h("slot", { key: '
|
|
24
|
+
}) }, h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
|
|
25
25
|
}
|
|
26
26
|
static get style() { return {
|
|
27
27
|
ios: noteIosCss,
|