@simsustech/quasar-components 0.11.26 → 0.12.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @simsustech/quasar-components
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5f271e8: feat(components): use iso639, iso3166 and bcp47 for locales and add CountrySelect
8
+
3
9
  ## 0.11.26
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,353 @@
1
+ import { QSelect, QItem, QItemSection, QIcon, QItemLabel } from "quasar";
2
+ import { ref, defineComponent, toRefs, useAttrs, computed, openBlock, createBlock, unref, mergeProps, withCtx, createVNode, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, createElementBlock, createCommentVNode } from "vue";
3
+ const lang$1 = {
4
+ isoName: "en-US",
5
+ yes: "Yes",
6
+ no: "No",
7
+ selectMultiple: "Select one or multiple",
8
+ noResultsAvailable: "No results available.",
9
+ buttons: {
10
+ close: "Close"
11
+ },
12
+ email: {
13
+ subject: "Subject"
14
+ },
15
+ fields: {
16
+ name: "Name",
17
+ firstName: "First name",
18
+ lastName: "Last name",
19
+ address: "Address",
20
+ postalCode: "Postal code",
21
+ city: "City",
22
+ telephoneNumber: "Telephone number"
23
+ },
24
+ validations: {
25
+ fieldRequired: "Field is required."
26
+ },
27
+ gender: {
28
+ gender: "Gender",
29
+ male: "Male",
30
+ female: "Female",
31
+ other: "Other"
32
+ },
33
+ postalCode: {
34
+ postalCode: "Postal code",
35
+ validations: {
36
+ invalidPostalCode: "Invalid postal code"
37
+ }
38
+ },
39
+ datePicker: {
40
+ date: "Date",
41
+ placeholder: "YYYY/MM/DD",
42
+ YYYY: "YYYY",
43
+ MM: "MM",
44
+ DD: "DD",
45
+ validations: {
46
+ unavailableRange: "The selected period contains unavailable dates."
47
+ }
48
+ },
49
+ currency: {
50
+ currency: "Currency",
51
+ EUR: "Euro",
52
+ USD: "USD"
53
+ },
54
+ locale: {
55
+ locale: "Locale"
56
+ },
57
+ cron: {
58
+ name: "Repeat",
59
+ minute: "Minute",
60
+ hour: "Hour",
61
+ dayOfMonth: "Day of month",
62
+ month: "Month",
63
+ dayOfWeek: "Day of week",
64
+ every: {
65
+ minute: "Every minute",
66
+ hour: "Every hour",
67
+ dayOfMonth: "Every day",
68
+ month: "Every month",
69
+ dayOfWeek: "Every day of the week"
70
+ },
71
+ validations: {
72
+ invalidCron: "Cron rule is invalid."
73
+ }
74
+ },
75
+ countries: {
76
+ SA: "Saudi Arabia",
77
+ BD: "Bangladesh",
78
+ IN: "India",
79
+ CZ: "Czech Republic",
80
+ DK: "Denmark",
81
+ AT: "Austria",
82
+ CH: "Switzerland",
83
+ DE: "Germany",
84
+ GR: "Greece",
85
+ AU: "Australia",
86
+ CA: "Canada",
87
+ GB: "United Kingdom",
88
+ IE: "Ireland",
89
+ NZ: "New Zealand",
90
+ US: "United States",
91
+ ZA: "South Africa",
92
+ AR: "Argentina",
93
+ CL: "Chile",
94
+ CO: "Colombia",
95
+ ES: "Spain",
96
+ MX: "Mexico",
97
+ FI: "Finland",
98
+ BE: "Belgium",
99
+ FR: "France",
100
+ IL: "Israel",
101
+ HU: "Hungarian",
102
+ ID: "Indonesia",
103
+ IT: "Italy",
104
+ JP: "Japan",
105
+ KR: "Republic of Korea",
106
+ NL: "The Netherlands",
107
+ NO: "Norway",
108
+ PL: "Polish",
109
+ BR: "Brazil",
110
+ PT: "Portugal",
111
+ RO: "Romania",
112
+ RU: "Russian Federation",
113
+ SK: "Slovakia",
114
+ SE: "Sweden",
115
+ LK: "Sri Lanka",
116
+ TH: "Thai",
117
+ TR: "Turkey",
118
+ CN: "China",
119
+ HK: "Hong Kong",
120
+ TW: "Taiwan"
121
+ },
122
+ languages: {
123
+ ar: "Arabic",
124
+ bn: "Bangla",
125
+ cs: "Czech",
126
+ da: "Danish",
127
+ de: "German",
128
+ el: "Greek",
129
+ en: "English",
130
+ es: "Spanish",
131
+ fi: "Finnish",
132
+ fr: "French",
133
+ he: "Hebrew",
134
+ hi: "Hindi",
135
+ hu: "Hungarian",
136
+ id: "Indonesian",
137
+ it: "Italian",
138
+ ja: "Japanese",
139
+ ko: "Korean",
140
+ nl: "Dutch",
141
+ no: "Norwegian",
142
+ pl: "Polish",
143
+ pt: "Portuguese",
144
+ ro: "Romanian",
145
+ ru: "Russian",
146
+ sk: "Slovak",
147
+ sv: "Swedish",
148
+ ta: "Tamil",
149
+ th: "Thai",
150
+ tr: "Turkish",
151
+ zh: "Chinese"
152
+ },
153
+ bcp47: {
154
+ "ar-SA": { language: "Arabic", country: "Saudi Arabia" },
155
+ "bn-BD": { language: "Bangla", country: "Bangladesh" },
156
+ "bn-IN": { language: "Bangla", country: "India" },
157
+ "cs-CZ": { language: "Czech", country: "Czech Republic" },
158
+ "da-DK": { language: "Danish", country: "Denmark" },
159
+ "de-AT": { language: "German", country: "Austria" },
160
+ "de-CH": { language: "German", country: "Switzerland" },
161
+ "de-DE": { language: "German", country: "Germany" },
162
+ "el-GR": { language: "Greek", country: "Greece" },
163
+ "en-AU": { language: "English", country: "Australia" },
164
+ "en-CA": { language: "English", country: "Canada" },
165
+ "en-GB": { language: "English", country: "United Kingdom" },
166
+ "en-IE": { language: "English", country: "Ireland" },
167
+ "en-IN": { language: "English", country: "India" },
168
+ "en-NZ": { language: "English", country: "New Zealand" },
169
+ "en-US": { language: "English", country: "United States" },
170
+ "en-ZA": { language: "English", country: "South Africa" },
171
+ "es-AR": { language: "Spanish", country: "Argentina" },
172
+ "es-CL": { language: "Spanish", country: "Chile" },
173
+ "es-CO": { language: "Spanish", country: "Colombia" },
174
+ "es-ES": { language: "Spanish", country: "Spain" },
175
+ "es-MX": { language: "Spanish", country: "Mexico" },
176
+ "es-US": { language: "Spanish", country: "United States" },
177
+ "fi-FI": { language: "Finnish", country: "Finland" },
178
+ "fr-BE": { language: "French", country: "Belgium" },
179
+ "fr-CA": { language: "French", country: "Canada" },
180
+ "fr-CH": { language: "French", country: "Switzerland" },
181
+ "fr-FR": { language: "French", country: "France" },
182
+ "he-IL": { language: "Hebrew", country: "Israel" },
183
+ "hi-IN": { language: "Hindi", country: "India" },
184
+ "hu-HU": { language: "Hungarian", country: "Hungary" },
185
+ "id-ID": { language: "Indonesian", country: "Indonesia" },
186
+ "it-CH": { language: "Italian", country: "Switzerland" },
187
+ "it-IT": { language: "Italian", country: "Italy" },
188
+ "ja-JP": { language: "Japanese", country: "Japan" },
189
+ "ko-KR": { language: "Korean", country: "Republic of Korea" },
190
+ "nl-BE": { language: "Dutch", country: "Belgium" },
191
+ "nl-NL": { language: "Dutch", country: "The Netherlands" },
192
+ "no-NO": { language: "Norwegian", country: "Norway" },
193
+ "pl-PL": { language: "Polish", country: "Poland" },
194
+ "pt-BR": { language: "Portuguese", country: "Brazil" },
195
+ "pt-PT": { language: "Portuguese", country: "Portugal" },
196
+ "ro-RO": { language: "Romanian", country: "Romania" },
197
+ "ru-RU": { language: "Russian", country: "Russian Federation" },
198
+ "sk-SK": { language: "Slovak", country: "Slovakia" },
199
+ "sv-SE": { language: "Swedish", country: "Sweden" },
200
+ "ta-IN": { language: "Tamil", country: "India" },
201
+ "ta-LK": { language: "Tamil", country: "Sri Lanka" },
202
+ "th-TH": { language: "Thai", country: "Thailand" },
203
+ "tr-TR": { language: "Turkish", country: "Turkey" },
204
+ "zh-CN": { language: "Chinese", country: "China" },
205
+ "zh-HK": { language: "Chinese", country: "Hong Kong" },
206
+ "zh-TW": { language: "Chinese", country: "Taiwan" }
207
+ }
208
+ };
209
+ const enUS = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
210
+ __proto__: null,
211
+ default: lang$1
212
+ }, Symbol.toStringTag, { value: "Module" }));
213
+ const lang = ref(lang$1);
214
+ const locales = /* @__PURE__ */ Object.assign({
215
+ "./en-US.ts": () => Promise.resolve().then(() => enUS),
216
+ "./nl.ts": () => import("./nl-BRjDNoaR.js")
217
+ });
218
+ const useLang = () => {
219
+ return lang;
220
+ };
221
+ let loadingLanguage = false;
222
+ const loadLang = async (isoName) => {
223
+ if (!loadingLanguage) {
224
+ loadingLanguage = true;
225
+ try {
226
+ const data = (await locales[`./${isoName}.ts`]()).default;
227
+ if (data) {
228
+ lang.value = data;
229
+ }
230
+ } catch (e) {
231
+ throw new Error(
232
+ `[quasar-components] Failed to load ${isoName} language file.`
233
+ );
234
+ }
235
+ loadingLanguage = false;
236
+ }
237
+ };
238
+ const _hoisted_1 = { key: 1 };
239
+ const _sfc_main = /* @__PURE__ */ defineComponent({
240
+ __name: "LocaleSelect",
241
+ props: {
242
+ modelValue: {},
243
+ locales: {},
244
+ isItem: { type: Boolean }
245
+ },
246
+ emits: ["update:modelValue"],
247
+ setup(__props, { expose: __expose, emit: __emit }) {
248
+ const props = __props;
249
+ const emit = __emit;
250
+ const { modelValue, locales: locales2 } = toRefs(props);
251
+ const lang2 = useLang();
252
+ const attrs = useAttrs();
253
+ const localeOptions = computed(() => {
254
+ const options = locales2.value.map((locale) => ({
255
+ label: getLanguageLabel(locale.bcp47),
256
+ value: locale.bcp47,
257
+ icon: locale.icon
258
+ }));
259
+ return options;
260
+ });
261
+ const getCountryLabel = (v) => lang2.value.bcp47[v]?.country;
262
+ const getLanguageLabel = (v) => lang2.value.bcp47[v]?.language;
263
+ const variables = ref({
264
+ //
265
+ });
266
+ const functions = ref({
267
+ getCountryLabel,
268
+ getLanguageLabel
269
+ });
270
+ __expose({
271
+ variables,
272
+ functions
273
+ });
274
+ return (_ctx, _cache) => {
275
+ const _component_q_icon = QIcon;
276
+ const _component_q_item_section = QItemSection;
277
+ const _component_q_item_label = QItemLabel;
278
+ const _component_q_item = QItem;
279
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
280
+ options: localeOptions.value,
281
+ "model-value": unref(modelValue),
282
+ filled: false,
283
+ "emit-value": "",
284
+ "map-options": "",
285
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (val) => emit("update:modelValue", val))
286
+ }), {
287
+ "selected-item": withCtx((scope) => [
288
+ scope.opt && __props.isItem ? (openBlock(), createBlock(_component_q_item, { key: 0 }, {
289
+ default: withCtx(() => [
290
+ createVNode(_component_q_item_section, { avatar: "" }, {
291
+ default: withCtx(() => [
292
+ createVNode(_component_q_icon, {
293
+ name: scope.opt.icon
294
+ }, null, 8, ["name"])
295
+ ]),
296
+ _: 2
297
+ }, 1024),
298
+ createVNode(_component_q_item_section, null, {
299
+ default: withCtx(() => [
300
+ createVNode(_component_q_item_label, null, {
301
+ default: withCtx(() => [
302
+ createTextVNode(toDisplayString(scope.opt.label), 1)
303
+ ]),
304
+ _: 2
305
+ }, 1024)
306
+ ]),
307
+ _: 2
308
+ }, 1024)
309
+ ]),
310
+ _: 2
311
+ }, 1024)) : scope.opt ? (openBlock(), createElementBlock("div", _hoisted_1, [
312
+ createVNode(_component_q_icon, {
313
+ name: scope.opt.icon
314
+ }, null, 8, ["name"]),
315
+ createTextVNode(" " + toDisplayString(scope.opt.label), 1)
316
+ ])) : createCommentVNode("", true)
317
+ ]),
318
+ option: withCtx((scope) => [
319
+ createVNode(_component_q_item, normalizeProps(guardReactiveProps(scope.itemProps)), {
320
+ default: withCtx(() => [
321
+ createVNode(_component_q_item_section, { avatar: "" }, {
322
+ default: withCtx(() => [
323
+ createVNode(_component_q_icon, {
324
+ name: scope.opt.icon
325
+ }, null, 8, ["name"])
326
+ ]),
327
+ _: 2
328
+ }, 1024),
329
+ createVNode(_component_q_item_section, null, {
330
+ default: withCtx(() => [
331
+ createVNode(_component_q_item_label, null, {
332
+ default: withCtx(() => [
333
+ createTextVNode(toDisplayString(scope.opt.label), 1)
334
+ ]),
335
+ _: 2
336
+ }, 1024)
337
+ ]),
338
+ _: 2
339
+ }, 1024)
340
+ ]),
341
+ _: 2
342
+ }, 1040)
343
+ ]),
344
+ _: 1
345
+ }, 16, ["options", "model-value"]);
346
+ };
347
+ }
348
+ });
349
+ export {
350
+ _sfc_main as _,
351
+ loadLang as l,
352
+ useLang as u
353
+ };
package/dist/form.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, useAttrs, withAsyncContext, watch, ref, openBlock, createBlock, unref, mergeProps, normalizeProps, guardReactiveProps, withCtx, createVNode, createTextVNode, toDisplayString, toRefs, computed, useSlots, renderSlot, createCommentVNode, createSlots, renderList, resolveDirective, createElementVNode, withDirectives, createElementBlock, Fragment, resolveDynamicComponent } from "vue";
2
2
  import { useQuasar, QSelect, QItem, QItemSection, QItemLabel, QInput, QField, QIcon, QTooltip, QPopupProxy, QDate, QBtn, QEditor } from "quasar";
