@ionic/core 8.0.1 → 8.0.2-dev.11714165638.13e7dd5b
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 +3 -3
- package/components/ion-accordion-group.js +2 -2
- package/components/ion-datetime.js +2 -2
- package/components/ion-input.js +3 -3
- package/components/ion-range.js +3 -3
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment.js +2 -2
- package/components/ion-select.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/label.js +1 -1
- package/components/picker-column.js +3 -3
- package/components/radio-group.js +1 -1
- package/components/select-popover.js +1 -1
- package/css/core.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +3 -3
- package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/collection/components/accordion-group/accordion-group.js +3 -3
- package/dist/collection/components/checkbox/checkbox.js +4 -4
- package/dist/collection/components/datetime/datetime.js +3 -3
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/item/test/a11y/item.e2e.js +1 -4
- package/dist/collection/components/label/label.ios.css +1 -1
- package/dist/collection/components/picker-column/picker-column.js +4 -4
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/range/range.js +4 -4
- package/dist/collection/components/searchbar/searchbar.js +5 -5
- package/dist/collection/components/segment/segment.js +3 -3
- package/dist/collection/components/select/select.js +3 -3
- package/dist/collection/components/select/test/fill/select.e2e.js +25 -0
- package/dist/collection/components/select-popover/select-popover.md.css +8 -1
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/toggle/toggle.js +4 -4
- package/dist/docs.json +13 -13
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +3 -3
- package/dist/esm/ion-datetime_3.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +3 -3
- package/dist/esm/ion-item_8.entry.js +1 -1
- package/dist/esm/ion-picker-column.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +1 -1
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-cdee3a44.system.entry.js → p-031b070b.system.entry.js} +1 -1
- package/dist/ionic/{p-4324e8a4.entry.js → p-0b3861eb.entry.js} +1 -1
- package/dist/ionic/{p-583f8865.system.entry.js → p-34619a37.system.entry.js} +1 -1
- package/dist/ionic/{p-720927ad.entry.js → p-3ef93daf.entry.js} +1 -1
- package/dist/ionic/{p-a801da4b.system.entry.js → p-45aec799.system.entry.js} +1 -1
- package/dist/ionic/p-4737e73a.entry.js +4 -0
- package/dist/ionic/{p-0d960144.system.entry.js → p-4da143c9.system.entry.js} +1 -1
- package/dist/ionic/{p-4c153abb.entry.js → p-515a47f5.entry.js} +1 -1
- package/dist/ionic/{p-0d56dea9.entry.js → p-5a6d3cd9.entry.js} +1 -1
- package/dist/ionic/{p-e49099b0.entry.js → p-6123d531.entry.js} +1 -1
- package/dist/ionic/{p-ee3bbaf2.entry.js → p-69fca47b.entry.js} +1 -1
- package/dist/ionic/p-7536b4b3.system.js +1 -1
- package/dist/ionic/{p-8e031d97.entry.js → p-75f262d3.entry.js} +1 -1
- package/dist/ionic/{p-576786c0.system.entry.js → p-a0fa6344.system.entry.js} +1 -1
- package/dist/ionic/{p-42f00e72.system.entry.js → p-a5721afd.system.entry.js} +1 -1
- package/dist/ionic/{p-80f85095.system.entry.js → p-b17549e8.system.entry.js} +1 -1
- package/dist/ionic/{p-5d4d89e0.system.entry.js → p-b1f78948.system.entry.js} +1 -1
- package/dist/ionic/{p-70181008.entry.js → p-b4d78e71.entry.js} +1 -1
- package/dist/ionic/{p-5d3a8503.system.entry.js → p-ba9ca25a.system.entry.js} +1 -1
- package/dist/ionic/{p-3f5b86b4.entry.js → p-c687e632.entry.js} +1 -1
- package/dist/ionic/{p-49cdc4f2.entry.js → p-c977c5bc.entry.js} +1 -1
- package/dist/ionic/{p-f5c42f72.entry.js → p-d3ceed28.entry.js} +1 -1
- package/dist/ionic/{p-819e8479.system.entry.js → p-d5460f2d.system.entry.js} +1 -1
- package/dist/ionic/{p-fc94e18f.entry.js → p-d77dc6ea.entry.js} +1 -1
- package/dist/ionic/{p-1a5227b3.system.entry.js → p-ee54bbd2.system.entry.js} +1 -1
- package/dist/ionic/{p-567a21a2.system.entry.js → p-f4bc5429.system.entry.js} +1 -1
- package/dist/ionic/{p-94731a92.system.entry.js → p-fc6301cd.system.entry.js} +1 -1
- package/dist/types/components/accordion-group/accordion-group.d.ts +3 -4
- package/dist/types/components/checkbox/checkbox.d.ts +3 -4
- package/dist/types/components/datetime/datetime.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +2 -0
- package/dist/types/components/picker-column/picker-column.d.ts +2 -0
- package/dist/types/components/radio-group/radio-group.d.ts +2 -0
- package/dist/types/components/range/range.d.ts +1 -1
- package/dist/types/components/searchbar/searchbar.d.ts +2 -0
- package/dist/types/components/segment/segment.d.ts +3 -2
- package/dist/types/components/select/select.d.ts +2 -0
- package/dist/types/components/textarea/textarea.d.ts +2 -0
- package/dist/types/components/toggle/toggle.d.ts +3 -2
- package/dist/types/components.d.ts +12 -12
- package/hydrate/index.js +32 -32
- package/package.json +1 -1
- package/dist/ionic/p-057b5866.entry.js +0 -4
|
@@ -369,7 +369,7 @@ const Textarea = class {
|
|
|
369
369
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
370
370
|
*/
|
|
371
371
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
372
|
-
return (index.h(index.Host, { key: '
|
|
372
|
+
return (index.h(index.Host, { key: '16eeb87ea5dbac1b37f1a376cd74e6f41af1b5f6', class: theme.createColorClasses(this.color, {
|
|
373
373
|
[mode]: true,
|
|
374
374
|
'has-value': hasValue,
|
|
375
375
|
'has-focus': hasFocus,
|
|
@@ -378,7 +378,7 @@ const Textarea = class {
|
|
|
378
378
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
379
379
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
380
380
|
'textarea-disabled': disabled,
|
|
381
|
-
}) }, index.h("label", { key: '
|
|
381
|
+
}) }, index.h("label", { key: '5f7946957517614b937eb37533a87c124cf3eabb', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), index.h("div", { key: '4e950025447d83f3ec77b515a2c5cd6511819b7e', class: "textarea-wrapper-inner" }, index.h("div", { key: 'a508e5879a9f7b3f2a91d5b1851ab990302044fe', class: "start-slot-wrapper" }, index.h("slot", { key: 'a2b18078c602896be5ae2da71519f534aa24bbc4', name: "start" })), index.h("div", { key: '5a4d07c72794548d7f0945aebc5bc2c65118cac3', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, index.h("textarea", Object.assign({ key: 'f13d0e8b96a798d3cec017b2b618e4979555c5ee', 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 }, this.inheritedAttributes), value)), index.h("div", { key: '10b8792a1506b41928869a4460b6f780c39947b6', class: "end-slot-wrapper" }, index.h("slot", { key: '26362017095ffdda6749a19e0152ef4da8759fba', name: "end" }))), shouldRenderHighlight && index.h("div", { key: '06a6135b05848b3855192f162ec293d9eae6e171', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
382
382
|
}
|
|
383
383
|
get el() { return index.getElement(this); }
|
|
384
384
|
static get watchers() { return {
|
|
@@ -164,7 +164,7 @@ const Toggle = class {
|
|
|
164
164
|
const value = this.getValue();
|
|
165
165
|
const rtl = dir.isRTL(el) ? 'rtl' : 'ltr';
|
|
166
166
|
helpers.renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
167
|
-
return (index.h(index.Host, { key: '
|
|
167
|
+
return (index.h(index.Host, { key: '9083d3ea92131df1480dfdaacd62037ffd5a69ec', onClick: this.onClick, class: theme.createColorClasses(color, {
|
|
168
168
|
[mode]: true,
|
|
169
169
|
'in-item': theme.hostContext('ion-item', el),
|
|
170
170
|
'toggle-activated': activated,
|
|
@@ -174,10 +174,10 @@ const Toggle = class {
|
|
|
174
174
|
[`toggle-alignment-${alignment}`]: true,
|
|
175
175
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
176
176
|
[`toggle-${rtl}`]: true,
|
|
177
|
-
}) }, index.h("label", { key: '
|
|
177
|
+
}) }, index.h("label", { key: '554e11ac1db370363b251b83e4d57c32a2bd4577', class: "toggle-wrapper" }, index.h("input", Object.assign({ key: '327540a212dfe686310e8a587fa8c81edfd2e229', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), index.h("div", { key: '9ba185a8afaf65c8ba0d2044b1abfa376aee4db3', class: {
|
|
178
178
|
'label-text-wrapper': true,
|
|
179
179
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
180
|
-
}, part: "label" }, index.h("slot", { key: '
|
|
180
|
+
}, part: "label" }, index.h("slot", { key: '730287f916c13ec437f39f2304a70afa50f41dc7' })), index.h("div", { key: '0e810cdf6dc7623d4efd2092a642ef12906efcae', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
181
181
|
}
|
|
182
182
|
get el() { return index.getElement(this); }
|
|
183
183
|
static get watchers() { return {
|
|
@@ -197,12 +197,12 @@ export class AccordionGroup {
|
|
|
197
197
|
render() {
|
|
198
198
|
const { disabled, readonly, expand } = this;
|
|
199
199
|
const mode = getIonMode(this);
|
|
200
|
-
return (h(Host, { key: '
|
|
200
|
+
return (h(Host, { key: '82f3e77066fabb4736638ee4c487ad56efd39c63', class: {
|
|
201
201
|
[mode]: true,
|
|
202
202
|
'accordion-group-disabled': disabled,
|
|
203
203
|
'accordion-group-readonly': readonly,
|
|
204
204
|
[`accordion-group-expand-${expand}`]: true,
|
|
205
|
-
}, role: "presentation" }, h("slot", { key: '
|
|
205
|
+
}, role: "presentation" }, h("slot", { key: 'a3c791ea887fc640b512f81d429be465ae902b3d' })));
|
|
206
206
|
}
|
|
207
207
|
static get is() { return "ion-accordion-group"; }
|
|
208
208
|
static get encapsulation() { return "shadow"; }
|
|
@@ -337,7 +337,7 @@ export class AccordionGroup {
|
|
|
337
337
|
"composed": true,
|
|
338
338
|
"docs": {
|
|
339
339
|
"tags": [],
|
|
340
|
-
"text": "Emitted when the value property has changed
|
|
340
|
+
"text": "Emitted when the value property has changed as a result of a user action such as a click.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
341
341
|
},
|
|
342
342
|
"complexType": {
|
|
343
343
|
"original": "AccordionGroupChangeEventDetail",
|
|
@@ -72,7 +72,7 @@ export class Checkbox {
|
|
|
72
72
|
const mode = getIonMode(this);
|
|
73
73
|
const path = getSVGPath(mode, indeterminate);
|
|
74
74
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
75
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: '0ac95890562c7f035704c40959c69f8c8ca4bc9f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
|
|
76
76
|
[mode]: true,
|
|
77
77
|
'in-item': hostContext('ion-item', el),
|
|
78
78
|
'checkbox-checked': checked,
|
|
@@ -82,10 +82,10 @@ export class Checkbox {
|
|
|
82
82
|
[`checkbox-justify-${justify}`]: true,
|
|
83
83
|
[`checkbox-alignment-${alignment}`]: true,
|
|
84
84
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
85
|
-
}), onClick: this.onClick }, h("label", { key: '
|
|
85
|
+
}), onClick: this.onClick }, h("label", { key: '3f9f7c8383dded8f7997086b25399d052df76b5c', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '6fb11d06c424c289357d5d7c1a4d1b967be231d0', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'f577a272e5e3f9f1852fc95e40466c80b76309c7', class: {
|
|
86
86
|
'label-text-wrapper': true,
|
|
87
87
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
88
|
-
}, part: "label" }, h("slot", { key: '
|
|
88
|
+
}, part: "label" }, h("slot", { key: '7c9b0b4513e797a1acdf55a5f286563e5f397e9c' })), h("div", { key: 'e47c50a078b8d761ddc5efcb9a9635281b5818f6', class: "native-wrapper" }, h("svg", { key: '4dca47179ae15e9094e01c799ef4ed25fbb0d840', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
89
89
|
}
|
|
90
90
|
getSVGPath(mode, indeterminate) {
|
|
91
91
|
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" }));
|
|
@@ -288,7 +288,7 @@ export class Checkbox {
|
|
|
288
288
|
"composed": true,
|
|
289
289
|
"docs": {
|
|
290
290
|
"tags": [],
|
|
291
|
-
"text": "Emitted when the checked property has changed
|
|
291
|
+
"text": "Emitted when the checked property has changed as a result of a user action such as a click.\n\nThis event will not emit when programmatically setting the `checked` property."
|
|
292
292
|
},
|
|
293
293
|
"complexType": {
|
|
294
294
|
"original": "CheckboxChangeEventDetail",
|
|
@@ -1556,7 +1556,7 @@ export class Datetime {
|
|
|
1556
1556
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1557
1557
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1558
1558
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1559
|
-
return (h(Host, { key: '
|
|
1559
|
+
return (h(Host, { key: '0b8c97bfb84dff5f8ef8097bba44f6c4ad119f76', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1560
1560
|
[mode]: true,
|
|
1561
1561
|
['datetime-readonly']: readonly,
|
|
1562
1562
|
['datetime-disabled']: disabled,
|
|
@@ -1566,7 +1566,7 @@ export class Datetime {
|
|
|
1566
1566
|
[`datetime-size-${size}`]: true,
|
|
1567
1567
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1568
1568
|
[`datetime-grid`]: isGridStyle,
|
|
1569
|
-
})) }, h("div", { key: '
|
|
1569
|
+
})) }, h("div", { key: '36e389a8c49944b5bbc0429f6b86d9c28a5b860a', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1570
1570
|
}
|
|
1571
1571
|
static get is() { return "ion-datetime"; }
|
|
1572
1572
|
static get encapsulation() { return "shadow"; }
|
|
@@ -2179,7 +2179,7 @@ export class Datetime {
|
|
|
2179
2179
|
"composed": true,
|
|
2180
2180
|
"docs": {
|
|
2181
2181
|
"tags": [],
|
|
2182
|
-
"text": "Emitted when the value (selected date) has changed."
|
|
2182
|
+
"text": "Emitted when the value (selected date) has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
2183
2183
|
},
|
|
2184
2184
|
"complexType": {
|
|
2185
2185
|
"original": "DatetimeChangeEventDetail",
|
|
@@ -396,7 +396,7 @@ export class Input {
|
|
|
396
396
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
397
397
|
*/
|
|
398
398
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
399
|
-
return (h(Host, { key: '
|
|
399
|
+
return (h(Host, { key: 'b0697cdbb71e680d904c11445a9bd7c28567b0e4', class: createColorClasses(this.color, {
|
|
400
400
|
[mode]: true,
|
|
401
401
|
'has-value': hasValue,
|
|
402
402
|
'has-focus': hasFocus,
|
|
@@ -407,7 +407,7 @@ export class Input {
|
|
|
407
407
|
'in-item': inItem,
|
|
408
408
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
409
409
|
'input-disabled': disabled,
|
|
410
|
-
}) }, h("label", { key: '
|
|
410
|
+
}) }, h("label", { key: 'eb9851f62c4aa62dd3b2ebe2e169182ea9fa12d8', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: 'e8cd537de25d25ed7fd3a6c3450643f0bfe10f82', class: "native-wrapper" }, h("slot", { key: '00590a3d52896465102d0f9e75a9165f9a3f5936', name: "start" }), h("input", Object.assign({ key: '26fd41169cbf5c5b7efc9989d6e9300c20db321a', 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 }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '4dc7c673179fa5c0f84a251ceed2599f8b7e9b8b', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
411
411
|
/**
|
|
412
412
|
* This prevents mobile browsers from
|
|
413
413
|
* blurring the input when the clear
|
|
@@ -422,7 +422,7 @@ export class Input {
|
|
|
422
422
|
* for screen readers as it means users would be unable to swipe past the clear button.
|
|
423
423
|
*/
|
|
424
424
|
ev.stopPropagation();
|
|
425
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
425
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '22faa709020c08c3fbd44955c2cfa77c2117e47e', "aria-hidden": "true", icon: mode === 'ios' ? closeCircle : closeSharp }))), h("slot", { key: '6b2c0138fd1aa0e8f004e807d842856278960d8a', name: "end" })), shouldRenderHighlight && h("div", { key: '2db65ebfa53b4490490d3f1dc4a1a21875e239a2', class: "input-highlight" })), this.renderBottomContent()));
|
|
426
426
|
}
|
|
427
427
|
static get is() { return "ion-input"; }
|
|
428
428
|
static get encapsulation() { return "scoped"; }
|
|
@@ -1068,7 +1068,7 @@ export class Input {
|
|
|
1068
1068
|
"composed": true,
|
|
1069
1069
|
"docs": {
|
|
1070
1070
|
"tags": [],
|
|
1071
|
-
"text": "The `ionChange` event is fired when the user modifies the input's value.\nUnlike the `ionInput` event, the `ionChange` event is only fired when changes\nare committed, not as the user types.\n\nDepending on the way the users interacts with the element, the `ionChange`\nevent fires at a different moment:\n- When the user commits the change explicitly (e.g. by selecting a date\nfrom a date picker for `<ion-input type=\"date\">`, pressing the \"Enter\" key, etc.).\n- When the element loses focus after its value has changed: for elements\nwhere the user's interaction is typing."
|
|
1071
|
+
"text": "The `ionChange` event is fired when the user modifies the input's value.\nUnlike the `ionInput` event, the `ionChange` event is only fired when changes\nare committed, not as the user types.\n\nDepending on the way the users interacts with the element, the `ionChange`\nevent fires at a different moment:\n- When the user commits the change explicitly (e.g. by selecting a date\nfrom a date picker for `<ion-input type=\"date\">`, pressing the \"Enter\" key, etc.).\n- When the element loses focus after its value has changed: for elements\nwhere the user's interaction is typing.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
1072
1072
|
},
|
|
1073
1073
|
"complexType": {
|
|
1074
1074
|
"original": "InputChangeEventDetail",
|
|
@@ -8,10 +8,7 @@ configs({ directions: ['ltr'] }).forEach(({ config, screenshot, title }) => {
|
|
|
8
8
|
test.describe(title('item: axe'), () => {
|
|
9
9
|
test('should not have accessibility violations', async ({ page }) => {
|
|
10
10
|
await page.goto(`/src/components/item/test/a11y`, config);
|
|
11
|
-
const results = await new AxeBuilder({ page })
|
|
12
|
-
// TODO(FW-404): Re-enable rule once select is updated to avoid nested-interactive
|
|
13
|
-
.disableRules('nested-interactive')
|
|
14
|
-
.analyze();
|
|
11
|
+
const results = await new AxeBuilder({ page }).analyze();
|
|
15
12
|
expect(results.violations).toEqual([]);
|
|
16
13
|
});
|
|
17
14
|
test('should reflect aria-label', async ({ page }) => {
|
|
@@ -383,14 +383,14 @@ export class PickerColumn {
|
|
|
383
383
|
render() {
|
|
384
384
|
const { color, disabled, isActive, numericInput } = this;
|
|
385
385
|
const mode = getIonMode(this);
|
|
386
|
-
return (h(Host, { key: '
|
|
386
|
+
return (h(Host, { key: '54d3ea9f92136ac446a6c0a2b1389d93c5ff31ee', class: createColorClasses(color, {
|
|
387
387
|
[mode]: true,
|
|
388
388
|
['picker-column-active']: isActive,
|
|
389
389
|
['picker-column-numeric-input']: numericInput,
|
|
390
390
|
['picker-column-disabled']: disabled,
|
|
391
|
-
}) }, h("slot", { key: '
|
|
391
|
+
}) }, h("slot", { key: '969279123f09d37a28aa726936c9f484b0de33e4', name: "prefix" }), h("div", { key: 'd4d09a561213c408cf1c42a28cdef37f14367724', class: "picker-opts", tabindex: disabled ? undefined : 0, ref: (el) => {
|
|
392
392
|
this.scrollEl = el;
|
|
393
|
-
} }, h("div", { key: '
|
|
393
|
+
} }, h("div", { key: '3710d8980682c819be33eeb6611a5c707b0e6a29', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '65b7d8d523db669a2df107ae7aaacf62daf13232', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '694657e475edcdbc93561e826e0db016738f119d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: 'ecbbd8db6ffdd8d8506a16d94f001d434f4daf97' }), h("div", { key: 'e19a7f7e5e4aeb7d52339e962314d68c31c6337b', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '103e6a5863efc526de3ea35c63230cc37e487594', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'c9e2313ae630ec0b39cbc92d5261fc194dc22a5f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '1537926d9ed8d4251ded95dcb249197491fc2616', name: "suffix" })));
|
|
394
394
|
}
|
|
395
395
|
static get is() { return "ion-picker-column"; }
|
|
396
396
|
static get encapsulation() { return "shadow"; }
|
|
@@ -502,7 +502,7 @@ export class PickerColumn {
|
|
|
502
502
|
"composed": true,
|
|
503
503
|
"docs": {
|
|
504
504
|
"tags": [],
|
|
505
|
-
"text": "Emitted when the value has changed."
|
|
505
|
+
"text": "Emitted when the value has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
506
506
|
},
|
|
507
507
|
"complexType": {
|
|
508
508
|
"original": "PickerColumnChangeEventDetail",
|
|
@@ -153,7 +153,7 @@ export class RadioGroup {
|
|
|
153
153
|
const { label, labelId, el, name, value } = this;
|
|
154
154
|
const mode = getIonMode(this);
|
|
155
155
|
renderHiddenInput(true, el, name, value, false);
|
|
156
|
-
return h(Host, { key: '
|
|
156
|
+
return h(Host, { key: '672d1df4a5d2fd22415e8772b054313907aba8f6', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
|
|
157
157
|
}
|
|
158
158
|
static get is() { return "ion-radio-group"; }
|
|
159
159
|
static get properties() {
|
|
@@ -245,7 +245,7 @@ export class RadioGroup {
|
|
|
245
245
|
"composed": true,
|
|
246
246
|
"docs": {
|
|
247
247
|
"tags": [],
|
|
248
|
-
"text": "Emitted when the value has changed."
|
|
248
|
+
"text": "Emitted when the value has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
249
249
|
},
|
|
250
250
|
"complexType": {
|
|
251
251
|
"original": "RadioGroupChangeEventDetail",
|
|
@@ -561,7 +561,7 @@ export class Range {
|
|
|
561
561
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
562
562
|
const mode = getIonMode(this);
|
|
563
563
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
564
|
-
return (h(Host, { key: '
|
|
564
|
+
return (h(Host, { key: 'f66f03965290003b8a2b74b6f16ebf5615291688', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
565
565
|
[mode]: true,
|
|
566
566
|
'in-item': inItem,
|
|
567
567
|
'range-disabled': disabled,
|
|
@@ -570,10 +570,10 @@ export class Range {
|
|
|
570
570
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
571
571
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
572
572
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
573
|
-
}) }, h("label", { key: '
|
|
573
|
+
}) }, h("label", { key: '4b0035999693e241afb753f4c335ec386a2f5a2b', class: "range-wrapper", id: "range-label" }, h("div", { key: 'f03119f14a4c6bb2f6c529e885002df633cd1797', class: {
|
|
574
574
|
'label-text-wrapper': true,
|
|
575
575
|
'label-text-wrapper-hidden': !hasLabel,
|
|
576
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
576
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '72678b1d17ac2a6dfeee26d40a6a80bcc0e7e2fe', class: "native-wrapper" }, h("slot", { key: 'c555ac9598427b81fddd5415ea673479c2247977', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'bf58ccc934a246b303c766d16df5eeb62c225b12', name: "end" })))));
|
|
577
577
|
}
|
|
578
578
|
static get is() { return "ion-range"; }
|
|
579
579
|
static get encapsulation() { return "shadow"; }
|
|
@@ -909,7 +909,7 @@ export class Range {
|
|
|
909
909
|
"composed": true,
|
|
910
910
|
"docs": {
|
|
911
911
|
"tags": [],
|
|
912
|
-
"text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\
|
|
912
|
+
"text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\nThis event will not emit when programmatically setting the `value` property."
|
|
913
913
|
},
|
|
914
914
|
"complexType": {
|
|
915
915
|
"original": "RangeChangeEventDetail",
|
|
@@ -378,8 +378,8 @@ export class Searchbar {
|
|
|
378
378
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
379
379
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
380
380
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
381
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
382
|
-
return (h(Host, { key: '
|
|
381
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '2e53057ad0dcb8ea930fe4a4a03f08af5163d31e', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '10b06fdbb3ae51bf02bd094205d075e1f9b60ea3', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
382
|
+
return (h(Host, { key: 'f1a07f9e2f27f5297581e66c80097cf7843c1a5a', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
383
383
|
[mode]: true,
|
|
384
384
|
'searchbar-animated': animated,
|
|
385
385
|
'searchbar-disabled': this.disabled,
|
|
@@ -389,14 +389,14 @@ export class Searchbar {
|
|
|
389
389
|
'searchbar-has-focus': this.focused,
|
|
390
390
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
391
391
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
392
|
-
}) }, h("div", { key: '
|
|
392
|
+
}) }, h("div", { key: '9b7dc9abf5b1925872c75f6c992aac465700b615', class: "searchbar-input-container" }, h("input", Object.assign({ key: 'd0e11e98bfb8b9e9225de80c8f132f68c3466f13', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: 'd475776f64b55d13d49f8193f3b84a4e669403c7', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '9b5b681edfac608ed1c20175086ec40c652a7f07', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
393
393
|
/**
|
|
394
394
|
* This prevents mobile browsers from
|
|
395
395
|
* blurring the input when the clear
|
|
396
396
|
* button is activated.
|
|
397
397
|
*/
|
|
398
398
|
ev.preventDefault();
|
|
399
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
399
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '44c85c0d3a1346c5e9306a65f6a7cf0fcdc1f149', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
400
400
|
}
|
|
401
401
|
static get is() { return "ion-searchbar"; }
|
|
402
402
|
static get encapsulation() { return "scoped"; }
|
|
@@ -852,7 +852,7 @@ export class Searchbar {
|
|
|
852
852
|
"composed": true,
|
|
853
853
|
"docs": {
|
|
854
854
|
"tags": [],
|
|
855
|
-
"text": "The `ionChange` event is fired for `<ion-searchbar>` elements when the user\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\nevent is not necessarily fired for each alteration to an element's value.\n\nThe `ionChange` event is fired when the value has been committed\nby the user. This can happen when the element loses focus or\nwhen the \"Enter\" key is pressed. `ionChange` can also fire\nwhen clicking the clear or cancel buttons."
|
|
855
|
+
"text": "The `ionChange` event is fired for `<ion-searchbar>` elements when the user\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\nevent is not necessarily fired for each alteration to an element's value.\n\nThe `ionChange` event is fired when the value has been committed\nby the user. This can happen when the element loses focus or\nwhen the \"Enter\" key is pressed. `ionChange` can also fire\nwhen clicking the clear or cancel buttons.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
856
856
|
},
|
|
857
857
|
"complexType": {
|
|
858
858
|
"original": "SearchbarChangeEventDetail",
|
|
@@ -420,14 +420,14 @@ export class Segment {
|
|
|
420
420
|
}
|
|
421
421
|
render() {
|
|
422
422
|
const mode = getIonMode(this);
|
|
423
|
-
return (h(Host, { key: '
|
|
423
|
+
return (h(Host, { key: '107be9ad856d855db449d24cd75f9fb82746e9aa', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
|
|
424
424
|
[mode]: true,
|
|
425
425
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
426
426
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
427
427
|
'segment-activated': this.activated,
|
|
428
428
|
'segment-disabled': this.disabled,
|
|
429
429
|
'segment-scrollable': this.scrollable,
|
|
430
|
-
}) }, h("slot", { key: '
|
|
430
|
+
}) }, h("slot", { key: 'bdb223b18a62af921084301f01a728c421379646' })));
|
|
431
431
|
}
|
|
432
432
|
static get is() { return "ion-segment"; }
|
|
433
433
|
static get encapsulation() { return "shadow"; }
|
|
@@ -579,7 +579,7 @@ export class Segment {
|
|
|
579
579
|
"composed": true,
|
|
580
580
|
"docs": {
|
|
581
581
|
"tags": [],
|
|
582
|
-
"text": "Emitted when the value property has changed and any
|
|
582
|
+
"text": "Emitted when the value property has changed and any dragging pointer has been released from `ion-segment`.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
583
583
|
},
|
|
584
584
|
"complexType": {
|
|
585
585
|
"original": "SegmentChangeEventDetail",
|
|
@@ -610,7 +610,7 @@ export class Select {
|
|
|
610
610
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
611
611
|
*/
|
|
612
612
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
613
|
-
return (h(Host, { key: '
|
|
613
|
+
return (h(Host, { key: 'df8333e037d8cb9fd34af7f3525608d7bd0ec0f4', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
614
614
|
[mode]: true,
|
|
615
615
|
'in-item': inItem,
|
|
616
616
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -626,7 +626,7 @@ export class Select {
|
|
|
626
626
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
627
627
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
628
628
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
629
|
-
}) }, h("label", { key: '
|
|
629
|
+
}) }, h("label", { key: '3b165b4c7512bcf750bac885aef67745db53a840', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '1b0cac005aff58ba067efe7e1165b3375716c57e', class: "select-wrapper-inner" }, h("slot", { key: '0552b33874ec305d3406876d5714a1dc4f0dc2c1', name: "start" }), h("div", { key: '7d56e2610cc026f844373590f8229164baff2c62', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '79d8daef62fce370d804734390d8ba47dc611d36', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'be8b6f8c45b5062618ba50b2311f1143210bcc59', class: "select-highlight" }))));
|
|
630
630
|
}
|
|
631
631
|
static get is() { return "ion-select"; }
|
|
632
632
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1010,7 +1010,7 @@ export class Select {
|
|
|
1010
1010
|
"composed": true,
|
|
1011
1011
|
"docs": {
|
|
1012
1012
|
"tags": [],
|
|
1013
|
-
"text": "Emitted when the value has changed."
|
|
1013
|
+
"text": "Emitted when the value has changed.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
1014
1014
|
},
|
|
1015
1015
|
"complexType": {
|
|
1016
1016
|
"original": "SelectChangeEventDetail",
|
|
@@ -189,4 +189,29 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co
|
|
|
189
189
|
await expect(notchCutout).toBeHidden();
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
|
+
test(title('select: fill outline: fit-content should display select options'), async ({ page }, testInfo) => {
|
|
193
|
+
testInfo.annotations.push({
|
|
194
|
+
type: 'issue',
|
|
195
|
+
description: 'https://github.com/ionic-team/ionic-framework/issues/29321',
|
|
196
|
+
});
|
|
197
|
+
await page.setContent(`
|
|
198
|
+
<ion-select
|
|
199
|
+
fill="outline"
|
|
200
|
+
aria-label="Fruit"
|
|
201
|
+
value="apple"
|
|
202
|
+
interface="popover"
|
|
203
|
+
style="width: fit-content"
|
|
204
|
+
>
|
|
205
|
+
<ion-select-option value="5">5</ion-select-option>
|
|
206
|
+
<ion-select-option value="10">10</ion-select-option>
|
|
207
|
+
<ion-select-option value="15">15</ion-select-option>
|
|
208
|
+
</ion-select>
|
|
209
|
+
`, config);
|
|
210
|
+
const select = page.locator('ion-select');
|
|
211
|
+
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
|
212
|
+
await select.click();
|
|
213
|
+
await ionPopoverDidPresent.next();
|
|
214
|
+
const selectPopover = page.locator('ion-select-popover');
|
|
215
|
+
await expect(selectPopover).toHaveScreenshot(screenshot(`select-fill-outline-fit-content`));
|
|
216
|
+
});
|
|
192
217
|
});
|
|
@@ -189,7 +189,14 @@ ion-label {
|
|
|
189
189
|
* }
|
|
190
190
|
*/
|
|
191
191
|
ion-list ion-radio::part(container) {
|
|
192
|
-
|
|
192
|
+
display: none;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
ion-list ion-radio::part(label) {
|
|
196
|
+
margin-left: 0;
|
|
197
|
+
margin-right: 0;
|
|
198
|
+
margin-top: 0;
|
|
199
|
+
margin-bottom: 0;
|
|
193
200
|
}
|
|
194
201
|
|
|
195
202
|
ion-item {
|
|
@@ -359,7 +359,7 @@ export class Textarea {
|
|
|
359
359
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
360
360
|
*/
|
|
361
361
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
362
|
-
return (h(Host, { key: '
|
|
362
|
+
return (h(Host, { key: '16eeb87ea5dbac1b37f1a376cd74e6f41af1b5f6', class: createColorClasses(this.color, {
|
|
363
363
|
[mode]: true,
|
|
364
364
|
'has-value': hasValue,
|
|
365
365
|
'has-focus': hasFocus,
|
|
@@ -368,7 +368,7 @@ export class Textarea {
|
|
|
368
368
|
[`textarea-shape-${shape}`]: shape !== undefined,
|
|
369
369
|
[`textarea-label-placement-${labelPlacement}`]: true,
|
|
370
370
|
'textarea-disabled': disabled,
|
|
371
|
-
}) }, h("label", { key: '
|
|
371
|
+
}) }, h("label", { key: '5f7946957517614b937eb37533a87c124cf3eabb', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '4e950025447d83f3ec77b515a2c5cd6511819b7e', class: "textarea-wrapper-inner" }, h("div", { key: 'a508e5879a9f7b3f2a91d5b1851ab990302044fe', class: "start-slot-wrapper" }, h("slot", { key: 'a2b18078c602896be5ae2da71519f534aa24bbc4', name: "start" })), h("div", { key: '5a4d07c72794548d7f0945aebc5bc2c65118cac3', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: 'f13d0e8b96a798d3cec017b2b618e4979555c5ee', 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 }, this.inheritedAttributes), value)), h("div", { key: '10b8792a1506b41928869a4460b6f780c39947b6', class: "end-slot-wrapper" }, h("slot", { key: '26362017095ffdda6749a19e0152ef4da8759fba', name: "end" }))), shouldRenderHighlight && h("div", { key: '06a6135b05848b3855192f162ec293d9eae6e171', class: "textarea-highlight" })), this.renderBottomContent()));
|
|
372
372
|
}
|
|
373
373
|
static get is() { return "ion-textarea"; }
|
|
374
374
|
static get encapsulation() { return "scoped"; }
|
|
@@ -894,7 +894,7 @@ export class Textarea {
|
|
|
894
894
|
"composed": true,
|
|
895
895
|
"docs": {
|
|
896
896
|
"tags": [],
|
|
897
|
-
"text": "The `ionChange` event is fired when the user modifies the textarea's value.\nUnlike the `ionInput` event, the `ionChange` event is fired when\nthe element loses focus after its value has been modified."
|
|
897
|
+
"text": "The `ionChange` event is fired when the user modifies the textarea's value.\nUnlike the `ionInput` event, the `ionChange` event is fired when\nthe element loses focus after its value has been modified.\n\nThis event will not emit when programmatically setting the `value` property."
|
|
898
898
|
},
|
|
899
899
|
"complexType": {
|
|
900
900
|
"original": "TextareaChangeEventDetail",
|
|
@@ -157,7 +157,7 @@ export class Toggle {
|
|
|
157
157
|
const value = this.getValue();
|
|
158
158
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
159
159
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
160
|
-
return (h(Host, { key: '
|
|
160
|
+
return (h(Host, { key: '9083d3ea92131df1480dfdaacd62037ffd5a69ec', onClick: this.onClick, class: createColorClasses(color, {
|
|
161
161
|
[mode]: true,
|
|
162
162
|
'in-item': hostContext('ion-item', el),
|
|
163
163
|
'toggle-activated': activated,
|
|
@@ -167,10 +167,10 @@ export class Toggle {
|
|
|
167
167
|
[`toggle-alignment-${alignment}`]: true,
|
|
168
168
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
169
169
|
[`toggle-${rtl}`]: true,
|
|
170
|
-
}) }, h("label", { key: '
|
|
170
|
+
}) }, h("label", { key: '554e11ac1db370363b251b83e4d57c32a2bd4577', class: "toggle-wrapper" }, h("input", Object.assign({ key: '327540a212dfe686310e8a587fa8c81edfd2e229', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: '9ba185a8afaf65c8ba0d2044b1abfa376aee4db3', class: {
|
|
171
171
|
'label-text-wrapper': true,
|
|
172
172
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
173
|
-
}, part: "label" }, h("slot", { key: '
|
|
173
|
+
}, part: "label" }, h("slot", { key: '730287f916c13ec437f39f2304a70afa50f41dc7' })), h("div", { key: '0e810cdf6dc7623d4efd2092a642ef12906efcae', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
174
174
|
}
|
|
175
175
|
static get is() { return "ion-toggle"; }
|
|
176
176
|
static get encapsulation() { return "shadow"; }
|
|
@@ -371,7 +371,7 @@ export class Toggle {
|
|
|
371
371
|
"composed": true,
|
|
372
372
|
"docs": {
|
|
373
373
|
"tags": [],
|
|
374
|
-
"text": "Emitted when the user switches the toggle on or off
|
|
374
|
+
"text": "Emitted when the user switches the toggle on or off.\n\nThis event will not emit when programmatically setting the `checked` property."
|
|
375
375
|
},
|
|
376
376
|
"complexType": {
|
|
377
377
|
"original": "ToggleChangeEventDetail",
|