@simsustech/quasar-components 0.1.3 → 0.3.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{QSubmitButton.vue_vue_type_script_setup_true_lang.1d0c06eb.js → QSubmitButton.vue_vue_type_script_setup_true_lang-b5f452c6.js} +11 -4
  3. package/dist/authentication.js +53 -27
  4. package/dist/en-US-6cc72154.js +226 -0
  5. package/dist/flags.js +5 -215
  6. package/dist/form.js +543 -0
  7. package/dist/general.js +364 -14
  8. package/dist/icons.js +5 -3
  9. package/dist/nl-38cb2607.js +134 -0
  10. package/dist/{nl.6b0aedb7.js → nl-710ec15d.js} +1 -1
  11. package/dist/nl-ea9ab282.js +38 -0
  12. package/dist/style.css +2 -2
  13. package/dist/types/ui/authentication/ConsentList.vue.d.ts +2 -58
  14. package/dist/types/ui/authentication/EmailChangeForm.vue.d.ts +20 -112
  15. package/dist/types/ui/authentication/EmailChangeStepper.vue.d.ts +13 -131
  16. package/dist/types/ui/authentication/LoginButton.vue.d.ts +9 -54
  17. package/dist/types/ui/authentication/LoginForm.vue.d.ts +20 -118
  18. package/dist/types/ui/authentication/OtpInput.vue.d.ts +4 -56
  19. package/dist/types/ui/authentication/PasswordChangeForm.vue.d.ts +31 -140
  20. package/dist/types/ui/authentication/PasswordChangeStepper.vue.d.ts +13 -131
  21. package/dist/types/ui/authentication/RegisterForm.vue.d.ts +33 -167
  22. package/dist/types/ui/authentication/RequestOtpForm.vue.d.ts +18 -100
  23. package/dist/types/ui/authentication/UserMenuButton.vue.d.ts +11 -64
  24. package/dist/types/ui/authentication/VerificationSlider.vue.d.ts +4 -60
  25. package/dist/types/ui/form/BooleanItem.vue.d.ts +15 -0
  26. package/dist/types/ui/form/BooleanSelect.vue.d.ts +18 -0
  27. package/dist/types/ui/form/DateInput.vue.d.ts +19 -0
  28. package/dist/types/ui/form/EmailInput.vue.d.ts +24 -0
  29. package/dist/types/ui/form/FormInput.vue.d.ts +18 -0
  30. package/dist/types/ui/form/FormItem.vue.d.ts +25 -0
  31. package/dist/types/ui/form/GenderItem.vue.d.ts +15 -0
  32. package/dist/types/ui/form/GenderSelect.vue.d.ts +18 -0
  33. package/dist/types/ui/form/PostalCodeInput.vue.d.ts +19 -0
  34. package/dist/types/ui/form/TelephoneNumberInput.vue.d.ts +17 -0
  35. package/dist/types/ui/form/index.d.ts +10 -0
  36. package/dist/types/ui/form/lang/en-US.d.ts +3 -0
  37. package/dist/types/ui/form/lang/index.d.ts +74 -0
  38. package/dist/types/ui/form/lang/nl.d.ts +3 -0
  39. package/dist/types/ui/general/QLanguageSelect.vue.d.ts +16 -0
  40. package/dist/types/ui/general/QStyledCard.vue.d.ts +13 -58
  41. package/dist/types/ui/general/QStyledLayout.vue.d.ts +9 -54
  42. package/dist/types/ui/general/QSubmitButton.vue.d.ts +29 -114
  43. package/dist/types/ui/general/ResourcePage.vue.d.ts +61 -0
  44. package/dist/types/ui/general/ResponsiveDialog.vue.d.ts +37 -0
  45. package/dist/types/ui/general/index.d.ts +3 -0
  46. package/dist/types/virtualModules.d.ts +1 -0
  47. package/dist/virtualModules.d.ts +1 -0
  48. package/dist/virtualModules.js +3 -2
  49. package/dist/vite-plugin.js +26 -5
  50. package/package.json +28 -23
  51. package/src/ui/authentication/EmailChangeStepper.vue +2 -2
  52. package/src/ui/authentication/PasswordChangeStepper.vue +2 -2
  53. package/src/ui/authentication/lang/en-US.ts +1 -2
  54. package/src/ui/authentication/lang/nl.ts +1 -2
  55. package/src/ui/flags/README.md +1 -1
  56. package/src/ui/form/BooleanItem.vue +34 -0
  57. package/src/ui/form/BooleanSelect.vue +55 -0
  58. package/src/ui/form/DateInput.vue +70 -0
  59. package/src/ui/form/EmailInput.vue +50 -0
  60. package/src/ui/form/FormInput.vue +44 -0
  61. package/src/ui/form/FormItem.vue +50 -0
  62. package/src/ui/form/GenderItem.vue +35 -0
  63. package/src/ui/form/GenderSelect.vue +59 -0
  64. package/src/ui/form/PostalCodeInput.vue +47 -0
  65. package/src/ui/form/TelephoneNumberInput.vue +35 -0
  66. package/src/ui/form/index.ts +10 -0
  67. package/src/ui/form/lang/en-US.ts +39 -0
  68. package/src/ui/form/lang/index.ts +73 -0
  69. package/src/ui/form/lang/nl.ts +39 -0
  70. package/src/ui/general/QLanguageSelect.vue +86 -0
  71. package/src/ui/general/QStyledCard.vue +1 -1
  72. package/src/ui/general/QSubmitButton.vue +6 -1
  73. package/src/ui/general/ResourcePage.vue +121 -0
  74. package/src/ui/general/ResponsiveDialog.vue +94 -0
  75. package/src/ui/general/index.ts +3 -0
  76. package/src/ui/icons/README.md +2 -0
  77. package/src/virtualModules.ts +48 -5
  78. package/src/vite-plugin.ts +26 -6
  79. package/vite.config.ts +30 -30
  80. package/dist/nl.b1ad9de9.js +0 -134
  81. package/dist/types/ui/index.d.ts +0 -1
  82. package/src/ui/index.ts +0 -1
  83. /package/dist/{nl.7787ff31.js → nl-022c8c63.js} +0 -0
  84. /package/dist/types/ui/icons/{icons.d.ts → labels.d.ts} +0 -0
  85. /package/src/ui/icons/{icons.ts → labels.ts} +0 -0
