@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
|
@@ -130,10 +130,10 @@ const Grid = class {
|
|
|
130
130
|
}
|
|
131
131
|
render() {
|
|
132
132
|
const mode = getIonMode(this);
|
|
133
|
-
return (h(Host, { key: '
|
|
133
|
+
return (h(Host, { key: '930ce78b02f8360fbca08a35d364d2c09128c6c8', class: {
|
|
134
134
|
[mode]: true,
|
|
135
135
|
'grid-fixed': this.fixed,
|
|
136
|
-
} }, h("slot", { key: '
|
|
136
|
+
} }, h("slot", { key: 'c47bf7ef2197f5ebc42d3e2c55044276fb0db393' })));
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
Grid.style = gridCss;
|
|
@@ -145,7 +145,7 @@ const Row = class {
|
|
|
145
145
|
registerInstance(this, hostRef);
|
|
146
146
|
}
|
|
147
147
|
render() {
|
|
148
|
-
return (h(Host, { key: '
|
|
148
|
+
return (h(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode(this) }, h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
151
|
Row.style = rowCss;
|
|
@@ -335,11 +335,11 @@ const DatetimeButton = class {
|
|
|
335
335
|
render() {
|
|
336
336
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
337
337
|
const mode = getIonMode(this);
|
|
338
|
-
return (h(Host, { key: '
|
|
338
|
+
return (h(Host, { key: '0cad13e702cd8f76b10364d44993495d1aac40fb', class: createColorClasses(color, {
|
|
339
339
|
[mode]: true,
|
|
340
340
|
[`${selectedButton}-active`]: datetimeActive,
|
|
341
341
|
['datetime-button-disabled']: disabled,
|
|
342
|
-
}) }, dateText && (h("button", { key: '
|
|
342
|
+
}) }, 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' })))));
|
|
343
343
|
}
|
|
344
344
|
get el() { return getElement(this); }
|
|
345
345
|
};
|
|
@@ -784,28 +784,6 @@ const Datetime = class {
|
|
|
784
784
|
destroyKeyboardMO();
|
|
785
785
|
}
|
|
786
786
|
};
|
|
787
|
-
/**
|
|
788
|
-
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
789
|
-
* Fallback to ensure the datetime becomes ready even if
|
|
790
|
-
* IntersectionObserver never reports it as intersecting.
|
|
791
|
-
*
|
|
792
|
-
* This is primarily used in environments where the observer
|
|
793
|
-
* might not fire as expected, such as when running under
|
|
794
|
-
* synthetic tests that stub IntersectionObserver.
|
|
795
|
-
*/
|
|
796
|
-
this.ensureReadyIfVisible = () => {
|
|
797
|
-
if (this.el.classList.contains('datetime-ready')) {
|
|
798
|
-
return;
|
|
799
|
-
}
|
|
800
|
-
const rect = this.el.getBoundingClientRect();
|
|
801
|
-
if (rect.width === 0 || rect.height === 0) {
|
|
802
|
-
return;
|
|
803
|
-
}
|
|
804
|
-
this.initializeListeners();
|
|
805
|
-
writeTask(() => {
|
|
806
|
-
this.el.classList.add('datetime-ready');
|
|
807
|
-
});
|
|
808
|
-
};
|
|
809
787
|
this.processValue = (value) => {
|
|
810
788
|
const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
|
|
811
789
|
const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
|
|
@@ -1083,84 +1061,82 @@ const Datetime = class {
|
|
|
1083
1061
|
this.clearFocusVisible();
|
|
1084
1062
|
this.clearFocusVisible = undefined;
|
|
1085
1063
|
}
|
|
1064
|
+
if (this.resizeObserver) {
|
|
1065
|
+
this.resizeObserver.disconnect();
|
|
1066
|
+
this.resizeObserver = undefined;
|
|
1067
|
+
}
|
|
1086
1068
|
}
|
|
1087
1069
|
initializeListeners() {
|
|
1088
1070
|
this.initializeCalendarListener();
|
|
1089
1071
|
this.initializeKeyboardListeners();
|
|
1090
1072
|
}
|
|
1091
1073
|
componentDidLoad() {
|
|
1092
|
-
const { el
|
|
1074
|
+
const { el } = this;
|
|
1093
1075
|
/**
|
|
1094
1076
|
* If a scrollable element is hidden using `display: none`,
|
|
1095
1077
|
* it will not have a scroll height meaning we cannot scroll elements
|
|
1096
1078
|
* into view. As a result, we will need to wait for the datetime to become
|
|
1097
1079
|
* visible if used inside of a modal or a popover otherwise the scrollable
|
|
1098
1080
|
* areas will not have the correct values snapped into place.
|
|
1081
|
+
*
|
|
1082
|
+
* FW-6931: We use ResizeObserver to detect when the element transitions
|
|
1083
|
+
* between having dimensions (visible) and zero dimensions (hidden). This
|
|
1084
|
+
* is more reliable than IntersectionObserver for detecting visibility
|
|
1085
|
+
* changes, especially when the element is inside a modal or popover.
|
|
1099
1086
|
*/
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1087
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
1088
|
+
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1089
|
+
const entry = entries[0];
|
|
1090
|
+
const { width, height } = entry.contentRect;
|
|
1091
|
+
const isVisible = width > 0 && height > 0;
|
|
1092
|
+
const isReady = el.classList.contains('datetime-ready');
|
|
1093
|
+
if (isVisible && !isReady) {
|
|
1094
|
+
this.initializeListeners();
|
|
1095
|
+
/**
|
|
1096
|
+
* TODO FW-2793: Datetime needs a frame to ensure that it
|
|
1097
|
+
* can properly scroll contents into view. As a result
|
|
1098
|
+
* we hide the scrollable content until after that frame
|
|
1099
|
+
* so users do not see the content quickly shifting. The downside
|
|
1100
|
+
* is that the content will pop into view a frame after. Maybe there
|
|
1101
|
+
* is a better way to handle this?
|
|
1102
|
+
*/
|
|
1103
|
+
writeTask(() => {
|
|
1104
|
+
el.classList.add('datetime-ready');
|
|
1105
|
+
});
|
|
1106
|
+
}
|
|
1107
|
+
else if (!isVisible && isReady) {
|
|
1108
|
+
/**
|
|
1109
|
+
* Clean up listeners when hidden so we can properly
|
|
1110
|
+
* reinitialize scroll positions on re-presentation.
|
|
1111
|
+
*/
|
|
1112
|
+
this.destroyInteractionListeners();
|
|
1113
|
+
/**
|
|
1114
|
+
* Close month/year picker when hidden, otherwise
|
|
1115
|
+
* it will be open when re-presented with a 0-height
|
|
1116
|
+
* scroll area, showing the wrong month.
|
|
1117
|
+
*/
|
|
1118
|
+
this.showMonthAndYear = false;
|
|
1119
|
+
writeTask(() => {
|
|
1120
|
+
el.classList.remove('datetime-ready');
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
});
|
|
1106
1124
|
/**
|
|
1107
|
-
*
|
|
1108
|
-
*
|
|
1109
|
-
* we hide the scrollable content until after that frame
|
|
1110
|
-
* so users do not see the content quickly shifting. The downside
|
|
1111
|
-
* is that the content will pop into view a frame after. Maybe there
|
|
1112
|
-
* is a better way to handle this?
|
|
1125
|
+
* Use raf to avoid a race condition between the component loading and
|
|
1126
|
+
* its display animation starting (such as when shown in a modal).
|
|
1113
1127
|
*/
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
};
|
|
1118
|
-
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
|
|
1119
|
-
/**
|
|
1120
|
-
* Use raf to avoid a race condition between the component loading and
|
|
1121
|
-
* its display animation starting (such as when shown in a modal). This
|
|
1122
|
-
* could cause the datetime to start at a visibility of 0, erroneously
|
|
1123
|
-
* triggering the `hiddenIO` observer below.
|
|
1124
|
-
*/
|
|
1125
|
-
raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
|
|
1126
|
-
/**
|
|
1127
|
-
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
1128
|
-
* Fallback: If IntersectionObserver never reports that the
|
|
1129
|
-
* datetime is visible but the host clearly has layout, ensure
|
|
1130
|
-
* we still initialize listeners and mark the component as ready.
|
|
1131
|
-
*
|
|
1132
|
-
* We schedule this after everything has had a chance to run.
|
|
1133
|
-
*/
|
|
1134
|
-
setTimeout(() => {
|
|
1135
|
-
this.ensureReadyIfVisible();
|
|
1136
|
-
}, 100);
|
|
1137
|
-
/**
|
|
1138
|
-
* We need to clean up listeners when the datetime is hidden
|
|
1139
|
-
* in a popover/modal so that we can properly scroll containers
|
|
1140
|
-
* back into view if they are re-presented. When the datetime is hidden
|
|
1141
|
-
* the scroll areas have scroll widths/heights of 0px, so any snapping
|
|
1142
|
-
* we did originally has been lost.
|
|
1143
|
-
*/
|
|
1144
|
-
const hiddenCallback = (entries) => {
|
|
1145
|
-
const ev = entries[0];
|
|
1146
|
-
if (ev.isIntersecting) {
|
|
1147
|
-
return;
|
|
1148
|
-
}
|
|
1149
|
-
this.destroyInteractionListeners();
|
|
1128
|
+
raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
|
|
1129
|
+
}
|
|
1130
|
+
else {
|
|
1150
1131
|
/**
|
|
1151
|
-
*
|
|
1152
|
-
*
|
|
1153
|
-
*
|
|
1154
|
-
* and the scroll area of the calendar grid will be 0.
|
|
1155
|
-
* As a result, the wrong month will be shown.
|
|
1132
|
+
* Fallback for test environments where ResizeObserver is not available.
|
|
1133
|
+
* Just mark as ready without initializing scroll/keyboard listeners
|
|
1134
|
+
* since those also require browser APIs not available in Jest.
|
|
1156
1135
|
*/
|
|
1157
|
-
this.showMonthAndYear = false;
|
|
1158
1136
|
writeTask(() => {
|
|
1159
|
-
|
|
1137
|
+
el.classList.add('datetime-ready');
|
|
1160
1138
|
});
|
|
1161
|
-
}
|
|
1162
|
-
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
|
|
1163
|
-
raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
|
|
1139
|
+
}
|
|
1164
1140
|
/**
|
|
1165
1141
|
* Datetime uses Ionic components that emit
|
|
1166
1142
|
* ionFocus and ionBlur. These events are
|
|
@@ -1889,7 +1865,7 @@ const Datetime = class {
|
|
|
1889
1865
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1890
1866
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1891
1867
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1892
|
-
return (h(Host, { key: '
|
|
1868
|
+
return (h(Host, { key: '187a5b5cf1413449a9db33f8c5b0fd3b7fded302', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1893
1869
|
[mode]: true,
|
|
1894
1870
|
['datetime-readonly']: readonly,
|
|
1895
1871
|
['datetime-disabled']: disabled,
|
|
@@ -1899,7 +1875,7 @@ const Datetime = class {
|
|
|
1899
1875
|
[`datetime-size-${size}`]: true,
|
|
1900
1876
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1901
1877
|
[`datetime-grid`]: isGridStyle,
|
|
1902
|
-
})) },
|
|
1878
|
+
})) }, this.renderDatetime(mode)));
|
|
1903
1879
|
}
|
|
1904
1880
|
get el() { return getElement(this); }
|
|
1905
1881
|
static get watchers() { return {
|
|
@@ -2176,11 +2152,11 @@ const Picker = class {
|
|
|
2176
2152
|
render() {
|
|
2177
2153
|
const { htmlAttributes } = this;
|
|
2178
2154
|
const mode = getIonMode(this);
|
|
2179
|
-
return (h(Host, Object.assign({ key: '
|
|
2155
|
+
return (h(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
2180
2156
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2181
2157
|
}, class: Object.assign({ [mode]: true,
|
|
2182
2158
|
// Used internally for styling
|
|
2183
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
2159
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
|
|
2184
2160
|
}
|
|
2185
2161
|
get el() { return getElement(this); }
|
|
2186
2162
|
static get watchers() { return {
|
|
@@ -2534,9 +2510,9 @@ const PickerColumnCmp = class {
|
|
|
2534
2510
|
render() {
|
|
2535
2511
|
const col = this.col;
|
|
2536
2512
|
const mode = getIonMode(this);
|
|
2537
|
-
return (h(Host, { key: '
|
|
2513
|
+
return (h(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
2538
2514
|
'max-width': this.col.columnWidth,
|
|
2539
|
-
} }, col.prefix && (h("div", { key: '
|
|
2515
|
+
} }, col.prefix && (h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
2540
2516
|
}
|
|
2541
2517
|
get el() { return getElement(this); }
|
|
2542
2518
|
static get watchers() { return {
|
|
@@ -61,12 +61,12 @@ const Fab = class {
|
|
|
61
61
|
render() {
|
|
62
62
|
const { horizontal, vertical, edge } = this;
|
|
63
63
|
const mode = getIonMode(this);
|
|
64
|
-
return (h(Host, { key: '
|
|
64
|
+
return (h(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
|
|
65
65
|
[mode]: true,
|
|
66
66
|
[`fab-horizontal-${horizontal}`]: horizontal !== undefined,
|
|
67
67
|
[`fab-vertical-${vertical}`]: vertical !== undefined,
|
|
68
68
|
'fab-edge': edge,
|
|
69
|
-
} }, h("slot", { key: '
|
|
69
|
+
} }, h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
|
|
70
70
|
}
|
|
71
71
|
get el() { return getElement(this); }
|
|
72
72
|
static get watchers() { return {
|
|
@@ -152,7 +152,7 @@ const FabButton = class {
|
|
|
152
152
|
rel: this.rel,
|
|
153
153
|
target: this.target,
|
|
154
154
|
};
|
|
155
|
-
return (h(Host, { key: '
|
|
155
|
+
return (h(Host, { key: 'eb347f7d6749c40637540d84778eb8d1b667a947', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
156
156
|
[mode]: true,
|
|
157
157
|
'fab-button-in-list': inList,
|
|
158
158
|
'fab-button-translucent-in-list': inList && translucent,
|
|
@@ -163,7 +163,7 @@ const FabButton = class {
|
|
|
163
163
|
'ion-activatable': true,
|
|
164
164
|
'ion-focusable': true,
|
|
165
165
|
[`fab-button-${size}`]: size !== undefined,
|
|
166
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
166
|
+
}) }, 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' }))));
|
|
167
167
|
}
|
|
168
168
|
get el() { return getElement(this); }
|
|
169
169
|
};
|
|
@@ -196,11 +196,11 @@ const FabList = class {
|
|
|
196
196
|
}
|
|
197
197
|
render() {
|
|
198
198
|
const mode = getIonMode(this);
|
|
199
|
-
return (h(Host, { key: '
|
|
199
|
+
return (h(Host, { key: 'fa1d195b9950654ba0e984bf61d981c977d05275', class: {
|
|
200
200
|
[mode]: true,
|
|
201
201
|
'fab-list-active': this.activated,
|
|
202
202
|
[`fab-list-side-${this.side}`]: true,
|
|
203
|
-
} }, h("slot", { key: '
|
|
203
|
+
} }, h("slot", { key: '2ec738c66c05112e1e2521155d6adfc36d2fd1db' })));
|
|
204
204
|
}
|
|
205
205
|
get el() { return getElement(this); }
|
|
206
206
|
static get watchers() { return {
|
|
@@ -71,7 +71,7 @@ const Img = class {
|
|
|
71
71
|
render() {
|
|
72
72
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
73
73
|
const { draggable } = inheritedAttributes;
|
|
74
|
-
return (h(Host, { key: '
|
|
74
|
+
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) })));
|
|
75
75
|
}
|
|
76
76
|
get el() { return getElement(this); }
|
|
77
77
|
static get watchers() { return {
|
|
@@ -196,7 +196,7 @@ const InfiniteScroll = class {
|
|
|
196
196
|
render() {
|
|
197
197
|
const mode = getIonMode(this);
|
|
198
198
|
const disabled = this.disabled;
|
|
199
|
-
return (h(Host, { key: '
|
|
199
|
+
return (h(Host, { key: '1444429a86950c449953cbf578436cc8cabf40ec', class: {
|
|
200
200
|
[mode]: true,
|
|
201
201
|
'infinite-scroll-loading': this.isLoading,
|
|
202
202
|
'infinite-scroll-enabled': !disabled,
|
|
@@ -234,11 +234,11 @@ const InfiniteScrollContent = class {
|
|
|
234
234
|
}
|
|
235
235
|
render() {
|
|
236
236
|
const mode = getIonMode(this);
|
|
237
|
-
return (h(Host, { key: '
|
|
237
|
+
return (h(Host, { key: '060278bf9cb0321e182352f9613be4ebbb028259', class: {
|
|
238
238
|
[mode]: true,
|
|
239
239
|
// Used internally for styling
|
|
240
240
|
[`infinite-scroll-content-${mode}`]: true,
|
|
241
|
-
} }, h("div", { key: '
|
|
241
|
+
} }, 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())));
|
|
242
242
|
}
|
|
243
243
|
};
|
|
244
244
|
InfiniteScrollContent.style = {
|
|
@@ -615,7 +615,7 @@ const InputOTP = class {
|
|
|
615
615
|
const tabbableIndex = this.getTabbableIndex();
|
|
616
616
|
const pattern = this.getPattern();
|
|
617
617
|
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()) !== '';
|
|
618
|
-
return (h(Host, { key: '
|
|
618
|
+
return (h(Host, { key: '76126aeef5a333d3ce86149d1ce21da6c7834898', class: createColorClasses(color, {
|
|
619
619
|
[mode]: true,
|
|
620
620
|
'has-focus': hasFocus,
|
|
621
621
|
[`input-otp-size-${size}`]: true,
|
|
@@ -623,10 +623,10 @@ const InputOTP = class {
|
|
|
623
623
|
[`input-otp-fill-${fill}`]: true,
|
|
624
624
|
'input-otp-disabled': disabled,
|
|
625
625
|
'input-otp-readonly': readonly,
|
|
626
|
-
}) }, h("div", Object.assign({ key: '
|
|
626
|
+
}) }, 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: {
|
|
627
627
|
'input-otp-description': true,
|
|
628
628
|
'input-otp-description-hidden': !hasDescription,
|
|
629
|
-
} }, h("slot", { key: '
|
|
629
|
+
} }, h("slot", { key: '63a4b07ef5e3174cc75cdaed59305cdaebcfd1ad' }))));
|
|
630
630
|
}
|
|
631
631
|
get el() { return getElement(this); }
|
|
632
632
|
static get watchers() { return {
|
|
@@ -62,16 +62,16 @@ const InputPasswordToggle = class {
|
|
|
62
62
|
const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
|
|
63
63
|
const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
|
|
64
64
|
const isPasswordVisible = type === 'text';
|
|
65
|
-
return (h(Host, { key: '
|
|
65
|
+
return (h(Host, { key: '07e26969f77ad361e358efe33a3b3728d9669017', class: createColorClasses(color, {
|
|
66
66
|
[mode]: true,
|
|
67
|
-
}) }, h("ion-button", { key: '
|
|
67
|
+
}) }, 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) => {
|
|
68
68
|
/**
|
|
69
69
|
* This prevents mobile browsers from
|
|
70
70
|
* blurring the input when the password toggle
|
|
71
71
|
* button is activated.
|
|
72
72
|
*/
|
|
73
73
|
ev.preventDefault();
|
|
74
|
-
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '
|
|
74
|
+
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'd7b1f55b77b71bf2c147f3bde83de1e9083f70ba', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
75
75
|
}
|
|
76
76
|
get el() { return getElement(this); }
|
|
77
77
|
static get watchers() { return {
|
|
@@ -515,7 +515,7 @@ const Input = class {
|
|
|
515
515
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
516
516
|
*/
|
|
517
517
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
518
|
-
return (h(Host, { key: '
|
|
518
|
+
return (h(Host, { key: '81b44a68138ec7a9f1d4a27549d0c32283dea50d', class: createColorClasses(this.color, {
|
|
519
519
|
[mode]: true,
|
|
520
520
|
'has-value': hasValue,
|
|
521
521
|
'has-focus': hasFocus,
|
|
@@ -526,14 +526,14 @@ const Input = class {
|
|
|
526
526
|
'in-item': inItem,
|
|
527
527
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
528
528
|
'input-disabled': disabled,
|
|
529
|
-
}) }, h("label", { key: '
|
|
529
|
+
}) }, 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) => {
|
|
530
530
|
/**
|
|
531
531
|
* This prevents mobile browsers from
|
|
532
532
|
* blurring the input when the clear
|
|
533
533
|
* button is activated.
|
|
534
534
|
*/
|
|
535
535
|
ev.preventDefault();
|
|
536
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
536
|
+
}, 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()));
|
|
537
537
|
}
|
|
538
538
|
get el() { return getElement(this); }
|
|
539
539
|
static get watchers() { return {
|
|
@@ -45,12 +45,12 @@ const ItemOption = class {
|
|
|
45
45
|
href: this.href,
|
|
46
46
|
target: this.target,
|
|
47
47
|
};
|
|
48
|
-
return (h(Host, { key: '
|
|
48
|
+
return (h(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
49
49
|
[mode]: true,
|
|
50
50
|
'item-option-disabled': disabled,
|
|
51
51
|
'item-option-expandable': expandable,
|
|
52
52
|
'ion-activatable': true,
|
|
53
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
53
|
+
}) }, 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' }))));
|
|
54
54
|
}
|
|
55
55
|
get el() { return getElement(this); }
|
|
56
56
|
};
|
|
@@ -82,7 +82,7 @@ const ItemOptions = class {
|
|
|
82
82
|
render() {
|
|
83
83
|
const mode = getIonMode(this);
|
|
84
84
|
const isEnd = isEndSide(this.side);
|
|
85
|
-
return (h(Host, { key: '
|
|
85
|
+
return (h(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
|
|
86
86
|
[mode]: true,
|
|
87
87
|
// Used internally for styling
|
|
88
88
|
[`item-options-${mode}`]: true,
|
|
@@ -493,7 +493,7 @@ const ItemSliding = class {
|
|
|
493
493
|
}
|
|
494
494
|
render() {
|
|
495
495
|
const mode = getIonMode(this);
|
|
496
|
-
return (h(Host, { key: '
|
|
496
|
+
return (h(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
|
|
497
497
|
[mode]: true,
|
|
498
498
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
499
499
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -272,11 +272,11 @@ const ItemDivider = class {
|
|
|
272
272
|
}
|
|
273
273
|
render() {
|
|
274
274
|
const mode = getIonMode(this);
|
|
275
|
-
return (h(Host, { key: '
|
|
275
|
+
return (h(Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: createColorClasses(this.color, {
|
|
276
276
|
[mode]: true,
|
|
277
277
|
'item-divider-sticky': this.sticky,
|
|
278
278
|
item: true,
|
|
279
|
-
}) }, h("slot", { key: '
|
|
279
|
+
}) }, 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" }))));
|
|
280
280
|
}
|
|
281
281
|
get el() { return getElement(this); }
|
|
282
282
|
};
|
|
@@ -295,7 +295,7 @@ const ItemGroup = class {
|
|
|
295
295
|
}
|
|
296
296
|
render() {
|
|
297
297
|
const mode = getIonMode(this);
|
|
298
|
-
return (h(Host, { key: '
|
|
298
|
+
return (h(Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
|
|
299
299
|
[mode]: true,
|
|
300
300
|
// Used internally for styling
|
|
301
301
|
[`item-group-${mode}`]: true,
|
|
@@ -361,13 +361,13 @@ const Label = class {
|
|
|
361
361
|
render() {
|
|
362
362
|
const position = this.position;
|
|
363
363
|
const mode = getIonMode(this);
|
|
364
|
-
return (h(Host, { key: '
|
|
364
|
+
return (h(Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: createColorClasses(this.color, {
|
|
365
365
|
[mode]: true,
|
|
366
366
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
367
367
|
[`label-${position}`]: position !== undefined,
|
|
368
368
|
[`label-no-animate`]: this.noAnimate,
|
|
369
369
|
'label-rtl': document.dir === 'rtl',
|
|
370
|
-
}) }, h("slot", { key: '
|
|
370
|
+
}) }, h("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
|
|
371
371
|
}
|
|
372
372
|
get el() { return getElement(this); }
|
|
373
373
|
static get watchers() { return {
|
|
@@ -408,7 +408,7 @@ const List = class {
|
|
|
408
408
|
render() {
|
|
409
409
|
const mode = getIonMode(this);
|
|
410
410
|
const { lines, inset } = this;
|
|
411
|
-
return (h(Host, { key: '
|
|
411
|
+
return (h(Host, { key: '76580117b59d26e355e89f49b385fa8db05026a2', role: "list", class: {
|
|
412
412
|
[mode]: true,
|
|
413
413
|
// Used internally for styling
|
|
414
414
|
[`list-${mode}`]: true,
|
|
@@ -435,10 +435,10 @@ const ListHeader = class {
|
|
|
435
435
|
render() {
|
|
436
436
|
const { lines } = this;
|
|
437
437
|
const mode = getIonMode(this);
|
|
438
|
-
return (h(Host, { key: '
|
|
438
|
+
return (h(Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: createColorClasses(this.color, {
|
|
439
439
|
[mode]: true,
|
|
440
440
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
441
|
-
}) }, h("div", { key: '
|
|
441
|
+
}) }, h("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, h("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
|
|
442
442
|
}
|
|
443
443
|
};
|
|
444
444
|
ListHeader.style = {
|
|
@@ -456,9 +456,9 @@ const Note = class {
|
|
|
456
456
|
}
|
|
457
457
|
render() {
|
|
458
458
|
const mode = getIonMode(this);
|
|
459
|
-
return (h(Host, { key: '
|
|
459
|
+
return (h(Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: createColorClasses(this.color, {
|
|
460
460
|
[mode]: true,
|
|
461
|
-
}) }, h("slot", { key: '
|
|
461
|
+
}) }, h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
|
|
462
462
|
}
|
|
463
463
|
};
|
|
464
464
|
Note.style = {
|
|
@@ -493,11 +493,11 @@ const SkeletonText = class {
|
|
|
493
493
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
494
494
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
495
495
|
const mode = getIonMode(this);
|
|
496
|
-
return (h(Host, { key: '
|
|
496
|
+
return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
|
|
497
497
|
[mode]: true,
|
|
498
498
|
'skeleton-text-animated': animated,
|
|
499
499
|
'in-media': inMedia,
|
|
500
|
-
} }, h("span", { key: '
|
|
500
|
+
} }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
|
|
501
501
|
}
|
|
502
502
|
get el() { return getElement(this); }
|
|
503
503
|
};
|
|
@@ -276,9 +276,9 @@ const Loading = class {
|
|
|
276
276
|
* Otherwise, don't set aria-labelledby.
|
|
277
277
|
*/
|
|
278
278
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
279
|
-
return (h(Host, Object.assign({ key: '
|
|
279
|
+
return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
280
280
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
281
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
281
|
+
}, 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" })));
|
|
282
282
|
}
|
|
283
283
|
get el() { return getElement(this); }
|
|
284
284
|
static get watchers() { return {
|