@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
@@ -1,106 +1,55 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
1
  import { promises } from 'fs';
38
2
  import { Icon, FlagIcon } from './virtualModules.js';
39
- var readFile = promises.readFile;
3
+ const { readFile } = promises;
40
4
  import { fileURLToPath } from 'node:url';
41
- export default function () {
42
- return __awaiter(this, arguments, void 0, function (_a) {
43
- var pkgJson, _b, _c, exports, name;
44
- var _d = _a === void 0 ? {} : _a, buildFromSrc = _d.buildFromSrc;
45
- return __generator(this, function (_e) {
46
- switch (_e.label) {
47
- case 0:
48
- _c = (_b = JSON).parse;
49
- return [4 /*yield*/, readFile(fileURLToPath(new URL('../package.json', import.meta.url)), 'utf-8')];
50
- case 1:
51
- pkgJson = _c.apply(_b, [_e.sent()]);
52
- exports = pkgJson.exports;
53
- name = pkgJson.name;
54
- return [2 /*return*/, {
55
- name: "".concat(name, "-plugin"),
56
- enforce: 'pre',
57
- resolveId: function (id) {
58
- if (id.includes('.flag'))
59
- return id;
60
- else if (id.includes('.icon'))
61
- return id;
62
- },
63
- load: function (id) {
64
- if (id.includes('.flag')) {
65
- var locale = id.slice(0, -5);
66
- var flag = FlagIcon(locale);
67
- return flag;
68
- }
69
- else if (id.includes('.icon')) {
70
- var iconId = id.slice(0, -5);
71
- var icon = Icon(iconId);
72
- return icon;
73
- }
74
- },
75
- config: function (config, _a) {
76
- var mode = _a.mode;
77
- if (mode === 'development' || buildFromSrc) {
78
- var alias = Object.entries(exports)
79
- .filter(function (_a) {
80
- var val = _a[1];
81
- return val.src;
82
- })
83
- .map(function (_a) {
84
- var key = _a[0], val = _a[1];
85
- return {
86
- find: new RegExp("^".concat(name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + key.slice(1), "$")),
87
- // name: name + key.slice(1),
88
- replacement: new URL('.' + val.src, import.meta.url).pathname
89
- };
90
- });
91
- return {
92
- resolve: {
93
- alias: alias
94
- },
95
- optimizeDeps: {
96
- exclude: ['@simsustech/quasar-components']
97
- }
98
- };
99
- }
100
- return {};
101
- }
102
- }];
5
+ export default async function ({ buildFromSrc } = {}) {
6
+ const pkgJson = JSON.parse(await readFile(fileURLToPath(new URL('../package.json', import.meta.url)), 'utf-8'));
7
+ const exports = pkgJson.exports;
8
+ const name = pkgJson.name;
9
+ return {
10
+ name: `${name}-plugin`,
11
+ enforce: 'pre',
12
+ resolveId: (id) => {
13
+ if (id.includes('.flag'))
14
+ return id;
15
+ else if (id.includes('.icon'))
16
+ return id;
17
+ },
18
+ load: (id) => {
19
+ if (id.includes('.flag')) {
20
+ const locale = id.slice(0, -5);
21
+ const flag = FlagIcon(locale);
22
+ return flag;
23
+ }
24
+ else if (id.includes('.icon')) {
25
+ const iconId = id.slice(0, -5);
26
+ const icon = Icon(iconId);
27
+ return icon;
28
+ }
29
+ },
30
+ config(config, { mode }) {
31
+ if (mode === 'development' || buildFromSrc) {
32
+ const alias = Object.entries(exports)
33
+ .filter(([, val]) => {
34
+ return val.src;
35
+ })
36
+ .map(([key, val]) => {
37
+ return {
38
+ find: new RegExp(`^${name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + key.slice(1)}$`),
39
+ // name: name + key.slice(1),
40
+ replacement: new URL('.' + val.src, import.meta.url).pathname
41
+ };
42
+ });
43
+ return {
44
+ resolve: {
45
+ alias
46
+ },
47
+ optimizeDeps: {
48
+ exclude: ['@simsustech/quasar-components']
49
+ }
50
+ };
103
51
  }
104
- });
105
- });
52
+ return {};
53
+ }
54
+ };
106
55
  }
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "@simsustech/quasar-components",
3
- "version": "0.12.0",
4
- "author": "Stefan van Herwijnen",
3
+ "version": "0.12.1",
5
4
  "description": "High level components for Quasar Framework",
5
+ "bugs": "https://github.com/simsusech/quasar-components/issues",
6
6
  "license": "MIT",
7
+ "author": "Stefan van Herwijnen",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/simsustech/quasar-components"
11
+ },
7
12
  "type": "module",
8
13
  "types": "./dist/types/ui/index.d.ts",
9
14
  "exports": {
@@ -45,55 +50,50 @@
45
50
  "import": "./dist/vite-plugin.js"
46
51
  }
47
52
  },
48
- "repository": {
49
- "type": "git",
50
- "url": "https://github.com/simsustech/quasar-components"
51
- },
52
- "bugs": "https://github.com/simsusech/quasar-components/issues",
53
53
  "dependencies": {
54
- "@vueuse/core": "^14.2.1",
55
- "validator": "^13.15.26"
56
- },
57
- "peerDependencies": {
58
- "quasar": "^2.18.6"
54
+ "@vueuse/core": "^14.3.0",
55
+ "validator": "^13.15.35"
59
56
  },