3
- import { l as loadLang, u as useLang } from "./LocaleSelect.vue_vue_type_script_setup_true_lang-DFwcmPnu.js";
4
- import { _ } from "./LocaleSelect.vue_vue_type_script_setup_true_lang-DFwcmPnu.js";
5
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
3
+ import { l as loadLang, u as useLang } from "./LocaleSelect.vue_vue_type_script_setup_true_lang-e2EDOyzk.js";
4
+ import { _ } from "./LocaleSelect.vue_vue_type_script_setup_true_lang-e2EDOyzk.js";
5
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6
6
  __name: "GenderSelect",
7
7
  props: {
8
8
  modelValue: {},
@@ -54,7 +54,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
54
54
  };
55
55
  }
56
56
  });
57
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
57
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
58
58
  __name: "GenderItem",
59
59
  props: {
60
60
  modelValue: {}
@@ -93,7 +93,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
93
93
  };
94
94
  }
95
95
  });
96
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
96
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
97
97
  __name: "PostalCodeInput",
98
98
  props: {
99
99
  modelValue: {},
@@ -139,7 +139,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
139
139
  };
140
140
  }
141
141
  });
142
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
142
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
143
143
  __name: "FormItem",
144
144
  props: {
145
145
  modelValue: {},
@@ -199,7 +199,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
199
199
  };
