@ionic/core 8.8.4-dev.11776357045.1da75baf → 8.8.4-dev.11776461571.1353c44a
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/ion-accordion.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/{p-iwGbwewM.js → p-9o5mMwql.js} +1 -1
- package/components/p-BI21sbTs.js +4 -0
- package/components/p-BaPtaYEC.js +4 -0
- package/components/{p-CBH_owa5.js → p-CnwZE7CW.js} +1 -1
- package/dist/cjs/{index-DqmRDbxg.js → index-CgAbCW6L.js} +2 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +1 -1
- package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-refresher_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-select-modal.cjs.entry.js +18 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +13 -4
- package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/select/select.js +32 -3
- package/dist/collection/components/select-modal/select-modal.js +39 -2
- package/dist/docs.json +62 -1
- package/dist/esm/{index-COG0_eom.js → index-D2tu5BUg.js} +2 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +1 -1
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +1 -1
- package/dist/esm/ion-item_8.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-refresher_2.entry.js +1 -1
- package/dist/esm/ion-reorder_2.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-select-modal.entry.js +19 -2
- package/dist/esm/ion-select_3.entry.js +13 -4
- package/dist/esm/ion-toggle.entry.js +1 -1
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/html.html-data.json +8 -0
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-db4f4eaf.entry.js → p-06de164d.entry.js} +1 -1
- package/dist/ionic/{p-2095969c.entry.js → p-15ea9223.entry.js} +1 -1
- package/dist/ionic/{p-c136fa43.entry.js → p-37ccbee4.entry.js} +1 -1
- package/dist/ionic/{p-e1d04699.entry.js → p-3aba19e2.entry.js} +1 -1
- package/dist/ionic/{p-49799a34.entry.js → p-4610e447.entry.js} +1 -1
- package/dist/ionic/{p-01f414fd.entry.js → p-488992b6.entry.js} +1 -1
- package/dist/ionic/{p-dbf13f50.entry.js → p-4c864eb2.entry.js} +1 -1
- package/dist/ionic/{p-b049ae0f.entry.js → p-5ac21be2.entry.js} +1 -1
- package/dist/ionic/p-5df96380.entry.js +4 -0
- package/dist/ionic/{p-8fc3b5de.entry.js → p-8516eb69.entry.js} +1 -1
- package/dist/ionic/p-9ca814ab.entry.js +4 -0
- package/dist/ionic/p-D2tu5BUg.js +4 -0
- package/dist/ionic/{p-304f8b0f.entry.js → p-acdc21a6.entry.js} +1 -1
- package/dist/ionic/{p-8e42d109.entry.js → p-caa1ce72.entry.js} +1 -1
- package/dist/ionic/{p-2193e875.entry.js → p-f061fcb7.entry.js} +1 -1
- package/dist/ionic/{p-01bc266f.entry.js → p-f740c359.entry.js} +1 -1
- package/dist/types/components/select/select.d.ts +8 -0
- package/dist/types/components/select-modal/select-modal.d.ts +6 -0
- package/dist/types/components.d.ts +22 -0
- package/hydrate/index.js +31 -4
- package/hydrate/index.mjs +31 -4
- package/package.json +1 -1
- package/components/p-0tC5Bj8z.js +0 -4
- package/components/p-BR9Yxas9.js +0 -4
- package/dist/ionic/p-9acd3fd3.entry.js +0 -4
- package/dist/ionic/p-COG0_eom.js +0 -4
- package/dist/ionic/p-a283aa4d.entry.js +0 -4
|
@@ -58,6 +58,14 @@ export class Select {
|
|
|
58
58
|
* The text to display on the cancel button.
|
|
59
59
|
*/
|
|
60
60
|
this.cancelText = 'Cancel';
|
|
61
|
+
/**
|
|
62
|
+
* If `true`, the cancel button will display an icon instead of the `cancelText`.
|
|
63
|
+
* Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`,
|
|
64
|
+
* `"alert"`, or `"popover"` interfaces.
|
|
65
|
+
* When `cancelIcon` is `true`, the `cancelText` property is ignored for display
|
|
66
|
+
* but is used as the accessible label for the icon button.
|
|
67
|
+
*/
|
|
68
|
+
this.cancelIcon = false;
|
|
61
69
|
/**
|
|
62
70
|
* If `true`, the user cannot interact with the select.
|
|
63
71
|
*/
|
|
@@ -579,6 +587,7 @@ export class Select {
|
|
|
579
587
|
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode: theme, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
580
588
|
header: interfaceOptions.header,
|
|
581
589
|
cancelText: this.cancelText,
|
|
590
|
+
cancelIcon: this.cancelIcon,
|
|
582
591
|
multiple,
|
|
583
592
|
value,
|
|
584
593
|
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
@@ -908,7 +917,7 @@ export class Select {
|
|
|
908
917
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
909
918
|
*/
|
|
910
919
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
911
|
-
return (h(Host, { key: '
|
|
920
|
+
return (h(Host, { key: 'd8f7abd11c8f6e5ebea306f69ed5ae5a115efa97', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
912
921
|
[theme]: true,
|
|
913
922
|
'in-item': inItem,
|
|
914
923
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -927,7 +936,7 @@ export class Select {
|
|
|
927
936
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
928
937
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
929
938
|
[`select-size-${size}`]: size !== undefined,
|
|
930
|
-
}) }, h("label", { key: '
|
|
939
|
+
}) }, h("label", { key: '443499f6c4501df171d4f16756f2e55e57512c0c', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '66e6cf63163b68b1ca85979e5c49a349632dfc54', class: "select-wrapper-inner", part: "inner" },
|
|
931
940
|
/**
|
|
932
941
|
* For the ionic theme, we render the outline container here
|
|
933
942
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -937,7 +946,7 @@ export class Select {
|
|
|
937
946
|
* <label> element, ensuring that clicking the label text
|
|
938
947
|
* focuses the select.
|
|
939
948
|
*/
|
|
940
|
-
theme === 'ionic' && fill === 'outline' && h("div", { key: '
|
|
949
|
+
theme === 'ionic' && fill === 'outline' && h("div", { key: 'a9f7d6bde570f4e2261617cdc2529cd835297865', class: "select-outline" }), h("slot", { key: 'f5516f6749c85dc3ed8f9ee04e748f1aad0d815c', name: "start" }), h("div", { key: '86fa4152f415a5ab72ed1a95899212fc1914b81c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '3333af6835b20a97450372ca78a4aa77adf39d1c', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e0e782845ed0c35c139dbddcc3f9880aec12cf58', class: "select-highlight" })), this.renderBottomContent()));
|
|
941
950
|
}
|
|
942
951
|
static get is() { return "ion-select"; }
|
|
943
952
|
static get encapsulation() { return "shadow"; }
|
|
@@ -977,6 +986,26 @@ export class Select {
|
|
|
977
986
|
"attribute": "cancel-text",
|
|
978
987
|
"defaultValue": "'Cancel'"
|
|
979
988
|
},
|
|
989
|
+
"cancelIcon": {
|
|
990
|
+
"type": "boolean",
|
|
991
|
+
"mutable": false,
|
|
992
|
+
"complexType": {
|
|
993
|
+
"original": "boolean",
|
|
994
|
+
"resolved": "boolean",
|
|
995
|
+
"references": {}
|
|
996
|
+
},
|
|
997
|
+
"required": false,
|
|
998
|
+
"optional": false,
|
|
999
|
+
"docs": {
|
|
1000
|
+
"tags": [],
|
|
1001
|
+
"text": "If `true`, the cancel button will display an icon instead of the `cancelText`.\nOnly applies when `interface` is set to `\"modal\"`. Has no effect on `\"action-sheet\"`,\n`\"alert\"`, or `\"popover\"` interfaces.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored for display\nbut is used as the accessible label for the icon button."
|
|
1002
|
+
},
|
|
1003
|
+
"getter": false,
|
|
1004
|
+
"setter": false,
|
|
1005
|
+
"reflect": false,
|
|
1006
|
+
"attribute": "cancel-icon",
|
|
1007
|
+
"defaultValue": "false"
|
|
1008
|
+
},
|
|
980
1009
|
"color": {
|
|
981
1010
|
"type": "string",
|
|
982
1011
|
"mutable": false,
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import
|
|
4
|
+
import xRegular from "@phosphor-icons/core/assets/regular/x.svg";
|
|
5
|
+
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
5
6
|
import { Host, forceUpdate, h } from "@stencil/core";
|
|
6
7
|
import { safeCall } from "../../utils/overlays";
|
|
7
8
|
import { getClassMap, hostContext } from "../../utils/theme";
|
|
9
|
+
import { closeOutline, closeSharp } from "ionicons/icons";
|
|
8
10
|
export class SelectModal {
|
|
9
11
|
constructor() {
|
|
10
12
|
/**
|
|
11
13
|
* The text to display on the cancel button.
|
|
12
14
|
*/
|
|
13
15
|
this.cancelText = 'Close';
|
|
16
|
+
/**
|
|
17
|
+
* If `true`, the cancel button will display a close icon instead of the `cancelText`.
|
|
18
|
+
* When `cancelIcon` is `true`, the `cancelText` property is ignored.
|
|
19
|
+
*/
|
|
20
|
+
this.cancelIcon = false;
|
|
14
21
|
this.options = [];
|
|
15
22
|
}
|
|
16
23
|
closeModal() {
|
|
@@ -51,6 +58,16 @@ export class SelectModal {
|
|
|
51
58
|
option.checked = ev.detail.checked;
|
|
52
59
|
}
|
|
53
60
|
}
|
|
61
|
+
get cancelButtonIcon() {
|
|
62
|
+
var _a;
|
|
63
|
+
const theme = getIonTheme(this);
|
|
64
|
+
const icons = {
|
|
65
|
+
ios: closeOutline,
|
|
66
|
+
md: closeSharp,
|
|
67
|
+
ionic: xRegular,
|
|
68
|
+
};
|
|
69
|
+
return (_a = icons[theme]) !== null && _a !== void 0 ? _a : icons.md;
|
|
70
|
+
}
|
|
54
71
|
getModalContextClasses() {
|
|
55
72
|
const el = this.el;
|
|
56
73
|
return {
|
|
@@ -86,7 +103,7 @@ export class SelectModal {
|
|
|
86
103
|
} }, option.text))));
|
|
87
104
|
}
|
|
88
105
|
render() {
|
|
89
|
-
return (h(Host, { key: '
|
|
106
|
+
return (h(Host, { key: 'b14f12b3c71f0270dc6e4d5c6b4a570f95961019', class: Object.assign({ [getIonMode(this)]: true }, this.getModalContextClasses()) }, h("ion-header", { key: '04202121676d022402486e5b9feb83083752e58a' }, h("ion-toolbar", { key: 'aafe83951b5eb8d9279a3526325481445c620945' }, this.header !== undefined && h("ion-title", { key: 'd9d2801851407abd8038f79d99ed95783d09c22f' }, this.header), h("ion-buttons", { key: '2a108a5349fb5dd64f35ec12e86fd886ca924abf', slot: "end" }, h("ion-button", { key: '5f31deee2e249deb7b00bb6178c7409927c61eb0', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (h("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), h("ion-content", { key: '65d2e371b873bda049f2d5bae02aff442b3cc3a2' }, h("ion-list", { key: '3b94a8bb425132a6ef2f7c0b863384d1afe4ce9b' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
90
107
|
}
|
|
91
108
|
static get is() { return "ion-select-modal"; }
|
|
92
109
|
static get encapsulation() { return "scoped"; }
|
|
@@ -145,6 +162,26 @@ export class SelectModal {
|
|
|
145
162
|
"attribute": "cancel-text",
|
|
146
163
|
"defaultValue": "'Close'"
|
|
147
164
|
},
|
|
165
|
+
"cancelIcon": {
|
|
166
|
+
"type": "boolean",
|
|
167
|
+
"mutable": false,
|
|
168
|
+
"complexType": {
|
|
169
|
+
"original": "boolean",
|
|
170
|
+
"resolved": "boolean",
|
|
171
|
+
"references": {}
|
|
172
|
+
},
|
|
173
|
+
"required": false,
|
|
174
|
+
"optional": false,
|
|
175
|
+
"docs": {
|
|
176
|
+
"tags": [],
|
|
177
|
+
"text": "If `true`, the cancel button will display a close icon instead of the `cancelText`.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored."
|
|
178
|
+
},
|
|
179
|
+
"getter": false,
|
|
180
|
+
"setter": false,
|
|
181
|
+
"reflect": false,
|
|
182
|
+
"attribute": "cancel-icon",
|
|
183
|
+
"defaultValue": "false"
|
|
184
|
+
},
|
|
148
185
|
"multiple": {
|
|
149
186
|
"type": "boolean",
|
|
150
187
|
"mutable": false,
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2026-04-
|
|
2
|
+
"timestamp": "2026-04-17T21:35:16",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.43.0",
|
|
@@ -37649,6 +37649,35 @@
|
|
|
37649
37649
|
],
|
|
37650
37650
|
"usage": {},
|
|
37651
37651
|
"props": [
|
|
37652
|
+
{
|
|
37653
|
+
"name": "cancelIcon",
|
|
37654
|
+
"type": "boolean",
|
|
37655
|
+
"complexType": {
|
|
37656
|
+
"original": "boolean",
|
|
37657
|
+
"resolved": "boolean",
|
|
37658
|
+
"references": {}
|
|
37659
|
+
},
|
|
37660
|
+
"mutable": false,
|
|
37661
|
+
"attr": "cancel-icon",
|
|
37662
|
+
"reflectToAttr": false,
|
|
37663
|
+
"docs": "If `true`, the cancel button will display an icon instead of the `cancelText`.\nOnly applies when `interface` is set to `\"modal\"`. Has no effect on `\"action-sheet\"`,\n`\"alert\"`, or `\"popover\"` interfaces.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored for display\nbut is used as the accessible label for the icon button.",
|
|
37664
|
+
"docsTags": [
|
|
37665
|
+
{
|
|
37666
|
+
"name": "default",
|
|
37667
|
+
"text": "false"
|
|
37668
|
+
}
|
|
37669
|
+
],
|
|
37670
|
+
"default": "false",
|
|
37671
|
+
"values": [
|
|
37672
|
+
{
|
|
37673
|
+
"type": "boolean"
|
|
37674
|
+
}
|
|
37675
|
+
],
|
|
37676
|
+
"optional": false,
|
|
37677
|
+
"required": false,
|
|
37678
|
+
"getter": false,
|
|
37679
|
+
"setter": false
|
|
37680
|
+
},
|
|
37652
37681
|
{
|
|
37653
37682
|
"name": "cancelText",
|
|
37654
37683
|
"type": "string",
|
|
@@ -38992,6 +39021,7 @@
|
|
|
38992
39021
|
"ion-title",
|
|
38993
39022
|
"ion-buttons",
|
|
38994
39023
|
"ion-button",
|
|
39024
|
+
"ion-icon",
|
|
38995
39025
|
"ion-content",
|
|
38996
39026
|
"ion-list"
|
|
38997
39027
|
],
|
|
@@ -39011,6 +39041,35 @@
|
|
|
39011
39041
|
"docsTags": [],
|
|
39012
39042
|
"usage": {},
|
|
39013
39043
|
"props": [
|
|
39044
|
+
{
|
|
39045
|
+
"name": "cancelIcon",
|
|
39046
|
+
"type": "boolean",
|
|
39047
|
+
"complexType": {
|
|
39048
|
+
"original": "boolean",
|
|
39049
|
+
"resolved": "boolean",
|
|
39050
|
+
"references": {}
|
|
39051
|
+
},
|
|
39052
|
+
"mutable": false,
|
|
39053
|
+
"attr": "cancel-icon",
|
|
39054
|
+
"reflectToAttr": false,
|
|
39055
|
+
"docs": "If `true`, the cancel button will display a close icon instead of the `cancelText`.\nWhen `cancelIcon` is `true`, the `cancelText` property is ignored.",
|
|
39056
|
+
"docsTags": [
|
|
39057
|
+
{
|
|
39058
|
+
"name": "default",
|
|
39059
|
+
"text": "false"
|
|
39060
|
+
}
|
|
39061
|
+
],
|
|
39062
|
+
"default": "false",
|
|
39063
|
+
"values": [
|
|
39064
|
+
{
|
|
39065
|
+
"type": "boolean"
|
|
39066
|
+
}
|
|
39067
|
+
],
|
|
39068
|
+
"optional": false,
|
|
39069
|
+
"required": false,
|
|
39070
|
+
"getter": false,
|
|
39071
|
+
"setter": false
|
|
39072
|
+
},
|
|
39014
39073
|
{
|
|
39015
39074
|
"name": "cancelText",
|
|
39016
39075
|
"type": "string",
|
|
@@ -39148,6 +39207,7 @@
|
|
|
39148
39207
|
"ion-title",
|
|
39149
39208
|
"ion-buttons",
|
|
39150
39209
|
"ion-button",
|
|
39210
|
+
"ion-icon",
|
|
39151
39211
|
"ion-content",
|
|
39152
39212
|
"ion-list"
|
|
39153
39213
|
],
|
|
@@ -39162,6 +39222,7 @@
|
|
|
39162
39222
|
"ion-title",
|
|
39163
39223
|
"ion-buttons",
|
|
39164
39224
|
"ion-button",
|
|
39225
|
+
"ion-icon",
|
|
39165
39226
|
"ion-content",
|
|
39166
39227
|
"ion-list"
|
|
39167
39228
|
],
|
|
@@ -16,6 +16,7 @@ const chevronForward = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/20
|
|
|
16
16
|
const chevronForwardOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m184 112 144 144-144 144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>";
|
|
17
17
|
const close = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>";
|
|
18
18
|
const closeCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48m75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256Z'/></svg>";
|
|
19
|
+
const closeOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M368 368 144 144M368 144 144 368' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
|
|
19
20
|
const closeSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256z'/></svg>";
|
|
20
21
|
const ellipseOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><circle cx='256' cy='256' r='192' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
|
|
21
22
|
const ellipsisHorizontal = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><circle cx='256' cy='256' r='48'/><circle cx='416' cy='256' r='48'/><circle cx='96' cy='256' r='48'/></svg>";
|
|
@@ -29,4 +30,4 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
|
|
|
29
30
|
const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
|
|
30
31
|
const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M464 428 339.92 303.9a160.48 160.48 0 0 0 30.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0 0 94.58-30.72L428 464ZM209.32 319.69a110.38 110.38 0 1 1 110.37-110.37 110.5 110.5 0 0 1-110.37 110.37'/></svg>";
|
|
31
32
|
|
|
32
|
-
export { arrowBackSharp as a, closeSharp as b, chevronBack as c, closeCircle as d, searchOutline as e, checkmarkOutline as f, ellipseOutline as g, arrowDown as h, caretBackSharp as i, reorderTwoSharp as j, reorderThreeOutline as k, chevronDown as l, ellipsisHorizontal as m, chevronForwardOutline as n, chevronForward as o, caretDownSharp as p, caretUpSharp as q, removeOutline as r, searchSharp as s, close as t, menuSharp as u, menuOutline as v, chevronExpand as w, eyeOff as x, eye as y };
|
|
33
|
+
export { arrowBackSharp as a, closeSharp as b, chevronBack as c, closeCircle as d, searchOutline as e, checkmarkOutline as f, ellipseOutline as g, arrowDown as h, caretBackSharp as i, reorderTwoSharp as j, reorderThreeOutline as k, chevronDown as l, ellipsisHorizontal as m, chevronForwardOutline as n, chevronForward as o, caretDownSharp as p, caretUpSharp as q, removeOutline as r, searchSharp as s, close as t, menuSharp as u, menuOutline as v, chevronExpand as w, eyeOff as x, eye as y, closeOutline as z };
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, e as config, h, d as Host, g as getElement, c as
|
|
|
5
5
|
import { c as caretDownSvg } from './caret-down-D1t981Ih.js';
|
|
6
6
|
import { g as getElementRoot, r as raf, f as addEventListener, m as removeEventListener, t as transitionEndAsync } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { h as hostContext } from './theme-DaJxRxSQ.js';
|
|
8
|
-
import { l as chevronDown } from './index-
|
|
8
|
+
import { l as chevronDown } from './index-D2tu5BUg.js';
|
|
9
9
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
10
10
|
import './focus-visible-vXpMhGrs.js';
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, e as config, h, d as Host, g as getElement } fro
|
|
|
5
5
|
import { c as caretLeftSvg } from './caret-left-fIOYmaqA.js';
|
|
6
6
|
import { i as inheritAriaAttributes } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { o as openURL, c as createColorClasses, h as hostContext } from './theme-DaJxRxSQ.js';
|
|
8
|
-
import { a as arrowBackSharp, c as chevronBack } from './index-
|
|
8
|
+
import { a as arrowBackSharp, c as chevronBack } from './index-D2tu5BUg.js';
|
|
9
9
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
10
10
|
import './focus-visible-vXpMhGrs.js';
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, c as createEvent, e as config, h, d as Host, g a
|
|
|
5
5
|
import { c as caretRightSvg } from './caret-right-BYSs-jZz.js';
|
|
6
6
|
import { i as inheritAriaAttributes } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { c as createColorClasses, o as openURL, h as hostContext } from './theme-DaJxRxSQ.js';
|
|
8
|
-
import { m as ellipsisHorizontal, n as chevronForwardOutline } from './index-
|
|
8
|
+
import { m as ellipsisHorizontal, n as chevronForwardOutline } from './index-D2tu5BUg.js';
|
|
9
9
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
10
10
|
import './focus-visible-vXpMhGrs.js';
|
|
11
11
|
|
|
@@ -9,7 +9,7 @@ import { r as raf, g as getElementRoot, a as renderHiddenInput, e as clamp } fro
|
|
|
9
9
|
import { F as FOCUS_TRAP_DISABLE_CLASS, d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-CvFHfO3y.js';
|
|
10
10
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
11
11
|
import { c as createColorClasses, g as getClassMap } from './theme-DaJxRxSQ.js';
|
|
12
|
-
import { o as chevronForward, c as chevronBack, p as caretDownSharp, q as caretUpSharp, l as chevronDown } from './index-
|
|
12
|
+
import { o as chevronForward, c as chevronBack, p as caretDownSharp, q as caretUpSharp, l as chevronDown } from './index-D2tu5BUg.js';
|
|
13
13
|
import { b as getIonMode, c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
14
14
|
import { i as isBefore, a as isAfter, g as getPreviousMonth, b as getNextMonth, c as isSameDay, d as getDay, e as generateDayAriaLabel, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as parseAmPm, u as clampDate, x as convertToArrayOfNumbers, y as convertDataToISO, z as getToday, A as getClosestValidDate, B as generateMonths, C as getNumDaysInMonth, D as getCombinedDateColumnData, E as getMonthColumnData, F as getDayColumnData, G as getYearColumnData, H as isMonthFirstLocale, I as getTimeColumnsData, J as isLocaleDayPeriodRTL, K as calculateHourFromAMPM, L as getDaysOfWeek, M as getMonthAndYear, N as getDaysOfMonth, O as getHourCycle, P as getLocalizedTime, Q as getLocalizedDateTime, R as formatValue } from './data-BNKYavC3.js';
|
|
15
15
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
@@ -6,7 +6,7 @@ import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
|
6
6
|
import { x as xSvg } from './x-BDqjX7Z_.js';
|
|
7
7
|
import { i as inheritAriaAttributes } from './helpers-Do7zwvM1.js';
|
|
8
8
|
import { h as hostContext, o as openURL, c as createColorClasses } from './theme-DaJxRxSQ.js';
|
|
9
|
-
import { t as close } from './index-
|
|
9
|
+
import { t as close } from './index-D2tu5BUg.js';
|
|
10
10
|
import './focus-visible-vXpMhGrs.js';
|
|
11
11
|
|
|
12
12
|
const fabCss = () => `:host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){right:0px;left:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}`;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, f as printIonWarning, e as config, h, d as Host, g as getElement } from './index-Omi_TcwW.js';
|
|
5
5
|
import { c as createColorClasses } from './theme-DaJxRxSQ.js';
|
|
6
|
-
import { x as eyeOff, y as eye } from './index-
|
|
6
|
+
import { x as eyeOff, y as eye } from './index-D2tu5BUg.js';
|
|
7
7
|
import { c as getIonTheme, b as getIonMode } from './ionic-global-CAZb-5i-.js';
|
|
8
8
|
|
|
9
9
|
const eyeSlashSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik01My45MiwzNC42MkE4LDgsMCwxLDAsNDIuMDgsNDUuMzhMNjEuMzIsNjYuNTVDMjUsODguODQsOS4zOCwxMjMuMiw4LjY5LDEyNC43NmE4LDgsMCwwLDAsMCw2LjVjLjM1Ljc5LDguODIsMTkuNTcsMjcuNjUsMzguNEM2MS40MywxOTQuNzQsOTMuMTIsMjA4LDEyOCwyMDhhMTI3LjExLDEyNy4xMSwwLDAsMCw1Mi4wNy0xMC44M2wyMiwyNC4yMWE4LDgsMCwxLDAsMTEuODQtMTAuNzZabTQ3LjMzLDc1Ljg0LDQxLjY3LDQ1Ljg1YTMyLDMyLDAsMCwxLTQxLjY3LTQ1Ljg1Wk0xMjgsMTkyYy0zMC43OCwwLTU3LjY3LTExLjE5LTc5LjkzLTMzLjI1QTEzMy4xNiwxMzMuMTYsMCwwLDEsMjUsMTI4YzQuNjktOC43OSwxOS42Ni0zMy4zOSw0Ny4zNS00OS4zOGwxOCwxOS43NWE0OCw0OCwwLDAsMCw2My42Niw3MGwxNC43MywxNi4yQTExMiwxMTIsMCwwLDEsMTI4LDE5MlptNi05NS40M2E4LDgsMCwwLDEsMy0xNS43Miw0OC4xNiw0OC4xNiwwLDAsMSwzOC43Nyw0Mi42NCw4LDgsMCwwLDEtNy4yMiw4LjcxLDYuMzksNi4zOSwwLDAsMS0uNzUsMCw4LDgsMCwwLDEtOC03LjI2QTMyLjA5LDMyLjA5LDAsMCwwLDEzNCw5Ni41N1ptMTEzLjI4LDM0LjY5Yy0uNDIuOTQtMTAuNTUsMjMuMzctMzMuMzYsNDMuOGE4LDgsMCwxLDEtMTAuNjctMTEuOTJBMTMyLjc3LDEzMi43NywwLDAsMCwyMzEuMDUsMTI4YTEzMy4xNSwxMzMuMTUsMCwwLDAtMjMuMTItMzAuNzdDMTg1LjY3LDc1LjE5LDE1OC43OCw2NCwxMjgsNjRhMTE4LjM3LDExOC4zNywwLDAsMC0xOS4zNiwxLjU3QTgsOCwwLDEsMSwxMDYsNDkuNzksMTM0LDEzNCwwLDAsMSwxMjgsNDhjMzQuODgsMCw2Ni41NywxMy4yNiw5MS42NiwzOC4zNSwxOC44MywxOC44MywyNy4zLDM3LjYyLDI3LjY1LDM4LjQxQTgsOCwwLDAsMSwyNDcuMzEsMTMxLjI2WiIvPjwvc3ZnPg==';
|
|
@@ -8,7 +8,7 @@ import { c as checkInvalidState } from './validity-BjW8SOqw.js';
|
|
|
8
8
|
import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-Do7zwvM1.js';
|
|
9
9
|
import { c as createSlotMutationController, g as getCounterText } from './input.utils-B9Q5xHp6.js';
|
|
10
10
|
import { h as hostContext, c as createColorClasses } from './theme-DaJxRxSQ.js';
|
|
11
|
-
import { b as closeSharp, d as closeCircle } from './index-
|
|
11
|
+
import { b as closeSharp, d as closeCircle } from './index-D2tu5BUg.js';
|
|
12
12
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
13
13
|
import './focus-visible-vXpMhGrs.js';
|
|
14
14
|
|
|
@@ -5,7 +5,7 @@ import { r as registerInstance, i as forceUpdate, e as config, h, d as Host, g a
|
|
|
5
5
|
import { c as caretRightSvg } from './caret-right-BYSs-jZz.js';
|
|
6
6
|
import { b as inheritAttributes, r as raf } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { h as hostContext, c as createColorClasses, o as openURL } from './theme-DaJxRxSQ.js';
|
|
8
|
-
import { o as chevronForward } from './index-
|
|
8
|
+
import { o as chevronForward } from './index-D2tu5BUg.js';
|
|
9
9
|
import { c as getIonTheme, b as getIonMode } from './ionic-global-CAZb-5i-.js';
|
|
10
10
|
import './focus-visible-vXpMhGrs.js';
|
|
11
11
|
|
|
@@ -10,7 +10,7 @@ import { p as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } f
|
|
|
10
10
|
import { m as menuController } from './index-hpH08p5s.js';
|
|
11
11
|
import { h as hostContext, c as createColorClasses } from './theme-DaJxRxSQ.js';
|
|
12
12
|
import { l as listSvg } from './list-Dhi5xtNS.js';
|
|
13
|
-
import { u as menuSharp, v as menuOutline } from './index-
|
|
13
|
+
import { u as menuSharp, v as menuOutline } from './index-D2tu5BUg.js';
|
|
14
14
|
import './framework-delegate-CjVwn_KZ.js';
|
|
15
15
|
import './focus-visible-vXpMhGrs.js';
|
|
16
16
|
import './animation-Cqe2x-Pt.js';
|
|
@@ -9,7 +9,7 @@ import { d as hapticImpact, I as ImpactStyle } from './haptic-_88k1V5U.js';
|
|
|
9
9
|
import { b as getIonMode, c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
10
10
|
import { c as createAnimation } from './animation-Cqe2x-Pt.js';
|
|
11
11
|
import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-BvDxfLa-.js';
|
|
12
|
-
import { h as arrowDown, i as caretBackSharp } from './index-
|
|
12
|
+
import { h as arrowDown, i as caretBackSharp } from './index-D2tu5BUg.js';
|
|
13
13
|
import { S as SPINNERS } from './spinner-configs-D4RIp70E.js';
|
|
14
14
|
import './focus-visible-vXpMhGrs.js';
|
|
15
15
|
import './capacitor-C4lYa1nV.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, e as config, h, d as Host, g as getElement, c as createEvent } from './index-Omi_TcwW.js';
|
|
5
5
|
import { l as listSvg } from './list-Dhi5xtNS.js';
|
|
6
|
-
import { j as reorderTwoSharp, k as reorderThreeOutline } from './index-
|
|
6
|
+
import { j as reorderTwoSharp, k as reorderThreeOutline } from './index-D2tu5BUg.js';
|
|
7
7
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
8
8
|
import { f as findClosestIonContent, g as getScrollElement } from './index-BmkLokUL.js';
|
|
9
9
|
import { r as raf } from './helpers-Do7zwvM1.js';
|
|
@@ -6,7 +6,7 @@ import { x as xSvg } from './x-BDqjX7Z_.js';
|
|
|
6
6
|
import { d as debounceEvent, b as inheritAttributes, c as componentOnReady, r as raf } from './helpers-Do7zwvM1.js';
|
|
7
7
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
8
8
|
import { c as createColorClasses, h as hostContext } from './theme-DaJxRxSQ.js';
|
|
9
|
-
import { b as closeSharp, d as closeCircle, s as searchSharp, e as searchOutline, a as arrowBackSharp } from './index-
|
|
9
|
+
import { b as closeSharp, d as closeCircle, s as searchSharp, e as searchOutline, a as arrowBackSharp } from './index-D2tu5BUg.js';
|
|
10
10
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
11
11
|
import './focus-visible-vXpMhGrs.js';
|
|
12
12
|
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, i as forceUpdate, d as Host, g as getElement } from './index-Omi_TcwW.js';
|
|
5
|
-
import {
|
|
5
|
+
import { x as xSvg } from './x-BDqjX7Z_.js';
|
|
6
|
+
import { c as getIonTheme, b as getIonMode } from './ionic-global-CAZb-5i-.js';
|
|
6
7
|
import { s as safeCall } from './overlays-CvFHfO3y.js';
|
|
7
8
|
import { h as hostContext, g as getClassMap } from './theme-DaJxRxSQ.js';
|
|
9
|
+
import { b as closeSharp, z as closeOutline } from './index-D2tu5BUg.js';
|
|
8
10
|
import './helpers-Do7zwvM1.js';
|
|
9
11
|
import './focus-visible-vXpMhGrs.js';
|
|
10
12
|
import './framework-delegate-CjVwn_KZ.js';
|
|
@@ -23,6 +25,11 @@ const SelectModal = class {
|
|
|
23
25
|
* The text to display on the cancel button.
|
|
24
26
|
*/
|
|
25
27
|
this.cancelText = 'Close';
|
|
28
|
+
/**
|
|
29
|
+
* If `true`, the cancel button will display a close icon instead of the `cancelText`.
|
|
30
|
+
* When `cancelIcon` is `true`, the `cancelText` property is ignored.
|
|
31
|
+
*/
|
|
32
|
+
this.cancelIcon = false;
|
|
26
33
|
this.options = [];
|
|
27
34
|
}
|
|
28
35
|
closeModal() {
|
|
@@ -63,6 +70,16 @@ const SelectModal = class {
|
|
|
63
70
|
option.checked = ev.detail.checked;
|
|
64
71
|
}
|
|
65
72
|
}
|
|
73
|
+
get cancelButtonIcon() {
|
|
74
|
+
var _a;
|
|
75
|
+
const theme = getIonTheme(this);
|
|
76
|
+
const icons = {
|
|
77
|
+
ios: closeOutline,
|
|
78
|
+
md: closeSharp,
|
|
79
|
+
ionic: xSvg,
|
|
80
|
+
};
|
|
81
|
+
return (_a = icons[theme]) !== null && _a !== void 0 ? _a : icons.md;
|
|
82
|
+
}
|
|
66
83
|
getModalContextClasses() {
|
|
67
84
|
const el = this.el;
|
|
68
85
|
return {
|
|
@@ -98,7 +115,7 @@ const SelectModal = class {
|
|
|
98
115
|
} }, option.text))));
|
|
99
116
|
}
|
|
100
117
|
render() {
|
|
101
|
-
return (h(Host, { key: '
|
|
118
|
+
return (h(Host, { key: 'b14f12b3c71f0270dc6e4d5c6b4a570f95961019', class: Object.assign({ [getIonMode(this)]: true }, this.getModalContextClasses()) }, h("ion-header", { key: '04202121676d022402486e5b9feb83083752e58a' }, h("ion-toolbar", { key: 'aafe83951b5eb8d9279a3526325481445c620945' }, this.header !== undefined && h("ion-title", { key: 'd9d2801851407abd8038f79d99ed95783d09c22f' }, this.header), h("ion-buttons", { key: '2a108a5349fb5dd64f35ec12e86fd886ca924abf', slot: "end" }, h("ion-button", { key: '5f31deee2e249deb7b00bb6178c7409927c61eb0', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (h("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), h("ion-content", { key: '65d2e371b873bda049f2d5bae02aff442b3cc3a2' }, h("ion-list", { key: '3b94a8bb425132a6ef2f7c0b863384d1afe4ce9b' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
102
119
|
}
|
|
103
120
|
get el() { return getElement(this); }
|
|
104
121
|
};
|
|
@@ -11,7 +11,7 @@ import { c as popoverController, b as actionSheetController, a as alertControlle
|
|
|
11
11
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
12
12
|
import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-DaJxRxSQ.js';
|
|
13
13
|
import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
|
|
14
|
-
import { p as caretDownSharp, w as chevronExpand } from './index-
|
|
14
|
+
import { p as caretDownSharp, w as chevronExpand } from './index-D2tu5BUg.js';
|
|
15
15
|
import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
16
16
|
import './focus-visible-vXpMhGrs.js';
|
|
17
17
|
import './framework-delegate-CjVwn_KZ.js';
|
|
@@ -54,6 +54,14 @@ const Select = class {
|
|
|
54
54
|
* The text to display on the cancel button.
|
|
55
55
|
*/
|
|
56
56
|
this.cancelText = 'Cancel';
|
|
57
|
+
/**
|
|
58
|
+
* If `true`, the cancel button will display an icon instead of the `cancelText`.
|
|
59
|
+
* Only applies when `interface` is set to `"modal"`. Has no effect on `"action-sheet"`,
|
|
60
|
+
* `"alert"`, or `"popover"` interfaces.
|
|
61
|
+
* When `cancelIcon` is `true`, the `cancelText` property is ignored for display
|
|
62
|
+
* but is used as the accessible label for the icon button.
|
|
63
|
+
*/
|
|
64
|
+
this.cancelIcon = false;
|
|
57
65
|
/**
|
|
58
66
|
* If `true`, the user cannot interact with the select.
|
|
59
67
|
*/
|
|
@@ -541,6 +549,7 @@ const Select = class {
|
|
|
541
549
|
const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode: theme, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {
|
|
542
550
|
header: interfaceOptions.header,
|
|
543
551
|
cancelText: this.cancelText,
|
|
552
|
+
cancelIcon: this.cancelIcon,
|
|
544
553
|
multiple,
|
|
545
554
|
value,
|
|
546
555
|
options: this.createOverlaySelectOptions(this.childOpts, value),
|
|
@@ -858,7 +867,7 @@ const Select = class {
|
|
|
858
867
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
859
868
|
*/
|
|
860
869
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
861
|
-
return (h(Host, { key: '
|
|
870
|
+
return (h(Host, { key: 'd8f7abd11c8f6e5ebea306f69ed5ae5a115efa97', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
862
871
|
[theme]: true,
|
|
863
872
|
'in-item': inItem,
|
|
864
873
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -877,7 +886,7 @@ const Select = class {
|
|
|
877
886
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
878
887
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
879
888
|
[`select-size-${size}`]: size !== undefined,
|
|
880
|
-
}) }, h("label", { key: '
|
|
889
|
+
}) }, h("label", { key: '443499f6c4501df171d4f16756f2e55e57512c0c', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '66e6cf63163b68b1ca85979e5c49a349632dfc54', class: "select-wrapper-inner", part: "inner" },
|
|
881
890
|
/**
|
|
882
891
|
* For the ionic theme, we render the outline container here
|
|
883
892
|
* instead of higher up, so it can be positioned relative to
|
|
@@ -887,7 +896,7 @@ const Select = class {
|
|
|
887
896
|
* <label> element, ensuring that clicking the label text
|
|
888
897
|
* focuses the select.
|
|
889
898
|
*/
|
|
890
|
-
theme === 'ionic' && fill === 'outline' && h("div", { key: '
|
|
899
|
+
theme === 'ionic' && fill === 'outline' && h("div", { key: 'a9f7d6bde570f4e2261617cdc2529cd835297865', class: "select-outline" }), h("slot", { key: 'f5516f6749c85dc3ed8f9ee04e748f1aad0d815c', name: "start" }), h("div", { key: '86fa4152f415a5ab72ed1a95899212fc1914b81c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '3333af6835b20a97450372ca78a4aa77adf39d1c', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e0e782845ed0c35c139dbddcc3f9880aec12cf58', class: "select-highlight" })), this.renderBottomContent()));
|
|
891
900
|
}
|
|
892
901
|
get el() { return getElement(this); }
|
|
893
902
|
static get watchers() { return {
|
|
@@ -8,7 +8,7 @@ import { c as hapticSelection } from './haptic-_88k1V5U.js';
|
|
|
8
8
|
import { a as isPlatform, c as getIonTheme } from './ionic-global-CAZb-5i-.js';
|
|
9
9
|
import { i as isRTL } from './dir-C53feagD.js';
|
|
10
10
|
import { c as createColorClasses, h as hostContext } from './theme-DaJxRxSQ.js';
|
|
11
|
-
import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-
|
|
11
|
+
import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-D2tu5BUg.js';
|
|
12
12
|
import './focus-visible-vXpMhGrs.js';
|
|
13
13
|
import './capacitor-C4lYa1nV.js';
|
|
14
14
|
|