60
57
  "devDependencies": {
61
58
  "@iconify-json/flagpack": "^1.2.7",
62
- "@types/node": "^25.3.1",
59
+ "@types/node": "^25.9.1",
63
60
  "@types/validator": "^13.15.10",
64
61
  "@types/ws": "^8.18.1",
65
- "@typescript-eslint/eslint-plugin": "^8.56.1",
66
- "@typescript-eslint/parser": "^8.56.1",
67
- "@vitejs/plugin-vue": "^6.0.4",
68
- "@vue/server-renderer": "^3.5.29",
69
- "eslint": "^10.0.2",
62
+ "@typescript-eslint/eslint-plugin": "^8.60.0",
63
+ "@typescript-eslint/parser": "^8.60.0",
64
+ "@vitejs/plugin-vue": "^6.0.7",
65
+ "@vue/server-renderer": "^3.5.35",
66
+ "eslint": "^10.4.0",
70
67
  "eslint-config-prettier": "^10.1.8",
71
68
  "eslint-plugin-prettier": "^5.5.5",
72
69
  "eslint-plugin-prettier-vue": "^5.0.0",
73
- "eslint-plugin-vue": "^10.8.0",
70
+ "eslint-plugin-vue": "^10.9.1",
74
71
  "glob": "^13.0.6",
75
- "local-pkg": "^1.1.2",
76
- "prettier": "^3.8.1",
77
- "quasar": "^2.18.6",
72
+ "local-pkg": "^1.2.1",
73
+ "prettier": "^3.8.3",
74
+ "quasar": "^2.19.3",
78
75
  "rimraf": "^6.1.3",
79
- "typescript": "5.9.3",
80
- "typescript-eslint": "^8.56.1",
81
- "unplugin-vue-components": "^31.0.0",
82
- "vite": "^7.3.1",
83
- "vue": "^3.5.29",
76
+ "typescript": "6.0.3",
77
+ "typescript-eslint": "^8.60.0",
78
+ "unplugin-vue-components": "^32.1.0",
79
+ "vite": "^8.0.14",
80
+ "vue": "^3.5.35",
84
81
  "vue-eslint-parser": "^10.4.0",
85
- "vue-router": "^5.0.3",
86
- "vue-tsc": "^3.2.5"
82
+ "vue-router": "^5.0.7",
83
+ "vue-tsc": "^3.3.2"
84
+ },
85
+ "peerDependencies": {
86
+ "quasar": "^2.19.3"
87
87
  },
88
88
  "scripts": {
89
89
  "build:plugin": "vite build",
90
90
  "build:vite-plugin": "rimraf tsconfig.build.plugin.tsbuildinfo && tsc -p tsconfig.build.plugin.json",
91
91
  "generate:types": "vue-tsc -p tsconfig.types.json",
92
92
  "build": "run-s build:plugin build:vite-plugin generate:types",
93
- "lint": "eslint src",
94
- "lint:fix": "eslint src --fix",
95
- "format:check": "prettier --check .",
96
- "format:write": "prettier --write .",
93
+ "lint": "oxlint src",
94
+ "lint:fix": "oxlint src --fix",
95
+ "format:check": "oxfmt --check .",
96
+ "format:write": "oxfmt --write .",
97
97
  "test": "echo \"Error: no test specified\" && exit 0"
98
98
  }
99
99
  }
@@ -96,9 +96,14 @@ export interface Props {
96
96
  visibility: string
97
97
  visibilifyOff: string
98
98
  }
99
+ defaultCredentials?: {
100
+ username?: string
101
+ email: string
102
+ password: string
103
+ }
99
104
  }
100
105
  const props = defineProps<Props>()
101
- const { icons } = toRefs(props)
106
+ const { icons, defaultCredentials } = toRefs(props)
102
107
 
103
108
  // const attrs = useAttrs();
104
109
  const emit = defineEmits<{
@@ -124,9 +129,9 @@ watch($q.lang, (val) => {
124
129
  loadLang($q.lang.isoName)
125
130
  })
126
131
 
127
- const email = ref('')
128
- const password = ref('')
129
- const username = ref('')
132
+ const email = ref(defaultCredentials.value?.email ?? '')
133
+ const password = ref(defaultCredentials.value?.password ?? '')
134
+ const username = ref(defaultCredentials.value?.username ?? '')
130
135
  const showPassword = ref(false)
131
136
  const header = computed(() => lang.value.login.login)
132
137
  const createAccount = computed(() => lang.value.login.createAccount)
package/tsconfig.json CHANGED
@@ -12,6 +12,7 @@
12
12
  "declaration": true,
13
13
  "lib": ["esnext", "dom"],
14
14
  "types": ["vite/client"],
15
+ "rootDir": "./",
15
16
  "outDir": "./dist"
16
17
  },
17
18
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
@@ -4,7 +4,8 @@
4
4
  "module": "esnext",
5
5
  "moduleResolution": "Bundler",
6
6
  "outDir": "./dist",
7
- "declaration": true
7
+ "declaration": true,
8
+ "rootDir": "./"
8
9
  },
9
10
  "include": ["vite.config.ts", "src/virtualModules.ts"]
10
11
  }
@@ -11,7 +11,8 @@
11
11
  "emitDeclarationOnly": true,
12
12
  "declarationDir": "./dist/types",
13
13
  "isolatedModules": true,
14
- "types": ["vite/client"]
14
+ "types": ["vite/client"],
15
+ "rootDir": "./"
15
16
  },
16
17
  "include": ["./src"]
17
18
  }
@@ -1,353 +0,0 @@
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
- };