package/dist/form.js ADDED
@@ -0,0 +1,543 @@
1
+ import { ref, defineComponent, useAttrs, watch, openBlock, createBlock, unref, mergeProps, normalizeProps, guardReactiveProps, withCtx, createVNode, createTextVNode, toDisplayString, computed, useSlots, renderSlot, createCommentVNode, resolveDirective, createElementVNode, withDirectives, createElementBlock, Fragment } from "vue";
2
+ import { useQuasar, QSelect, QItem, QItemSection, QItemLabel, QInput, QIcon, QBtn, QDate, QPopupProxy, QEditor } from "quasar";
3
+ const lang$1 = {
4
+ isoName: "en-US",
5
+ yes: "Yes",
6
+ no: "No",
7
+ buttons: {
8
+ close: "Close"
9
+ },
10
+ email: {
11
+ subject: "Subject"
12
+ },
13
+ fields: {
14
+ name: "Name",
15
+ firstName: "First name",
16
+ lastName: "Last name",
17
+ address: "Address",
18
+ postalCode: "Postal code",
19
+ city: "City",
20
+ telephoneNumber: "Telephone number"
21
+ },
22
+ validations: {
23
+ fieldRequired: "Field is required."
24
+ },
25
+ gender: {
26
+ gender: "Gender",
27
+ male: "Male",
28
+ female: "Female",
29
+ other: "Other"
30
+ },
31
+ postalCode: {
32
+ postalCode: "Postal code",
33
+ validations: {
34
+ invalidPostalCode: "Invalid postal code"
35
+ }
36
+ }
37
+ };
38
+ const enUS = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
39
+ __proto__: null,
40
+ default: lang$1
41
+ }, Symbol.toStringTag, { value: "Module" }));
42
+ const lang = ref(lang$1);
43
+ const locales = /* @__PURE__ */ Object.assign({
44
+ "./en-US.ts": () => Promise.resolve().then(() => enUS),
45
+ "./nl.ts": () => import("./nl-ea9ab282.js")
46
+ });
47
+ const useLang = () => {
48
+ return lang;
49
+ };
50
+ let loadingLanguage = false;
51
+ const loadLang = async (isoName) => {
52
+ if (!loadingLanguage) {
53
+ loadingLanguage = true;
54
+ try {
55
+ const data = (await locales[`./${isoName}.ts`]()).default;
56
+ if (data) {
57
+ lang.value = data;
58
+ }
59
+ } catch (e) {
60
+ if ({}.DEBUG)
61
+ console.error(e);
62
+ throw new Error(
63
+ `[quasar-components] Failed to load ${isoName} language file.`
64
+ );
65
+ }
66
+ loadingLanguage = false;
67
+ }
68
+ };
69
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
70
+ __name: "GenderSelect",
71
+ props: {
72
+ modelValue: null,
73
+ required: { type: Boolean }
74
+ },
75
+ emits: ["update:modelValue"],
76
+ setup(__props) {
77
+ const props = __props;
78
+ const attrs = useAttrs();
79
+ const lang2 = useLang();
80
+ const $q = useQuasar();
81
+ if (lang2.value.isoName !== $q.lang.isoName)
82
+ loadLang($q.lang.isoName);
83
+ watch($q.lang, (val) => {
84
+ loadLang($q.lang.isoName);
85
+ });
86
+ const genderOptions = [
87
+ {
88
+ label: lang2.value.gender.male,
89
+ value: "male"
90
+ },
91
+ {
92
+ label: lang2.value.gender.female,
93
+ value: "female"
94
+ },
95
+ {
96
+ label: lang2.value.gender.other,
97
+ value: "other"
98
+ }
99
+ ];
100
+ const validations = ref([]);
101
+ if (props.required)
102
+ validations.value.push(
103
+ (val) => !!val || lang2.value.validations.fieldRequired
104
+ );
105
+ return (_ctx, _cache) => {
106
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
107
+ rules: validations.value,
108
+ "model-value": __props.modelValue,
109
+ options: genderOptions,
110
+ label: `${unref(lang2).gender.gender}${__props.required ? "*" : ""}`,
111
+ "emit-value": "",
112
+ "map-options": "",
113
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
114
+ }), null, 16, ["rules", "model-value", "label"]);
115
+ };
116
+ }
117
+ });
118
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
119
+ __name: "GenderItem",
120
+ props: {
121
+ modelValue: null
122
+ },
123
+ setup(__props) {
124
+ const attrs = useAttrs();
125
+ const lang2 = useLang();
126
+ const $q = useQuasar();
127
+ if (lang2.value.isoName !== $q.lang.isoName)
128
+ loadLang($q.lang.isoName);
129
+ watch($q.lang, (val) => {
130
+ loadLang($q.lang.isoName);
131
+ });
132
+ return (_ctx, _cache) => {
133
+ return openBlock(), createBlock(unref(QItem), normalizeProps(guardReactiveProps(unref(attrs))), {
134
+ default: withCtx(() => [
135
+ createVNode(unref(QItemSection), null, {
136
+ default: withCtx(() => [
137
+ createVNode(unref(QItemLabel), { overline: "" }, {
138
+ default: withCtx(() => [
139
+ createTextVNode(toDisplayString(unref(lang2).gender.gender), 1)
140
+ ]),
141
+ _: 1
142
+ }),
143
+ createVNode(unref(QItemLabel), null, {
144
+ default: withCtx(() => [
145
+ createTextVNode(toDisplayString(__props.modelValue ? unref(lang2).gender[__props.modelValue] : ""), 1)
146
+ ]),
147
+ _: 1
148
+ })
149
+ ]),
150
+ _: 1
151
+ })
152
+ ]),
153
+ _: 1
154
+ }, 16);
155
+ };
156
+ }
157
+ });
158
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
159
+ __name: "PostalCodeInput",
160
+ props: {
161
+ modelValue: null,
162
+ locale: null,
163
+ required: { type: Boolean }
164
+ },
165
+ emits: ["update:modelValue"],
166
+ setup(__props) {
167
+ const props = __props;
168
+ const lang2 = useLang();
169
+ const attrs = useAttrs();
170
+ const masks = ref({
171
+ nl: "#### AA"
172
+ });
173
+ const validations = ref({
174
+ nl: [
175
+ (val) => !val || // Do not check an empty string
176
+ /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(val) || lang2.value.postalCode.validations.invalidPostalCode
177
+ ]
178
+ });
179
+ const computedValidations = computed(() => {
180
+ const val = validations.value[props.locale];
181
+ if (props.required)
182
+ val.push((val2) => !!val2 || lang2.value.validations.fieldRequired);
183
+ return val;
184
+ });
185
+ return (_ctx, _cache) => {
186
+ return openBlock(), createBlock(unref(QInput), mergeProps(unref(attrs), {
187
+ mask: masks.value[__props.locale],
188
+ rules: unref(computedValidations),
189
+ "model-value": __props.modelValue,
190
+ label: `${unref(lang2).postalCode.postalCode}${__props.required ? "*" : ""}`,
191
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
192
+ }), null, 16, ["mask", "rules", "model-value", "label"]);
193
+ };
194
+ }
195
+ });
196
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
197
+ __name: "FormItem",
198
+ props: {
199
+ modelValue: null,
200
+ label: null,
201
+ field: null
202
+ },
203
+ setup(__props) {
204
+ const attrs = useAttrs();
205
+ const slots = useSlots();
206
+ const lang2 = useLang();
207
+ const $q = useQuasar();
208
+ if (lang2.value.isoName !== $q.lang.isoName)
209
+ loadLang($q.lang.isoName);
210
+ watch($q.lang, (val) => {
211
+ loadLang($q.lang.isoName);
212
+ });
213
+ return (_ctx, _cache) => {
214
+ return openBlock(), createBlock(unref(QItem), normalizeProps(guardReactiveProps(unref(attrs))), {
215
+ default: withCtx(() => [
216
+ unref(slots).avatar ? (openBlock(), createBlock(unref(QItemSection), {
217
+ key: 0,
218
+ avatar: ""
219
+ }, {
220
+ default: withCtx(() => [
221
+ renderSlot(_ctx.$slots, "avatar")
222
+ ]),
223
+ _: 3
224
+ })) : createCommentVNode("", true),
225
+ createVNode(unref(QItemSection), null, {
226
+ default: withCtx(() => [
227
+ createVNode(unref(QItemLabel), { overline: "" }, {
228
+ default: withCtx(() => [
229
+ createTextVNode(toDisplayString(__props.label ? __props.label : __props.field ? unref(lang2).fields[__props.field] : ""), 1)
230
+ ]),
231
+ _: 1
232
+ }),
233
+ createVNode(unref(QItemLabel), null, {
234
+ default: withCtx(() => [
235
+ createTextVNode(toDisplayString(__props.modelValue || "-"), 1)
236
+ ]),
237
+ _: 1
238
+ })
239
+ ]),
240
+ _: 1
241
+ }),
242
+ unref(slots).side ? (openBlock(), createBlock(unref(QItemSection), {
243
+ key: 1,
244
+ side: ""
245
+ }, {
246
+ default: withCtx(() => [
247
+ renderSlot(_ctx.$slots, "side")
248
+ ]),
249
+ _: 3
250
+ })) : createCommentVNode("", true)
251
+ ]),
252
+ _: 3
253
+ }, 16);
254
+ };
255
+ }
256
+ });
257
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
258
+ __name: "FormInput",
259
+ props: {
260
+ modelValue: null,
261
+ field: null,
262
+ label: null,
263
+ required: { type: Boolean }
264
+ },
265
+ setup(__props) {
266
+ const props = __props;
267
+ const attrs = useAttrs();
268
+ const lang2 = useLang();
269
+ const $q = useQuasar();
270
+ if (lang2.value.isoName !== $q.lang.isoName)
271
+ loadLang($q.lang.isoName);
272
+ watch($q.lang, (val) => {
273
+ loadLang($q.lang.isoName);
274
+ });
275
+ const validations = ref([]);
276
+ if (props.required)
277
+ validations.value.push(
278
+ (val) => !!val || lang2.value.validations.fieldRequired
279
+ );
280
+ return (_ctx, _cache) => {
281
+ return openBlock(), createBlock(unref(QInput), mergeProps(unref(attrs), {
282
+ rules: validations.value,
283
+ "model-value": __props.modelValue,
284
+ label: `${__props.field ? unref(lang2).fields[__props.field] : __props.label ? __props.label : ""}${__props.required ? "*" : ""}`,
285
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
286
+ }), null, 16, ["rules", "model-value", "label"]);
287
+ };
288
+ }
289
+ });
290
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
291
+ __name: "TelephoneNumberInput",
292
+ props: {
293
+ modelValue: null,
294
+ required: { type: Boolean }
295
+ },
296
+ emits: ["update:modelValue"],
297
+ setup(__props) {
298
+ const props = __props;
299
+ const lang2 = useLang();
300
+ const attrs = useAttrs();
301
+ const validations = ref([]);
302
+ if (props.required)
303
+ validations.value.push(
304
+ (val) => !!val || lang2.value.validations.fieldRequired
305
+ );
306
+ return (_ctx, _cache) => {
307
+ return openBlock(), createBlock(unref(QInput), mergeProps(unref(attrs), {
308
+ rules: validations.value,
309
+ "model-value": __props.modelValue,
310
+ label: `${unref(lang2).fields.telephoneNumber}${__props.required ? "*" : ""}`,
311
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
312
+ }), null, 16, ["rules", "model-value", "label"]);
313
+ };
314
+ }
315
+ });
316
+ const _hoisted_1 = { class: "row items-center justify-end" };
317
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
318
+ __name: "DateInput",
319
+ props: {
320
+ modelValue: null,
321
+ label: null,
322
+ required: { type: Boolean },
323
+ clearable: { type: Boolean },
324
+ date: null
325
+ },
326
+ setup(__props) {
327
+ const props = __props;
328
+ const attrs = useAttrs();
329
+ const lang2 = useLang();
330
+ const $q = useQuasar();
331
+ if (lang2.value.isoName !== $q.lang.isoName)
332
+ loadLang($q.lang.isoName);
333
+ watch($q.lang, (val) => {
334
+ loadLang($q.lang.isoName);
335
+ });
336
+ const validations = ref([]);
337
+ if (props.required)
338
+ validations.value.push(
339
+ (val) => !!val || lang2.value.validations.fieldRequired
340
+ );
341
+ return (_ctx, _cache) => {
342
+ const _component_q_icon = QIcon;
343
+ const _component_q_btn = QBtn;
344
+ const _component_q_date = QDate;
345
+ const _component_q_popup_proxy = QPopupProxy;
346
+ const _directive_close_popup = resolveDirective("close-popup");
347
+ return openBlock(), createBlock(unref(QInput), mergeProps(unref(attrs), {
348
+ rules: validations.value,
349
+ "model-value": __props.modelValue,
350
+ label: `${__props.label}${__props.required ? "*" : ""}`,
351
+ mask: "date",
352
+ class: "q-pr-md",
353
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:modelValue", $event))
354
+ }), {
355
+ append: withCtx(() => [
356
+ __props.clearable ? (openBlock(), createBlock(_component_q_icon, {
357
+ key: 0,
358
+ name: "clear",
359
+ class: "cursor-pointer",
360
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", ""))
361
+ })) : createCommentVNode("", true),
362
+ createVNode(_component_q_icon, {
363
+ name: "event",
364
+ class: "cursor-pointer"
365
+ }, {
366
+ default: withCtx(() => [
367
+ createVNode(_component_q_popup_proxy, {
368
+ cover: "",
369
+ "transition-show": "scale",
370
+ "transition-hide": "scale"
371
+ }, {
372
+ default: withCtx(() => [
373
+ createVNode(_component_q_date, mergeProps(__props.date, {
374
+ "model-value": __props.modelValue,
375
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:modelValue", $event))
376
+ }), {
377
+ default: withCtx(() => [
378
+ createElementVNode("div", _hoisted_1, [
379
+ withDirectives(createVNode(_component_q_btn, {
380
+ label: unref(lang2).buttons.close,
381
+ color: "primary",
382
+ flat: ""
383
+ }, null, 8, ["label"]), [
384
+ [_directive_close_popup]
385
+ ])
386
+ ])
387
+ ]),
388
+ _: 1
389
+ }, 16, ["model-value"])
390
+ ]),
391
+ _: 1
392
+ })
393
+ ]),
394
+ _: 1
395
+ })
396
+ ]),
397
+ _: 1
398
+ }, 16, ["rules", "model-value", "label"]);
399
+ };
400
+ }
401
+ });
402
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
403
+ __name: "BooleanSelect",
404
+ props: {
405
+ modelValue: { type: Boolean },
406
+ label: null,
407
+ required: { type: Boolean }
408
+ },
409
+ emits: ["update:modelValue"],
410
+ setup(__props) {
411
+ const props = __props;
412
+ const attrs = useAttrs();
413
+ const lang2 = useLang();
414
+ const $q = useQuasar();
415
+ if (lang2.value.isoName !== $q.lang.isoName)
416
+ loadLang($q.lang.isoName);
417
+ watch($q.lang, (val) => {
418
+ loadLang($q.lang.isoName);
419
+ });
420
+ const booleanOptions = [
421
+ {
422
+ label: lang2.value.yes,
423
+ value: true
424
+ },
425
+ {
426
+ label: lang2.value.no,
427
+ value: false
428
+ }
429
+ ];
430
+ const validations = ref([]);
431
+ if (props.required)
432
+ validations.value.push(
433
+ (val) => !!val || lang2.value.validations.fieldRequired
434
+ );
435
+ return (_ctx, _cache) => {
436
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
437
+ rules: validations.value,
438
+ "model-value": __props.modelValue,
439
+ options: booleanOptions,
440
+ label: `${__props.label}${__props.required ? "*" : ""}`,
441
+ "emit-value": "",
442
+ "map-options": "",
443
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", $event))
444
+ }), null, 16, ["rules", "model-value", "label"]);
445
+ };
446
+ }
447
+ });
448
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
449
+ __name: "BooleanItem",
450
+ props: {
451
+ modelValue: { type: Boolean },
452
+ label: null
453
+ },
454
+ setup(__props) {
455
+ const attrs = useAttrs();
456
+ const lang2 = useLang();
457
+ const $q = useQuasar();
458
+ if (lang2.value.isoName !== $q.lang.isoName)
459
+ loadLang($q.lang.isoName);
460
+ watch($q.lang, (val) => {
461
+ loadLang($q.lang.isoName);
462
+ });
463
+ return (_ctx, _cache) => {
464
+ return openBlock(), createBlock(unref(QItem), normalizeProps(guardReactiveProps(unref(attrs))), {
465
+ default: withCtx(() => [
466
+ createVNode(unref(QItemSection), null, {
467
+ default: withCtx(() => [
468
+ createVNode(unref(QItemLabel), { overline: "" }, {
469
+ default: withCtx(() => [
470
+ createTextVNode(toDisplayString(__props.label), 1)
471
+ ]),
472
+ _: 1
473
+ }),
474
+ createVNode(unref(QItemLabel), null, {
475
+ default: withCtx(() => [
476
+ createTextVNode(toDisplayString(__props.modelValue ? unref(lang2).yes : unref(lang2).no), 1)
477
+ ]),
478
+ _: 1
479
+ })
480
+ ]),
481
+ _: 1
482
+ })
483
+ ]),
484
+ _: 1
485
+ }, 16);
486
+ };
487
+ }
488
+ });
489
+ const __default__ = {
490
+ name: "EmailInput"
491
+ };
492
+ const _sfc_main = /* @__PURE__ */ defineComponent({
493
+ ...__default__,
494
+ props: {
495
+ subject: null,
496
+ body: null
497
+ },
498
+ emits: ["update:subject", "update:body"],
499
+ setup(__props, { expose, emit }) {
500
+ useAttrs();
501
+ useQuasar();
502
+ const lang2 = useLang();
503
+ const variables = ref({
504
+ // header: lang.value.some.nested.prop
505
+ });
506
+ const functions = ref({
507
+ // submit
508
+ });
509
+ expose({
510
+ variables,
511
+ functions
512
+ });
513
+ return (_ctx, _cache) => {
514
+ const _component_q_input = QInput;
515
+ const _component_q_editor = QEditor;
516
+ return openBlock(), createElementBlock(Fragment, null, [
517
+ createVNode(_component_q_input, {
518
+ outlined: "",
519
+ placeholder: unref(lang2).email.subject,
520
+ "model-value": __props.subject,
521
+ type: "text",
522
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:subject", $event))
523
+ }, null, 8, ["placeholder", "model-value"]),
524
+ createVNode(_component_q_editor, {
525
+ "model-value": __props.body,
526
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => emit("update:body", $event))
527
+ }, null, 8, ["model-value"])
528
+ ], 64);
529
+ };
530
+ }
531
+ });
532
+ export {
533
+ _sfc_main$1 as BooleanItem,
534
+ _sfc_main$2 as BooleanSelect,
535
+ _sfc_main$3 as DateInput,
536
+ _sfc_main as EmailInput,
537
+ _sfc_main$5 as FormInput,
538
+ _sfc_main$6 as FormItem,
539
+ _sfc_main$8 as GenderItem,
540
+ _sfc_main$9 as GenderSelect,
541
+ _sfc_main$7 as PostalCodeInput,
542
+ _sfc_main$4 as TelephoneNumberInput
543
+ };