@simsustech/quasar-components 0.11.8 → 0.11.10

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 (31) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/authentication.js +70 -41
  3. package/dist/form.js +9 -5
  4. package/dist/general.js +144 -46
  5. package/dist/quasar-components.css +1 -4
  6. package/dist/types/ui/authentication/AccountsTable.vue.d.ts +5 -0
  7. package/dist/types/ui/authentication/ConsentList.vue.d.ts +3 -0
  8. package/dist/types/ui/authentication/LoginForm.vue.d.ts +4 -0
  9. package/dist/types/ui/authentication/PasswordChangeForm.vue.d.ts +8 -0
  10. package/dist/types/ui/authentication/RegisterForm.vue.d.ts +8 -0
  11. package/dist/types/ui/authentication/UserMenuButton.vue.d.ts +3 -0
  12. package/dist/types/ui/form/DateInput.vue.d.ts +8 -0
  13. package/dist/types/ui/general/QLanguageSelectBtn.vue.d.ts +11 -0
  14. package/dist/types/ui/general/ResourcePage.vue.d.ts +8 -0
  15. package/dist/types/ui/general/ResponsiveDialog.vue.d.ts +6 -2
  16. package/dist/types/ui/general/index.d.ts +1 -0
  17. package/package.json +1 -1
  18. package/src/ui/authentication/AccountsTable.vue +18 -9
  19. package/src/ui/authentication/ConsentList.vue +13 -18
  20. package/src/ui/authentication/LoginForm.vue +12 -3
  21. package/src/ui/authentication/PasswordChangeForm.vue +11 -3
  22. package/src/ui/authentication/RegisterForm.vue +11 -3
  23. package/src/ui/authentication/UserMenuButton.vue +9 -3
  24. package/src/ui/form/DateInput.vue +11 -3
  25. package/src/ui/general/QLanguageSelect.vue +1 -0
  26. package/src/ui/general/QLanguageSelectBtn.vue +99 -0
  27. package/src/ui/general/QStyledCard.vue +3 -19
  28. package/src/ui/general/ResourcePage.vue +13 -5
  29. package/src/ui/general/ResponsiveDialog.vue +10 -3
  30. package/src/ui/general/index.ts +1 -0
  31. package/vite.config.ts +0 -70
package/dist/general.js CHANGED
@@ -1,13 +1,13 @@
1
- import { u as useLang, l as loadLang, _ as _sfc_main$5 } from "./QSubmitButton.vue_vue_type_script_setup_true_lang-UtpXkOh7.js";
2
- import { useQuasar, QCard, QCardSection, QCardActions, QDialog, QLayout, QHeader, QToolbar, QBtn, QToolbarTitle, QPageContainer, QPage, QPageSticky, QSpace, QSelect, QItem, QItemSection, QItemLabel, QList } from "quasar";
3
- import { defineComponent, watch, ref, createBlock, openBlock, unref, withCtx, renderSlot, createVNode, createElementVNode, normalizeProps, guardReactiveProps, normalizeClass, createCommentVNode, toRefs, createElementBlock, useAttrs, computed, mergeProps, resolveDynamicComponent, createTextVNode, toDisplayString } from "vue";
1
+ import { u as useLang, l as loadLang, _ as _sfc_main$6 } from "./QSubmitButton.vue_vue_type_script_setup_true_lang-UtpXkOh7.js";
2
+ import { useQuasar, QCard, QCardSection, QCardActions, QDialog, QLayout, QHeader, QToolbar, QBtn, QToolbarTitle, QPageContainer, QPage, QPageSticky, QSpace, QSelect, QItem, QItemSection, QItemLabel, QMenu, QList } from "quasar";
3
+ import { defineComponent, watch, ref, createBlock, openBlock, unref, withCtx, renderSlot, createVNode, createElementVNode, normalizeProps, guardReactiveProps, normalizeClass, createCommentVNode, toRefs, createElementBlock, useAttrs, computed, mergeProps, resolveDynamicComponent, createTextVNode, toDisplayString, resolveDirective, Fragment, renderList, withDirectives } from "vue";
4
4
  import { u as useLang$1, f as flags } from "./index-DnmJt2wP.js";
