@ionic/core 8.7.3-dev.11755195979.1ec83531 → 8.7.3-dev.11755551681.10d084fd
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/checkbox.js +1 -1
- package/components/ion-input.js +7 -38
- 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 +18 -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 +6 -37
- 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/modal.js +4 -4
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.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 +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-input.cjs.entry.js +7 -37
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
- 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-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 +19 -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 +6 -36
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/input/input.js +8 -39
- 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-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-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 +18 -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 +7 -38
- 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 +5 -5
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-input.entry.js +7 -37
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +11 -11
- 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-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 +19 -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 +6 -36
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-92e8f208.entry.js → p-039c8f8e.entry.js} +1 -1
- package/dist/ionic/{p-f9eb54ee.entry.js → p-0c580145.entry.js} +1 -1
- package/dist/ionic/{p-40d56a51.entry.js → p-0e45320b.entry.js} +1 -1
- package/dist/ionic/{p-1bbd0a23.entry.js → p-12b99129.entry.js} +1 -1
- package/dist/ionic/p-1488b7cc.entry.js +4 -0
- package/dist/ionic/{p-6383afc2.entry.js → p-165d1309.entry.js} +1 -1
- package/dist/ionic/{p-7b12d853.entry.js → p-165d8e84.entry.js} +1 -1
- package/dist/ionic/p-1a91f317.entry.js +4 -0
- package/dist/ionic/{p-c575e7ce.entry.js → p-1cfb0bc4.entry.js} +1 -1
- package/dist/ionic/{p-4f2c5845.entry.js → p-1e8b1767.entry.js} +1 -1
- package/dist/ionic/{p-e6c465ff.entry.js → p-22351d1b.entry.js} +1 -1
- package/dist/ionic/{p-3624b640.entry.js → p-2e967897.entry.js} +1 -1
- package/dist/ionic/p-332e4eac.entry.js +4 -0
- package/dist/ionic/p-3364562a.entry.js +4 -0
- package/dist/ionic/{p-d04d66fc.entry.js → p-4c79bd85.entry.js} +1 -1
- package/dist/ionic/{p-cde6d39b.entry.js → p-5420fd3e.entry.js} +1 -1
- package/dist/ionic/{p-54dec9b1.entry.js → p-70e05fd1.entry.js} +1 -1
- package/dist/ionic/{p-16116947.entry.js → p-78aff731.entry.js} +1 -1
- package/dist/ionic/p-7922ca30.entry.js +4 -0
- package/dist/ionic/{p-ab33ef20.entry.js → p-82ce0043.entry.js} +1 -1
- package/dist/ionic/{p-29032e49.entry.js → p-8ca65589.entry.js} +1 -1
- package/dist/ionic/p-8de104c4.entry.js +4 -0
- package/dist/ionic/{p-7bac2c5f.entry.js → p-9cf01220.entry.js} +1 -1
- package/dist/ionic/{p-1191a2d9.entry.js → p-c32b6c20.entry.js} +1 -1
- package/dist/ionic/{p-982fe1c4.entry.js → p-c7d2c21b.entry.js} +1 -1
- package/dist/ionic/p-c91aa324.entry.js +4 -0
- package/dist/ionic/p-dff5b0b6.entry.js +4 -0
- package/dist/ionic/{p-ec76fec4.entry.js → p-e1310192.entry.js} +1 -1
- package/dist/ionic/{p-dbba38cf.entry.js → p-e8429777.entry.js} +1 -1
- package/dist/ionic/{p-528af4e6.entry.js → p-ee881603.entry.js} +1 -1
- package/dist/ionic/{p-ac434970.entry.js → p-f267c7dc.entry.js} +1 -1
- package/dist/ionic/{p-7a53f04c.entry.js → p-f4e6e570.entry.js} +1 -1
- package/dist/ionic/{p-c0d58c8e.entry.js → p-f550f186.entry.js} +1 -1
- package/dist/ionic/{p-f456d176.entry.js → p-f5da8541.entry.js} +1 -1
- package/dist/ionic/{p-f7db572a.entry.js → p-f868d51c.entry.js} +1 -1
- package/dist/types/components/input/input.d.ts +0 -9
- package/dist/types/components/textarea/textarea.d.ts +0 -9
- package/hydrate/index.js +123 -138
- package/hydrate/index.mjs +123 -138
- package/package.json +1 -1
- package/dist/ionic/p-0f396661.entry.js +0 -4
- package/dist/ionic/p-44415a3b.entry.js +0 -4
- package/dist/ionic/p-8d96a0cd.entry.js +0 -4
- package/dist/ionic/p-ac2be9d6.entry.js +0 -4
- package/dist/ionic/p-c836e1a2.entry.js +0 -4
- package/dist/ionic/p-d3df6032.entry.js +0 -4
- package/dist/ionic/p-e6c3214c.entry.js +0 -4
- package/dist/ionic/p-f80f7416.entry.js +0 -4
|
@@ -147,7 +147,7 @@ const Row = class {
|
|
|
147
147
|
index.registerInstance(this, hostRef);
|
|
148
148
|
}
|
|
149
149
|
render() {
|
|
150
|
-
return (index.h(index.Host, { key: '
|
|
150
|
+
return (index.h(index.Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
|
|
151
151
|
}
|
|
152
152
|
};
|
|
153
153
|
Row.style = rowCss;
|
|
@@ -2145,11 +2145,11 @@ const Picker = class {
|
|
|
2145
2145
|
render() {
|
|
2146
2146
|
const { htmlAttributes } = this;
|
|
2147
2147
|
const mode = ionicGlobal.getIonMode(this);
|
|
2148
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
2148
|
+
return (index.h(index.Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
2149
2149
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2150
2150
|
}, class: Object.assign({ [mode]: true,
|
|
2151
2151
|
// Used internally for styling
|
|
2152
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '
|
|
2152
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index.h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index.h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (index.h("div", { class: buttonWrapperClass(b) }, index.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index.h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, index.h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index.h("ion-picker-legacy-column", { col: c })), index.h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), index.h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
|
|
2153
2153
|
}
|
|
2154
2154
|
get el() { return index.getElement(this); }
|
|
2155
2155
|
static get watchers() { return {
|
|
@@ -2503,9 +2503,9 @@ const PickerColumnCmp = class {
|
|
|
2503
2503
|
render() {
|
|
2504
2504
|
const col = this.col;
|
|
2505
2505
|
const mode = ionicGlobal.getIonMode(this);
|
|
2506
|
-
return (index.h(index.Host, { key: '
|
|
2506
|
+
return (index.h(index.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' }, theme.getClassMap(col.cssClass)), style: {
|
|
2507
2507
|
'max-width': this.col.columnWidth,
|
|
2508
|
-
} }, col.prefix && (index.h("div", { key: '
|
|
2508
|
+
} }, col.prefix && (index.h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index.h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index$1) => (index.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index$1 }, o.text)))), col.suffix && (index.h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
2509
2509
|
}
|
|
2510
2510
|
get el() { return index.getElement(this); }
|
|
2511
2511
|
static get watchers() { return {
|
|
@@ -44,10 +44,6 @@ const Input = class {
|
|
|
44
44
|
* is applied in both cases.
|
|
45
45
|
*/
|
|
46
46
|
this.hasFocus = false;
|
|
47
|
-
/**
|
|
48
|
-
* Track validation state for proper aria-live announcements
|
|
49
|
-
*/
|
|
50
|
-
this.isInvalid = false;
|
|
51
47
|
/**
|
|
52
48
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
53
49
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -232,31 +228,10 @@ const Input = class {
|
|
|
232
228
|
componentWillLoad() {
|
|
233
229
|
this.inheritedAttributes = Object.assign(Object.assign({}, helpers.inheritAriaAttributes(this.el)), helpers.inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
|
|
234
230
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Checks if the input is in an invalid state based on validation classes
|
|
237
|
-
*/
|
|
238
|
-
checkValidationState() {
|
|
239
|
-
return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
|
|
240
|
-
}
|
|
241
231
|
connectedCallback() {
|
|
242
232
|
const { el } = this;
|
|
243
233
|
this.slotMutationController = input_utils.createSlotMutationController(el, ['label', 'start', 'end'], () => index.forceUpdate(this));
|
|
244
234
|
this.notchController = notchController.createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
245
|
-
// Watch for class changes to update validation state
|
|
246
|
-
{
|
|
247
|
-
this.validationObserver = new MutationObserver(() => {
|
|
248
|
-
const newIsInvalid = this.checkValidationState();
|
|
249
|
-
if (this.isInvalid !== newIsInvalid) {
|
|
250
|
-
this.isInvalid = newIsInvalid;
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
this.validationObserver.observe(el, {
|
|
254
|
-
attributes: true,
|
|
255
|
-
attributeFilter: ['class'],
|
|
256
|
-
});
|
|
257
|
-
// Set initial state
|
|
258
|
-
this.isInvalid = this.checkValidationState();
|
|
259
|
-
}
|
|
260
235
|
this.debounceChanged();
|
|
261
236
|
{
|
|
262
237
|
document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
|
|
@@ -293,11 +268,6 @@ const Input = class {
|
|
|
293
268
|
this.notchController.destroy();
|
|
294
269
|
this.notchController = undefined;
|
|
295
270
|
}
|
|
296
|
-
// Clean up validation observer to prevent memory leaks
|
|
297
|
-
if (this.validationObserver) {
|
|
298
|
-
this.validationObserver.disconnect();
|
|
299
|
-
this.validationObserver = undefined;
|
|
300
|
-
}
|
|
301
271
|
}
|
|
302
272
|
/**
|
|
303
273
|
* Sets focus on the native `input` in `ion-input`. Use this method instead of the global
|
|
@@ -399,15 +369,15 @@ const Input = class {
|
|
|
399
369
|
* Renders the helper text or error text values
|
|
400
370
|
*/
|
|
401
371
|
renderHintText() {
|
|
402
|
-
const { helperText, errorText, helperTextId, errorTextId
|
|
372
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
403
373
|
return [
|
|
404
374
|
index.h("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
405
|
-
index.h("div", { id: errorTextId, class: "error-text"
|
|
375
|
+
index.h("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
406
376
|
];
|
|
407
377
|
}
|
|
408
378
|
getHintTextID() {
|
|
409
|
-
const {
|
|
410
|
-
if (
|
|
379
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
380
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
411
381
|
return errorTextId;
|
|
412
382
|
}
|
|
413
383
|
if (helperText) {
|
|
@@ -520,7 +490,7 @@ const Input = class {
|
|
|
520
490
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
521
491
|
*/
|
|
522
492
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
523
|
-
return (index.h(index.Host, { key: '
|
|
493
|
+
return (index.h(index.Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: theme.createColorClasses(this.color, {
|
|
524
494
|
[mode]: true,
|
|
525
495
|
'has-value': hasValue,
|
|
526
496
|
'has-focus': hasFocus,
|
|
@@ -531,14 +501,14 @@ const Input = class {
|
|
|
531
501
|
'in-item': inItem,
|
|
532
502
|
'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
|
|
533
503
|
'input-disabled': disabled,
|
|
534
|
-
}) }, index.h("label", { key: '
|
|
504
|
+
}) }, index.h("label", { key: '9ab078363e32528102b441ad1791d83f86fdcbdc', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: 'e34b594980ec62e4c618e827fadf7669a39ad0d8', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: '12dc04ead5502e9e5736240e918bf9331bf7b5d9', name: "start" }), index.h("input", Object.assign({ key: 'df356eb4ced23109b2c0242f36dc043aba8782d6', 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.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: 'f79f68cabcd4ea99419331174a377827db0c0741', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
535
505
|
/**
|
|
536
506
|
* This prevents mobile browsers from
|
|
537
507
|
* blurring the input when the clear
|
|
538
508
|
* button is activated.
|
|
539
509
|
*/
|
|
540
510
|
ev.preventDefault();
|
|
541
|
-
}, onClick: this.clearTextInput }, index.h("ion-icon", { key: '
|
|
511
|
+
}, onClick: this.clearTextInput }, index.h("ion-icon", { key: '237ec07ec2e10f08818a332bb596578c2c49f770', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '1f0a3624aa3e8dc3c307a6762230ab698768a5e5', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8a8cbb82695a722a0010b53dd0b1f1f97534a20b', class: "input-highlight" })), this.renderBottomContent()));
|
|
542
512
|
}
|
|
543
513
|
get el() { return index.getElement(this); }
|
|
544
514
|
static get watchers() { return {
|
|
@@ -47,12 +47,12 @@ const ItemOption = class {
|
|
|
47
47
|
href: this.href,
|
|
48
48
|
target: this.target,
|
|
49
49
|
};
|
|
50
|
-
return (index.h(index.Host, { key: '
|
|
50
|
+
return (index.h(index.Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: theme.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
|
-
}) }, index.h(TagType, Object.assign({ key: '
|
|
55
|
+
}) }, index.h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), index.h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, index.h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), index.h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, index.h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), index.h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), index.h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), index.h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), index.h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && index.h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
|
|
56
56
|
}
|
|
57
57
|
get el() { return index.getElement(this); }
|
|
58
58
|
};
|
|
@@ -84,7 +84,7 @@ const ItemOptions = class {
|
|
|
84
84
|
render() {
|
|
85
85
|
const mode = ionicGlobal.getIonMode(this);
|
|
86
86
|
const isEnd = helpers.isEndSide(this.side);
|
|
87
|
-
return (index.h(index.Host, { key: '
|
|
87
|
+
return (index.h(index.Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
|
|
88
88
|
[mode]: true,
|
|
89
89
|
// Used internally for styling
|
|
90
90
|
[`item-options-${mode}`]: true,
|
|
@@ -495,7 +495,7 @@ const ItemSliding = class {
|
|
|
495
495
|
}
|
|
496
496
|
render() {
|
|
497
497
|
const mode = ionicGlobal.getIonMode(this);
|
|
498
|
-
return (index.h(index.Host, { key: '
|
|
498
|
+
return (index.h(index.Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
|
|
499
499
|
[mode]: true,
|
|
500
500
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
501
501
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -274,11 +274,11 @@ const ItemDivider = class {
|
|
|
274
274
|
}
|
|
275
275
|
render() {
|
|
276
276
|
const mode = ionicGlobal.getIonMode(this);
|
|
277
|
-
return (index.h(index.Host, { key: '
|
|
277
|
+
return (index.h(index.Host, { key: 'ee8b2c8d5e415c0d8badf84fa7670932da4e809e', class: theme.createColorClasses(this.color, {
|
|
278
278
|
[mode]: true,
|
|
279
279
|
'item-divider-sticky': this.sticky,
|
|
280
280
|
item: true,
|
|
281
|
-
}) }, index.h("slot", { key: '
|
|
281
|
+
}) }, index.h("slot", { key: 'a1b7bbb1a008b0a56887f130d166931033801746', name: "start" }), index.h("div", { key: '9d572da46ab616bdf881098e96aa6796a249507f', class: "item-divider-inner" }, index.h("div", { key: 'a57a2c17093b74b9e4f8fd2778230a440b293aa1', class: "item-divider-wrapper" }, index.h("slot", { key: 'ef15ebf58f3acd4b4d1b7c51144e26c3759dba49' })), index.h("slot", { key: '1787c2400534301fe72b8ec213d0ce1e8f75b65a', name: "end" }))));
|
|
282
282
|
}
|
|
283
283
|
get el() { return index.getElement(this); }
|
|
284
284
|
};
|
|
@@ -297,7 +297,7 @@ const ItemGroup = class {
|
|
|
297
297
|
}
|
|
298
298
|
render() {
|
|
299
299
|
const mode = ionicGlobal.getIonMode(this);
|
|
300
|
-
return (index.h(index.Host, { key: '
|
|
300
|
+
return (index.h(index.Host, { key: 'f1743af1d075682f63fae3802c5c5bf050507563', role: "group", class: {
|
|
301
301
|
[mode]: true,
|
|
302
302
|
// Used internally for styling
|
|
303
303
|
[`item-group-${mode}`]: true,
|
|
@@ -363,13 +363,13 @@ const Label = class {
|
|
|
363
363
|
render() {
|
|
364
364
|
const position = this.position;
|
|
365
365
|
const mode = ionicGlobal.getIonMode(this);
|
|
366
|
-
return (index.h(index.Host, { key: '
|
|
366
|
+
return (index.h(index.Host, { key: '684ddfa719e34d743489ff05a0df067829257c73', class: theme.createColorClasses(this.color, {
|
|
367
367
|
[mode]: true,
|
|
368
368
|
'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
|
|
369
369
|
[`label-${position}`]: position !== undefined,
|
|
370
370
|
[`label-no-animate`]: this.noAnimate,
|
|
371
371
|
'label-rtl': document.dir === 'rtl',
|
|
372
|
-
}) }, index.h("slot", { key: '
|
|
372
|
+
}) }, index.h("slot", { key: '4aace3e2b36250e832c44f63bea21116d77220fb' })));
|
|
373
373
|
}
|
|
374
374
|
get el() { return index.getElement(this); }
|
|
375
375
|
static get watchers() { return {
|
|
@@ -437,10 +437,10 @@ const ListHeader = class {
|
|
|
437
437
|
render() {
|
|
438
438
|
const { lines } = this;
|
|
439
439
|
const mode = ionicGlobal.getIonMode(this);
|
|
440
|
-
return (index.h(index.Host, { key: '
|
|
440
|
+
return (index.h(index.Host, { key: '2e529021279761b2b2889885437f619b0e8f71c4', class: theme.createColorClasses(this.color, {
|
|
441
441
|
[mode]: true,
|
|
442
442
|
[`list-header-lines-${lines}`]: lines !== undefined,
|
|
443
|
-
}) }, index.h("div", { key: '
|
|
443
|
+
}) }, index.h("div", { key: '9a6a11b0db015df79374f6489a40b959bc80b3e4', class: "list-header-inner" }, index.h("slot", { key: 'ef347fc6afb47850797e2e4d1aeefcd6a318f789' }))));
|
|
444
444
|
}
|
|
445
445
|
};
|
|
446
446
|
ListHeader.style = {
|
|
@@ -458,9 +458,9 @@ const Note = class {
|
|
|
458
458
|
}
|
|
459
459
|
render() {
|
|
460
460
|
const mode = ionicGlobal.getIonMode(this);
|
|
461
|
-
return (index.h(index.Host, { key: '
|
|
461
|
+
return (index.h(index.Host, { key: 'b86a6acc9274df6528d224d4c11ab826a0f84dbc', class: theme.createColorClasses(this.color, {
|
|
462
462
|
[mode]: true,
|
|
463
|
-
}) }, index.h("slot", { key: '
|
|
463
|
+
}) }, index.h("slot", { key: '5de76567ed7713827cd277a42db102faf34190c8' })));
|
|
464
464
|
}
|
|
465
465
|
};
|
|
466
466
|
Note.style = {
|
|
@@ -495,11 +495,11 @@ const SkeletonText = class {
|
|
|
495
495
|
const animated = this.animated && index.config.getBoolean('animated', true);
|
|
496
496
|
const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
|
|
497
497
|
const mode = ionicGlobal.getIonMode(this);
|
|
498
|
-
return (index.h(index.Host, { key: '
|
|
498
|
+
return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
|
|
499
499
|
[mode]: true,
|
|
500
500
|
'skeleton-text-animated': animated,
|
|
501
501
|
'in-media': inMedia,
|
|
502
|
-
} }, index.h("span", { key: '
|
|
502
|
+
} }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
|
|
503
503
|
}
|
|
504
504
|
get el() { return index.getElement(this); }
|
|
505
505
|
};
|
|
@@ -278,9 +278,9 @@ const Loading = class {
|
|
|
278
278
|
* Otherwise, don't set aria-labelledby.
|
|
279
279
|
*/
|
|
280
280
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
281
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
281
|
+
return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
282
282
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
283
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '
|
|
283
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
|
|
284
284
|
}
|
|
285
285
|
get el() { return index.getElement(this); }
|
|
286
286
|
static get watchers() { return {
|
|
@@ -661,14 +661,14 @@ const Menu = class {
|
|
|
661
661
|
* the ionBackButton listener in the menu controller
|
|
662
662
|
* will handle closing the menu when Escape is pressed.
|
|
663
663
|
*/
|
|
664
|
-
return (index.h(index.Host, { key: '
|
|
664
|
+
return (index.h(index.Host, { key: 'fe83e1633252b66757d30f603bb82ab65fc520f0', onKeyDown: hardwareBackButton.shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
665
665
|
[mode]: true,
|
|
666
666
|
[`menu-type-${type}`]: true,
|
|
667
667
|
'menu-enabled': !disabled,
|
|
668
668
|
[`menu-side-${side}`]: true,
|
|
669
669
|
'menu-pane-visible': isPaneVisible,
|
|
670
670
|
'split-pane-side': theme.hostContext('ion-split-pane', el),
|
|
671
|
-
} }, index.h("div", { key: '
|
|
671
|
+
} }, index.h("div", { key: '1e4cdb9728137618195797c758ff3ea3e8c4af55', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", { key: '05b98bee11a9bb0d199e24fa0d450fd4d174d5e6' })), index.h("ion-backdrop", { key: 'd9374f19fa1f2df5ecbe26ffe36e72862b650d56', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
672
672
|
}
|
|
673
673
|
get el() { return index.getElement(this); }
|
|
674
674
|
static get watchers() { return {
|
|
@@ -746,7 +746,7 @@ const MenuButton = class {
|
|
|
746
746
|
type: this.type,
|
|
747
747
|
};
|
|
748
748
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
749
|
-
return (index.h(index.Host, { key: '
|
|
749
|
+
return (index.h(index.Host, { key: 'dcade732e366f0687d92cb9ce4065b78b0b41d24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
|
|
750
750
|
[mode]: true,
|
|
751
751
|
button: true, // ion-buttons target .button
|
|
752
752
|
'menu-button-hidden': hidden,
|
|
@@ -755,7 +755,7 @@ const MenuButton = class {
|
|
|
755
755
|
'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
|
|
756
756
|
'ion-activatable': true,
|
|
757
757
|
'ion-focusable': true,
|
|
758
|
-
}) }, index.h("button", Object.assign({ key: '
|
|
758
|
+
}) }, index.h("button", Object.assign({ key: '7c4a449e239679376f38471d95fd602f9caec5f6' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, index.h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, index.h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
|
|
759
759
|
}
|
|
760
760
|
get el() { return index.getElement(this); }
|
|
761
761
|
};
|
|
@@ -790,10 +790,10 @@ const MenuToggle = class {
|
|
|
790
790
|
render() {
|
|
791
791
|
const mode = ionicGlobal.getIonMode(this);
|
|
792
792
|
const hidden = this.autoHide && !this.visible;
|
|
793
|
-
return (index.h(index.Host, { key: '
|
|
793
|
+
return (index.h(index.Host, { key: '55135952f3a42cb5d21916dfb7b169d894b381e3', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
794
794
|
[mode]: true,
|
|
795
795
|
'menu-toggle-hidden': hidden,
|
|
796
|
-
} }, index.h("slot", { key: '
|
|
796
|
+
} }, index.h("slot", { key: 'e8ecb59a6ec075b07e2a1b8fcdf7df3dd9975a03' })));
|
|
797
797
|
}
|
|
798
798
|
};
|
|
799
799
|
MenuToggle.style = menuToggleCss;
|
|
@@ -2318,20 +2318,20 @@ const Modal = class {
|
|
|
2318
2318
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
2319
2319
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
2320
2320
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
2321
|
-
return (index$3.h(index$3.Host, Object.assign({ key: '
|
|
2321
|
+
return (index$3.h(index$3.Host, Object.assign({ key: '3fc94b846a80cf23ab9c4d4534d5835f2ada5449', "no-router": true,
|
|
2322
2322
|
// Allow the modal to be navigable when the handle is focusable
|
|
2323
2323
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
2324
2324
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2325
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '
|
|
2325
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: 'a99663c15d2374448a2a2243da63cfc5fac769f4', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '840e71a6e0d334b413766b3b00fa60841b8abdaf', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'a77a8a58fbb541fb78319bd8fc790cc7c35133e7',
|
|
2326
2326
|
/*
|
|
2327
2327
|
role and aria-modal must be used on the
|
|
2328
2328
|
same element. They must also be set inside the
|
|
2329
2329
|
shadow DOM otherwise ion-button will not be highlighted
|
|
2330
2330
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
2331
2331
|
*/
|
|
2332
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '
|
|
2332
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: '4856c8e31055dc33b8dc997c891507c2b556cd7b', class: "modal-handle",
|
|
2333
2333
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
2334
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: '
|
|
2334
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'ecc33d1c0670d884aeee5a0c9fe4f16030edb511', onSlotchange: this.onSlotChange }))));
|
|
2335
2335
|
}
|
|
2336
2336
|
get el() { return index$3.getElement(this); }
|
|
2337
2337
|
static get watchers() { return {
|
|
@@ -897,7 +897,7 @@ const Nav = class {
|
|
|
897
897
|
}
|
|
898
898
|
}
|
|
899
899
|
render() {
|
|
900
|
-
return index.h("slot", { key: '
|
|
900
|
+
return index.h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
|
|
901
901
|
}
|
|
902
902
|
get el() { return index.getElement(this); }
|
|
903
903
|
static get watchers() { return {
|
|
@@ -939,7 +939,7 @@ const NavLink = class {
|
|
|
939
939
|
};
|
|
940
940
|
}
|
|
941
941
|
render() {
|
|
942
|
-
return index.h(index.Host, { key: '
|
|
942
|
+
return index.h(index.Host, { key: 'd4d80feb51c0d92b0bedf6952c892f9df3002046', onClick: this.onClick });
|
|
943
943
|
}
|
|
944
944
|
get el() { return index.getElement(this); }
|
|
945
945
|
};
|
|
@@ -99,10 +99,10 @@ const PickerColumnOption = class {
|
|
|
99
99
|
render() {
|
|
100
100
|
const { color, disabled, ariaLabel } = this;
|
|
101
101
|
const mode = ionicGlobal.getIonMode(this);
|
|
102
|
-
return (index.h(index.Host, { key: '
|
|
102
|
+
return (index.h(index.Host, { key: 'c45a1c14a351bf57d7113671164852349be5aa8a', class: theme.createColorClasses(color, {
|
|
103
103
|
[mode]: true,
|
|
104
104
|
['option-disabled']: disabled,
|
|
105
|
-
}) }, index.h("button", { key: '
|
|
105
|
+
}) }, index.h("button", { key: '67334c3bc6fbff93f65aaf9a0979b5ef62db1e5b', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, index.h("slot", { key: 'a4766c43931d1a5cb3124a2a97141d1a4ca2bf24' }))));
|
|
106
106
|
}
|
|
107
107
|
get el() { return index.getElement(this); }
|
|
108
108
|
static get watchers() { return {
|
|
@@ -1388,9 +1388,9 @@ const Popover = class {
|
|
|
1388
1388
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1389
1389
|
const desktop = ionicGlobal.isPlatform('desktop');
|
|
1390
1390
|
const enableArrow = arrow && !parentPopover;
|
|
1391
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
1391
|
+
return (index.h(index.Host, Object.assign({ key: 'f977b26ee1607d83bc78418e319da90d1691b49f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1392
1392
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1393
|
-
}, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '
|
|
1393
|
+
}, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: '3cfc18823bca1fd43f9f7da876a69a5d8b1eac4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: '060bc23b567e92bd4740397d3d2c1994cebd2859', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: 'cbb21b281a69713dd4233ea27256d696173a634b', class: "popover-arrow", part: "arrow" }), index.h("div", { key: 'a28dc0557aac79410d56828746d1b77aaa9d636c', class: "popover-content", part: "content" }, index.h("slot", { key: 'cd29600cb42be78005e635672ee2ec1e251116cc' })))));
|
|
1394
1394
|
}
|
|
1395
1395
|
get el() { return index.getElement(this); }
|
|
1396
1396
|
static get watchers() { return {
|
|
@@ -42,7 +42,7 @@ const ProgressBar = class {
|
|
|
42
42
|
const mode = ionicGlobal.getIonMode(this);
|
|
43
43
|
// If the progress is displayed as a solid bar.
|
|
44
44
|
const progressSolid = buffer === 1;
|
|
45
|
-
return (index.h(index.Host, { key: '
|
|
45
|
+
return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
|
|
46
46
|
[mode]: true,
|
|
47
47
|
[`progress-bar-${type}`]: true,
|
|
48
48
|
'progress-paused': paused,
|
|
@@ -137,7 +137,7 @@ const Radio = class {
|
|
|
137
137
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
138
138
|
const mode = ionicGlobal.getIonMode(this);
|
|
139
139
|
const inItem = theme.hostContext('ion-item', el);
|
|
140
|
-
return (index.h(index.Host, { key: '
|
|
140
|
+
return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
|
|
141
141
|
[mode]: true,
|
|
142
142
|
'in-item': inItem,
|
|
143
143
|
'radio-checked': checked,
|
|
@@ -148,10 +148,10 @@ const Radio = class {
|
|
|
148
148
|
// Focus and active styling should not apply when the radio is in an item
|
|
149
149
|
'ion-activatable': !inItem,
|
|
150
150
|
'ion-focusable': !inItem,
|
|
151
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '
|
|
151
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
|
|
152
152
|
'label-text-wrapper': true,
|
|
153
153
|
'label-text-wrapper-hidden': !hasLabel,
|
|
154
|
-
}, part: "label" }, index.h("slot", { key: '
|
|
154
|
+
}, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
155
155
|
}
|
|
156
156
|
get el() { return index.getElement(this); }
|
|
157
157
|
static get watchers() { return {
|
|
@@ -354,7 +354,7 @@ const RadioGroup = class {
|
|
|
354
354
|
const { label, labelId, el, name, value } = this;
|
|
355
355
|
const mode = ionicGlobal.getIonMode(this);
|
|
356
356
|
helpers.renderHiddenInput(true, el, name, value, false);
|
|
357
|
-
return (index.h(index.Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), index.h("
|
|
357
|
+
return (index.h(index.Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), index.h("slot", { key: '77f7b5a2040b65222c9c2178c8e87d58b347ef7c' })));
|
|
358
358
|
}
|
|
359
359
|
get el() { return index.getElement(this); }
|
|
360
360
|
static get watchers() { return {
|
|
@@ -723,7 +723,7 @@ const Range = class {
|
|
|
723
723
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
724
724
|
const mode = ionicGlobal.getIonMode(this);
|
|
725
725
|
helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
726
|
-
return (index.h(index.Host, { key: '
|
|
726
|
+
return (index.h(index.Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
|
|
727
727
|
[mode]: true,
|
|
728
728
|
'in-item': inItem,
|
|
729
729
|
'range-disabled': disabled,
|
|
@@ -732,10 +732,10 @@ const Range = class {
|
|
|
732
732
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
733
733
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
734
734
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
735
|
-
}) }, index.h("label", { key: '
|
|
735
|
+
}) }, index.h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
|
|
736
736
|
'label-text-wrapper': true,
|
|
737
737
|
'label-text-wrapper-hidden': !hasLabel,
|
|
738
|
-
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '
|
|
738
|
+
}, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, index.h("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
|
|
739
739
|
}
|
|
740
740
|
get el() { return index.getElement(this); }
|
|
741
741
|
static get watchers() { return {
|
|
@@ -375,6 +375,14 @@ const Refresher = class {
|
|
|
375
375
|
this.beginRefresh();
|
|
376
376
|
this.didRefresh = true;
|
|
377
377
|
haptic.hapticImpact({ style: haptic.ImpactStyle.Light });
|
|
378
|
+
/**
|
|
379
|
+
* Clear focus from any active element to prevent scroll jumps
|
|
380
|
+
* when the refresh completes
|
|
381
|
+
*/
|
|
382
|
+
const activeElement = document.activeElement;
|
|
383
|
+
if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
|
|
384
|
+
activeElement.blur();
|
|
385
|
+
}
|
|
378
386
|
/**
|
|
379
387
|
* Translate the content element otherwise when pointer is removed
|
|
380
388
|
* from screen the scroll content will bounce back over the refresher
|
|
@@ -790,6 +798,15 @@ const Refresher = class {
|
|
|
790
798
|
this.state = 8 /* RefresherState.Refreshing */;
|
|
791
799
|
// place the content in a hangout position while it thinks
|
|
792
800
|
this.setCss(this.pullMin, this.snapbackDuration, true, '');
|
|
801
|
+
/**
|
|
802
|
+
* Clear focus from any active element to prevent the browser
|
|
803
|
+
* from restoring focus and causing scroll jumps after refresh.
|
|
804
|
+
* This ensures the view stays at the top after refresh completes.
|
|
805
|
+
*/
|
|
806
|
+
const activeElement = document.activeElement;
|
|
807
|
+
if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
|
|
808
|
+
activeElement.blur();
|
|
809
|
+
}
|
|
793
810
|
// emit "refresh" because it was pulled down far enough
|
|
794
811
|
// and they let go to begin refreshing
|
|
795
812
|
this.ionRefresh.emit({
|
|
@@ -872,7 +889,7 @@ const Refresher = class {
|
|
|
872
889
|
}
|
|
873
890
|
render() {
|
|
874
891
|
const mode = ionicGlobal.getIonMode(this);
|
|
875
|
-
return (index.h(index.Host, { key: '
|
|
892
|
+
return (index.h(index.Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
|
|
876
893
|
[mode]: true,
|
|
877
894
|
// Used internally for styling
|
|
878
895
|
[`refresher-${mode}`]: true,
|
|
@@ -935,7 +952,7 @@ const RefresherContent = class {
|
|
|
935
952
|
const pullingIcon = this.pullingIcon;
|
|
936
953
|
const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
|
|
937
954
|
const mode = ionicGlobal.getIonMode(this);
|
|
938
|
-
return (index.h(index.Host, { key: '
|
|
955
|
+
return (index.h(index.Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, index.h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, index.h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, index.h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
939
956
|
}
|
|
940
957
|
get el() { return index.getElement(this); }
|
|
941
958
|
};
|
|
@@ -32,7 +32,7 @@ const Reorder = class {
|
|
|
32
32
|
render() {
|
|
33
33
|
const mode = ionicGlobal.getIonMode(this);
|
|
34
34
|
const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
|
|
35
|
-
return (index.h(index.Host, { key: '
|
|
35
|
+
return (index.h(index.Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, index.h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, index.h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
36
36
|
}
|
|
37
37
|
get el() { return index.getElement(this); }
|
|
38
38
|
};
|
|
@@ -295,7 +295,7 @@ const ReorderGroup = class {
|
|
|
295
295
|
}
|
|
296
296
|
render() {
|
|
297
297
|
const mode = ionicGlobal.getIonMode(this);
|
|
298
|
-
return (index.h(index.Host, { key: '
|
|
298
|
+
return (index.h(index.Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
|
|
299
299
|
[mode]: true,
|
|
300
300
|
'reorder-enabled': !this.disabled,
|
|
301
301
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -74,7 +74,7 @@ const RippleEffect = class {
|
|
|
74
74
|
}
|
|
75
75
|
render() {
|
|
76
76
|
const mode = ionicGlobal.getIonMode(this);
|
|
77
|
-
return (index.h(index.Host, { key: '
|
|
77
|
+
return (index.h(index.Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
|
|
78
78
|
[mode]: true,
|
|
79
79
|
unbounded: this.unbounded,
|
|
80
80
|
} }));
|
|
@@ -897,10 +897,10 @@ const RouterLink = class {
|
|
|
897
897
|
rel: this.rel,
|
|
898
898
|
target: this.target,
|
|
899
899
|
};
|
|
900
|
-
return (index.h(index.Host, { key: '
|
|
900
|
+
return (index.h(index.Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: theme.createColorClasses(this.color, {
|
|
901
901
|
[mode]: true,
|
|
902
902
|
'ion-activatable': true,
|
|
903
|
-
}) }, index.h("a", Object.assign({ key: '
|
|
903
|
+
}) }, index.h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), index.h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
|
|
904
904
|
}
|
|
905
905
|
};
|
|
906
906
|
RouterLink.style = routerLinkCss;
|