@simsustech/quasar-components 0.12.0 → 0.12.1

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 (91) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/LocaleSelect-BqkjbcKS.js +460 -0
  3. package/dist/QSubmitButton-Chc7dndx.js +101 -0
  4. package/dist/authentication.js +1935 -2031
  5. package/dist/form.js +1092 -1226
  6. package/dist/general.js +319 -361
  7. package/dist/md3.js +406 -395
  8. package/dist/nl-DIfqXZG_.js +354 -0
  9. package/dist/nl-DWmQiCdO.js +12 -0
  10. package/dist/nl-DbV07Lx7.js +106 -0
  11. package/dist/nl-ZpgX9FUw.js +4 -0
  12. package/dist/quasar-components.css +5 -4
  13. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  14. package/dist/types/{ui → src/ui}/authentication/LoginForm.vue.d.ts +5 -0
  15. package/dist/virtualModules.js +62 -2
  16. package/dist/vite-plugin.js +50 -101
  17. package/package.json +33 -33
  18. package/src/ui/authentication/LoginForm.vue +9 -4
  19. package/tsconfig.json +1 -0
  20. package/tsconfig.node.json +2 -1
  21. package/tsconfig.types.json +2 -1
  22. package/dist/LocaleSelect.vue_vue_type_script_setup_true_lang-e2EDOyzk.js +0 -353
  23. package/dist/QSubmitButton.vue_vue_type_script_setup_true_lang-D-I0Gws4.js +0 -109
  24. package/dist/nl-BRjDNoaR.js +0 -209
  25. package/dist/nl-CneFq5NZ.js +0 -112
  26. package/dist/nl-NLgZUAKl.js +0 -6
  27. package/dist/nl-X50pmfG-.js +0 -12
  28. package/eslint.config.js +0 -29
  29. package/dist/types/{ui → src/ui}/authentication/AccountsTable.vue.d.ts +0 -0
  30. package/dist/types/{ui → src/ui}/authentication/ConsentList.vue.d.ts +0 -0
  31. package/dist/types/{ui → src/ui}/authentication/EmailChangeForm.vue.d.ts +0 -0
  32. package/dist/types/{ui → src/ui}/authentication/EmailChangeStepper.vue.d.ts +0 -0
  33. package/dist/types/{ui → src/ui}/authentication/LoginButton.vue.d.ts +0 -0
  34. package/dist/types/{ui → src/ui}/authentication/LogoutButton.vue.d.ts +0 -0
  35. package/dist/types/{ui → src/ui}/authentication/LogoutForm.vue.d.ts +0 -0
  36. package/dist/types/{ui → src/ui}/authentication/OtpInput.vue.d.ts +0 -0
  37. package/dist/types/{ui → src/ui}/authentication/PasswordChangeForm.vue.d.ts +0 -0
  38. package/dist/types/{ui → src/ui}/authentication/PasswordChangeStepper.vue.d.ts +0 -0
  39. package/dist/types/{ui → src/ui}/authentication/RegisterForm.vue.d.ts +0 -0
  40. package/dist/types/{ui → src/ui}/authentication/RequestOtpForm.vue.d.ts +0 -0
  41. package/dist/types/{ui → src/ui}/authentication/UserMenuButton.vue.d.ts +0 -0
  42. package/dist/types/{ui → src/ui}/authentication/VerificationSlider.vue.d.ts +0 -0
  43. package/dist/types/{ui → src/ui}/authentication/index.d.ts +0 -0
  44. package/dist/types/{ui → src/ui}/authentication/lang/en-US.d.ts +0 -0
  45. package/dist/types/{ui → src/ui}/authentication/lang/index.d.ts +0 -0
  46. package/dist/types/{ui → src/ui}/authentication/lang/nl.d.ts +0 -0
  47. package/dist/types/{ui → src/ui}/flags/index.d.ts +0 -0
  48. package/dist/types/{ui → src/ui}/flags/lang/en-US.d.ts +0 -0
  49. package/dist/types/{ui → src/ui}/flags/lang/index.d.ts +0 -0
  50. package/dist/types/{ui → src/ui}/flags/lang/nl.d.ts +0 -0
  51. package/dist/types/{ui → src/ui}/form/BooleanItem.vue.d.ts +0 -0
  52. package/dist/types/{ui → src/ui}/form/BooleanSelect.vue.d.ts +0 -0
  53. package/dist/types/{ui → src/ui}/form/CountrySelect.vue.d.ts +0 -0
  54. package/dist/types/{ui → src/ui}/form/CronScheduleInput.vue.d.ts +0 -0
  55. package/dist/types/{ui → src/ui}/form/CurrencySelect.vue.d.ts +0 -0
  56. package/dist/types/{ui → src/ui}/form/DateInput.vue.d.ts +1 -1
  57. package/dist/types/{ui → src/ui}/form/DatePicker.vue.d.ts +0 -0
  58. package/dist/types/{ui → src/ui}/form/EmailInput.vue.d.ts +0 -0
  59. package/dist/types/{ui → src/ui}/form/FilteredModelSelect.vue.d.ts +0 -0
  60. package/dist/types/{ui → src/ui}/form/FormInput.vue.d.ts +0 -0
  61. package/dist/types/{ui → src/ui}/form/FormItem.vue.d.ts +0 -0
  62. package/dist/types/{ui → src/ui}/form/GenderItem.vue.d.ts +0 -0
  63. package/dist/types/{ui → src/ui}/form/GenderSelect.vue.d.ts +0 -0
  64. package/dist/types/{ui → src/ui}/form/LocaleSelect.vue.d.ts +0 -0
  65. package/dist/types/{ui → src/ui}/form/PostalCodeInput.vue.d.ts +0 -0
  66. package/dist/types/{ui → src/ui}/form/TelephoneNumberInput.vue.d.ts +0 -0
  67. package/dist/types/{ui → src/ui}/form/index.d.ts +0 -0
  68. package/dist/types/{ui → src/ui}/form/lang/en-US.d.ts +0 -0
  69. package/dist/types/{ui → src/ui}/form/lang/index.d.ts +0 -0
  70. package/dist/types/{ui → src/ui}/form/lang/nl.d.ts +0 -0
  71. package/dist/types/{ui → src/ui}/general/QDrawerList.vue.d.ts +0 -0
  72. package/dist/types/{ui → src/ui}/general/QLanguageSelect.vue.d.ts +0 -0
  73. package/dist/types/{ui → src/ui}/general/QStyledCard.vue.d.ts +0 -0
  74. package/dist/types/{ui → src/ui}/general/QStyledLayout.vue.d.ts +0 -0
  75. package/dist/types/{ui → src/ui}/general/QSubmitButton.vue.d.ts +1 -1
  76. package/dist/types/{ui → src/ui}/general/ResourcePage.vue.d.ts +1 -1
  77. /package/dist/types/{ui → src/ui}/general/ResponsiveDialog.vue.d.ts +0 -0
  78. /package/dist/types/{ui → src/ui}/general/index.d.ts +0 -0
  79. /package/dist/types/{ui → src/ui}/general/lang/en-US.d.ts +0 -0
  80. /package/dist/types/{ui → src/ui}/general/lang/index.d.ts +0 -0
  81. /package/dist/types/{ui → src/ui}/general/lang/nl.d.ts +0 -0
  82. /package/dist/types/{ui → src/ui}/icons/index.d.ts +0 -0
  83. /package/dist/types/{ui → src/ui}/icons/labels.d.ts +0 -0
  84. /package/dist/types/{ui → src/ui}/md3/Md3Layout.vue.d.ts +0 -0
  85. /package/dist/types/{ui → src/ui}/md3/NavigationRailFabs.vue.d.ts +0 -0
  86. /package/dist/types/{ui → src/ui}/md3/index.d.ts +0 -0
  87. /package/dist/types/{ui → src/ui}/md3/lang/en-US.d.ts +0 -0
  88. /package/dist/types/{ui → src/ui}/md3/lang/index.d.ts +0 -0
  89. /package/dist/types/{ui → src/ui}/md3/lang/nl.d.ts +0 -0
  90. /package/dist/types/{virtualModules.d.ts → src/virtualModules.d.ts} +0 -0
  91. /package/dist/types/{vite-plugin.d.ts → src/vite-plugin.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @simsustech/quasar-components
2
2
 
3
+ ## 0.12.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 6987645: feat(LoginForm): add defaultCredentials prop
8
+
3
9
  ## 0.12.0
4
10
 
5
11
  ### Minor Changes
@@ -0,0 +1,460 @@
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
+ "./en-US.ts": () => Promise.resolve().then(() => en_US_exports),
362
+ "./nl.ts": () => import("./nl-DIfqXZG_.js")
363
+ });
364
+ var useLang = () => {
365
+ return lang;
366
+ };
367
+ var loadingLanguage = false;
368
+ var loadLang = async (isoName) => {
369
+ if (!loadingLanguage) {
370
+ loadingLanguage = true;
371
+ try {
372
+ const data = (await locales[`./${isoName}.ts`]()).default;
373
+ if (data) lang.value = data;
374
+ } catch (e) {
375
+ throw new Error(`[quasar-components] Failed to load ${isoName} language file.`);
376
+ }
377
+ loadingLanguage = false;
378
+ }
379
+ };
380
+ //#endregion
381
+ //#region src/ui/form/LocaleSelect.vue?vue&type=script&setup=true&lang.ts
382
+ var _hoisted_1 = { key: 1 };
383
+ //#endregion
384
+ //#region src/ui/form/LocaleSelect.vue
385
+ var LocaleSelect_default = /* @__PURE__ */ defineComponent({
386
+ __name: "LocaleSelect",
387
+ props: {
388
+ modelValue: {},
389
+ locales: {},
390
+ isItem: { type: Boolean }
391
+ },
392
+ emits: ["update:modelValue"],
393
+ setup(__props, { expose: __expose, emit: __emit }) {
394
+ const props = __props;
395
+ const emit = __emit;
396
+ const { modelValue, locales } = toRefs(props);
397
+ const lang = useLang();
398
+ const attrs = useAttrs();
399
+ const localeOptions = computed(() => {
400
+ return locales.value.map((locale) => ({
401
+ label: getLanguageLabel(locale.bcp47),
402
+ value: locale.bcp47,
403
+ icon: locale.icon
404
+ }));
405
+ });
406
+ const getCountryLabel = (v) => lang.value.bcp47[v]?.country;
407
+ const getLanguageLabel = (v) => lang.value.bcp47[v]?.language;
408
+ __expose({
409
+ variables: ref({}),
410
+ functions: ref({
411
+ getCountryLabel,
412
+ getLanguageLabel
413
+ })
414
+ });
415
+ return (_ctx, _cache) => {
416
+ const _component_q_icon = QIcon;
417
+ const _component_q_item_section = QItemSection;
418
+ const _component_q_item_label = QItemLabel;
419
+ const _component_q_item = QItem;
420
+ return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
421
+ options: localeOptions.value,
422
+ "model-value": unref(modelValue),
423
+ filled: false,
424
+ "emit-value": "",
425
+ "map-options": "",
426
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (val) => emit("update:modelValue", val))
427
+ }), {
428
+ "selected-item": withCtx((scope) => [scope.opt && __props.isItem ? (openBlock(), createBlock(_component_q_item, { key: 0 }, {
429
+ default: withCtx(() => [createVNode(_component_q_item_section, { avatar: "" }, {
430
+ default: withCtx(() => [createVNode(_component_q_icon, { name: scope.opt.icon }, null, 8, ["name"])]),
431
+ _: 2
432
+ }, 1024), createVNode(_component_q_item_section, null, {
433
+ default: withCtx(() => [createVNode(_component_q_item_label, null, {
434
+ default: withCtx(() => [createTextVNode(toDisplayString(scope.opt.label), 1)]),
435
+ _: 2
436
+ }, 1024)]),
437
+ _: 2
438
+ }, 1024)]),
439
+ _: 2
440
+ }, 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)]),
441
+ option: withCtx((scope) => [createVNode(_component_q_item, normalizeProps(guardReactiveProps(scope.itemProps)), {
442
+ default: withCtx(() => [createVNode(_component_q_item_section, { avatar: "" }, {
443
+ default: withCtx(() => [createVNode(_component_q_icon, { name: scope.opt.icon }, null, 8, ["name"])]),
444
+ _: 2
445
+ }, 1024), createVNode(_component_q_item_section, null, {
446
+ default: withCtx(() => [createVNode(_component_q_item_label, null, {
447
+ default: withCtx(() => [createTextVNode(toDisplayString(scope.opt.label), 1)]),
448
+ _: 2
449
+ }, 1024)]),
450
+ _: 2
451
+ }, 1024)]),
452
+ _: 2
453
+ }, 1040)]),
454
+ _: 1
455
+ }, 16, ["options", "model-value"]);
456
+ };
457
+ }
458
+ });
459
+ //#endregion
460
+ export { loadLang as n, useLang as r, LocaleSelect_default as t };
@@ -0,0 +1,101 @@
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
+ "./en-US.ts": () => Promise.resolve().then(() => en_US_exports),
20
+ "./nl.ts": () => import("./nl-DWmQiCdO.js")
21
+ });
22
+ var useLang = () => {
23
+ return lang;
24
+ };
25
+ var loadingLanguage = false;
26
+ var loadLang = async (isoName) => {
27
+ if (!loadingLanguage) {
28
+ loadingLanguage = true;
29
+ try {
30
+ const data = (await locales[`./${isoName}.ts`]()).default;
31
+ if (data) lang.value = data;
32
+ } catch (e) {
33
+ throw new Error(`[quasar-components] Failed to load ${isoName} language file.`);
34
+ }
35
+ loadingLanguage = false;
36
+ }
37
+ };
38
+ //#endregion
39
+ //#region src/ui/general/QSubmitButton.vue
40
+ var QSubmitButton_default = /* @__PURE__ */ defineComponent({
41
+ name: "QSubmitButton",
42
+ inheritAttrs: false,
43
+ props: {
44
+ loading: {
45
+ type: Boolean,
46
+ default: void 0
47
+ },
48
+ useForm: { type: Boolean },
49
+ type: { default: "submit" },
50
+ isNextButton: { type: Boolean },
51
+ color: { default: "primary" }
52
+ },
53
+ emits: ["submit"],
54
+ setup(__props, { emit: __emit }) {
55
+ const props = __props;
56
+ const { type, isNextButton } = toRefs(props);
57
+ const attrs = useAttrs();
58
+ const emit = __emit;
59
+ const $q = useQuasar();
60
+ const lang = useLang();
61
+ if (lang.value.isoName !== $q.lang.isoName) loadLang($q.lang.isoName);
62
+ watch($q.lang, (val) => {
63
+ loadLang($q.lang.isoName);
64
+ });
65
+ let loadingInternal = ref(false);
66
+ const submit = debounce(() => {
67
+ if (props.loading === void 0) loadingInternal.value = true;
68
+ new Promise((resolve, reject) => {
69
+ emit("submit", { done: () => resolve(true) });
70
+ }).finally(() => {
71
+ if (props.loading === void 0) loadingInternal.value = false;
72
+ });
73
+ }, 1e3, true);
74
+ const label = computed(() => {
75
+ const labels = {
76
+ submit: lang.value.submit,
77
+ send: lang.value.send,
78
+ next: lang.value.next
79
+ };
80
+ return isNextButton.value ? lang.value.next : labels[type.value];
81
+ });
82
+ return (_ctx, _cache) => {
83
+ const _component_q_btn = QBtn;
84
+ return openBlock(), createBlock(_component_q_btn, mergeProps(unref(attrs), {
85
+ color: __props.color,
86
+ loading: __props.loading || unref(loadingInternal),
87
+ type: "submit",
88
+ onClick: unref(submit)
89
+ }), {
90
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(label.value), 1)])]),
91
+ _: 3
92
+ }, 16, [
93
+ "color",
94
+ "loading",
95
+ "onClick"
96
+ ]);
97
+ };
98
+ }
99
+ });
100
+ //#endregion
101
+ export { loadLang as n, useLang as r, QSubmitButton_default as t };