5
- const _hoisted_1$2 = { class: "text-h6" };
5
+ const _hoisted_1$3 = { class: "text-h6" };
6
6
  const _hoisted_2$1 = { class: "text-subtitle2" };
7
7
  const __default__$2 = {
8
8
  name: "QStyledCard"
9
9
  };
10
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
10
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
11
11
  ...__default__$2,
12
12
  props: {
13
13
  actions: {}
@@ -35,31 +35,30 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
35
35
  const _component_q_card_actions = QCardActions;
36
36
  return openBlock(), createBlock(unref(QCard), {
37
37
  ref_key: "qCardRef",
38
- ref: qCardRef,
39
- class: "card"
38
+ ref: qCardRef
40
39
  }, {
41
40
  default: withCtx(() => [
42
- renderSlot(_ctx.$slots, "image", {}, void 0, true),
41
+ renderSlot(_ctx.$slots, "image"),
43
42
  createVNode(_component_q_card_section, null, {
44
43
  default: withCtx(() => [
45
- createElementVNode("div", _hoisted_1$2, [
46
- renderSlot(_ctx.$slots, "title", {}, void 0, true)
44
+ createElementVNode("div", _hoisted_1$3, [
45
+ renderSlot(_ctx.$slots, "title")
47
46
  ]),
48
47
  createElementVNode("div", _hoisted_2$1, [
49
- renderSlot(_ctx.$slots, "subtitle", {}, void 0, true)
48
+ renderSlot(_ctx.$slots, "subtitle")
50
49
  ])
51
50
  ]),
52
51
  _: 3
53
52
  }),
54
53
  createVNode(_component_q_card_section, { class: "q-pt-none" }, {
55
54
  default: withCtx(() => [
56
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
55
+ renderSlot(_ctx.$slots, "default")
57
56
  ]),
58
57
  _: 3
59
58
  }),
60
59
  createVNode(_component_q_card_actions, normalizeProps(guardReactiveProps(_ctx.actions)), {
61
60
  default: withCtx(() => [
62
- renderSlot(_ctx.$slots, "actions", {}, void 0, true)
61
+ renderSlot(_ctx.$slots, "actions")
63
62
  ]),
64
63
  _: 3
65
64
  }, 16)
@@ -69,24 +68,18 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
69
68
  };
70
69
  }
71
70
  });
72
- const _export_sfc = (sfc, props) => {
73
- const target = sfc.__vccOpts || sfc;
74
- for (const [key, val] of props) {
75
- target[key] = val;
76
- }
77
- return target;
78
- };
79
- const QStyledCard = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-302df27a"]]);
80
71
  const __default__$1 = {
81
72
  name: "ResponsiveDialog"
82
73
  };
83
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
74
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
84
75
  ...__default__$1,
85
76
  props: {
86
77
  display: { type: Boolean },
87
78
  buttonType: { default: "submit" },
88
- closeIcon: { default: "close" },
89
- padding: { type: Boolean }
79
+ padding: { type: Boolean },
80
+ icons: { default: () => ({
81
+ close: "close"
82
+ }) }
90
83
  },
91
84
  emits: ["submit"],
92
85
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -157,7 +150,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
157
150
  createVNode(_component_q_toolbar, null, {
158
151
  default: withCtx(() => [
159
152
  createVNode(_component_q_btn, {
160
- icon: _ctx.closeIcon,
153
+ icon: _ctx.icons.close,
161
154
  flat: "",
162
155
  round: "",
163
156
  dense: "",
@@ -169,7 +162,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
169
162
  ]),
170
163
  _: 3
171
164
  }),
172
- !_ctx.display ? (openBlock(), createBlock(_sfc_main$5, {
165
+ !_ctx.display ? (openBlock(), createBlock(_sfc_main$6, {
173
166
  key: 0,
174
167
  color: "accent",
175
168
  type: _ctx.buttonType,
@@ -204,19 +197,23 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
204
197
  };
205
198
  }
206
199
  });
207
- const _hoisted_1$1 = { style: { "margin-top": "80px" } };
200
+ const _hoisted_1$2 = { style: { "margin-top": "80px" } };
208
201
  const _hoisted_2 = { key: 0 };
209
202
  const _hoisted_3 = { key: 1 };
210
203
  const __default__ = {
211
204
  name: "ResourcePage"
212
205
  };
213
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
206
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
214
207
  ...__default__,
215
208
  props: {
216
209
  type: { default: void 0 },
217
210
  disabled: { type: Boolean, default: false },
218
211
  topBarFab: { type: Boolean, default: false },
219
- topBarShrink: { type: Boolean, default: true }
212
+ topBarShrink: { type: Boolean, default: true },
213
+ icons: { default: () => ({
214
+ add: "add",
215
+ edit: "edit"
216
+ }) }
220
217
  },
221
218
  emits: ["create", "update"],
222
219
  setup(__props, { emit: __emit }) {
@@ -241,7 +238,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
241
238
  const _component_q_page = QPage;
242
239
  return openBlock(), createBlock(_component_q_page, { class: "q-ma-md" }, {
243
240
  default: withCtx(() => [
244
- createElementVNode("div", _hoisted_1$1, [
241
+ createElementVNode("div", _hoisted_1$2, [
245
242
  renderSlot(_ctx.$slots, "default")
246
243
  ]),
247
244
  createVNode(_component_q_page_sticky, {
@@ -263,10 +260,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
263
260
  round: "",
264
261
  size: "lg",
265
262
  dense: "",
266
- icon: "add",
263
+ icon: _ctx.icons.add,
267
264
  class: "q-mr-sm bg-primary text-white",
268
265
  onClick: create
269
- }, null, 8, ["disable"])) : unref(type) === "update" ? (openBlock(), createBlock(_component_q_btn, {
266
+ }, null, 8, ["disable", "icon"])) : unref(type) === "update" ? (openBlock(), createBlock(_component_q_btn, {
270
267
  key: 1,
271
268
  disable: unref(disabled),
272
269
  flat: "",
@@ -274,10 +271,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
274
271
  round: "",
275
272
  size: "lg",
276
273
  dense: "",
277
- icon: "edit",
274
+ icon: _ctx.icons.edit,
278
275
  class: "q-mr-sm bg-primary text-white",
279
276
  onClick: update
280
- }, null, 8, ["disable"])) : createCommentVNode("", true)
277
+ }, null, 8, ["disable", "icon"])) : createCommentVNode("", true)
281
278
  ])) : createCommentVNode("", true),
282
279
  createVNode(_component_q_toolbar_title, { shrink: _ctx.topBarShrink }, {
283
280
  default: withCtx(() => [
@@ -291,17 +288,17 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
291
288
  key: 0,
292
289
  disable: unref(disabled),
293
290
  label: unref(lang).add,
294
- icon: "add",
291
+ icon: _ctx.icons.add,
295
292
  outline: "",
296
293
  onClick: create
297
- }, null, 8, ["disable", "label"])) : unref(type) === "update" ? (openBlock(), createBlock(_component_q_btn, {
294
+ }, null, 8, ["disable", "label", "icon"])) : unref(type) === "update" ? (openBlock(), createBlock(_component_q_btn, {
298
295
  key: 1,
299
296
  disable: unref(disabled),
300
297
  label: unref(lang).edit,
301
- icon: "edit",
298
+ icon: _ctx.icons.edit,
302
299
  outline: "",
303
300
  onClick: update
304
- }, null, 8, ["disable", "label"])) : createCommentVNode("", true)
301
+ }, null, 8, ["disable", "label", "icon"])) : createCommentVNode("", true)
305
302
  ])) : createCommentVNode("", true),
306
303
  createVNode(_component_q_space, { horizontal: "" }),
307
304
  renderSlot(_ctx.$slots, "header-side")
@@ -317,8 +314,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
317
314
  };
318
315
  }