200
200
  }
201
201
  });
202
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
202
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
203
203
  __name: "FormInput",
204
204
  props: {
205
205
  modelValue: {},
@@ -240,7 +240,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
240
240
  };
241
241
  }
242
242
  });
243
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
243
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
244
244
  __name: "TelephoneNumberInput",
245
245
  props: {
246
246
  modelValue: {},
@@ -266,13 +266,13 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
266
266
  };
267
267
  }
268
268
  });
269
- const _hoisted_1$1 = { class: "row" };
269
+ const _hoisted_1$2 = { class: "row" };
270
270
  const _hoisted_2$1 = {
271
271
  key: 0,
272
272
  style: { "margin-top": "1em", "width": "1ch" }
273
273
  };
274
274
  const _hoisted_3 = { class: "row items-center justify-end" };
275
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
275
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
276
276
  __name: "DateInput",
277
277
  props: {
278
278
  modelValue: {},
@@ -440,7 +440,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
440
440
  "lazy-rules": ""
441
441
  }, createSlots({
442
442
  control: withCtx(() => [
443
- createElementVNode("div", _hoisted_1$1, [
443
+ createElementVNode("div", _hoisted_1$2, [
444
444
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(format).split("-"), (part, index) => {
445
445
  return openBlock(), createBlock(resolveDynamicComponent(unref(QInput)), mergeProps({
446
446
  key: part,
@@ -524,7 +524,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
524
524
  };
525
525
  }
526
526
  });
527
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
527
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
528
528
  __name: "BooleanSelect",
529
529
  props: {
530
530
  modelValue: { type: [Boolean, null] },
@@ -569,7 +569,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
569
569
  };
570
570
  }
571
571
  });
572
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
572
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
573
573
  __name: "BooleanItem",
574
574
  props: {
575
575
  modelValue: { type: [Boolean, null] },
@@ -612,7 +612,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
612
612
  const __default__ = {
613
613
  name: "EmailInput"
614
614
  };
615
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
615
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
616
616
  ...__default__,
617
617
  props: {
618
618
  subject: {},
@@ -655,7 +655,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
655
655
  };
656
656
  }
657
657
  });
658
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
658
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
659
659
  __name: "DatePicker",
660
660
  props: {
661
661
  modelValue: {},
@@ -718,7 +718,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
718
718
  };
719
719
  }
720
720
  });
