@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
|
@@ -12,7 +12,7 @@ export class SelectOption {
|
|
|
12
12
|
this.disabled = false;
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return h(Host, { key: '
|
|
15
|
+
return h(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode(this) });
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ion-select-option"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -101,7 +101,7 @@ export class SelectPopover {
|
|
|
101
101
|
render() {
|
|
102
102
|
const { header, message, options, subHeader } = this;
|
|
103
103
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
104
|
-
return (h(Host, { key: '
|
|
104
|
+
return (h(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode(this) }, h("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && h("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, h("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && h("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
|
|
105
105
|
}
|
|
106
106
|
static get is() { return "ion-select-popover"; }
|
|
107
107
|
static get encapsulation() { return "scoped"; }
|
|
@@ -28,11 +28,11 @@ export class SkeletonText {
|
|
|
28
28
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
29
29
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
30
30
|
const mode = getIonMode(this);
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
'skeleton-text-animated': animated,
|
|
34
34
|
'in-media': inMedia,
|
|
35
|
-
} }, h("span", { key: '
|
|
35
|
+
} }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "ion-skeleton-text"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,7 +39,7 @@ export class Spinner {
|
|
|
39
39
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return (h(Host, { key: '
|
|
42
|
+
return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
|
|
43
43
|
[mode]: true,
|
|
44
44
|
[`spinner-${spinnerName}`]: true,
|
|
45
45
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -126,12 +126,12 @@ export class SplitPane {
|
|
|
126
126
|
}
|
|
127
127
|
render() {
|
|
128
128
|
const mode = getIonMode(this);
|
|
129
|
-
return (h(Host, { key: '
|
|
129
|
+
return (h(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
|
|
130
130
|
[mode]: true,
|
|
131
131
|
// Used internally for styling
|
|
132
132
|
[`split-pane-${mode}`]: true,
|
|
133
133
|
'split-pane-visible': this.visible,
|
|
134
|
-
} }, h("slot", { key: '
|
|
134
|
+
} }, h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
|
|
135
135
|
}
|
|
136
136
|
static get is() { return "ion-split-pane"; }
|
|
137
137
|
static get encapsulation() { return "shadow"; }
|
|
@@ -47,10 +47,10 @@ export class Tab {
|
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
49
|
const { tab, active, component } = this;
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
51
51
|
'ion-page': component === undefined,
|
|
52
52
|
'tab-hidden': !active,
|
|
53
|
-
} }, h("slot", { key: '
|
|
53
|
+
} }, h("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
|
|
54
54
|
}
|
|
55
55
|
static get is() { return "ion-tab"; }
|
|
56
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -54,11 +54,11 @@ export class TabBar {
|
|
|
54
54
|
const { color, translucent, keyboardVisible } = this;
|
|
55
55
|
const mode = getIonMode(this);
|
|
56
56
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
57
|
-
return (h(Host, { key: '
|
|
57
|
+
return (h(Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
|
|
58
58
|
[mode]: true,
|
|
59
59
|
'tab-bar-translucent': translucent,
|
|
60
60
|
'tab-bar-hidden': shouldHide,
|
|
61
|
-
}) }, h("slot", { key: '
|
|
61
|
+
}) }, h("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
|
|
62
62
|
}
|
|
63
63
|
static get is() { return "ion-tab-bar"; }
|
|
64
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -70,7 +70,7 @@ export class TabButton {
|
|
|
70
70
|
rel,
|
|
71
71
|
target,
|
|
72
72
|
};
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
74
74
|
[mode]: true,
|
|
75
75
|
'tab-selected': selected,
|
|
76
76
|
'tab-disabled': disabled,
|
|
@@ -82,7 +82,7 @@ export class TabButton {
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-selectable': true,
|
|
84
84
|
'ion-focusable': true,
|
|
85
|
-
} }, h("a", Object.assign({ key: '
|
|
85
|
+
} }, h("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, h("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && h("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
|
|
86
86
|
}
|
|
87
87
|
static get is() { return "ion-tab-button"; }
|
|
88
88
|
static get encapsulation() { return "shadow"; }
|
|
@@ -163,7 +163,7 @@ export class Tabs {
|
|
|
163
163
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
164
164
|
}
|
|
165
165
|
render() {
|
|
166
|
-
return (h(Host, { key: '
|
|
166
|
+
return (h(Host, { key: '97d3548ef12a33b783b4ea090ba19ca5055ef6d7', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '13fc2090ff2d030803caec332f30b2dd41352644', name: "top" }), h("div", { key: '5f5c12c96efca85cba50442e7633b8a95f699918', class: "tabs-inner" }, h("slot", { key: '92e702217cb2bab6133928adae8a6a516796ca1a' })), h("slot", { key: '57a08296c8d77d62e4832a4eca431fea8ace3616', name: "bottom" })));
|
|
167
167
|
}
|
|
168
168
|
static get is() { return "ion-tabs"; }
|
|
169
169
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,9 +10,9 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
10
10
|
export class Text {
|
|
11
11
|
render() {
|
|
12
12
|
const mode = getIonMode(this);
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: createColorClasses(this.color, {
|
|
14
14
|
[mode]: true,
|
|
15
|
-
}) }, h("slot", { key: '
|
|
15
|
+
}) }, h("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ion-text"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -37,10 +37,6 @@ export class Textarea {
|
|
|
37
37
|
* is applied in both cases.
|
|
38
38
|
*/
|
|
39
39
|
this.hasFocus = false;
|
|
40
|
-
/**
|
|
41
|
-
* Track validation state for proper aria-live announcements
|
|
42
|
-
*/
|
|
43
|
-
this.isInvalid = false;
|
|
44
40
|
/**
|
|
45
41
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
46
42
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -187,31 +183,10 @@ export class Textarea {
|
|
|
187
183
|
this.el.click();
|
|
188
184
|
}
|
|
189
185
|
}
|
|
190
|
-
/**
|
|
191
|
-
* Checks if the textarea is in an invalid state based on validation classes
|
|
192
|
-
*/
|
|
193
|
-
checkValidationState() {
|
|
194
|
-
return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
|
|
195
|
-
}
|
|
196
186
|
connectedCallback() {
|
|
197
187
|
const { el } = this;
|
|
198
188
|
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
|
|
199
189
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
200
|
-
// Watch for class changes to update validation state
|
|
201
|
-
if (Build.isBrowser) {
|
|
202
|
-
this.validationObserver = new MutationObserver(() => {
|
|
203
|
-
const newIsInvalid = this.checkValidationState();
|
|
204
|
-
if (this.isInvalid !== newIsInvalid) {
|
|
205
|
-
this.isInvalid = newIsInvalid;
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
this.validationObserver.observe(el, {
|
|
209
|
-
attributes: true,
|
|
210
|
-
attributeFilter: ['class'],
|
|
211
|
-
});
|
|
212
|
-
// Set initial state
|
|
213
|
-
this.isInvalid = this.checkValidationState();
|
|
214
|
-
}
|
|
215
190
|
this.debounceChanged();
|
|
216
191
|
if (Build.isBrowser) {
|
|
217
192
|
document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
|
|
@@ -233,11 +208,6 @@ export class Textarea {
|
|
|
233
208
|
this.notchController.destroy();
|
|
234
209
|
this.notchController = undefined;
|
|
235
210
|
}
|
|
236
|
-
// Clean up validation observer to prevent memory leaks
|
|
237
|
-
if (this.validationObserver) {
|
|
238
|
-
this.validationObserver.disconnect();
|
|
239
|
-
this.validationObserver = undefined;
|
|
240
|
-
}
|
|
241
211
|
}
|
|
242
212
|
componentWillLoad() {
|
|
243
213
|
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['data-form-type', 'title', 'tabindex', 'dir']));
|
|
@@ -408,15 +378,15 @@ export class Textarea {
|
|
|
408
378
|
* Renders the helper text or error text values
|
|
409
379
|
*/
|
|
410
380
|
renderHintText() {
|
|
411
|
-
const { helperText, errorText, helperTextId, errorTextId
|
|
381
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
412
382
|
return [
|
|
413
383
|
h("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
414
|
-
h("div", { id: errorTextId, class: "error-text"
|
|
384
|
+
h("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
415
385
|
];
|
|
416
386
|
}
|
|
417
387
|
getHintTextID() {
|
|
418
|
-
const {
|
|
419
|
-
if (
|
|
388
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
389
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
420
390
|
return errorTextId;
|
|
421
391
|
}
|
|
422
392
|
if (helperText) {
|
|
@@ -475,7 +445,7 @@ export class Textarea {
|
|
|
475
445
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
476
446
|
*/
|
|
477
447
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
478
|
-
return (h(Host, { key: '
|
|
448
|
+
return (h(Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: createColorClasses(this.color, {
|
|
479
449
|
[mode]: true,
|
|
480
450
|
'has-value': hasValue,
|
|
481
451
|
'has-focus': hasFocus,
|
|
@@ -484,7 +454,7 @@ export class Textarea {
|
|
|
484
454
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
485
455
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
486
456
|
'textarea-disabled': disabled,
|
|
487
|
-
}) }, h("label", { key: '
|
|
457
|
+
}) }, h("label", { key: '60dd748594cb8e710bd6be8779c5bbafc7bb129c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'dc11a0e37279c142cde124e3868144024a5439ed', class: "textarea-wrapper-inner" }, h("div", { key: '49aee693a69bf17cf9d05a903d5e176f5ef7c50d', class: "start-slot-wrapper" }, h("slot", { key: '7307aad65706b8191dac46b7e61e662af8976e97', name: "start" })), h("div", { key: '81fb54829e4dd759d812fe98e24893071fdfb92a', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: 'fe51fca195f8e2ec6607ba6d92bce72e0a94e2cd', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: '87fd163075ea795ddb75b8d6bbf2f89ddceca4dc', class: "end-slot-wrapper" }, h("slot", { key: 'b09b52993d2471e7e75773a8f36c49995959ce7a', name: "end" }))), shouldRenderHighlight && h("div", { key: 'acad88bca506ebf44d3bedab29f6d53ff8f92981', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
488
458
|
}
|
|
489
459
|
static get is() { return "ion-textarea"; }
|
|
490
460
|
static get encapsulation() { return "scoped"; }
|
|
@@ -1055,8 +1025,7 @@ export class Textarea {
|
|
|
1055
1025
|
}
|
|
1056
1026
|
static get states() {
|
|
1057
1027
|
return {
|
|
1058
|
-
"hasFocus": {}
|
|
1059
|
-
"isInvalid": {}
|
|
1028
|
+
"hasFocus": {}
|
|
1060
1029
|
};
|
|
1061
1030
|
}
|
|
1062
1031
|
static get events() {
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Thumbnail {
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode(this) }, h("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "ion-thumbnail"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -23,11 +23,11 @@ export class ToolbarTitle {
|
|
|
23
23
|
render() {
|
|
24
24
|
const mode = getIonMode(this);
|
|
25
25
|
const size = this.getSize();
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses(this.color, {
|
|
27
27
|
[mode]: true,
|
|
28
28
|
[`title-${size}`]: true,
|
|
29
29
|
'title-rtl': document.dir === 'rtl',
|
|
30
|
-
}) }, h("div", { key: '
|
|
30
|
+
}) }, h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "ion-title"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -415,9 +415,9 @@ export class Toast {
|
|
|
415
415
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
416
416
|
printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
417
417
|
}
|
|
418
|
-
return (h(Host, Object.assign({ key: '
|
|
418
|
+
return (h(Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
419
419
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
420
|
-
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '
|
|
420
|
+
}, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '4f58fcbba8dce9834eab743fc91715935216f3d0', class: wrapperClass }, h("div", { key: 'bbc7b73b186432bd4be8247c5de2ce3b2551fb0a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '0b953478eb739ceb864373416183bfbf5ce2f9f1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '7a63497d1c0440256218426194851a969b042ca6', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
421
421
|
}
|
|
422
422
|
static get is() { return "ion-toast"; }
|
|
423
423
|
static get encapsulation() { return "shadow"; }
|
|
@@ -242,7 +242,7 @@ export class Toggle {
|
|
|
242
242
|
const value = this.getValue();
|
|
243
243
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
244
244
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
245
|
-
return (h(Host, { key: '
|
|
245
|
+
return (h(Host, { key: '4bfaf87191b3ba4daef9d7afc693e290dbb2c5d2', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses(color, {
|
|
246
246
|
[mode]: true,
|
|
247
247
|
'in-item': hostContext('ion-item', el),
|
|
248
248
|
'toggle-activated': activated,
|
|
@@ -252,10 +252,10 @@ export class Toggle {
|
|
|
252
252
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
253
253
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
254
254
|
[`toggle-${rtl}`]: true,
|
|
255
|
-
}) }, h("label", { key: '
|
|
255
|
+
}) }, h("label", { key: '08a7744d71410f8befc04776a0ef7d3b03e9cfaf', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'e41f1cc9779e3ea364f3b0cee91686bd177bc883', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: '986ee5fd8f7011dc8f2857b3ed19ea391070f20b', class: {
|
|
256
256
|
'label-text-wrapper': true,
|
|
257
257
|
'label-text-wrapper-hidden': !hasLabel,
|
|
258
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '
|
|
258
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), h("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
259
259
|
}
|
|
260
260
|
static get is() { return "ion-toggle"; }
|
|
261
261
|
static get encapsulation() { return "shadow"; }
|
|
@@ -65,10 +65,10 @@ export class Toolbar {
|
|
|
65
65
|
this.childrenStyles.forEach((value) => {
|
|
66
66
|
Object.assign(childStyles, value);
|
|
67
67
|
});
|
|
68
|
-
return (h(Host, { key: '
|
|
68
|
+
return (h(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
|
|
69
69
|
[mode]: true,
|
|
70
70
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
71
|
-
})) }, h("div", { key: '
|
|
71
|
+
})) }, h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
|
|
72
72
|
}
|
|
73
73
|
static get is() { return "ion-toolbar"; }
|
|
74
74
|
static get encapsulation() { return "shadow"; }
|
package/dist/docs.json
CHANGED
|
@@ -1237,7 +1237,7 @@ const RouterOutlet = class {
|
|
|
1237
1237
|
return true;
|
|
1238
1238
|
}
|
|
1239
1239
|
render() {
|
|
1240
|
-
return h("slot", { key: '
|
|
1240
|
+
return h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
|
|
1241
1241
|
}
|
|
1242
1242
|
get el() { return getElement(this); }
|
|
1243
1243
|
static get watchers() { return {
|
|
@@ -1273,11 +1273,11 @@ const ToolbarTitle = class {
|
|
|
1273
1273
|
render() {
|
|
1274
1274
|
const mode = getIonMode(this);
|
|
1275
1275
|
const size = this.getSize();
|
|
1276
|
-
return (h(Host, { key: '
|
|
1276
|
+
return (h(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses(this.color, {
|
|
1277
1277
|
[mode]: true,
|
|
1278
1278
|
[`title-${size}`]: true,
|
|
1279
1279
|
'title-rtl': document.dir === 'rtl',
|
|
1280
|
-
}) }, h("div", { key: '
|
|
1280
|
+
}) }, h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
|
|
1281
1281
|
}
|
|
1282
1282
|
get el() { return getElement(this); }
|
|
1283
1283
|
static get watchers() { return {
|
|
@@ -1342,10 +1342,10 @@ const Toolbar = class {
|
|
|
1342
1342
|
this.childrenStyles.forEach((value) => {
|
|
1343
1343
|
Object.assign(childStyles, value);
|
|
1344
1344
|
});
|
|
1345
|
-
return (h(Host, { key: '
|
|
1345
|
+
return (h(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
|
|
1346
1346
|
[mode]: true,
|
|
1347
1347
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
1348
|
-
})) }, h("div", { key: '
|
|
1348
|
+
})) }, h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
|
|
1349
1349
|
}
|
|
1350
1350
|
get el() { return getElement(this); }
|
|
1351
1351
|
};
|
|
@@ -49,7 +49,7 @@ const Thumbnail = class {
|
|
|
49
49
|
registerInstance(this, hostRef);
|
|
50
50
|
}
|
|
51
51
|
render() {
|
|
52
|
-
return (h(Host, { key: '
|
|
52
|
+
return (h(Host, { key: 'b250e01664238f1dca8f9757b15bc3d5d9387ffa', class: getIonMode(this) }, h("slot", { key: '72cb568bccabc983c5186a7596ef6c6d4ebf5ad9' })));
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
Thumbnail.style = thumbnailCss;
|
|
@@ -162,7 +162,7 @@ const Checkbox = class {
|
|
|
162
162
|
}), onClick: this.onClick }, h("label", { key: 'f025cec5ff08e8be4487b9cc0324616ca5dfae2a', class: "checkbox-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'dc53f7e4e240dc2e18556e6350df2b5c3169f553', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: 'a625e9b50c3b617de8bbbfd624d772454fecaf2d', class: {
|
|
163
163
|
'label-text-wrapper': true,
|
|
164
164
|
'label-text-wrapper-hidden': !hasLabelContent,
|
|
165
|
-
}, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), h("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, h("svg", { key: '
|
|
165
|
+
}, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '87d1a90691327945f4343406706e4ab27f453844' }), this.renderHintText()), h("div", { key: 'b57fed8cdecee4df1ef0d57f157267ee77fac653', class: "native-wrapper" }, h("svg", { key: '13a8aac044d46dc99e3b60a1a643785511f216ac', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container", "aria-hidden": "true" }, path)))));
|
|
166
166
|
}
|
|
167
167
|
getSVGPath(mode, indeterminate) {
|
|
168
168
|
let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
|
@@ -145,7 +145,7 @@ const Row = class {
|
|
|
145
145
|
registerInstance(this, hostRef);
|
|
146
146
|
}
|
|
147
147
|
render() {
|
|
148
|
-
return (h(Host, { key: '
|
|
148
|
+
return (h(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode(this) }, h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
151
|
Row.style = rowCss;
|
|
@@ -2143,11 +2143,11 @@ const Picker = class {
|
|
|
2143
2143
|
render() {
|
|
2144
2144
|
const { htmlAttributes } = this;
|
|
2145
2145
|
const mode = getIonMode(this);
|
|
2146
|
-
return (h(Host, Object.assign({ key: '
|
|
2146
|
+
return (h(Host, Object.assign({ key: '80f66d33780d8a1352d24be9cb63a0cc03d01ab5', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
2147
2147
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
2148
2148
|
}, class: Object.assign({ [mode]: true,
|
|
2149
2149
|
// Used internally for styling
|
|
2150
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
2150
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '97fb8e10ba08b197610cb8c0cdea61103883d55f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'b3969cb6fbf7153623d14e3ca1493d3370efb211', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '299268483c3727e698d9135bfdf40349a7050ac1', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '95394de3ef691899b7dbf416f56fd3e86bbdce3f', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '05f18bb8d00dc0e22f691b7e41f90f729a6c66d7', class: "picker-columns" }, h("div", { key: '4a8fdf224effc0af67fd413e2e6aca8a78d1cf43', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'e50a31db45e3f39e9d0fed36a21be9257eec09bf', class: "picker-below-highlight" }))), h("div", { key: '5a78cb2176ac807ea0c195c6b76cd0e8eef9d4c0', tabindex: "0", "aria-hidden": "true" })));
|
|
2151
2151
|
}
|
|
2152
2152
|
get el() { return getElement(this); }
|
|
2153
2153
|
static get watchers() { return {
|
|
@@ -2501,9 +2501,9 @@ const PickerColumnCmp = class {
|
|
|
2501
2501
|
render() {
|
|
2502
2502
|
const col = this.col;
|
|
2503
2503
|
const mode = getIonMode(this);
|
|
2504
|
-
return (h(Host, { key: '
|
|
2504
|
+
return (h(Host, { key: '86125e95f18837dfd021db01777d72a1562d8ee3', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
2505
2505
|
'max-width': this.col.columnWidth,
|
|
2506
|
-
} }, col.prefix && (h("div", { key: '
|
|
2506
|
+
} }, col.prefix && (h("div", { key: 'b0f3d39e0bd128781066ffefb7a1e40d12a9e76d', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '0b106ac4d56916eaaa7f09d1b68348b3754b7bba', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '00ff2f9dbb4561787e5a5223327c6a2a33f8362e', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
2507
2507
|
}
|
|
2508
2508
|
get el() { return getElement(this); }
|
|
2509
2509
|
static get watchers() { return {
|
|
@@ -42,10 +42,6 @@ const Input = class {
|
|
|
42
42
|
* is applied in both cases.
|
|
43
43
|
*/
|
|
44
44
|
this.hasFocus = false;
|
|
45
|
-
/**
|
|
46
|
-
* Track validation state for proper aria-live announcements
|
|
47
|
-
*/
|
|
48
|
-
this.isInvalid = false;
|
|
49
45
|
/**
|
|
50
46
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
51
47
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -230,31 +226,10 @@ const Input = class {
|
|
|
230
226
|
componentWillLoad() {
|
|
231
227
|
this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title', 'data-form-type', 'dir']));
|
|
232
228
|
}
|
|
233
|
-
/**
|
|
234
|
-
* Checks if the input is in an invalid state based on validation classes
|
|
235
|
-
*/
|
|
236
|
-
checkValidationState() {
|
|
237
|
-
return this.el.classList.contains('ion-touched') && this.el.classList.contains('ion-invalid');
|
|
238
|
-
}
|
|
239
229
|
connectedCallback() {
|
|
240
230
|
const { el } = this;
|
|
241
231
|
this.slotMutationController = createSlotMutationController(el, ['label', 'start', 'end'], () => forceUpdate(this));
|
|
242
232
|
this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
|
|
243
|
-
// Watch for class changes to update validation state
|
|
244
|
-
{
|
|
245
|
-
this.validationObserver = new MutationObserver(() => {
|
|
246
|
-
const newIsInvalid = this.checkValidationState();
|
|
247
|
-
if (this.isInvalid !== newIsInvalid) {
|
|
248
|
-
this.isInvalid = newIsInvalid;
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
this.validationObserver.observe(el, {
|
|
252
|
-
attributes: true,
|
|
253
|
-
attributeFilter: ['class'],
|
|
254
|
-
});
|
|
255
|
-
// Set initial state
|
|
256
|
-
this.isInvalid = this.checkValidationState();
|
|
257
|
-
}
|
|
258
233
|
this.debounceChanged();
|
|
259
234
|
{
|
|
260
235
|
document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
|
|
@@ -291,11 +266,6 @@ const Input = class {
|
|
|
291
266
|
this.notchController.destroy();
|
|
292
267
|
this.notchController = undefined;
|
|
293
268
|
}
|
|
294
|
-
// Clean up validation observer to prevent memory leaks
|
|
295
|
-
if (this.validationObserver) {
|
|
296
|
-
this.validationObserver.disconnect();
|
|
297
|
-
this.validationObserver = undefined;
|
|
298
|
-
}
|
|
299
269
|
}
|
|
300
270
|
/**
|
|
301
271
|
* Sets focus on the native `input` in `ion-input`. Use this method instead of the global
|
|
@@ -397,15 +367,15 @@ const Input = class {
|
|
|
397
367
|
* Renders the helper text or error text values
|
|
398
368
|
*/
|
|
399
369
|
renderHintText() {
|
|
400
|
-
const { helperText, errorText, helperTextId, errorTextId
|
|
370
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
401
371
|
return [
|
|
402
372
|
h("div", { id: helperTextId, class: "helper-text" }, helperText),
|
|
403
|
-
h("div", { id: errorTextId, class: "error-text"
|
|
373
|
+
h("div", { id: errorTextId, class: "error-text" }, errorText),
|
|
404
374
|
];
|
|
405
375
|
}
|
|
406
376
|
getHintTextID() {
|
|
407
|
-
const {
|
|
408
|
-
if (
|
|
377
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
378
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
409
379
|
return errorTextId;
|
|
410
380
|
}
|
|
411
381
|
if (helperText) {
|
|
@@ -518,7 +488,7 @@ const Input = class {
|
|
|
518
488
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
519
489
|
*/
|
|
520
490
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
521
|
-
return (h(Host, { key: '
|
|
491
|
+
return (h(Host, { key: '41b2526627e7d2773a80f011b123284203a71ca0', class: createColorClasses(this.color, {
|
|
522
492
|
[mode]: true,
|
|
523
493
|
'has-value': hasValue,
|
|
524
494
|
'has-focus': hasFocus,
|
|
@@ -529,14 +499,14 @@ const Input = class {
|
|
|
529
499
|
'in-item': inItem,
|
|
530
500
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
531
501
|
'input-disabled': disabled,
|
|
532
|
-
}) }, h("label", { key: '
|
|
502
|
+
}) }, h("label", { key: '9ab078363e32528102b441ad1791d83f86fdcbdc', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'e34b594980ec62e4c618e827fadf7669a39ad0d8', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: '12dc04ead5502e9e5736240e918bf9331bf7b5d9', name: "start" }), 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 && (h("button", { key: 'f79f68cabcd4ea99419331174a377827db0c0741', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
533
503
|
/**
|
|
534
504
|
* This prevents mobile browsers from
|
|
535
505
|
* blurring the input when the clear
|
|
536
506
|
* button is activated.
|
|
537
507
|
*/
|
|
538
508
|
ev.preventDefault();
|
|
539
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
509
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '237ec07ec2e10f08818a332bb596578c2c49f770', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '1f0a3624aa3e8dc3c307a6762230ab698768a5e5', name: "end" })), shouldRenderHighlight && h("div", { key: '8a8cbb82695a722a0010b53dd0b1f1f97534a20b', class: "input-highlight" })), this.renderBottomContent()));
|
|
540
510
|
}
|
|
541
511
|
get el() { return getElement(this); }
|
|
542
512
|
static get watchers() { return {
|
|
@@ -45,12 +45,12 @@ const ItemOption = class {
|
|
|
45
45
|
href: this.href,
|
|
46
46
|
target: this.target,
|
|
47
47
|
};
|
|
48
|
-
return (h(Host, { key: '
|
|
48
|
+
return (h(Host, { key: '058310ac361612c16f2ef70c74279ba7c24128c5', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
49
49
|
[mode]: true,
|
|
50
50
|
'item-option-disabled': disabled,
|
|
51
51
|
'item-option-expandable': expandable,
|
|
52
52
|
'ion-activatable': true,
|
|
53
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
53
|
+
}) }, h(TagType, Object.assign({ key: '045052656ab652bec065d421950fe9ea00dc1141' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '988b9166c0dda3c822a99ceace4c105339b2465b', class: "button-inner" }, h("slot", { key: '8050b870ada6b09283f8acbcbb6d2bd1c76508b3', name: "top" }), h("div", { key: 'a206e7b09e660c878ce3c5b61d018e8cdd89dc55', class: "horizontal-wrapper" }, h("slot", { key: '394e5e4ce14cd19b5d5eafca29bb9f971f5f0741', name: "start" }), h("slot", { key: 'dd4c3a1bee7622df40a3d8f2a298045b772f1600', name: "icon-only" }), h("slot", { key: '318f3ec97b722c5e7df1a78b1e0439f919d0aacc' }), h("slot", { key: 'fff6a9a602cf7bd698528982f91742a2d36ea245', name: "end" })), h("slot", { key: '26b4bb155701d8080b486dbad7bb9a6d2e35182c', name: "bottom" })), mode === 'md' && h("ion-ripple-effect", { key: '152b74643bf0f5725c39bfdbb940f0f32ec83d58' }))));
|
|
54
54
|
}
|
|
55
55
|
get el() { return getElement(this); }
|
|
56
56
|
};
|
|
@@ -82,7 +82,7 @@ const ItemOptions = class {
|
|
|
82
82
|
render() {
|
|
83
83
|
const mode = getIonMode(this);
|
|
84
84
|
const isEnd = isEndSide(this.side);
|
|
85
|
-
return (h(Host, { key: '
|
|
85
|
+
return (h(Host, { key: '7b4b93984182222c64c7a2a22a18e52ac19e3049', class: {
|
|
86
86
|
[mode]: true,
|
|
87
87
|
// Used internally for styling
|
|
88
88
|
[`item-options-${mode}`]: true,
|
|
@@ -493,7 +493,7 @@ const ItemSliding = class {
|
|
|
493
493
|
}
|
|
494
494
|
render() {
|
|
495
495
|
const mode = getIonMode(this);
|
|
496
|
-
return (h(Host, { key: '
|
|
496
|
+
return (h(Host, { key: '8fd81d74701402294a48b79c56d6eceadafd4881', class: {
|
|
497
497
|
[mode]: true,
|
|
498
498
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
499
499
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|