@simsustech/quasar-components 0.12.0 → 0.12.2

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 (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/LocaleSelect-BtwfPrmu.js +461 -0
  3. package/dist/QSubmitButton-CDKwJhmF.js +102 -0
  4. package/dist/authentication.js +1936 -2031
  5. package/dist/de-C-vWIfjC.js +12 -0
  6. package/dist/de-DC33TYVA.js +354 -0
  7. package/dist/de-DO8EeJ0Q.js +4 -0
  8. package/dist/de-Kz_vvc9w.js +106 -0
  9. package/dist/form.js +1092 -1226
  10. package/dist/general.js +319 -361
  11. package/dist/md3.js +407 -395
  12. package/dist/nl-DIfqXZG_.js +354 -0
  13. package/dist/nl-DWmQiCdO.js +12 -0
  14. package/dist/nl-DbV07Lx7.js +106 -0
  15. package/dist/nl-ZpgX9FUw.js +4 -0
  16. package/dist/quasar-components.css +5 -4
  17. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  18. package/dist/types/{ui → src/ui}/authentication/LoginForm.vue.d.ts +5 -0
  19. package/dist/types/src/ui/form/lang/nl.d.ts +3 -0
  20. package/dist/types/src/ui/general/lang/nl.d.ts +3 -0
  21. package/dist/types/src/ui/md3/lang/de.d.ts +3 -0
  22. package/dist/types/src/ui/md3/lang/en-US.d.ts +3 -0
  23. package/dist/types/src/ui/md3/lang/nl.d.ts +3 -0
  24. package/dist/virtualModules.js +62 -2
  25. package/dist/vite-plugin.js +50 -101
  26. package/package.json +33 -33
  27. package/src/ui/authentication/LoginForm.vue +9 -4
  28. package/src/ui/authentication/lang/de.ts +118 -0
  29. package/src/ui/authentication/lang/en-US.ts +1 -1
  30. package/src/ui/flags/lang/de.ts +384 -0
  31. package/src/ui/form/lang/de.ts +211 -0
  32. package/src/ui/general/lang/de.ts +13 -0
  33. package/src/ui/md3/lang/de.ts +7 -0
  34. package/tsconfig.json +1 -0
  35. package/tsconfig.node.json +2 -1
  36. package/tsconfig.types.json +2 -1
  37. package/dist/LocaleSelect.vue_vue_type_script_setup_true_lang-e2EDOyzk.js +0 -353
  38. package/dist/QSubmitButton.vue_vue_type_script_setup_true_lang-D-I0Gws4.js +0 -109
  39. package/dist/nl-BRjDNoaR.js +0 -209
  40. package/dist/nl-CneFq5NZ.js +0 -112
  41. package/dist/nl-NLgZUAKl.js +0 -6
  42. package/dist/nl-X50pmfG-.js +0 -12
  43. package/eslint.config.js +0 -29
  44. package/dist/types/{ui → src/ui}/authentication/AccountsTable.vue.d.ts +0 -0
  45. package/dist/types/{ui → src/ui}/authentication/ConsentList.vue.d.ts +0 -0
  46. package/dist/types/{ui → src/ui}/authentication/EmailChangeForm.vue.d.ts +0 -0
  47. package/dist/types/{ui → src/ui}/authentication/EmailChangeStepper.vue.d.ts +0 -0
  48. package/dist/types/{ui → src/ui}/authentication/LoginButton.vue.d.ts +0 -0
  49. package/dist/types/{ui → src/ui}/authentication/LogoutButton.vue.d.ts +0 -0
  50. package/dist/types/{ui → src/ui}/authentication/LogoutForm.vue.d.ts +0 -0
  51. package/dist/types/{ui → src/ui}/authentication/OtpInput.vue.d.ts +0 -0
  52. package/dist/types/{ui → src/ui}/authentication/PasswordChangeForm.vue.d.ts +0 -0
  53. package/dist/types/{ui → src/ui}/authentication/PasswordChangeStepper.vue.d.ts +0 -0
  54. package/dist/types/{ui → src/ui}/authentication/RegisterForm.vue.d.ts +0 -0
  55. package/dist/types/{ui → src/ui}/authentication/RequestOtpForm.vue.d.ts +0 -0
  56. package/dist/types/{ui → src/ui}/authentication/UserMenuButton.vue.d.ts +0 -0
  57. package/dist/types/{ui → src/ui}/authentication/VerificationSlider.vue.d.ts +0 -0
  58. package/dist/types/{ui → src/ui}/authentication/index.d.ts +0 -0
  59. package/dist/types/{ui/authentication/lang/en-US.d.ts → src/ui/authentication/lang/de.d.ts} +0 -0
  60. package/dist/types/{ui/flags → src/ui/authentication}/lang/en-US.d.ts +0 -0
  61. package/dist/types/{ui → src/ui}/authentication/lang/index.d.ts +0 -0
  62. package/dist/types/{ui → src/ui}/authentication/lang/nl.d.ts +0 -0
  63. package/dist/types/{ui → src/ui}/flags/index.d.ts +0 -0
  64. package/dist/types/{ui/flags/lang/nl.d.ts → src/ui/flags/lang/de.d.ts} +0 -0
  65. package/dist/types/{ui/general → src/ui/flags}/lang/en-US.d.ts +0 -0
  66. package/dist/types/{ui → src/ui}/flags/lang/index.d.ts +0 -0
  67. package/dist/types/{ui/general → src/ui/flags}/lang/nl.d.ts +0 -0
  68. package/dist/types/{ui → src/ui}/form/BooleanItem.vue.d.ts +0 -0
  69. package/dist/types/{ui → src/ui}/form/BooleanSelect.vue.d.ts +0 -0
  70. package/dist/types/{ui → src/ui}/form/CountrySelect.vue.d.ts +0 -0
  71. package/dist/types/{ui → src/ui}/form/CronScheduleInput.vue.d.ts +0 -0
  72. package/dist/types/{ui → src/ui}/form/CurrencySelect.vue.d.ts +0 -0
  73. package/dist/types/{ui → src/ui}/form/DateInput.vue.d.ts +1 -1
  74. package/dist/types/{ui → src/ui}/form/DatePicker.vue.d.ts +0 -0
  75. package/dist/types/{ui → src/ui}/form/EmailInput.vue.d.ts +0 -0
  76. package/dist/types/{ui → src/ui}/form/FilteredModelSelect.vue.d.ts +0 -0
  77. package/dist/types/{ui → src/ui}/form/FormInput.vue.d.ts +0 -0
  78. package/dist/types/{ui → src/ui}/form/FormItem.vue.d.ts +0 -0
  79. package/dist/types/{ui → src/ui}/form/GenderItem.vue.d.ts +0 -0
  80. package/dist/types/{ui → src/ui}/form/GenderSelect.vue.d.ts +0 -0
  81. package/dist/types/{ui → src/ui}/form/LocaleSelect.vue.d.ts +0 -0
  82. package/dist/types/{ui → src/ui}/form/PostalCodeInput.vue.d.ts +0 -0
  83. package/dist/types/{ui → src/ui}/form/TelephoneNumberInput.vue.d.ts +0 -0
  84. package/dist/types/{ui → src/ui}/form/index.d.ts +0 -0
  85. package/dist/types/{ui/form/lang/en-US.d.ts → src/ui/form/lang/de.d.ts} +0 -0
  86. package/dist/types/{ui/form/lang/nl.d.ts → src/ui/form/lang/en-US.d.ts} +0 -0
  87. package/dist/types/{ui → src/ui}/form/lang/index.d.ts +2 -2
  88. package/dist/types/{ui → src/ui}/general/QDrawerList.vue.d.ts +0 -0
  89. package/dist/types/{ui → src/ui}/general/QLanguageSelect.vue.d.ts +0 -0
  90. package/dist/types/{ui → src/ui}/general/QStyledCard.vue.d.ts +0 -0
  91. package/dist/types/{ui → src/ui}/general/QStyledLayout.vue.d.ts +0 -0
  92. package/dist/types/{ui → src/ui}/general/QSubmitButton.vue.d.ts +1 -1
  93. package/dist/types/{ui → src/ui}/general/ResourcePage.vue.d.ts +1 -1
  94. /package/dist/types/{ui → src/ui}/general/ResponsiveDialog.vue.d.ts +0 -0
  95. /package/dist/types/{ui → src/ui}/general/index.d.ts +0 -0
  96. /package/dist/types/{ui/md3/lang/en-US.d.ts → src/ui/general/lang/de.d.ts} +0 -0
  97. /package/dist/types/{ui/md3/lang/nl.d.ts → src/ui/general/lang/en-US.d.ts} +0 -0
  98. /package/dist/types/{ui → src/ui}/general/lang/index.d.ts +0 -0
  99. /package/dist/types/{ui → src/ui}/icons/index.d.ts +0 -0
  100. /package/dist/types/{ui → src/ui}/icons/labels.d.ts +0 -0
  101. /package/dist/types/{ui → src/ui}/md3/Md3Layout.vue.d.ts +0 -0
  102. /package/dist/types/{ui → src/ui}/md3/NavigationRailFabs.vue.d.ts +0 -0
  103. /package/dist/types/{ui → src/ui}/md3/index.d.ts +0 -0
  104. /package/dist/types/{ui → src/ui}/md3/lang/index.d.ts +0 -0
  105. /package/dist/types/{virtualModules.d.ts → src/virtualModules.d.ts} +0 -0
  106. /package/dist/types/{vite-plugin.d.ts → src/vite-plugin.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @simsustech/quasar-components
2
2
 
3
+ ## 0.12.2
4
+
5
+ ### Patch Changes
6
+
7
+ - f2f5aaa: feat: add german (de) translations
8
+
9
+ ## 0.12.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 6987645: feat(LoginForm): add defaultCredentials prop
14
+
3
15
  ## 0.12.0
4
16
 
5
17
  ### Minor Changes
@@ -0,0 +1,461 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { QIcon, QItem, QItemLabel, QItemSection, QSelect } from "quasar";
3
+ import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, normalizeProps, openBlock, ref, toDisplayString, toRefs, unref, useAttrs, withCtx } from "vue";
4
+ //#region src/ui/form/lang/en-US.ts
5
+ var en_US_exports = /* @__PURE__ */ __exportAll({ default: () => lang$1 });
6
+ var lang$1 = {
7
+ isoName: "en-US",
8
+ yes: "Yes",
9
+ no: "No",
10
+ selectMultiple: "Select one or multiple",
11
+ noResultsAvailable: "No results available.",
12
+ buttons: { close: "Close" },
13
+ email: { subject: "Subject" },
14
+ fields: {
15
+ name: "Name",
16
+ firstName: "First name",
17
+ lastName: "Last name",
18
+ address: "Address",
19
+ postalCode: "Postal code",
20
+ city: "City",
21
+ telephoneNumber: "Telephone number"
22
+ },
23
+ validations: { fieldRequired: "Field is required." },
24
+ gender: {
25
+ gender: "Gender",
26
+ male: "Male",
27
+ female: "Female",
28
+ other: "Other"
29
+ },
30
+ postalCode: {
31
+ postalCode: "Postal code",
32
+ validations: { invalidPostalCode: "Invalid postal code" }
33
+ },
34
+ datePicker: {
35
+ date: "Date",
36
+ placeholder: "YYYY/MM/DD",
37
+ YYYY: "YYYY",
38
+ MM: "MM",
39
+ DD: "DD",
40
+ validations: { unavailableRange: "The selected period contains unavailable dates." }
41
+ },
42
+ currency: {
43
+ currency: "Currency",
44
+ EUR: "Euro",
45
+ USD: "USD"
46
+ },
47
+ locale: { locale: "Locale" },
48
+ cron: {
49
+ name: "Repeat",
50
+ minute: "Minute",
51
+ hour: "Hour",
52
+ dayOfMonth: "Day of month",
53
+ month: "Month",
54
+ dayOfWeek: "Day of week",
55
+ every: {
56
+ minute: "Every minute",
57
+ hour: "Every hour",
58
+ dayOfMonth: "Every day",
59
+ month: "Every month",
60
+ dayOfWeek: "Every day of the week"
61
+ },
62
+ validations: { invalidCron: "Cron rule is invalid." }
63
+ },
64
+ countries: {
65
+ SA: "Saudi Arabia",
66
+ BD: "Bangladesh",
67
+ IN: "India",
68
+ CZ: "Czech Republic",
69
+ DK: "Denmark",
70
+ AT: "Austria",
71
+ CH: "Switzerland",
72
+ DE: "Germany",
73
+ GR: "Greece",
74
+ AU: "Australia",
75
+ CA: "Canada",
76
+ GB: "United Kingdom",
77
+ IE: "Ireland",
78
+ NZ: "New Zealand",
79
+ US: "United States",
80
+ ZA: "South Africa",
81
+ AR: "Argentina",
82
+ CL: "Chile",
83
+ CO: "Colombia",
84
+ ES: "Spain",
85
+ MX: "Mexico",
86
+ FI: "Finland",
87
+ BE: "Belgium",
88
+ FR: "France",
89
+ IL: "Israel",
90
+ HU: "Hungarian",
91
+ ID: "Indonesia",
92
+ IT: "Italy",
93
+ JP: "Japan",
94
+ KR: "Republic of Korea",
95
+ NL: "The Netherlands",
96
+ NO: "Norway",
97
+ PL: "Polish",
98
+ BR: "Brazil",
99
+ PT: "Portugal",
100
+ RO: "Romania",
101
+ RU: "Russian Federation",
102
+ SK: "Slovakia",
103
+ SE: "Sweden",
104
+ LK: "Sri Lanka",
105
+ TH: "Thai",
106
+ TR: "Turkey",
107
+ CN: "China",
108
+ HK: "Hong Kong",
109
+ TW: "Taiwan"
110
+ },
111
+ languages: {
112
+ ar: "Arabic",
113
+ bn: "Bangla",
114
+ cs: "Czech",
115
+ da: "Danish",
116
+ de: "German",
117
+ el: "Greek",
118
+ en: "English",
119
+ es: "Spanish",
120
+ fi: "Finnish",
121
+ fr: "French",
122
+ he: "Hebrew",
123
+ hi: "Hindi",
124
+ hu: "Hungarian",
125
+ id: "Indonesian",
126
+ it: "Italian",
127
+ ja: "Japanese",
128
+ ko: "Korean",
129
+ nl: "Dutch",
130
+ no: "Norwegian",
131
+ pl: "Polish",
132
+ pt: "Portuguese",
133
+ ro: "Romanian",
134
+ ru: "Russian",
135
+ sk: "Slovak",
136
+ sv: "Swedish",
137
+ ta: "Tamil",
138
+ th: "Thai",
139
+ tr: "Turkish",
140
+ zh: "Chinese"
141
+ },
142
+ bcp47: {
143
+ "ar-SA": {
144
+ language: "Arabic",
145
+ country: "Saudi Arabia"
146
+ },
147
+ "bn-BD": {
148
+ language: "Bangla",
149
+ country: "Bangladesh"
150
+ },
151
+ "bn-IN": {
152
+ language: "Bangla",
153
+ country: "India"
154
+ },
155
+ "cs-CZ": {
156
+ language: "Czech",
157
+ country: "Czech Republic"
158
+ },
159
+ "da-DK": {
160
+ language: "Danish",
161
+ country: "Denmark"
162
+ },
163
+ "de-AT": {
164
+ language: "German",
165
+ country: "Austria"
166
+ },
167
+ "de-CH": {
168
+ language: "German",
169
+ country: "Switzerland"
170
+ },
171
+ "de-DE": {
172
+ language: "German",
173
+ country: "Germany"
174
+ },
175
+ "el-GR": {
176
+ language: "Greek",
177
+ country: "Greece"
178
+ },
179
+ "en-AU": {
180
+ language: "English",
181
+ country: "Australia"
182
+ },
183
+ "en-CA": {
184
+ language: "English",
185
+ country: "Canada"
186
+ },
187
+ "en-GB": {
188
+ language: "English",
189
+ country: "United Kingdom"
190
+ },
191
+ "en-IE": {
192
+ language: "English",
193
+ country: "Ireland"
194
+ },
195
+ "en-IN": {
196
+ language: "English",
197
+ country: "India"
198
+ },
199
+ "en-NZ": {
200
+ language: "English",
201
+ country: "New Zealand"
202
+ },
203
+ "en-US": {
204
+ language: "English",
205
+ country: "United States"
206
+ },
207
+ "en-ZA": {
208
+ language: "English",
209
+ country: "South Africa"
210
+ },
211
+ "es-AR": {
212
+ language: "Spanish",
213
+ country: "Argentina"
214
+ },
215
+ "es-CL": {
216
+ language: "Spanish",
217
+ country: "Chile"
218
+ },
219
+ "es-CO": {
220
+ language: "Spanish",
221
+ country: "Colombia"
222
+ },
223
+ "es-ES": {
224
+ language: "Spanish",
225
+ country: "Spain"
226
+ },
227
+ "es-MX": {
228
+ language: "Spanish",
229
+ country: "Mexico"
230
+ },
231
+ "es-US": {
232
+ language: "Spanish",
233
+ country: "United States"
234
+ },
235
+ "fi-FI": {
236
+ language: "Finnish",
237
+ country: "Finland"
238
+ },
239
+ "fr-BE": {
240
+ language: "French",
241
+ country: "Belgium"
242
+ },
243
+ "fr-CA": {
244
+ language: "French",
245
+ country: "Canada"
246
+ },
247
+ "fr-CH": {
248
+ language: "French",
249
+ country: "Switzerland"
250
+ },
251
+ "fr-FR": {
252
+ language: "French",
253
+ country: "France"
254
+ },
255
+ "he-IL": {
256
+ language: "Hebrew",
257
+ country: "Israel"
258
+ },
259
+ "hi-IN": {
260
+ language: "Hindi",
261
+ country: "India"
262
+ },
263
+ "hu-HU": {
264
+ language: "Hungarian",
265
+ country: "Hungary"
266
+ },
267
+ "id-ID": {
268
+ language: "Indonesian",
269
+ country: "Indonesia"
270
+ },
271
+ "it-CH": {
272
+ language: "Italian",
273
+ country: "Switzerland"
274
+ },
275
+ "it-IT": {
276
+ language: "Italian",
277
+ country: "Italy"
278
+ },
279
+ "ja-JP": {
280
+ language: "Japanese",
281
+ country: "Japan"
282
+ },
283
+ "ko-KR": {
284
+ language: "Korean",
285
+ country: "Republic of Korea"
286
+ },
287
+ "nl-BE": {
288
+ language: "Dutch",
289
+ country: "Belgium"
290
+ },
291
+ "nl-NL": {
292
+ language: "Dutch",
293
+ country: "The Netherlands"
294
+ },
295
+ "no-NO": {
296
+ language: "Norwegian",
297
+ country: "Norway"
298
+ },
299
+ "pl-PL": {
300
+ language: "Polish",
301
+ country: "Poland"
302
+ },
303
+ "pt-BR": {
304
+ language: "Portuguese",
305
+ country: "Brazil"
306
+ },
307
+ "pt-PT": {
308
+ language: "Portuguese",
309
+ country: "Portugal"
310
+ },
311
+ "ro-RO": {
312
+ language: "Romanian",
313
+ country: "Romania"
314
+ },
315
+ "ru-RU": {
316
+ language: "Russian",
317
+ country: "Russian Federation"
318
+ },
319
+ "sk-SK": {
320
+ language: "Slovak",
321
+ country: "Slovakia"
322
+ },
323
+ "sv-SE": {
324
+ language: "Swedish",
325
+ country: "Sweden"
326
+ },
327
+ "ta-IN": {
328
+ language: "Tamil",
329
+ country: "India"
330
+ },
331
+ "ta-LK": {
332
+ language: "Tamil",
333
+ country: "Sri Lanka"
334
+ },
335
+ "th-TH": {
336
+ language: "Thai",
337
+ country: "Thailand"
338
+ },
339
+ "tr-TR": {
340
+ language: "Turkish",
341
+ country: "Turkey"
342
+ },
343
+ "zh-CN": {
344
+ language: "Chinese",
345
+ country: "China"
346
+ },
347
+ "zh-HK": {
348
+ language: "Chinese",
349
+ country: "Hong Kong"
350
+ },
351
+ "zh-TW": {
352
+ language: "Chinese",
353
+ country: "Taiwan"
354
+ }
355
+ }
356
+ };
357
+ //#endregion
358
+ //#region src/ui/form/lang/index.ts
359
+ var lang = ref(lang$1);
360
+ var locales = /* @__PURE__ */ Object.assign({
361
+ "./de.ts": () => import("./de-DC33TYVA.js"),
362
+ "./en-US.ts": () => Promise.resolve().then(() => en_US_exports),
363
+ "./nl.ts": () => import("./nl-DIfqXZG_.js")
364
+ });
365
+ var useLang = () => {
366
+ return lang;
367
+ };
368
+ var loadingLanguage = false;
369
+ var loadLang = async (isoName) => {
370
+ if (!loadingLanguage) {
371
+ loadingLanguage = true;
372
+ try {
373
+ const data = (await locales[`./${isoName}.ts`]()).default;
374
+ if (data) lang.value = data;
375
+ } catch (e) {
376
+ throw new Error(`[quasar-components] Failed to load ${isoName} language file.`);
377
+ }
378
+ loadingLanguage = false;
379
+ }
380
+ };
381
+ //#endregion
382
+ //#region src/ui/form/LocaleSelect.vue?vue&type=script&setup=true&lang.ts
383
+ var _hoisted_1 = { key: 1 };
384
+ //#endregion
385
+ //#region src/ui/form/LocaleSelect.vue
386
+ var LocaleSelect_default = /* @__PURE__ */ defineComponent({
387
+ __name: "LocaleSelect",
388
+ props: {
389
+ modelValue: {},
390
+ locales: {},
391
+ isItem: { type: Boolean }
392
+ },
393
+ emits: ["update:modelValue"],
394
+ setup(__props, { expose: __expose, emit: __emit }) {
395
+ const props = __props;
396
+ const emit = __emit;
397
+ const { modelValue, locales } = toRefs(props);
398
+ const lang = useLang();
399
+ const attrs = useAttrs();
400
+ const localeOptions = computed(() => {
401
+ return locales.value.map((locale) => ({
402
+ label: getLanguageLabel(locale.bcp47),
403
+ value: locale.bcp47,
404
+ icon: locale.icon
405
+ }));
406
+ });
407
+ const getCountryLabel = (v) => lang.value.bcp47[v]?.country;
408
+ const getLanguageLabel = (v) => lang.value.bcp47[v]?.language;
409
+ __expose({
410
+ variables: ref({}),
411
+ functions: ref({
412
+ getCountryLabel,
413
+ getLanguageLabel
414
+ })
415
+ });
416
+ return (_ctx, _cache) => {
417
+ const _component_q_icon = QIcon;
418
+ const _component_q_item_section = QItemSection;
419
+ const _component_q_item_label = QItemLabel;
420
+ const _component_q_item = QItem;
421
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
422
+ options: localeOptions.value,
423
+ "model-value": unref(modelValue),
424
+ filled: false,
425
+ "emit-value": "",
426
+ "map-options": "",
427
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (val) => emit("update:modelValue", val))
428
+ }), {
429
+ "selected-item": withCtx((scope) => [scope.opt && __props.isItem ? (openBlock(), createBlock(_component_q_item, { key: 0 }, {
430
+ default: withCtx(() => [createVNode(_component_q_item_section, { avatar: "" }, {
431
+ default: withCtx(() => [createVNode(_component_q_icon, { name: scope.opt.icon }, null, 8, ["name"])]),
432
+ _: 2
433
+ }, 1024), createVNode(_component_q_item_section, null, {
434
+ default: withCtx(() => [createVNode(_component_q_item_label, null, {
435
+ default: withCtx(() => [createTextVNode(toDisplayString(scope.opt.label), 1)]),
436
+ _: 2
437
+ }, 1024)]),
438
+ _: 2
439
+ }, 1024)]),
440
+ _: 2
441
+ }, 1024)) : scope.opt ? (openBlock(), createElementBlock("div", _hoisted_1, [createVNode(_component_q_icon, { name: scope.opt.icon }, null, 8, ["name"]), createTextVNode(" " + toDisplayString(scope.opt.label), 1)])) : createCommentVNode("", true)]),
442
+ option: withCtx((scope) => [createVNode(_component_q_item, normalizeProps(guardReactiveProps(scope.itemProps)), {
443
+ default: withCtx(() => [createVNode(_component_q_item_section, { avatar: "" }, {
444
+ default: withCtx(() => [createVNode(_component_q_icon, { name: scope.opt.icon }, null, 8, ["name"])]),
445
+ _: 2
446
+ }, 1024), createVNode(_component_q_item_section, null, {
447
+ default: withCtx(() => [createVNode(_component_q_item_label, null, {
448
+ default: withCtx(() => [createTextVNode(toDisplayString(scope.opt.label), 1)]),
449
+ _: 2
450
+ }, 1024)]),
451
+ _: 2
452
+ }, 1024)]),
453
+ _: 2
454
+ }, 1040)]),
455
+ _: 1
456
+ }, 16, ["options", "model-value"]);
457
+ };
458
+ }
459
+ });
460
+ //#endregion
461
+ export { loadLang as n, useLang as r, LocaleSelect_default as t };
@@ -0,0 +1,102 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { QBtn, debounce, useQuasar } from "quasar";
3
+ import { computed, createBlock, createTextVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, useAttrs, watch, withCtx } from "vue";
4
+ //#region src/ui/general/lang/en-US.ts
5
+ var en_US_exports = /* @__PURE__ */ __exportAll({ default: () => lang$1 });
6
+ var lang$1 = {
7
+ isoName: "en-US",
8
+ submit: "Submit",
9
+ next: "Next",
10
+ back: "Back",
11
+ send: "Send",
12
+ add: "Add",
13
+ edit: "Edit"
14
+ };
15
+ //#endregion
16
+ //#region src/ui/general/lang/index.ts
17
+ var lang = ref(lang$1);
18
+ var locales = /* @__PURE__ */ Object.assign({
19
+ "./de.ts": () => import("./de-C-vWIfjC.js"),
20
+ "./en-US.ts": () => Promise.resolve().then(() => en_US_exports),
21
+ "./nl.ts": () => import("./nl-DWmQiCdO.js")
22
+ });
23
+ var useLang = () => {
24
+ return lang;
25
+ };
26
+ var loadingLanguage = false;
27
+ var loadLang = async (isoName) => {
28
+ if (!loadingLanguage) {
29
+ loadingLanguage = true;
30
+ try {
31
+ const data = (await locales[`./${isoName}.ts`]()).default;
32
+ if (data) lang.value = data;
33
+ } catch (e) {
34
+ throw new Error(`[quasar-components] Failed to load ${isoName} language file.`);
35
+ }
36
+ loadingLanguage = false;
37
+ }
38
+ };
39
+ //#endregion
40
+ //#region src/ui/general/QSubmitButton.vue
41
+ var QSubmitButton_default = /* @__PURE__ */ defineComponent({
42
+ name: "QSubmitButton",
43
+ inheritAttrs: false,
44
+ props: {
45
+ loading: {
46
+ type: Boolean,
47
+ default: void 0
48
+ },
49
+ useForm: { type: Boolean },
50
+ type: { default: "submit" },
51
+ isNextButton: { type: Boolean },
52
+ color: { default: "primary" }
53
+ },
54
+ emits: ["submit"],
55
+ setup(__props, { emit: __emit }) {
56
+ const props = __props;
57
+ const { type, isNextButton } = toRefs(props);
58
+ const attrs = useAttrs();
59
+ const emit = __emit;
60
+ const $q = useQuasar();
61
+ const lang = useLang();
62
+ if (lang.value.isoName !== $q.lang.isoName) loadLang($q.lang.isoName);
63
+ watch($q.lang, (val) => {
64
+ loadLang($q.lang.isoName);
65
+ });
66
+ let loadingInternal = ref(false);
67
+ const submit = debounce(() => {
68
+ if (props.loading === void 0) loadingInternal.value = true;
69
+ new Promise((resolve, reject) => {
70
+ emit("submit", { done: () => resolve(true) });
71
+ }).finally(() => {
72
+ if (props.loading === void 0) loadingInternal.value = false;
73
+ });
74
+ }, 1e3, true);
75
+ const label = computed(() => {
76
+ const labels = {
77
+ submit: lang.value.submit,
78
+ send: lang.value.send,
79
+ next: lang.value.next
80
+ };
81
+ return isNextButton.value ? lang.value.next : labels[type.value];
82
+ });
83
+ return (_ctx, _cache) => {
84
+ const _component_q_btn = QBtn;
85
+ return openBlock(), createBlock(_component_q_btn, mergeProps(unref(attrs), {
86
+ color: __props.color,
87
+ loading: __props.loading || unref(loadingInternal),
88
+ type: "submit",
89
+ onClick: unref(submit)
90
+ }), {
91
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(label.value), 1)])]),
92
+ _: 3
93
+ }, 16, [
94
+ "color",
95
+ "loading",
96
+ "onClick"
97
+ ]);
98
+ };
99
+ }
100
+ });
101
+ //#endregion
102
+ export { loadLang as n, useLang as r, QSubmitButton_default as t };