721
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
721
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
722
722
  __name: "CurrencySelect",
723
723
  props: {
724
724
  modelValue: {},
@@ -757,7 +757,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
757
757
  };
758
758
  }
759
759
  });
760
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
760
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
761
761
  __name: "FilteredModelSelect",
762
762
  props: {
763
763
  modelValue: {},
@@ -889,12 +889,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
889
889
  };
890
890
  }
891
891
  });
892
- const _hoisted_1 = { class: "row" };
892
+ const _hoisted_1$1 = { class: "row" };
893
893
  const _hoisted_2 = {
894
894
  key: 0,
895
895
  class: "row"
896
896
  };
897
- const _sfc_main = /* @__PURE__ */ defineComponent({
897
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
898
898
  __name: "CronScheduleInput",
899
899
  props: {
900
900
  modelValue: {},
@@ -988,7 +988,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
988
988
  borderless: ""
989
989
  }, {
990
990
  control: withCtx(() => [
991
- createElementVNode("div", _hoisted_1, [
991
+ createElementVNode("div", _hoisted_1$1, [
992
992
  __props.showHour ? (openBlock(), createBlock(_component_q_select, {
993
993
  key: 0,
994
994
  modelValue: hour.value,
@@ -1113,22 +1113,131 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1113
1113
  };
1114
1114
  }
1115
1115
  });
1116
+ const _hoisted_1 = { key: 1 };
1117
+ const _sfc_main = /* @__PURE__ */ defineComponent({
1118
+ __name: "CountrySelect",
1119
+ props: {
1120
+ modelValue: {},
1121
+ countries: {},
1122
+ isItem: { type: Boolean }
1123
+ },
1124
+ emits: ["update:modelValue"],
1125
+ setup(__props, { expose: __expose, emit: __emit }) {
1126
+ const props = __props;
1127
+ const emit = __emit;
1128
+ const { modelValue, countries } = toRefs(props);
1129
+ const lang = useLang();
1130
+ const attrs = useAttrs();
1131
+ const countryOptions = computed(() => {
1132
+ const options = countries.value.map((country) => ({
1133
+ label: lang.value.countries[country.iso3166],
1134
+ value: country.iso3166,
1135
+ icon: country.icon
1136
+ }));
1137
+ return options;
1138
+ });
1139
+ const variables = ref({
1140
+ //
1141
+ });
1142
+ const functions = ref({
1143
+ //
1144
+ });
1145
+ __expose({
1146
+ variables,
1147
+ functions
1148
+ });
1149
+ return (_ctx, _cache) => {
1150
+ const _component_q_icon = QIcon;
1151
+ const _component_q_item_section = QItemSection;
1152
+ const _component_q_item_label = QItemLabel;
1153
+ const _component_q_item = QItem;
1154
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
1155
+ options: countryOptions.value,
1156
+ "model-value": unref(modelValue),
1157
+ filled: false,
1158
+ "emit-value": "",
1159
+ "map-options": "",
1160
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (val) => emit("update:modelValue", val))
1161
+ }), {
1162
+ "selected-item": withCtx((scope) => [
1163
+ scope.opt && __props.isItem ? (openBlock(), createBlock(_component_q_item, { key: 0 }, {
1164
+ default: withCtx(() => [
1165
+ createVNode(_component_q_item_section, { avatar: "" }, {
1166
+ default: withCtx(() => [
1167
+ createVNode(_component_q_icon, {
1168
+ name: scope.opt.icon
1169
+ }, null, 8, ["name"])
1170
+ ]),
1171
+ _: 2
1172
+ }, 1024),
1173
+ createVNode(_component_q_item_section, null, {
1174
+ default: withCtx(() => [
1175
+ createVNode(_component_q_item_label, null, {
1176
+ default: withCtx(() => [
1177
+ createTextVNode(toDisplayString(scope.opt.label), 1)
1178
+ ]),
1179
+ _: 2
1180
+ }, 1024)
1181
+ ]),
1182
+ _: 2
1183
+ }, 1024)
1184
+ ]),
1185
+ _: 2
1186
+ }, 1024)) : scope.opt ? (openBlock(), createElementBlock("div", _hoisted_1, [
1187
+ createVNode(_component_q_icon, {
1188
+ name: scope.opt.icon
1189
+ }, null, 8, ["name"]),
1190
+ createTextVNode(" " + toDisplayString(scope.opt.label), 1)
1191
+ ])) : createCommentVNode("", true)
1192
+ ]),
1193
+ option: withCtx((scope) => [
1194
+ createVNode(_component_q_item, normalizeProps(guardReactiveProps(scope.itemProps)), {
1195
+ default: withCtx(() => [
1196
+ createVNode(_component_q_item_section, { avatar: "" }, {
1197
+ default: withCtx(() => [
1198
+ createVNode(_component_q_icon, {
1199
+ name: scope.opt.icon
1200
+ }, null, 8, ["name"])
1201
+ ]),
1202
+ _: 2
1203
+ }, 1024),
1204
+ createVNode(_component_q_item_section, null, {
1205
+ default: withCtx(() => [
1206
+ createVNode(_component_q_item_label, null, {
1207
+ default: withCtx(() => [
1208
+ createTextVNode(toDisplayString(scope.opt.label), 1)
1209
+ ]),
1210
+ _: 2
1211
+ }, 1024)
1212
+ ]),
1213
+ _: 2
1214
+ }, 1024)
1215
+ ]),
1216
+ _: 2
1217
+ }, 1040)
1218
+ ]),
1219
+ _: 1
1220
+ }, 16, ["options", "model-value"]);
1221
+ };
1222
+ }
1223
+ });
1116
1224
  export {
1117
- _sfc_main$5 as BooleanItem,
1118
- _sfc_main$6 as BooleanSelect,
1119
- _sfc_main as CronScheduleInput,
1120
- _sfc_main$2 as CurrencySelect,
1121
- _sfc_main$7 as DateInput,
1122
- _sfc_main$3 as DatePicker,
1123
- _sfc_main$4 as EmailInput,
1124
- _sfc_main$1 as FilteredModelSelect,
1125
- _sfc_main$9 as FormInput,
1126
- _sfc_main$a as FormItem,
1127
- _sfc_main$c as GenderItem,
1128
- _sfc_main$d as GenderSelect,
1225
+ _sfc_main$6 as BooleanItem,
1226
+ _sfc_main$7 as BooleanSelect,
1227
+ _sfc_main as CountrySelect,
1228
+ _sfc_main$1 as CronScheduleInput,
1229
+ _sfc_main$3 as CurrencySelect,
1230
+ _sfc_main$8 as DateInput,
1231
+ _sfc_main$4 as DatePicker,
1232
+ _sfc_main$5 as EmailInput,
1233
+ _sfc_main$2 as FilteredModelSelect,
1234
+ _sfc_main$a as FormInput,
1235
+ _sfc_main$b as FormItem,
1236
+ _sfc_main$d as GenderItem,
1237
+ _sfc_main$e as GenderSelect,
1129
1238
  _ as LocaleSelect,
1130
- _sfc_main$b as PostalCodeInput,
1131
- _sfc_main$8 as TelephoneNumberInput,
1239
+ _sfc_main$c as PostalCodeInput,
1240
+ _sfc_main$9 as TelephoneNumberInput,
1132
1241
  loadLang,
1133
1242
  useLang
1134
1243
  };