319
316
  });
320
- const _hoisted_1 = { key: 0 };
321
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
317
+ const _hoisted_1$1 = { key: 0 };
318
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
322
319
  __name: "QLanguageSelect",
323
320
  props: {
324
321
  modelValue: {},
@@ -363,11 +360,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
363
360
  return openBlock(), createBlock(unref(QSelect), mergeProps(unref(attrs), {
364
361
  options: languageOptions.value,
365
362
  "model-value": _ctx.modelValue,
363
+ borderless: "",
366
364
  "emit-value": "",
367
365
  "map-options": ""
368
366
  }), {
369
367
  selected: withCtx(() => [
370
- _ctx.modelValue ? (openBlock(), createElementBlock("div", _hoisted_1, [
368
+ _ctx.modelValue ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
371
369
  (openBlock(), createBlock(resolveDynamicComponent(flags[_ctx.modelValue.slice(-2).toLowerCase()])))
372
370
  ])) : createCommentVNode("", true)
373
371
  ]),
@@ -402,6 +400,105 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
402
400
  };
403
401
  }
404
402
  });
403
+ const _hoisted_1 = { key: 0 };
404
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
405
+ __name: "QLanguageSelectBtn",
406
+ props: {
407
+ modelValue: {},
408
+ languageImports: {},
409
+ allowedCodes: { default: () => ["en-US", "nl"] }
410
+ },
411
+ setup(__props) {
412
+ const $q = useQuasar();
413
+ const flagsLang = useLang$1();
414
+ const languageOptions = computed(() => {
415
+ const options = [];
416
+ for (let lang of Object.keys(flagsLang.value.languages)) {
417
+ if (!__props.allowedCodes.length || __props.allowedCodes.includes(lang)) {
418
+ options.push({
419
+ label: flagsLang.value.languages[lang],
420
+ value: lang
421
+ });
422
+ }
423
+ }
424
+ return options;
425
+ });
426
+ watch(
427
+ () => __props.modelValue,
428
+ (langIso) => {
429
+ try {
430
+ __props.languageImports[langIso]().then(
431
+ // langList[`../../../node_modules/quasar/lang/${langIso}.mjs`]().then(
432
+ (lang) => {
433
+ $q.lang.set(lang.default);
434
+ }
435
+ );
436
+ } catch (e) {
437
+ console.error(e);
438
+ }
439
+ }
440
+ );
441
+ return (_ctx, _cache) => {
442
+ const _component_q_item_section = QItemSection;
443
+ const _component_q_item_label = QItemLabel;
444
+ const _component_q_item = QItem;
445
+ const _component_q_list = QList;
446
+ const _component_q_menu = QMenu;
447
+ const _component_q_btn = QBtn;
448
+ const _directive_close_popup = resolveDirective("close-popup");
449
+ return openBlock(), createBlock(_component_q_btn, null, {
450
+ default: withCtx(() => [
451
+ _ctx.modelValue ? (openBlock(), createElementBlock("div", _hoisted_1, [
452
+ (openBlock(), createBlock(resolveDynamicComponent(flags[_ctx.modelValue.slice(-2).toLowerCase()])))
453
+ ])) : createCommentVNode("", true),
454
+ createVNode(_component_q_menu, null, {
455
+ default: withCtx(() => [
456
+ createVNode(_component_q_list, null, {
457
+ default: withCtx(() => [
458
+ (openBlock(true), createElementBlock(Fragment, null, renderList(languageOptions.value, (option) => {
459
+ return withDirectives((openBlock(), createBlock(_component_q_item, {
460
+ key: option.value,
461
+ clickable: "",
462
+ onClick: ($event) => _ctx.$emit("update:model-value", option.value)
463
+ }, {
464
+ default: withCtx(() => [
465
+ createVNode(_component_q_item_section, { avatar: "" }, {
466
+ default: withCtx(() => [
467
+ (openBlock(), createBlock(resolveDynamicComponent(
468
+ flags[option.value.slice(-2).toLowerCase()]
469
+ )))
470
+ ]),
471
+ _: 2
472
+ }, 1024),
473
+ createVNode(_component_q_item_section, null, {
474
+ default: withCtx(() => [
475
+ createVNode(_component_q_item_label, null, {
476
+ default: withCtx(() => [
477
+ createTextVNode(toDisplayString(option.label), 1)
478
+ ]),
479
+ _: 2
480
+ }, 1024)
481
+ ]),
482
+ _: 2
483
+ }, 1024)
484
+ ]),
485
+ _: 2
486
+ }, 1032, ["onClick"])), [
487
+ [_directive_close_popup]
488
+ ]);
489
+ }), 128))
490
+ ]),
491
+ _: 1
492
+ })
493
+ ]),
494
+ _: 1
495
+ })
496
+ ]),
497
+ _: 1
498
+ });
499
+ };
500
+ }
501
+ });
405
502
  const _sfc_main = /* @__PURE__ */ defineComponent({
406
503
  __name: "QDrawerList",
407
504
  setup(__props) {
@@ -417,11 +514,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
417
514
  });
418
515
  export {
419
516
  _sfc_main as QDrawerList,
420
- _sfc_main$1 as QLanguageSelect,
421
- QStyledCard,
422
- _sfc_main$5 as QSubmitButton,
423
- _sfc_main$2 as ResourcePage,
424
- _sfc_main$3 as ResponsiveDialog,
517
+ _sfc_main$2 as QLanguageSelect,
518
+ _sfc_main$1 as QLanguageSelectBtn,
519
+ _sfc_main$5 as QStyledCard,
520
+ _sfc_main$6 as QSubmitButton,
521
+ _sfc_main$3 as ResourcePage,
522
+ _sfc_main$4 as ResponsiveDialog,
425
523
  loadLang,
426
524
  useLang
427
525
  };
@@ -1,7 +1,4 @@
1
- .card[data-v-302df27a] {
2
- width: 100%;
3
- max-width: 300px;
4
- }/* https://github.com/quasarframework/quasar/blob/dev/docs/src/layouts/doc-layout/DocPageMenu.sass */
1
+ /* https://github.com/quasarframework/quasar/blob/dev/docs/src/layouts/doc-layout/DocPageMenu.sass */
5
2
  .q-drawer-list .q-item__section--avatar {
6
3
  color: var(--q-primary);
7
4
  min-width: 28px;
@@ -32,6 +32,11 @@ declare const _default: <T extends Account>(__VLS_props: NonNullable<Awaited<typ
32
32
  pagination: Pagination;
33
33
  mappedRoles: Record<string, string>;
34
34
  columns?: QTableColumn[];
35
+ icons?: {
36
+ search: string;
37
+ cancel: string;
38
+ moreVert: string;
39
+ };
35
40
  } & Partial<{}>> & import("vue").PublicProps;
36
41
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
37
42
  attrs: any;
@@ -8,6 +8,9 @@ export interface Props {
8
8
  resourceScopes?: {
9
9
  name: string;
10
10
  }[];
11
+ icons?: {
12
+ check: string;
13
+ };
11
14
  }
12
15
  declare const _default: import("vue").DefineComponent<Props, {
13
16
  variables: import("vue").Ref<{
@@ -6,6 +6,10 @@ export interface Props {
6
6
  input?: Omit<QInputProps, 'id' | 'name' | 'modelValue' | 'label' | 'rules' | 'type' | 'lazy-rules' | 'autofocus' | ('label' & {
7
7
  style?: Partial<CSSStyleDeclaration>;
8
8
  })>;
9
+ icons?: {
10
+ visibility: string;
11
+ visibilifyOff: string;
12
+ };
9
13
  }
10
14
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
11
15
  variables: import("vue").Ref<{
@@ -6,6 +6,10 @@ export interface Props {
6
6
  input?: Omit<QInputProps, 'id' | 'name' | 'modelValue' | 'label' | 'rules' | 'type' | 'lazy-rules' | 'autofocus' | ('label' & {
7
7
  style?: Partial<CSSStyleDeclaration>;
8
8
  })>;
9
+ icons?: {
10
+ visibility: string;
11
+ visibilityOff: string;
12
+ };
9
13
  }
10
14
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
11
15
  variables: import("vue").Ref<{}, {}>;
@@ -41,6 +45,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
41
45
  }) => any) | undefined;
42
46
  }>, {
43
47
  minimumPasswordLength: number;
48
+ icons: {
49
+ visibility: string;
50
+ visibilityOff: string;
51
+ };
44
52
  form: QFormProps & Partial<HTMLFormElement> & Partial<HTMLDivElement>;
45
53
  input: Omit<QInputProps, "id" | "name" | "modelValue" | "label" | "rules" | "type" | "lazy-rules" | "autofocus" | ("label" & {
46
54
  style?: Partial<CSSStyleDeclaration>;
@@ -11,6 +11,10 @@ export interface Props {
11
11
  input?: Omit<QInputProps, 'id' | 'name' | 'modelValue' | 'label' | 'rules' | 'type' | 'lazy-rules' | 'autofocus' | ('label' & {
12
12
  style?: Partial<CSSStyleDeclaration>;
13
13
  })>;
14
+ icons?: {
15
+ visibility: string;
16
+ visibilityOff: string;
17
+ };
14
18
  }
15
19
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
16
20
  variables: import("vue").Ref<{
@@ -66,6 +70,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
66
70
  }) => any) | undefined;
67
71
  }>, {
68
72
  minimumPasswordLength: number;
73
+ icons: {
74
+ visibility: string;
75
+ visibilityOff: string;
76
+ };
69
77
  form: QFormProps & Partial<HTMLFormElement> & Partial<HTMLDivElement>;
70
78
  input: Omit<QInputProps, "id" | "name" | "modelValue" | "label" | "rules" | "type" | "lazy-rules" | "autofocus" | ("label" & {
71
79
  style?: Partial<CSSStyleDeclaration>;
@@ -1,6 +1,9 @@
1
1
  import type { RouteLocationRaw } from 'vue-router';
2
2
  export interface Props {
3
3
  userRoute: RouteLocationRaw;
4
+ icons?: {
5
+ person: string;
6
+ };
4
7
  }
5
8
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
6
9
  variables: import("vue").Ref<{}, {}>;
@@ -7,6 +7,10 @@ export interface Props {
7
7
  required?: boolean;
8
8
  clearable?: boolean;
9
9
  date?: Partial<QDateProps>;
10
+ icons?: {
11
+ event: string;
12
+ clear: string;
13
+ };
10
14
  }
11
15
  declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
16
  "update:modelValue": (val: string | null) => any;
@@ -14,6 +18,10 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
14
18
  "onUpdate:modelValue"?: ((val: string | null) => any) | undefined;
15
19
  }>, {
16
20
  label: string;
21
+ icons: {
22
+ event: string;
23
+ clear: string;
24
+ };
17
25
  format: "YYYY-MM-DD" | "DD-MM-YYYY" | "MM-DD-YYYY";
18
26
  date: Partial<QDateProps>;
19
27
  locale: QuasarLanguageCodes[number];
@@ -0,0 +1,11 @@
1
+ import { QuasarLanguage } from 'quasar';
2
+ import { useLang as useFlagsLang } from '../flags/lang/index.js';
3
+ export interface Props {
4
+ modelValue: string;
5
+ languageImports: Record<string, () => Promise<{
6
+ default: QuasarLanguage;
7
+ }>>;
8
+ allowedCodes?: [keyof ReturnType<typeof useFlagsLang>['value']['languages']];
9
+ }
10
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -3,6 +3,10 @@ export interface Props {
3
3
  disabled?: boolean;
4
4
  topBarFab?: boolean;
5
5
  topBarShrink?: boolean;
6
+ icons?: {
7
+ add: string;
8
+ edit: string;
9
+ };
6
10
  }
7
11
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
12
  update: (args_0: {
@@ -24,6 +28,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {},
24
28
  }) => any) | undefined;
25
29
  }>, {
26
30
  type: "create" | "update";
31
+ icons: {
32
+ add: string;
33
+ edit: string;
34
+ };
27
35
  disabled: boolean;
28
36
  topBarFab: boolean;
29
37
  topBarShrink: boolean;
@@ -1,8 +1,10 @@
1
1
  export interface Props {
2
2
  display?: boolean;
3
3
  buttonType?: 'submit' | 'send';
4
- closeIcon?: string;
5
4
  padding?: boolean;
5
+ icons?: {
6
+ close: string;
7
+ };
6
8
  }
7
9
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
8
10
  variables: import("vue").Ref<{}, {}>;
@@ -28,8 +30,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {
28
30
  done: (success?: boolean) => void;
29
31
  }) => any) | undefined;
30
32
  }>, {
33
+ icons: {
34
+ close: string;
35
+ };
31
36
  buttonType: "submit" | "send";
32
- closeIcon: string;
33
37
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
34
38
  title?: ((props: {}) => any) | undefined;
35
39
  default?: ((props: {}) => any) | undefined;
@@ -3,5 +3,6 @@ export { default as QStyledCard } from './QStyledCard.vue';
3
3
  export { default as ResponsiveDialog } from './ResponsiveDialog.vue';
4
4
  export { default as ResourcePage } from './ResourcePage.vue';
5
5
  export { default as QLanguageSelect } from './QLanguageSelect.vue';
6
+ export { default as QLanguageSelectBtn } from './QLanguageSelectBtn.vue';
6
7
  export { default as QDrawerList } from './QDrawerList.vue';
7
8
  export { useLang, loadLang } from './lang/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simsustech/quasar-components",
3
- "version": "0.11.8",
3
+ "version": "0.11.10",
4
4
  "author": "Stefan van Herwijnen",
5
5
  "description": "High level components for Quasar Framework",
6
6
  "license": "MIT",
@@ -17,17 +17,17 @@
17
17
  </q-tr>
18
18
  </template>
19
19
  <template #top-right>
20
- <q-btn icon="search" flat>
20
+ <q-btn :icon="searchIcon" flat>
21
21
  <q-menu>
22
22
  <div class="q-pa-sm">
23
23
  <q-input v-model="name" :label="lang.account.fields.name">
24
24
  <template #append>
25
25
  <q-icon
26
26
  v-if="name"
27
- name="cancel"
28
- @click="name = ''"
29
27
  class="q-field__focusable-action"
30
28
  role="button"
29
+ :name="cancelIcon"
30
+ @click="name = ''"
31
31
  />
32
32
  </template>
33
33
  </q-input>
@@ -35,10 +35,10 @@
35
35
  <template #append>
36
36
  <q-icon
37
37
  v-if="email"
38
- name="cancel"
39
- @click="email = ''"
40
38
  class="q-field__focusable-action"
41
39
  role="button"
40
+ :name="cancelIcon"
41
+ @click="email = ''"
42
42
  />
43
43
  </template>
44
44
  </q-input>
@@ -55,10 +55,10 @@
55
55
  <template #append>
56
56
  <q-icon
57
57
  v-if="roles.length"
58
- name="cancel"
59
- @click="roles = []"
60
58
  class="q-field__focusable-action"
61
59
  role="button"
60
+ :name="cancelIcon"
61
+ @click="roles = []"
62
62
  />
63
63
  </template>
64
64
  </q-select>
@@ -72,7 +72,7 @@
72
72
  {{ col.value }}
73
73
  </q-td>
74
74
  <q-td auto-width>
75
- <q-btn size="sm" round flat icon="more_vert">
75
+ <q-btn size="sm" round flat :icon="moreVertIcon">
76
76
  <q-menu>
77
77
  <q-list>
78
78
  <q-item clickable @click="openAddRoleDialog(props.row)">
@@ -127,6 +127,11 @@ const props = defineProps<{
127
127
  pagination: Pagination
128
128
  mappedRoles: Record<string, string> // value: label
129
129
  columns?: QTableColumn[]
130
+ icons?: {
131
+ search: string
132
+ cancel: string
133
+ moreVert: string
134
+ }
130
135
  }>()
131
136
 
132
137
  const emit = defineEmits<{
@@ -136,7 +141,7 @@ const emit = defineEmits<{
136
141
  (e: 'removeRole', { id, role }: { id: number; role: string }): void
137
142
  }>()
138
143
 
139
- const { modelValue, count, mappedRoles, columns } = toRefs(props)
144
+ const { modelValue, count, mappedRoles, columns, icons } = toRefs(props)
140
145
 
141
146
  // const { useQuery } = await createUseTrpc()
142
147
  const lang = useLang()
@@ -275,4 +280,8 @@ const openRemoveRoleDialog = (account: Account) => {
275
280
  emit('removeRole', { id: account.id, role })
276
281
  })
277
282
  }
283
+
284
+ const searchIcon = icons.value?.search ?? 'search'
285
+ const cancelIcon = icons.value?.cancel ?? 'cancel'
286
+ const moreVertIcon = icons.value?.moreVert ?? 'more_vert'
278
287
  </script>