@verdnatura/vn-front-lib 0.1.4 → 0.1.5

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.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./composables-yeEr4YMb.cjs");exports.fetchLocalData=e.n,exports.focusFirstInput=e.p,exports.getObjectByKeys=e.a,exports.getObjectDifferences=e.o,exports.getRemoteAndLocalParams=e.r,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return e.d}}),exports.isComparableObject=e.s,exports.isSameValue=e.c,exports.requestData=e.i,exports.tMobile=e.h,exports.useArrayData=e.m,exports.useGlobalMessages=e.f,exports.useNotify=e.u,exports.useObjectComparison=e.l,exports.useRequired=e.g,exports.useState=e.t,exports.useValidator=e._;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./composables-CdGu2cUF.cjs");exports.fetchLocalData=e.n,exports.focusFirstInput=e.p,exports.getObjectByKeys=e.a,exports.getObjectDifferences=e.o,exports.getRemoteAndLocalParams=e.r,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return e.d}}),exports.isComparableObject=e.s,exports.isSameValue=e.c,exports.requestData=e.i,exports.tMobile=e.h,exports.useArrayData=e.m,exports.useGlobalMessages=e.f,exports.useNotify=e.u,exports.useObjectComparison=e.l,exports.useRequired=e.g,exports.useState=e.t,exports.useValidator=e._;
@@ -1,2 +1,2 @@
1
- import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "./composables-BDoUoFC_.js";
1
+ import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "./composables-BJrEMtL8.js";
2
2
  export { u as fetchLocalData, f as focusFirstInput, t as getObjectByKeys, d as getObjectDifferences, p as getRemoteAndLocalParams, r as i18n, m as isComparableObject, n as isSameValue, s as requestData, o as tMobile, l as useArrayData, i as useGlobalMessages, g as useNotify, c as useObjectComparison, a as useRequired, h as useState, e as useValidator };
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./composables-yeEr4YMb.cjs"),t=require("./components-Bzkod14A.cjs");function n(n,r={}){for(let e in t.t)n.component(e,t.t[e]);e.f(r.i18n)}var r={install:n};exports.VnConfirm=t.l,exports.VnDate=t.o,exports.VnFetch=t.r,exports.VnForm=t.n,exports.VnInput=t.a,exports.VnInputDate=t.i,exports.VnSkeletonForm=t.c,exports.VnSpinner=t.s,exports.default=r,exports.fetchLocalData=e.n,exports.focusFirstInput=e.p,exports.getObjectByKeys=e.a,exports.getObjectDifferences=e.o,exports.getRemoteAndLocalParams=e.r,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return e.d}}),exports.isComparableObject=e.s,exports.isSameValue=e.c,exports.requestData=e.i,exports.tMobile=e.h,exports.useArrayData=e.m,exports.useGlobalMessages=e.f,exports.useNotify=e.u,exports.useObjectComparison=e.l,exports.useRequired=e.g,exports.useState=e.t,exports.useValidator=e._;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./components-DNcJf2vk.cjs"),t=require("./composables-CdGu2cUF.cjs");function n(n,r={}){for(let t in e.t)n.component(t,e.t[t]);t.f(r.i18n)}var r={install:n};exports.VnConfirm=e.l,exports.VnDate=e.o,exports.VnFetch=e.r,exports.VnForm=e.n,exports.VnInput=e.a,exports.VnInputDate=e.i,exports.VnSkeletonForm=e.c,exports.VnSpinner=e.s,exports.default=r,exports.fetchLocalData=t.n,exports.focusFirstInput=t.p,exports.getObjectByKeys=t.a,exports.getObjectDifferences=t.o,exports.getRemoteAndLocalParams=t.r,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return t.d}}),exports.isComparableObject=t.s,exports.isSameValue=t.c,exports.requestData=t.i,exports.tMobile=t.h,exports.useArrayData=t.m,exports.useGlobalMessages=t.f,exports.useNotify=t.u,exports.useObjectComparison=t.l,exports.useRequired=t.g,exports.useState=t.t,exports.useValidator=t._;
@@ -1,2 +1,2 @@
1
- .q-card[data-v-67508d3b]{white-space:pre-line;min-width:350px}.vn-spinner[data-v-e5edebae]{border:3px solid color-mix(in srgb, var(--vn-label-color) 15%, transparent);border-top-color:var(--q-primary);box-sizing:border-box;border-radius:50%;min-width:16px;min-height:16px;animation:.7s cubic-bezier(.4,.15,.6,.85) infinite vn-spin-e5edebae}@keyframes vn-spin-e5edebae{to{transform:rotate(360deg)}}.vn-spinner-fade-enter-active[data-v-e5edebae],.vn-spinner-fade-leave-active[data-v-e5edebae]{transition:opacity .3s,transform .3s}.vn-spinner-fade-enter-from[data-v-e5edebae],.vn-spinner-fade-leave-to[data-v-e5edebae]{opacity:0;transform:scale(.6)}.q-date[data-v-2705e766]{width:245px;min-width:unset}.q-date[data-v-2705e766] .q-date__calendar{padding-bottom:0}.q-date[data-v-2705e766] .q-date__view{min-height:245px;padding:8px}.q-date[data-v-2705e766] .q-date__calendar-days-container{min-height:160px;height:unset}.q-date[data-v-2705e766] .q-date__header{height:60px;padding:2px 2px 5px 12px}.uppercase-icon{cursor:pointer;transition:color .3s,transform .2s}.uppercase-icon:hover{color:var(--q-color-primary);transform:scale(1.2)}.q-notifications[data-v-4f7a49f7]{color:#000}.q-card[data-v-4f7a49f7]{padding:32px}
1
+ .q-card[data-v-087d2dc1]{white-space:pre-line;min-width:350px}.vn-spinner[data-v-e5edebae]{border:3px solid color-mix(in srgb, var(--vn-label-color) 15%, transparent);border-top-color:var(--q-primary);box-sizing:border-box;border-radius:50%;min-width:16px;min-height:16px;animation:.7s cubic-bezier(.4,.15,.6,.85) infinite vn-spin-e5edebae}@keyframes vn-spin-e5edebae{to{transform:rotate(360deg)}}.vn-spinner-fade-enter-active[data-v-e5edebae],.vn-spinner-fade-leave-active[data-v-e5edebae]{transition:opacity .3s,transform .3s}.vn-spinner-fade-enter-from[data-v-e5edebae],.vn-spinner-fade-leave-to[data-v-e5edebae]{opacity:0;transform:scale(.6)}.q-date[data-v-8338d4d1]{width:245px;min-width:unset}.q-date[data-v-8338d4d1] .q-date__calendar{padding-bottom:0}.q-date[data-v-8338d4d1] .q-date__view{min-height:245px;padding:8px}.q-date[data-v-8338d4d1] .q-date__calendar-days-container{min-height:160px;height:unset}.q-date[data-v-8338d4d1] .q-date__header{height:60px;padding:2px 2px 5px 12px}.uppercase-icon{cursor:pointer;transition:color .3s,transform .2s}.uppercase-icon:hover{color:var(--q-color-primary);transform:scale(1.2)}.q-notifications[data-v-addfa85d]{color:#000}.q-card[data-v-addfa85d]{padding:32px}
2
2
  /*$vite$:1*/
@@ -1,5 +1,5 @@
1
- import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "./composables-BDoUoFC_.js";
2
- import { a as _, c as v, i as y, l as b, n as x, o as S, r as C, s as w, t as T } from "./components-CGtJrHS1.js";
1
+ import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "./composables-BJrEMtL8.js";
2
+ import { a as _, c as v, i as y, l as b, n as x, o as S, r as C, s as w, t as T } from "./components-TYH6aw6P.js";
3
3
  //#region lib/main.js
4
4
  function E(e, t = {}) {
5
5
  for (let t in T) e.component(t, T[t]);
@@ -1,6 +1,15 @@
1
1
  <script setup>
2
2
  import { ref } from 'vue';
3
3
  import * as quasarPkg from 'quasar';
4
+ import {
5
+ QDialog,
6
+ QCard,
7
+ QCardSection,
8
+ QCardActions,
9
+ QAvatar,
10
+ QSpace,
11
+ QBtn,
12
+ } from 'quasar';
4
13
  import { useI18n } from 'vue-i18n';
5
14
 
6
15
  const { t } = useI18n();
@@ -42,7 +51,11 @@ const props = defineProps({
42
51
  },
43
52
  });
44
53
 
45
- const emit = defineEmits(['confirm', 'cancel', ...quasarPkg.useDialogPluginComponent.emits]);
54
+ const emit = defineEmits([
55
+ 'confirm',
56
+ 'cancel',
57
+ ...quasarPkg.useDialogPluginComponent.emits,
58
+ ]);
46
59
  defineExpose({ show: () => dialogRef.value.show(), hide: () => dialogRef.value.hide() });
47
60
 
48
61
  const { dialogRef, onDialogHide, onDialogOK, onDialogCancel } =
@@ -1,3 +1,6 @@
1
+ <script setup>
2
+ import { QSkeleton } from 'quasar';
3
+ </script>
1
4
  <template>
2
5
  <div class="row q-gutter-md q-mb-md">
3
6
  <QSkeleton type="QInput" class="col" square />
@@ -1,34 +1,35 @@
1
1
  <script setup>
2
- const model = defineModel({type: [String, Number], default: ""});
2
+ import { QDate } from 'quasar';
3
+ const model = defineModel({ type: [String, Number], default: '' });
3
4
  </script>
4
5
  <template>
5
- <QDate
6
- v-model="model"
7
- :today-btn="true"
8
- :options="$attrs.options"
9
- autocomplete="off"
10
- />
6
+ <QDate
7
+ v-model="model"
8
+ :today-btn="true"
9
+ :options="$attrs.options"
10
+ autocomplete="off"
11
+ />
11
12
  </template>
12
13
  <style lang="scss" scoped>
13
14
  .q-date {
14
- width: 245px;
15
- min-width: unset;
15
+ width: 245px;
16
+ min-width: unset;
16
17
 
17
- :deep(.q-date__calendar) {
18
- padding-bottom: 0;
19
- }
20
- :deep(.q-date__view) {
21
- min-height: 245px;
22
- padding: 8px;
23
- }
24
- :deep(.q-date__calendar-days-container) {
25
- min-height: 160px;
26
- height: unset;
27
- }
18
+ :deep(.q-date__calendar) {
19
+ padding-bottom: 0;
20
+ }
21
+ :deep(.q-date__view) {
22
+ min-height: 245px;
23
+ padding: 8px;
24
+ }
25
+ :deep(.q-date__calendar-days-container) {
26
+ min-height: 160px;
27
+ height: unset;
28
+ }
28
29
 
29
- :deep(.q-date__header) {
30
- padding: 2px 2px 5px 12px;
31
- height: 60px;
32
- }
30
+ :deep(.q-date__header) {
31
+ padding: 2px 2px 5px 12px;
32
+ height: 60px;
33
+ }
33
34
  }
34
35
  </style>
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
2
  import { computed, ref, useAttrs, nextTick, onMounted } from 'vue';
3
+ import { QInput, QIcon, QTooltip } from 'quasar';
3
4
  import { useI18n } from 'vue-i18n';
4
5
  import { useRequired } from 'lib/composables/useRequired';
5
6
 
@@ -1,39 +1,39 @@
1
1
  <script setup>
2
- import {nextTick, watch, computed, ref, useAttrs} from "vue";
3
- import {useI18n} from "vue-i18n";
4
- import {date, getCssVar} from "quasar";
5
- import VnDate from "./VnDate.vue";
2
+ import { nextTick, watch, computed, ref, useAttrs } from 'vue';
3
+ import { useI18n } from 'vue-i18n';
4
+ import { date, getCssVar, QInput, QIcon, QTooltip, QMenu, QDialog } from 'quasar';
5
+ import VnDate from './VnDate.vue';
6
6
  import { useRequired } from '@verdnatura/vn-front-lib/composables';
7
7
 
8
8
  const $attrs = useAttrs();
9
- const {t} = useI18n();
10
- const {isRequired, requiredFieldRule} = useRequired($attrs);
11
- const model = defineModel({type: [String, Date, Object]});
9
+ const { t } = useI18n();
10
+ const { isRequired, requiredFieldRule } = useRequired($attrs);
11
+ const model = defineModel({ type: [String, Date, Object] });
12
12
 
13
13
  const $props = defineProps({
14
- isOutlined: {
15
- type: Boolean,
16
- default: false,
17
- },
18
- showEvent: {
19
- type: Boolean,
20
- default: true,
21
- },
22
- hideYearNavigation: {
23
- type: Boolean,
24
- default: false,
25
- },
26
- clearOnHover: {
27
- type: Boolean,
28
- default: false,
29
- },
14
+ isOutlined: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ showEvent: {
19
+ type: Boolean,
20
+ default: true,
21
+ },
22
+ hideYearNavigation: {
23
+ type: Boolean,
24
+ default: false,
25
+ },
26
+ clearOnHover: {
27
+ type: Boolean,
28
+ default: false,
29
+ },
30
30
  });
31
31
 
32
32
  const vnInputDateRef = ref(null);
33
- const errColor = getCssVar("negative");
34
- const textColor = ref("");
33
+ const errColor = getCssVar('negative');
34
+ const textColor = ref('');
35
35
 
36
- const dateFormat = "DD/MM/YYYY";
36
+ const dateFormat = 'DD/MM/YYYY';
37
37
  const isPopupOpen = ref();
38
38
  const hover = ref();
39
39
 
@@ -41,232 +41,232 @@ const mixinRules = [requiredFieldRule, ...($attrs.rules ?? [])];
41
41
 
42
42
  const val = computed(() => model.value?.neq || model.value?.nin || model.value);
43
43
  const inputTitle = computed(() => {
44
- if (!val.value) return;
45
- return Array.isArray(val.value)
46
- ? val.value.map((v) => date.formatDate(new Date(v), dateFormat)).join(", ")
47
- : date.formatDate(new Date(val.value), dateFormat);
44
+ if (!val.value) return;
45
+ return Array.isArray(val.value)
46
+ ? val.value.map((v) => date.formatDate(new Date(v), dateFormat)).join(', ')
47
+ : date.formatDate(new Date(val.value), dateFormat);
48
48
  });
49
49
  const popupDate = computed(() => {
50
- const dateToFormat = Array.isArray(val.value) ? val.value[0] : val.value;
51
- return dateToFormat
52
- ? date.formatDate(new Date(dateToFormat), "YYYY/MM/DD")
53
- : dateToFormat;
50
+ const dateToFormat = Array.isArray(val.value) ? val.value[0] : val.value;
51
+ return dateToFormat
52
+ ? date.formatDate(new Date(dateToFormat), 'YYYY/MM/DD')
53
+ : dateToFormat;
54
54
  });
55
55
  const styleAttrs = computed(() => {
56
- return $props.isOutlined
57
- ? {
58
- dense: true,
59
- outlined: true,
60
- rounded: true,
61
- }
62
- : {};
56
+ return $props.isOutlined
57
+ ? {
58
+ dense: true,
59
+ outlined: true,
60
+ rounded: true,
61
+ }
62
+ : {};
63
63
  });
64
64
 
65
- const inputValue = ref("");
66
- const dataCy = $attrs["data-cy"] ?? $attrs.label;
67
- const menuDataCy = dataCy + "_menu";
68
- const inputDataCy = dataCy + "_inputDate";
65
+ const inputValue = ref('');
66
+ const dataCy = $attrs['data-cy'] ?? $attrs.label;
67
+ const menuDataCy = dataCy + '_menu';
68
+ const inputDataCy = dataCy + '_inputDate';
69
69
 
70
70
  const validateAndCleanInput = (value) => {
71
- if (!value && $attrs.clearable) {
72
- inputValue.value = null;
73
- model.value = null;
74
- return;
75
- }
76
- inputValue.value = value.replace(/[^0-9./-]/g, "");
71
+ if (!value && $attrs.clearable) {
72
+ inputValue.value = null;
73
+ model.value = null;
74
+ return;
75
+ }
76
+ inputValue.value = value.replace(/[^0-9./-]/g, '');
77
77
  };
78
78
 
79
79
  const manageDate = (date) => {
80
- if (!date) return;
81
- inputValue.value = date.split("/").reverse().join("/");
82
- formatDate();
83
- isPopupOpen.value = false;
80
+ if (!date) return;
81
+ inputValue.value = date.split('/').reverse().join('/');
82
+ formatDate();
83
+ isPopupOpen.value = false;
84
84
  };
85
85
 
86
86
  watch(
87
- () => model.value,
88
- () => {
89
- const dateToFormat = Array.isArray(val.value) ? val.value[0] : val.value;
90
- inputValue.value = dateToFormat
91
- ? date.formatDate(new Date(dateToFormat), dateFormat)
92
- : "";
93
- },
94
- {immediate: true},
87
+ () => model.value,
88
+ () => {
89
+ const dateToFormat = Array.isArray(val.value) ? val.value[0] : val.value;
90
+ inputValue.value = dateToFormat
91
+ ? date.formatDate(new Date(dateToFormat), dateFormat)
92
+ : '';
93
+ },
94
+ { immediate: true },
95
95
  );
96
96
 
97
97
  watch(isPopupOpen, (val) => {
98
- if (val && $props.hideYearNavigation) {
99
- nextTick(() => {
100
- const navButtons = ["back", "type", "forward"];
101
- document.querySelectorAll(`.q-date__navigation`).forEach((parent) => {
102
- for (let i = 0; i < navButtons.length; i++) {
103
- if (parent.lastElementChild)
104
- parent.removeChild(parent.lastElementChild);
105
- }
106
- });
107
- });
108
- }
98
+ if (val && $props.hideYearNavigation) {
99
+ nextTick(() => {
100
+ const navButtons = ['back', 'type', 'forward'];
101
+ document.querySelectorAll(`.q-date__navigation`).forEach((parent) => {
102
+ for (let i = 0; i < navButtons.length; i++) {
103
+ if (parent.lastElementChild)
104
+ parent.removeChild(parent.lastElementChild);
105
+ }
106
+ });
107
+ });
108
+ }
109
109
  });
110
110
 
111
111
  const formatDate = () => {
112
- let value = inputValue.value;
113
- if (!value || value === model.value) {
114
- textColor.value = "";
115
- return;
116
- }
117
- const regex =
118
- /^([0]?[1-9]|[12][0-9]|3[01])([./-])([0]?[1-9]|1[0-2])([./-](\d{1,4}))?$/;
119
- if (!regex.test(value)) {
120
- textColor.value = errColor;
121
- return;
122
- }
112
+ let value = inputValue.value;
113
+ if (!value || value === model.value) {
114
+ textColor.value = '';
115
+ return;
116
+ }
117
+ const regex =
118
+ /^([0]?[1-9]|[12][0-9]|3[01])([./-])([0]?[1-9]|1[0-2])([./-](\d{1,4}))?$/;
119
+ if (!regex.test(value)) {
120
+ textColor.value = errColor;
121
+ return;
122
+ }
123
123
 
124
- value = value.replace(/[.-]/g, "/");
125
- const parts = value.split("/");
126
- if (parts.length < 2) {
127
- textColor.value = errColor;
128
- return;
129
- }
124
+ value = value.replace(/[.-]/g, '/');
125
+ const parts = value.split('/');
126
+ if (parts.length < 2) {
127
+ textColor.value = errColor;
128
+ return;
129
+ }
130
130
 
131
- let [day, month, year] = parts;
132
- if (day.length === 1) day = "0" + day;
133
- if (month.length === 1) month = "0" + month;
131
+ let [day, month, year] = parts;
132
+ if (day.length === 1) day = '0' + day;
133
+ if (month.length === 1) month = '0' + month;
134
134
 
135
- const currentYear = Date.vnNew().getFullYear();
136
- if (!year) year = currentYear;
137
- const millennium = currentYear.toString().slice(0, 1);
135
+ const currentYear = Date.vnNew().getFullYear();
136
+ if (!year) year = currentYear;
137
+ const millennium = currentYear.toString().slice(0, 1);
138
138
 
139
- switch (year.length) {
140
- case 1:
141
- year = `${millennium}00${year}`;
142
- break;
143
- case 2:
144
- year = `${millennium}0${year}`;
145
- break;
146
- case 3:
147
- year = `${millennium}${year}`;
148
- break;
149
- case 4:
150
- break;
151
- }
139
+ switch (year.length) {
140
+ case 1:
141
+ year = `${millennium}00${year}`;
142
+ break;
143
+ case 2:
144
+ year = `${millennium}0${year}`;
145
+ break;
146
+ case 3:
147
+ year = `${millennium}${year}`;
148
+ break;
149
+ case 4:
150
+ break;
151
+ }
152
152
 
153
- let isoCandidate = `${year}/${month}/${day}`;
154
- isoCandidate = date.formatDate(
155
- new Date(isoCandidate).toISOString(),
156
- "YYYY-MM-DDTHH:mm:ss.SSSZ",
157
- );
158
- const [isoYear, isoMonth, isoDay] = isoCandidate.split("-").map((e) => parseInt(e));
159
- const parsedDate = new Date(isoYear, isoMonth - 1, isoDay);
153
+ let isoCandidate = `${year}/${month}/${day}`;
154
+ isoCandidate = date.formatDate(
155
+ new Date(isoCandidate).toISOString(),
156
+ 'YYYY-MM-DDTHH:mm:ss.SSSZ',
157
+ );
158
+ const [isoYear, isoMonth, isoDay] = isoCandidate.split('-').map((e) => parseInt(e));
159
+ const parsedDate = new Date(isoYear, isoMonth - 1, isoDay);
160
160
 
161
- const isValidDate =
162
- parsedDate instanceof Date &&
163
- !isNaN(parsedDate) &&
164
- parsedDate.getFullYear() === parseInt(year) &&
165
- parsedDate.getMonth() === parseInt(month) - 1 &&
166
- parsedDate.getDate() === parseInt(day);
161
+ const isValidDate =
162
+ parsedDate instanceof Date &&
163
+ !isNaN(parsedDate) &&
164
+ parsedDate.getFullYear() === parseInt(year) &&
165
+ parsedDate.getMonth() === parseInt(month) - 1 &&
166
+ parsedDate.getDate() === parseInt(day);
167
167
 
168
- if (!isValidDate) {
169
- textColor.value = errColor;
170
- return;
171
- }
168
+ if (!isValidDate) {
169
+ textColor.value = errColor;
170
+ return;
171
+ }
172
172
 
173
- if (val.value) {
174
- const originalVal = Array.isArray(val.value) ? val.value[0] : val.value;
175
- const original =
176
- originalVal instanceof Date ? originalVal : new Date(originalVal);
177
- parsedDate.setHours(
178
- original.getHours(),
179
- original.getMinutes(),
180
- original.getSeconds(),
181
- original.getMilliseconds(),
182
- );
183
- }
173
+ if (val.value) {
174
+ const originalVal = Array.isArray(val.value) ? val.value[0] : val.value;
175
+ const original =
176
+ originalVal instanceof Date ? originalVal : new Date(originalVal);
177
+ parsedDate.setHours(
178
+ original.getHours(),
179
+ original.getMinutes(),
180
+ original.getSeconds(),
181
+ original.getMilliseconds(),
182
+ );
183
+ }
184
184
 
185
- const iso = parsedDate.toISOString();
186
- if (model.value?.neq) model.value = {neq: iso};
187
- else if (model.value?.nin) model.value = {nin: [...model.value.nin, iso]};
188
- else model.value = iso;
185
+ const iso = parsedDate.toISOString();
186
+ if (model.value?.neq) model.value = { neq: iso };
187
+ else if (model.value?.nin) model.value = { nin: [...model.value.nin, iso] };
188
+ else model.value = iso;
189
189
 
190
- textColor.value = "";
190
+ textColor.value = '';
191
191
  };
192
192
 
193
193
  const handleEnter = (event) => {
194
- formatDate();
194
+ formatDate();
195
195
 
196
- nextTick(() => {
197
- const newEvent = new KeyboardEvent("keydown", {
198
- key: "Enter",
199
- code: "Enter",
200
- bubbles: true,
201
- cancelable: true,
196
+ nextTick(() => {
197
+ const newEvent = new KeyboardEvent('keydown', {
198
+ key: 'Enter',
199
+ code: 'Enter',
200
+ bubbles: true,
201
+ cancelable: true,
202
+ });
203
+ vnInputDateRef.value?.$el?.dispatchEvent(newEvent);
202
204
  });
203
- vnInputDateRef.value?.$el?.dispatchEvent(newEvent);
204
- });
205
205
  };
206
206
  </script>
207
207
 
208
208
  <template>
209
- <div @mouseover="hover = true" @mouseleave="hover = false">
210
- <QInput
211
- ref="vnInputDateRef"
212
- v-model="inputValue"
213
- class="vn-input-date"
214
- placeholder="dd/mm/aaaa"
215
- v-bind="{...$attrs, ...styleAttrs}"
216
- :class="{required: isRequired}"
217
- :rules="mixinRules"
218
- :clearable="false"
219
- :input-style="{color: textColor}"
220
- :input-class="{'text-strike': !!(model?.neq || model?.nin)}"
221
- :title="inputTitle"
222
- @click="isPopupOpen = !isPopupOpen"
223
- @keydown="isPopupOpen = false"
224
- @focusout="formatDate"
225
- @keydown.enter.prevent="handleEnter"
226
- hide-bottom-space
227
- :data-cy="inputDataCy"
228
- @update:model-value="validateAndCleanInput"
229
- autocomplete="off"
230
- >
231
- <template #append>
232
- <QIcon
233
- name="close"
234
- size="xs"
235
- class="cursor-pointer"
236
- v-if="
237
- ($attrs.clearable == undefined || $attrs.clearable) &&
238
- (!clearOnHover || hover) &&
239
- inputValue &&
240
- !$attrs.disable
241
- "
242
- @click="
243
- vnInputDateRef.focus();
244
- inputValue = null;
245
- model = null;
246
- isPopupOpen = false;
247
- "
209
+ <div @mouseover="hover = true" @mouseleave="hover = false">
210
+ <QInput
211
+ ref="vnInputDateRef"
212
+ v-model="inputValue"
213
+ class="vn-input-date"
214
+ placeholder="dd/mm/aaaa"
215
+ v-bind="{ ...$attrs, ...styleAttrs }"
216
+ :class="{ required: isRequired }"
217
+ :rules="mixinRules"
218
+ :clearable="false"
219
+ :input-style="{ color: textColor }"
220
+ :input-class="{ 'text-strike': !!(model?.neq || model?.nin) }"
221
+ :title="inputTitle"
222
+ @click="isPopupOpen = !isPopupOpen"
223
+ @keydown="isPopupOpen = false"
224
+ @focusout="formatDate"
225
+ @keydown.enter.prevent="handleEnter"
226
+ hide-bottom-space
227
+ :data-cy="inputDataCy"
228
+ @update:model-value="validateAndCleanInput"
229
+ autocomplete="off"
248
230
  >
249
- <QTooltip>{{ t("Remove") }}</QTooltip>
250
- </QIcon>
251
- </template>
252
- <QMenu
253
- v-if="$q.screen.gt.xs"
254
- transition-show="scale"
255
- transition-hide="scale"
256
- v-model="isPopupOpen"
257
- anchor="bottom left"
258
- self="top start"
259
- :no-focus="true"
260
- :no-parent-event="true"
261
- :data-cy="menuDataCy"
262
- >
263
- <VnDate v-model="popupDate" @update:model-value="manageDate" />
264
- </QMenu>
265
- <QDialog v-else v-model="isPopupOpen">
266
- <VnDate v-model="popupDate" @update:model-value="manageDate" />
267
- </QDialog>
268
- </QInput>
269
- </div>
231
+ <template #append>
232
+ <QIcon
233
+ name="close"
234
+ size="xs"
235
+ class="cursor-pointer"
236
+ v-if="
237
+ ($attrs.clearable == undefined || $attrs.clearable) &&
238
+ (!clearOnHover || hover) &&
239
+ inputValue &&
240
+ !$attrs.disable
241
+ "
242
+ @click="
243
+ vnInputDateRef.focus();
244
+ inputValue = null;
245
+ model = null;
246
+ isPopupOpen = false;
247
+ "
248
+ >
249
+ <QTooltip>{{ t('Remove') }}</QTooltip>
250
+ </QIcon>
251
+ </template>
252
+ <QMenu
253
+ v-if="$q.screen.gt.xs"
254
+ transition-show="scale"
255
+ transition-hide="scale"
256
+ v-model="isPopupOpen"
257
+ anchor="bottom left"
258
+ self="top start"
259
+ :no-focus="true"
260
+ :no-parent-event="true"
261
+ :data-cy="menuDataCy"
262
+ >
263
+ <VnDate v-model="popupDate" @update:model-value="manageDate" />
264
+ </QMenu>
265
+ <QDialog v-else v-model="isPopupOpen">
266
+ <VnDate v-model="popupDate" @update:model-value="manageDate" />
267
+ </QDialog>
268
+ </QInput>
269
+ </div>
270
270
  </template>
271
271
  <i18n>
272
272
  es:
@@ -4,6 +4,7 @@ import { onMounted, onUnmounted, computed, ref, watch, nextTick } from 'vue';
4
4
  import { onBeforeRouteLeave, useRouter, useRoute } from 'vue-router';
5
5
  import { useI18n } from 'vue-i18n';
6
6
  import * as quasarPkg from 'quasar';
7
+ import { QInnerLoading, QForm, QCard, QCardSection, QBtnGroup, QBtn } from 'quasar';
7
8
  import {
8
9
  useState,
9
10
  useValidator,
@@ -1,4 +1,4 @@
1
- import * as quasar from 'quasar';
1
+ import { Notify } from 'quasar';
2
2
  import { i18n } from './useGlobalMessages';
3
3
 
4
4
  export function useNotify() {
@@ -14,7 +14,7 @@ export function useNotify() {
14
14
  icon: icon ? icon : defaultIcons[type],
15
15
  ...opts,
16
16
  };
17
- quasar.Notify.create(payload);
17
+ Notify.create(payload);
18
18
  };
19
19
 
20
20
  return {