@ionic/core 8.7.13-dev.11765560568.1a8772e8 → 8.7.13-dev.11765829391.14bc580c
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 +85 -86
- 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 +89 -90
- 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 +85 -86
- 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 +89 -90
- 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-cc2a9936.entry.js → p-020af078.entry.js} +1 -1
- package/dist/ionic/{p-01e27965.entry.js → p-074839fc.entry.js} +1 -1
- package/dist/ionic/{p-67f46577.entry.js → p-0abeb0fc.entry.js} +1 -1
- package/dist/ionic/{p-59a5cdf5.entry.js → p-0bf76d0f.entry.js} +1 -1
- package/dist/ionic/{p-530fcd71.entry.js → p-0dfa5a37.entry.js} +1 -1
- package/dist/ionic/{p-85ee4a92.entry.js → p-11518b31.entry.js} +1 -1
- package/dist/ionic/{p-363d1209.entry.js → p-1647c46c.entry.js} +1 -1
- package/dist/ionic/{p-6f37536a.entry.js → p-2a939845.entry.js} +1 -1
- package/dist/ionic/{p-221a3d8c.entry.js → p-316c0420.entry.js} +1 -1
- package/dist/ionic/{p-a4a9f5ae.entry.js → p-31f7095f.entry.js} +1 -1
- package/dist/ionic/{p-fbb00634.entry.js → p-370e4237.entry.js} +1 -1
- package/dist/ionic/{p-2668188b.entry.js → p-3a6caca9.entry.js} +1 -1
- package/dist/ionic/{p-64841854.entry.js → p-40c261a3.entry.js} +1 -1
- package/dist/ionic/{p-ee8ecd40.entry.js → p-46d74291.entry.js} +1 -1
- package/dist/ionic/p-4b658a7c.entry.js +4 -0
- package/dist/ionic/p-4e41ea20.entry.js +4 -0
- package/dist/ionic/p-51a60e0f.entry.js +4 -0
- package/dist/ionic/p-576e0965.entry.js +4 -0
- package/dist/ionic/{p-e036eb2f.entry.js → p-6241ce47.entry.js} +1 -1
- package/dist/ionic/{p-c175d792.entry.js → p-639dd543.entry.js} +1 -1
- package/dist/ionic/{p-d655735d.entry.js → p-6444c606.entry.js} +1 -1
- package/dist/ionic/{p-65db57d7.entry.js → p-675b1a31.entry.js} +1 -1
- package/dist/ionic/{p-82d5bb3d.entry.js → p-6d070558.entry.js} +1 -1
- package/dist/ionic/{p-e64b550c.entry.js → p-7268efa5.entry.js} +1 -1
- package/dist/ionic/{p-20f135b4.entry.js → p-72c38b88.entry.js} +1 -1
- package/dist/ionic/{p-b8551510.entry.js → p-86f53961.entry.js} +1 -1
- package/dist/ionic/p-94de5cfa.entry.js +4 -0
- package/dist/ionic/{p-e48f026f.entry.js → p-9575b654.entry.js} +1 -1
- package/dist/ionic/{p-30333874.entry.js → p-a127bee2.entry.js} +1 -1
- package/dist/ionic/{p-3b0b7a05.entry.js → p-a8ed848b.entry.js} +1 -1
- package/dist/ionic/{p-bccc9207.entry.js → p-ac4eb91d.entry.js} +1 -1
- package/dist/ionic/{p-dbc82f0e.entry.js → p-b57c6d3e.entry.js} +1 -1
- package/dist/ionic/{p-b30c3430.entry.js → p-c19f63d0.entry.js} +1 -1
- package/dist/ionic/{p-f097a9e5.entry.js → p-c85a2127.entry.js} +1 -1
- package/dist/ionic/{p-69c6fe52.entry.js → p-cc45bcbc.entry.js} +1 -1
- package/dist/ionic/{p-75ebaa15.entry.js → p-cebb0328.entry.js} +1 -1
- package/dist/ionic/{p-bce86e56.entry.js → p-d126e8d3.entry.js} +1 -1
- package/dist/ionic/{p-2bd1ea35.entry.js → p-d3014190.entry.js} +1 -1
- package/dist/ionic/{p-652318c3.entry.js → p-dbbe606a.entry.js} +1 -1
- package/dist/ionic/{p-0852af24.entry.js → p-ea509e3c.entry.js} +1 -1
- package/dist/ionic/{p-fc14f34a.entry.js → p-ec654c42.entry.js} +1 -1
- package/dist/ionic/{p-fb0271ae.entry.js → p-f8f22cc0.entry.js} +1 -1
- package/dist/types/components/datetime/datetime.d.ts +8 -9
- package/hydrate/index.js +213 -214
- package/hydrate/index.mjs +213 -214
- package/package.json +5 -5
- package/dist/ionic/p-0ca0fe9c.entry.js +0 -4
- package/dist/ionic/p-43c5249f.entry.js +0 -4
- package/dist/ionic/p-7f98e710.entry.js +0 -4
- package/dist/ionic/p-ce8dad03.entry.js +0 -4
- package/dist/ionic/p-ebcfc1d2.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: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', 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: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
|
|
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: '11d037e6ab061e5116842970760b04850b42f2c7', 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: '08ecb62da0fcbf7466a1f2403276712a3ff17fbc', 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: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (h("button", { key: 'c9c5c34ac338badf8659da22bea5829d62c51169', 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: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
|
|
349
349
|
}
|
|
350
350
|
get el() { return this; }
|
|
351
351
|
static get style() { return {
|
|
@@ -790,6 +790,28 @@ 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
|
+
};
|
|
793
815
|
this.processValue = (value) => {
|
|
794
816
|
const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
|
|
795
817
|
const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
|
|
@@ -1067,107 +1089,84 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1067
1089
|
this.clearFocusVisible();
|
|
1068
1090
|
this.clearFocusVisible = undefined;
|
|
1069
1091
|
}
|
|
1070
|
-
if (this.resizeObserver) {
|
|
1071
|
-
this.resizeObserver.disconnect();
|
|
1072
|
-
this.resizeObserver = undefined;
|
|
1073
|
-
}
|
|
1074
|
-
if (this.destroyOverlayListeners) {
|
|
1075
|
-
this.destroyOverlayListeners();
|
|
1076
|
-
this.destroyOverlayListeners = undefined;
|
|
1077
|
-
}
|
|
1078
1092
|
}
|
|
1079
1093
|
initializeListeners() {
|
|
1080
1094
|
this.initializeCalendarListener();
|
|
1081
1095
|
this.initializeKeyboardListeners();
|
|
1082
1096
|
}
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
if (el.classList.contains('datetime-ready')) {
|
|
1097
|
+
componentDidLoad() {
|
|
1098
|
+
const { el, intersectionTrackerRef } = this;
|
|
1099
|
+
/**
|
|
1100
|
+
* If a scrollable element is hidden using `display: none`,
|
|
1101
|
+
* it will not have a scroll height meaning we cannot scroll elements
|
|
1102
|
+
* into view. As a result, we will need to wait for the datetime to become
|
|
1103
|
+
* visible if used inside of a modal or a popover otherwise the scrollable
|
|
1104
|
+
* areas will not have the correct values snapped into place.
|
|
1105
|
+
*/
|
|
1106
|
+
const visibleCallback = (entries) => {
|
|
1107
|
+
const ev = entries[0];
|
|
1108
|
+
if (!ev.isIntersecting) {
|
|
1096
1109
|
return;
|
|
1097
1110
|
}
|
|
1098
1111
|
this.initializeListeners();
|
|
1112
|
+
/**
|
|
1113
|
+
* TODO FW-2793: Datetime needs a frame to ensure that it
|
|
1114
|
+
* can properly scroll contents into view. As a result
|
|
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?
|
|
1119
|
+
*/
|
|
1099
1120
|
writeTask(() => {
|
|
1100
|
-
el.classList.add('datetime-ready');
|
|
1101
|
-
});
|
|
1102
|
-
};
|
|
1103
|
-
const markHidden = () => {
|
|
1104
|
-
this.destroyInteractionListeners();
|
|
1105
|
-
this.showMonthAndYear = false;
|
|
1106
|
-
writeTask(() => {
|
|
1107
|
-
el.classList.remove('datetime-ready');
|
|
1121
|
+
this.el.classList.add('datetime-ready');
|
|
1108
1122
|
});
|
|
1109
|
-
startVisibilityPolling();
|
|
1110
1123
|
};
|
|
1124
|
+
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
|
|
1111
1125
|
/**
|
|
1112
|
-
*
|
|
1113
|
-
*
|
|
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.
|
|
1114
1130
|
*/
|
|
1115
|
-
|
|
1116
|
-
let pollCount = 0;
|
|
1117
|
-
const poll = () => {
|
|
1118
|
-
if (el.classList.contains('datetime-ready') || pollCount++ >= 60) {
|
|
1119
|
-
return;
|
|
1120
|
-
}
|
|
1121
|
-
const { width, height } = el.getBoundingClientRect();
|
|
1122
|
-
if (width > 0 && height > 0) {
|
|
1123
|
-
markReady();
|
|
1124
|
-
}
|
|
1125
|
-
else {
|
|
1126
|
-
raf(poll);
|
|
1127
|
-
}
|
|
1128
|
-
};
|
|
1129
|
-
raf(poll);
|
|
1130
|
-
};
|
|
1131
|
+
raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
|
|
1131
1132
|
/**
|
|
1132
|
-
* FW-6931:
|
|
1133
|
-
*
|
|
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.
|
|
1134
1139
|
*/
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
raf(() => { var _a; return (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(el); });
|
|
1160
|
-
startVisibilityPolling();
|
|
1161
|
-
}
|
|
1162
|
-
else {
|
|
1163
|
-
// Test environment fallback - mark ready immediately
|
|
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();
|
|
1156
|
+
/**
|
|
1157
|
+
* When datetime is hidden, we need to make sure that
|
|
1158
|
+
* the month/year picker is closed. Otherwise,
|
|
1159
|
+
* it will be open when the datetime re-appears
|
|
1160
|
+
* and the scroll area of the calendar grid will be 0.
|
|
1161
|
+
* As a result, the wrong month will be shown.
|
|
1162
|
+
*/
|
|
1163
|
+
this.showMonthAndYear = false;
|
|
1164
1164
|
writeTask(() => {
|
|
1165
|
-
el.classList.
|
|
1165
|
+
this.el.classList.remove('datetime-ready');
|
|
1166
1166
|
});
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
this.initializeVisibilityObserver();
|
|
1167
|
+
};
|
|
1168
|
+
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
|
|
1169
|
+
raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
|
|
1171
1170
|
/**
|
|
1172
1171
|
* Datetime uses Ionic components that emit
|
|
1173
1172
|
* ionFocus and ionBlur. These events are
|
|
@@ -1896,7 +1895,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1896
1895
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1897
1896
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1898
1897
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1899
|
-
return (h(Host, { key: '
|
|
1898
|
+
return (h(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1900
1899
|
[mode]: true,
|
|
1901
1900
|
['datetime-readonly']: readonly,
|
|
1902
1901
|
['datetime-disabled']: disabled,
|
|
@@ -1906,7 +1905,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
|
|
|
1906
1905
|
[`datetime-size-${size}`]: true,
|
|
1907
1906
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1908
1907
|
[`datetime-grid`]: isGridStyle,
|
|
1909
|
-
})) }, this.renderDatetime(mode)));
|
|
1908
|
+
})) }, h("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1910
1909
|
}
|
|
1911
1910
|
get el() { return this; }
|
|
1912
1911
|
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: '4eee204d20b0e2ffed49a88f6cb3e04b6697965c', 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: '914561622c0c6bd41453e828a7d8a39f924875ac' }, 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: '2c8090742a64c62a79243667027a195cca9d5912', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: 'c3e55291e4c4d306d34a4b95dd2e727e87bdf39c', class: "button-inner" }, h("slot", { key: 'f8e57f71d8f8878d9746cfece82f57f19ef9e988' })), mode === 'md' && h("ion-ripple-effect", { key: 'a5e94fa0bb9836072300617245ed0c1b4887bac6' }))));
|
|
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: '64b33366447f66c7f979cfac56307fbb1a6fac1c', 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: 'd9f474f7f20fd7e813db358fddc720534ca05bb6' })));
|
|
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: '8a310806d0e748d7ebb0ed3d9a2652038e0f2960', 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: '9394ef6d6e5b0410fa6ba212171f687fb178ce2d' })));
|
|
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: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', 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: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), h("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
|
|
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: '617127ecfabf9bf615bef1dda1be3fed5a065949', class: {
|
|
24
24
|
[mode]: true,
|
|
25
25
|
'grid-fixed': this.fixed,
|
|
26
|
-
} }, h("slot", { key: '
|
|
26
|
+
} }, h("slot", { key: 'c781fff853b093d8f44bdb7943bbc4f17c903803' })));
|
|
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: 'da600442894427dee1974a28e545613afac69fca', class: getIonMode(this) }, h("img", { key: '16df0c7069af86c0fa7ce5af598bc0f63b4eb71a', 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: '7c16060dcfe2a0b0fb3e2f8f4c449589a76f1baa', 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: 'a94f4d8746e053dc718f97520bd7e48cb316443a', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '10143d5d2a50a2a2bc5de1cee8e7ab51263bcf23', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '8846e88191690d9c61a0b462889ed56fbfed8b0d', 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: 'e844956795f69be33396ce4480aa7a54ad01b28c', 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: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', 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: 'd7e1d4edd8aafcf2ed4313301287282e90fc7e82', 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: '3724a3159d02860971879a906092f9965f5a7c47', class: {
|
|
631
631
|
'input-otp-description': true,
|
|
632
632
|
'input-otp-description-hidden': !hasDescription,
|
|
633
|
-
} }, h("slot", { key: '
|
|
633
|
+
} }, h("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
|
|
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: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses(color, {
|
|
74
74
|
[mode]: true,
|
|
75
|
-
}) }, h("ion-button", { key: '
|
|
75
|
+
}) }, h("ion-button", { key: 'f3e436422110c9cb4d5c0b83500255b24ab4cdef', 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: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', 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: '97b5308021064d9e7434ef2d3d96f27045c1b0c4', 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: '353f68726ce180299bd9adc81e5ff7d26a48f54f', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '2034b4bad04fc157f3298a1805819216b6f439d0', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: '96bb5e30176b2bd76dfb75bfbf6c1c3d4403f4bb', name: "start" }), h("input", Object.assign({ key: '1a1d75b0e414a95c89d5a760757c33548d234aca', 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: '95f3df17b7691d9a2e7dcd4a51f16a94aa3ca36f', "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: '16b0af75eed50c8115fb5597f73b5fbf71c2530e', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: 'c48da0f8ddb3764ac43efa705bb4a6bb2d9cc2fd', name: "end" })), shouldRenderHighlight && h("div", { key: 'f15238481fc20de56ca7ecb6e350b3c024cc755e', 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: '1523095ce4af3f2611512ff0948ead659959ee4a', 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: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), h("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, h("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, h("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), h("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', 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: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', 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: '189a0040b97163b2336bf216baa71d584c5923a8', 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: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, h("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), h("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, h("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), h("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), h("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), h("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), h("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
|
|
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: '05a22a505e043c2715e3805e5e26ab4668940af0', 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: 'd812322c9fb5da4ee16e99dc38bfb24cb4590d03', 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: '4497183ce220242abe19ae15f328f9a92ccafbbc', 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: '231dec84e424a2dc358ce95b84d6035cf43e4dea', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c9af29b6e6bb49a217396a5c874bbfb8835a926c', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'a8659863743cdeccbe1ba810eaabfd3ebfcb86f3', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '3b346f39bc71691bd8686556a1e142198a7b12fa', class: "loading-spinner" }, h("ion-spinner", { key: '8dc2bf1556e5138e262827f1516c59ecd09f3520', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '054164c0dbae9a0e0973dd3c8e28f5b771820310', 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: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', 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: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, h("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, h("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', 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: 'cd567114769a30bd3871ed5d15bf42aed39956e1', 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: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
|
|
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: '70a427f3414a476414c3386efe6c8723fd37eccf', 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: '83af04e5a47d5a92caafaf06088a7114ae61984b', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '7b35048642864bd0f30de9f6b61c949c1b601692' })), h("ion-backdrop", { key: '347af516c7970d80dd11c6d1ed61e9a040ceb5fb', 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 {
|