@forizi-tecnologia/ui 0.0.4 → 0.0.6
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.
- package/README.md +46 -5
- package/dist/chunks/components/FzConfigProvider-X6sXT-LE.js +15 -0
- package/dist/chunks/components/FzConfigProvider-X6sXT-LE.js.map +1 -0
- package/dist/chunks/components/inputs-FzEmailField-CujT-RJo.js +87 -0
- package/dist/chunks/components/inputs-FzEmailField-CujT-RJo.js.map +1 -0
- package/dist/chunks/components/{inputs-FzFullAddress-e05j6MFg.js → inputs-FzFullAddress-Dj68efww.js} +70 -69
- package/dist/chunks/components/inputs-FzFullAddress-Dj68efww.js.map +1 -0
- package/dist/chunks/components/inputs-FzMoneyField-Co9uqB9u.js +107 -0
- package/dist/chunks/components/inputs-FzMoneyField-Co9uqB9u.js.map +1 -0
- package/dist/chunks/components/{inputs-FzNumberField-BAPRZpBo.js → inputs-FzNumberField-DG-uYIEA.js} +38 -37
- package/dist/chunks/components/inputs-FzNumberField-DG-uYIEA.js.map +1 -0
- package/dist/chunks/components/inputs-FzPhoneField-B8Mk05Hd.js +273 -0
- package/dist/chunks/components/inputs-FzPhoneField-B8Mk05Hd.js.map +1 -0
- package/dist/chunks/components/inputs-FzZipCodeField-B7fHUkXJ.js +103 -0
- package/dist/chunks/components/inputs-FzZipCodeField-B7fHUkXJ.js.map +1 -0
- package/dist/chunks/components/{layout-FzLoadingOverlay-DbVh5Ncb.js → layout-FzLoadingOverlay-CWKZxowb.js} +2 -2
- package/dist/chunks/components/{layout-FzLoadingOverlay-DbVh5Ncb.js.map → layout-FzLoadingOverlay-CWKZxowb.js.map} +1 -1
- package/dist/chunks/components/{messages-FzConfirmDialog-kcpokBc2.js → messages-FzConfirmDialog-vB2NQFVy.js} +2 -2
- package/dist/chunks/components/{messages-FzConfirmDialog-kcpokBc2.js.map → messages-FzConfirmDialog-vB2NQFVy.js.map} +1 -1
- package/dist/chunks/components/{messages-FzCustomConfirmDialog-CttE2KMh.js → messages-FzCustomConfirmDialog-DF73kvKq.js} +16 -16
- package/dist/chunks/components/{messages-FzCustomConfirmDialog-CttE2KMh.js.map → messages-FzCustomConfirmDialog-DF73kvKq.js.map} +1 -1
- package/dist/chunks/components/{messages-FzFloatingNotify-BdlkCu5i.js → messages-FzFloatingNotify-CV5gLl9-.js} +2 -2
- package/dist/chunks/components/{messages-FzFloatingNotify-BdlkCu5i.js.map → messages-FzFloatingNotify-CV5gLl9-.js.map} +1 -1
- package/dist/chunks/components/{modals-FzModalBase-C4wU9yAp.js → modals-FzModalBase-DmsJR5qM.js} +2 -2
- package/dist/chunks/components/{modals-FzModalBase-C4wU9yAp.js.map → modals-FzModalBase-DmsJR5qM.js.map} +1 -1
- package/dist/chunks/composables/useFzDefaults-BAOcJYaF.js +9 -0
- package/dist/chunks/composables/useFzDefaults-BAOcJYaF.js.map +1 -0
- package/dist/chunks/index-OarSr4I3.js +33 -0
- package/dist/chunks/index-OarSr4I3.js.map +1 -0
- package/dist/components/FzConfigProvider.vue.d.ts +20 -0
- package/dist/components/FzConfigProvider.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +24 -22
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/FzEmailField.vue.d.ts.map +1 -1
- package/dist/components/inputs/FzFullAddress.vue.d.ts.map +1 -1
- package/dist/components/inputs/FzMoneyField.vue.d.ts.map +1 -1
- package/dist/components/inputs/FzNumberField.vue.d.ts.map +1 -1
- package/dist/components/inputs/FzPhoneField.vue.d.ts.map +1 -1
- package/dist/components/inputs/FzZipCodeField.vue.d.ts.map +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/index.js +11 -9
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/useFzDefaults.d.ts +3 -0
- package/dist/composables/useFzDefaults.d.ts.map +1 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -75
- package/dist/index.js.map +1 -1
- package/dist/types/FzDefaults.d.ts +5 -0
- package/dist/types/FzDefaults.d.ts.map +1 -0
- package/dist/ui.css +1 -1
- package/dist/utils/index.js +19 -18
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/components/inputs-FzEmailField-B07tsUyr.js +0 -86
- package/dist/chunks/components/inputs-FzEmailField-B07tsUyr.js.map +0 -1
- package/dist/chunks/components/inputs-FzFullAddress-e05j6MFg.js.map +0 -1
- package/dist/chunks/components/inputs-FzMoneyField-BxAg9Bd_.js +0 -106
- package/dist/chunks/components/inputs-FzMoneyField-BxAg9Bd_.js.map +0 -1
- package/dist/chunks/components/inputs-FzNumberField-BAPRZpBo.js.map +0 -1
- package/dist/chunks/components/inputs-FzPhoneField-DKMx53pK.js +0 -272
- package/dist/chunks/components/inputs-FzPhoneField-DKMx53pK.js.map +0 -1
- package/dist/chunks/components/inputs-FzZipCodeField-kkCMb3t9.js +0 -102
- package/dist/chunks/components/inputs-FzZipCodeField-kkCMb3t9.js.map +0 -1
- package/dist/chunks/index-Bu6SLmX_.js +0 -31
- package/dist/chunks/index-Bu6SLmX_.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,94 +1,99 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { globalsPlugin as
|
|
1
|
+
import { c as s } from "./chunks/index-OarSr4I3.js";
|
|
2
|
+
import { globalsPlugin as t } from "./plugins/index.js";
|
|
3
3
|
import { e as a } from "./chunks/utils/vuetify-check-DRI6ZYnO.js";
|
|
4
|
-
import { d as
|
|
5
|
-
import { n as B, u as
|
|
6
|
-
import { l as
|
|
7
|
-
import { c as
|
|
8
|
-
import { a as
|
|
9
|
-
import { A as
|
|
10
|
-
import { u as Q } from "./chunks/composables/
|
|
11
|
-
import { u as X } from "./chunks/composables/
|
|
12
|
-
import { u as oo } from "./chunks/composables/
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { _ as
|
|
16
|
-
import {
|
|
17
|
-
import { _ as
|
|
18
|
-
import { _ as
|
|
19
|
-
import { _ as co } from "./chunks/components/inputs-
|
|
20
|
-
import { _ as
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import { F as
|
|
24
|
-
import { F as
|
|
25
|
-
import { F as
|
|
26
|
-
import { F as
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
4
|
+
import { d as S } from "./chunks/utils/vuetify-check-DRI6ZYnO.js";
|
|
5
|
+
import { n as B, u as K } from "./chunks/utils/notify-CE_gbk11.js";
|
|
6
|
+
import { l as U, u as Y } from "./chunks/utils/loading-dXhCGa6R.js";
|
|
7
|
+
import { c as v, u as w } from "./chunks/utils/confirm-DiGEPjua.js";
|
|
8
|
+
import { a as Z, c as j } from "./chunks/utils/api-N1Cju-89.js";
|
|
9
|
+
import { A as q, N as H } from "./chunks/utils/types-DV6li0y5.js";
|
|
10
|
+
import { u as Q } from "./chunks/composables/useFzDefaults-BAOcJYaF.js";
|
|
11
|
+
import { u as X } from "./chunks/composables/useGlobals-AagqYKoP.js";
|
|
12
|
+
import { u as oo } from "./chunks/composables/useBreakpoint-DnFIVluv.js";
|
|
13
|
+
import { u as eo } from "./chunks/composables/useLoading-Cu1i2QIr.js";
|
|
14
|
+
import { N as to, c as ao, u as io } from "./chunks/composables/useNumericInput-DGw52-Ds.js";
|
|
15
|
+
import { F as fo, _ as mo } from "./chunks/components/FzConfigProvider-X6sXT-LE.js";
|
|
16
|
+
import { VTooltip as i, VTextField as n, VSpacer as f, VSelect as m, VRow as p, VProgressCircular as u, VMenu as l, VIcon as F, VDialog as x, VCol as c, VCardTitle as d, VCardText as V, VCardActions as g, VCard as z, VBtn as C, VAlert as T } from "vuetify/components";
|
|
17
|
+
import { _ as uo } from "./chunks/components/buttons-FzIconToolTip-D_cBN1TN.js";
|
|
18
|
+
import { _ as Fo } from "./chunks/components/messages-FzConfirmDialog-vB2NQFVy.js";
|
|
19
|
+
import { _ as co } from "./chunks/components/inputs-FzEmailField-CujT-RJo.js";
|
|
20
|
+
import { _ as go } from "./chunks/components/inputs-FzPhoneField-B8Mk05Hd.js";
|
|
21
|
+
import { _ as Co } from "./chunks/components/inputs-FzZipCodeField-B7fHUkXJ.js";
|
|
22
|
+
import { _ as _o } from "./chunks/components/inputs-FzFullAddress-Dj68efww.js";
|
|
23
|
+
import { F as Ao } from "./chunks/components/modals-FzModalBase-DmsJR5qM.js";
|
|
24
|
+
import { F as yo } from "./chunks/components/messages-FzCustomConfirmDialog-DF73kvKq.js";
|
|
25
|
+
import { F as Eo } from "./chunks/components/messages-FzFloatingNotify-CV5gLl9-.js";
|
|
26
|
+
import { F as Do } from "./chunks/components/layout-FzLoadingOverlay-CWKZxowb.js";
|
|
27
|
+
import { F as Po } from "./chunks/components/inputs-FzMoneyField-Co9uqB9u.js";
|
|
28
|
+
import { F as Mo } from "./chunks/components/inputs-FzNumberField-DG-uYIEA.js";
|
|
29
|
+
const L = {
|
|
30
|
+
VAlert: T,
|
|
31
|
+
VBtn: C,
|
|
32
|
+
VCard: z,
|
|
31
33
|
VCardActions: g,
|
|
32
34
|
VCardText: V,
|
|
33
35
|
VCardTitle: d,
|
|
34
|
-
VCol:
|
|
35
|
-
VDialog:
|
|
36
|
+
VCol: c,
|
|
37
|
+
VDialog: x,
|
|
36
38
|
VIcon: F,
|
|
37
39
|
VMenu: l,
|
|
38
40
|
VProgressCircular: u,
|
|
39
41
|
VRow: p,
|
|
40
|
-
VSelect:
|
|
41
|
-
VSpacer:
|
|
42
|
+
VSelect: m,
|
|
43
|
+
VSpacer: f,
|
|
42
44
|
VTextField: n,
|
|
43
45
|
VTooltip: i
|
|
44
|
-
},
|
|
45
|
-
function
|
|
46
|
-
Object.entries(
|
|
47
|
-
o.component(
|
|
46
|
+
}, _ = s;
|
|
47
|
+
function N(o) {
|
|
48
|
+
Object.entries(_).forEach(([r, e]) => {
|
|
49
|
+
o.component(r, e);
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
|
-
function
|
|
51
|
-
o.use(
|
|
52
|
+
function A(o) {
|
|
53
|
+
o.use(t);
|
|
52
54
|
}
|
|
53
|
-
function
|
|
54
|
-
a(o),
|
|
55
|
+
function D(o) {
|
|
56
|
+
a(o), N(o), A(o);
|
|
55
57
|
}
|
|
56
58
|
export {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
59
|
+
q as API_TIMEOUT,
|
|
60
|
+
fo as FZ_DEFAULTS_KEY,
|
|
61
|
+
mo as FzConfigProvider,
|
|
62
|
+
Fo as FzConfirmDialog,
|
|
63
|
+
yo as FzCustomConfirmDialog,
|
|
64
|
+
co as FzEmailField,
|
|
65
|
+
Eo as FzFloatingNotify,
|
|
66
|
+
_o as FzFullAddress,
|
|
67
|
+
uo as FzIconToolTip,
|
|
68
|
+
Do as FzLoadingOverlay,
|
|
69
|
+
Ao as FzModalBase,
|
|
70
|
+
Po as FzMoneyField,
|
|
71
|
+
Mo as FzNumberField,
|
|
72
|
+
go as FzPhoneField,
|
|
73
|
+
Co as FzZipCodeField,
|
|
74
|
+
to as NAVIGATION_KEYS,
|
|
75
|
+
H as NOTIFY_DURATION,
|
|
76
|
+
Z as api,
|
|
77
|
+
_ as components,
|
|
78
|
+
j as configureApi,
|
|
79
|
+
v as confirm,
|
|
80
|
+
ao as createNumericKeydownHandler,
|
|
81
|
+
S as debugVuetifyInstances,
|
|
82
|
+
N as default,
|
|
79
83
|
a as ensureVuetify,
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
t as globalsPlugin,
|
|
85
|
+
U as loading,
|
|
82
86
|
B as notify,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
Q as
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
A as registerLibPlugins,
|
|
88
|
+
L as requiredVuetifyComponents,
|
|
89
|
+
D as setupLib,
|
|
90
|
+
oo as useBreakpoint,
|
|
91
|
+
w as useConfirmStore,
|
|
92
|
+
Q as useFzDefaults,
|
|
93
|
+
X as useGlobals,
|
|
94
|
+
eo as useLoading,
|
|
95
|
+
Y as useLoadingRefs,
|
|
96
|
+
K as useNotifyStore,
|
|
97
|
+
io as useNumericInput
|
|
93
98
|
};
|
|
94
99
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/vuetifyComponents.ts","../src/index.ts"],"sourcesContent":["/**\n * Vuetify components required by this library.\n *\n * Use this when configuring Vuetify in the consumer project to\n * register only the components this library needs, avoiding a\n * full import of `vuetify/components`.\n *\n * @example\n * // consumer's vuetify.ts\n * import { requiredVuetifyComponents } from '@forizi/ui'\n * import { ... } from 'vuetify/components' // your own components\n *\n * export default createVuetify({\n * components: {\n * ...requiredVuetifyComponents,\n * // ...your other components\n * },\n * })\n */\nimport type { Component } from 'vue';\nimport {\n VAlert,\n VBtn,\n VCard,\n VCardActions,\n VCardText,\n VCardTitle,\n VCol,\n VDialog,\n VIcon,\n VMenu,\n VProgressCircular,\n VRow,\n VSelect,\n VSpacer,\n VTextField,\n VTooltip,\n} from 'vuetify/components';\n\nexport const requiredVuetifyComponents: Record<string, Component> = {\n VAlert,\n VBtn,\n VCard,\n VCardActions,\n VCardText,\n VCardTitle,\n VCol,\n VDialog,\n VIcon,\n VMenu,\n VProgressCircular,\n VRow,\n VSelect,\n VSpacer,\n VTextField,\n VTooltip,\n};\n","import type { App } from 'vue';\nimport * as componentExports from './components';\nimport { globalsPlugin } from './plugins';\nimport { ensureVuetify } from './utils/vuetify-check';\n\nexport const components = componentExports;\n\nexport * from './components';\n\nexport * from './utils';\n\nexport * from './composables';\n\nexport { globalsPlugin } from './plugins';\n\nexport { requiredVuetifyComponents } from './vuetifyComponents';\n\nexport default function registerLibComponents(app: App) {\n Object.entries(components).forEach(([name, component]) => {\n app.component(name, component);\n });\n}\n\nexport function registerLibPlugins(app: App) {\n app.use(globalsPlugin);\n}\n\nexport function setupLib(app: App) {\n ensureVuetify(app);\n\n registerLibComponents(app);\n registerLibPlugins(app);\n}\n"],"names":["requiredVuetifyComponents","VAlert","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VDialog","VIcon","VMenu","VProgressCircular","VRow","VSelect","VSpacer","VTextField","VTooltip","components","componentExports","registerLibComponents","app","name","component","registerLibPlugins","globalsPlugin","setupLib","ensureVuetify"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/vuetifyComponents.ts","../src/index.ts"],"sourcesContent":["/**\n * Vuetify components required by this library.\n *\n * Use this when configuring Vuetify in the consumer project to\n * register only the components this library needs, avoiding a\n * full import of `vuetify/components`.\n *\n * @example\n * // consumer's vuetify.ts\n * import { requiredVuetifyComponents } from '@forizi/ui'\n * import { ... } from 'vuetify/components' // your own components\n *\n * export default createVuetify({\n * components: {\n * ...requiredVuetifyComponents,\n * // ...your other components\n * },\n * })\n */\nimport type { Component } from 'vue';\nimport {\n VAlert,\n VBtn,\n VCard,\n VCardActions,\n VCardText,\n VCardTitle,\n VCol,\n VDialog,\n VIcon,\n VMenu,\n VProgressCircular,\n VRow,\n VSelect,\n VSpacer,\n VTextField,\n VTooltip,\n} from 'vuetify/components';\n\nexport const requiredVuetifyComponents: Record<string, Component> = {\n VAlert,\n VBtn,\n VCard,\n VCardActions,\n VCardText,\n VCardTitle,\n VCol,\n VDialog,\n VIcon,\n VMenu,\n VProgressCircular,\n VRow,\n VSelect,\n VSpacer,\n VTextField,\n VTooltip,\n};\n","import type { App } from 'vue';\nimport * as componentExports from './components';\nimport { globalsPlugin } from './plugins';\nimport { ensureVuetify } from './utils/vuetify-check';\n\nexport const components = componentExports;\n\nexport * from './components';\n\nexport * from './utils';\n\nexport * from './composables';\n\nexport * from './constants';\n\nexport type { FzDefaults } from './types/FzDefaults';\n\nexport { globalsPlugin } from './plugins';\n\nexport { requiredVuetifyComponents } from './vuetifyComponents';\n\nexport default function registerLibComponents(app: App) {\n Object.entries(components).forEach(([name, component]) => {\n app.component(name, component);\n });\n}\n\nexport function registerLibPlugins(app: App) {\n app.use(globalsPlugin);\n}\n\nexport function setupLib(app: App) {\n ensureVuetify(app);\n\n registerLibComponents(app);\n registerLibPlugins(app);\n}\n"],"names":["requiredVuetifyComponents","VAlert","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VDialog","VIcon","VMenu","VProgressCircular","VRow","VSelect","VSpacer","VTextField","VTooltip","components","componentExports","registerLibComponents","app","name","component","registerLibPlugins","globalsPlugin","setupLib","ensureVuetify"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCO,MAAMA,IAAuD;AAAA,EAClE,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AACF,GCnDaC,IAAaC;AAgB1B,SAAwBC,EAAsBC,GAAU;AACtD,SAAO,QAAQH,CAAU,EAAE,QAAQ,CAAC,CAACI,GAAMC,CAAS,MAAM;AACxD,IAAAF,EAAI,UAAUC,GAAMC,CAAS;AAAA,EAC/B,CAAC;AACH;AAEO,SAASC,EAAmBH,GAAU;AAC3C,EAAAA,EAAI,IAAII,CAAa;AACvB;AAEO,SAASC,EAASL,GAAU;AACjC,EAAAM,EAAcN,CAAG,GAEjBD,EAAsBC,CAAG,GACzBG,EAAmBH,CAAG;AACxB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FzDefaults.d.ts","sourceRoot":"","sources":["../../src/types/FzDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B"}
|
package/dist/ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-v-
|
|
1
|
+
[data-v-a32d1159] input{text-align:right}.modal-title[data-v-e2905dad]{word-break:break-word;white-space:normal}.v-overlay-container .v-menu>.v-overlay__content,.v-overlay-container .v-select__content,.v-overlay-container .v-autocomplete__content{z-index:2500}.custom-dialog-overlay[data-v-45577764]{position:fixed;inset:0;background-color:#00000080;z-index:2400}.dialog-fade-enter-active[data-v-45577764],.dialog-fade-leave-active[data-v-45577764]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-45577764],.dialog-fade-leave-to[data-v-45577764]{opacity:0}.dialog-fade-enter-active .v-card[data-v-45577764],.dialog-fade-leave-active .v-card[data-v-45577764]{transition:transform .2s ease}.dialog-fade-enter-from .v-card[data-v-45577764],.dialog-fade-leave-to .v-card[data-v-45577764]{transform:scale(.9)}.floating-notify[data-v-b4d8014f]{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;z-index:9999;border-radius:4px;overflow:hidden}.floating-notify[data-v-b4d8014f] .v-alert--border{border-inline-start-width:0}.progress-track[data-v-b4d8014f]{height:3px}.progress-fill[data-v-b4d8014f]{height:100%;transition:width .1s linear}.slide-fade-enter-active[data-v-b4d8014f]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-b4d8014f]{transition:all .3s ease-in}.slide-fade-enter-from[data-v-b4d8014f],.slide-fade-leave-to[data-v-b4d8014f]{transform:translate(100%);opacity:0}.loading-overlay[data-v-7110b861]{position:fixed;inset:0;background-color:#000000b3;z-index:9998}.fade-enter-active[data-v-7110b861],.fade-leave-active[data-v-7110b861]{transition:opacity .2s ease}.fade-enter-from[data-v-7110b861],.fade-leave-to[data-v-7110b861]{opacity:0}.fade-delayed-enter-active[data-v-7110b861]{transition:opacity .3s ease .1s}.fade-delayed-leave-active[data-v-7110b861]{transition:opacity .2s ease}.fade-delayed-enter-from[data-v-7110b861],.fade-delayed-leave-to[data-v-7110b861]{opacity:0}[data-v-c53749c6] input{text-align:right}[data-v-c53749c6] input[type=number]::-webkit-inner-spin-button,[data-v-c53749c6] input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[data-v-c53749c6] input[type=number]{-moz-appearance:textfield;appearance:textfield}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import { l as
|
|
3
|
-
import { c
|
|
4
|
-
import { a as
|
|
5
|
-
import { A, N } from "../chunks/utils/types-DV6li0y5.js";
|
|
6
|
-
import { d as
|
|
1
|
+
import { n as f, u as m } from "../chunks/utils/notify-CE_gbk11.js";
|
|
2
|
+
import { l as u, u as n } from "../chunks/utils/loading-dXhCGa6R.js";
|
|
3
|
+
import { c, u as I } from "../chunks/utils/confirm-DiGEPjua.js";
|
|
4
|
+
import { a as g, c as y } from "../chunks/utils/api-N1Cju-89.js";
|
|
5
|
+
import { A as N, N as T } from "../chunks/utils/types-DV6li0y5.js";
|
|
6
|
+
import { d as l, e as R } from "../chunks/utils/vuetify-check-DRI6ZYnO.js";
|
|
7
|
+
import "../chunks/composables/useFzDefaults-BAOcJYaF.js";
|
|
7
8
|
import "../chunks/composables/useGlobals-AagqYKoP.js";
|
|
8
9
|
import "../chunks/composables/useBreakpoint-DnFIVluv.js";
|
|
9
10
|
import "../chunks/composables/useLoading-Cu1i2QIr.js";
|
|
10
11
|
import "../chunks/composables/useNumericInput-DGw52-Ds.js";
|
|
11
12
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
N as API_TIMEOUT,
|
|
14
|
+
T as NOTIFY_DURATION,
|
|
15
|
+
g as api,
|
|
16
|
+
y as configureApi,
|
|
17
|
+
c as confirm,
|
|
18
|
+
l as debugVuetifyInstances,
|
|
19
|
+
R as ensureVuetify,
|
|
20
|
+
u as loading,
|
|
21
|
+
f as notify,
|
|
22
|
+
I as useConfirmStore,
|
|
23
|
+
n as useLoadingRefs,
|
|
24
|
+
m as useNotifyStore
|
|
24
25
|
};
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { defineComponent as k, ref as x, computed as t, resolveComponent as m, createBlock as $, openBlock as z, createSlots as C, withCtx as o, renderSlot as c, createVNode as E, createTextVNode as M, toDisplayString as A } from "vue";
|
|
2
|
-
const O = /* @__PURE__ */ k({
|
|
3
|
-
__name: "FzEmailField",
|
|
4
|
-
props: {
|
|
5
|
-
modelValue: { default: "" },
|
|
6
|
-
label: { default: "Email" },
|
|
7
|
-
rules: { default: () => [] },
|
|
8
|
-
disabled: { type: Boolean, default: !1 },
|
|
9
|
-
hint: { default: "" },
|
|
10
|
-
required: { type: Boolean, default: !1 },
|
|
11
|
-
validateOnBlur: { type: Boolean, default: !0 },
|
|
12
|
-
requiredMessage: { default: "" },
|
|
13
|
-
invalidMessage: { default: "" },
|
|
14
|
-
variant: { default: "underlined" },
|
|
15
|
-
maxlength: { default: 100 }
|
|
16
|
-
},
|
|
17
|
-
emits: ["update:modelValue", "isValid"],
|
|
18
|
-
setup(a, { emit: f }) {
|
|
19
|
-
const l = a, r = f, v = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, n = x(!1), p = t(() => !!l.hint), h = t(() => n.value ? "mdi-email-check" : "mdi-email-outline"), V = t(() => n.value ? "success" : void 0), d = t({
|
|
20
|
-
get: () => l.modelValue,
|
|
21
|
-
set: (e) => {
|
|
22
|
-
l.validateOnBlur || s(e), r("update:modelValue", e);
|
|
23
|
-
}
|
|
24
|
-
}), g = t(() => [u, ...l.rules]);
|
|
25
|
-
function u(e) {
|
|
26
|
-
return e ? v.test(e) ? !0 : l.invalidMessage || "Formato de e-mail inválido" : l.required ? l.requiredMessage || "Email é obrigatório" : !0;
|
|
27
|
-
}
|
|
28
|
-
function s(e) {
|
|
29
|
-
const i = u(e);
|
|
30
|
-
n.value = i === !0, r("isValid", n.value);
|
|
31
|
-
}
|
|
32
|
-
function B() {
|
|
33
|
-
l.validateOnBlur && s(d.value);
|
|
34
|
-
}
|
|
35
|
-
return (e, i) => {
|
|
36
|
-
const b = m("v-icon"), y = m("v-text-field");
|
|
37
|
-
return z(), $(y, {
|
|
38
|
-
modelValue: d.value,
|
|
39
|
-
"onUpdate:modelValue": i[0] || (i[0] = (q) => d.value = q),
|
|
40
|
-
label: a.label,
|
|
41
|
-
rules: g.value,
|
|
42
|
-
disabled: a.disabled,
|
|
43
|
-
hint: a.hint,
|
|
44
|
-
"persistent-hint": p.value,
|
|
45
|
-
required: a.required,
|
|
46
|
-
variant: a.variant,
|
|
47
|
-
maxlength: a.maxlength,
|
|
48
|
-
type: "email",
|
|
49
|
-
inputmode: "email",
|
|
50
|
-
autocomplete: "email",
|
|
51
|
-
onBlur: B
|
|
52
|
-
}, C({ _: 2 }, [
|
|
53
|
-
e.$slots.prepend ? {
|
|
54
|
-
name: "prepend",
|
|
55
|
-
fn: o(() => [
|
|
56
|
-
c(e.$slots, "prepend")
|
|
57
|
-
]),
|
|
58
|
-
key: "0"
|
|
59
|
-
} : void 0,
|
|
60
|
-
e.$slots.append ? {
|
|
61
|
-
name: "append",
|
|
62
|
-
fn: o(() => [
|
|
63
|
-
c(e.$slots, "append")
|
|
64
|
-
]),
|
|
65
|
-
key: "1"
|
|
66
|
-
} : void 0,
|
|
67
|
-
e.$slots.prepend ? void 0 : {
|
|
68
|
-
name: "prepend-inner",
|
|
69
|
-
fn: o(() => [
|
|
70
|
-
E(b, { color: V.value }, {
|
|
71
|
-
default: o(() => [
|
|
72
|
-
M(A(h.value), 1)
|
|
73
|
-
]),
|
|
74
|
-
_: 1
|
|
75
|
-
}, 8, ["color"])
|
|
76
|
-
]),
|
|
77
|
-
key: "2"
|
|
78
|
-
}
|
|
79
|
-
]), 1032, ["modelValue", "label", "rules", "disabled", "hint", "persistent-hint", "required", "variant", "maxlength"]);
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
export {
|
|
84
|
-
O as _
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=inputs-FzEmailField-B07tsUyr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzEmailField-B07tsUyr.js","sources":["../../../src/components/inputs/FzEmailField.vue"],"sourcesContent":["<template>\n <v-text-field\n v-model=\"innerValue\"\n :label=\"label\"\n :rules=\"mergedRules\"\n :disabled=\"disabled\"\n :hint=\"hint\"\n :persistent-hint=\"hasHint\"\n :required=\"required\"\n :variant=\"variant\"\n :maxlength=\"maxlength\"\n type=\"email\"\n inputmode=\"email\"\n autocomplete=\"email\"\n @blur=\"handleBlur\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"!$slots.prepend\" #prepend-inner>\n <v-icon :color=\"iconColor\">\n {{ emailIcon }}\n </v-icon>\n </template>\n </v-text-field>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue';\nimport type { TextFieldVariant } from '@/utils/types';\n\ntype ValidationRule = (value: string) => boolean | string;\n\ninterface Props {\n modelValue?: string\n label?: string\n rules?: ValidationRule[]\n disabled?: boolean\n hint?: string\n required?: boolean\n validateOnBlur?: boolean\n requiredMessage?: string\n invalidMessage?: string\n variant?: TextFieldVariant\n maxlength?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: '',\n label: 'Email',\n rules: () => [],\n disabled: false,\n hint: '',\n required: false,\n validateOnBlur: true,\n requiredMessage: '',\n invalidMessage: '',\n variant: 'underlined',\n maxlength: 100,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n isValid: [value: boolean]\n}>();\n\nconst emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\nconst isValid = ref(false);\n\nconst hasHint = computed(() => !!props.hint);\n\nconst emailIcon = computed(() => isValid.value ? 'mdi-email-check' : 'mdi-email-outline');\n\nconst iconColor = computed(() => isValid.value ? 'success' : undefined);\n\nconst innerValue = computed({\n get: () => props.modelValue,\n set: (val: string) => {\n if (!props.validateOnBlur) resolveValidation(val);\n\n emit('update:modelValue', val);\n },\n});\n\nconst mergedRules = computed(() => [validateEmail, ...props.rules]);\n\nfunction validateEmail(value: string): boolean | string {\n if (!value) return props.required ? (props.requiredMessage || 'Email é obrigatório') : true;\n\n if (!emailRegex.test(value)) return props.invalidMessage || 'Formato de e-mail inválido';\n\n return true;\n}\n\nfunction resolveValidation(value: string) {\n const result = validateEmail(value);\n isValid.value = result === true;\n emit('isValid', isValid.value);\n}\n\nfunction handleBlur() {\n if (!props.validateOnBlur) return;\n\n resolveValidation(innerValue.value);\n}\n</script>\n"],"names":["props","__props","emit","__emit","emailRegex","isValid","ref","hasHint","computed","emailIcon","iconColor","innerValue","val","resolveValidation","mergedRules","validateEmail","value","result","handleBlur","_createBlock","_component_v_text_field","$event","$slots","_renderSlot","_ctx","_createVNode","_component_v_icon"],"mappings":";;;;;;;;;;;;;;;;;;AAkDA,UAAMA,IAAQC,GAcRC,IAAOC,GAKPC,IAAa,oDAEbC,IAAUC,EAAI,EAAK,GAEnBC,IAAUC,EAAS,MAAM,CAAC,CAACR,EAAM,IAAI,GAErCS,IAAYD,EAAS,MAAMH,EAAQ,QAAQ,oBAAoB,mBAAmB,GAElFK,IAAYF,EAAS,MAAMH,EAAQ,QAAQ,YAAY,MAAS,GAEhEM,IAAaH,EAAS;AAAA,MAC1B,KAAK,MAAMR,EAAM;AAAA,MACjB,KAAK,CAACY,MAAgB;AACpB,QAAKZ,EAAM,kBAAgBa,EAAkBD,CAAG,GAEhDV,EAAK,qBAAqBU,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD,GAEKE,IAAcN,EAAS,MAAM,CAACO,GAAe,GAAGf,EAAM,KAAK,CAAC;AAElE,aAASe,EAAcC,GAAiC;AACtD,aAAKA,IAEAZ,EAAW,KAAKY,CAAK,IAEnB,KAF6BhB,EAAM,kBAAkB,+BAFzCA,EAAM,WAAYA,EAAM,mBAAmB,wBAAyB;AAAA,IAKzF;AAEA,aAASa,EAAkBG,GAAe;AACxC,YAAMC,IAASF,EAAcC,CAAK;AAClC,MAAAX,EAAQ,QAAQY,MAAW,IAC3Bf,EAAK,WAAWG,EAAQ,KAAK;AAAA,IAC/B;AAEA,aAASa,IAAa;AACpB,MAAKlB,EAAM,kBAEXa,EAAkBF,EAAW,KAAK;AAAA,IACpC;;;kBA3GEQ,EA0BeC,GAAA;AAAA,oBAzBJT,EAAA;AAAA,sDAAAA,EAAU,QAAAU;AAAA,QAClB,OAAOpB,EAAA;AAAA,QACP,OAAOa,EAAA;AAAA,QACP,UAAUb,EAAA;AAAA,QACV,MAAMA,EAAA;AAAA,QACN,mBAAiBM,EAAA;AAAA,QACjB,UAAUN,EAAA;AAAA,QACV,SAASA,EAAA;AAAA,QACT,WAAWA,EAAA;AAAA,QACZ,MAAK;AAAA,QACL,WAAU;AAAA,QACV,cAAa;AAAA,QACZ,QAAMiB;AAAA,MAAA;QAESI,EAAAA,OAAO;gBAAU;AAAA,gBAC/B,MAAuB;AAAA,YAAvBC,EAAuBC,EAAA,QAAA,SAAA;AAAA,UAAA;;;QAETF,EAAAA,OAAO;gBAAS;AAAA,gBAC9B,MAAsB;AAAA,YAAtBC,EAAsBC,EAAA,QAAA,QAAA;AAAA,UAAA;;;QAEPF,EAAAA,OAAO;gBAAU;AAAA,gBAChC,MAES;AAAA,YAFTG,EAESC,GAAA,EAFA,OAAOhB,EAAA,SAAS;AAAA,yBACvB,MAAe;AAAA,oBAAZD,EAAA,KAAS,GAAA,CAAA;AAAA,cAAA;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzFullAddress-e05j6MFg.js","sources":["../../../src/components/inputs/FzFullAddress.vue"],"sourcesContent":["<template>\n <v-row>\n <v-col cols=\"12\" md=\"4\">\n <FzZipCodeField\n v-model=\"internal.zipCode\"\n :disabled=\"disabled\"\n @zip-code-found=\"onZipCodeFound\"\n @zip-code-not-found=\"onZipCodeNotFound\"\n />\n </v-col>\n\n <v-col cols=\"12\" md=\"8\">\n <v-text-field\n v-model=\"internal.street\"\n :label=\"labels.street\"\n :disabled=\"isAutoDisabled\"\n :variant=\"variant\"\n />\n </v-col>\n\n <v-col cols=\"12\" md=\"3\">\n <v-text-field v-model=\"internal.number\" :label=\"labels.number\" :disabled=\"disabled\" :variant=\"variant\" />\n </v-col>\n\n <v-col cols=\"12\" md=\"5\">\n <v-text-field v-model=\"internal.complement\" :label=\"labels.complement\" :disabled=\"disabled\" :variant=\"variant\" />\n </v-col>\n\n <v-col cols=\"12\" md=\"4\">\n <v-text-field\n v-model=\"internal.neighborhood\"\n :label=\"labels.neighborhood\"\n :disabled=\"isAutoDisabled\"\n :variant=\"variant\"\n />\n </v-col>\n\n <v-col cols=\"12\" md=\"6\">\n <v-text-field\n v-model=\"internal.city\"\n :label=\"labels.city\"\n :disabled=\"isAutoDisabled\"\n :variant=\"variant\"\n />\n </v-col>\n\n <v-col cols=\"12\" md=\"6\">\n <v-select\n v-model=\"internal.state\"\n :label=\"labels.state\"\n :items=\"brazilianStates\"\n item-title=\"name\"\n item-value=\"uf\"\n :disabled=\"isAutoDisabled\"\n :variant=\"variant\"\n />\n </v-col>\n </v-row>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive, ref, watch, computed, nextTick } from 'vue';\nimport type { TextFieldVariant } from '@/utils/types';\nimport FzZipCodeField, { type ZipCodeResponse } from './FzZipCodeField.vue';\n\nexport interface Address {\n zipCode: string\n street: string\n number: string\n complement: string\n neighborhood: string\n city: string\n state: string\n}\n\nexport interface AddressLabels {\n zipCode?: string\n street?: string\n number?: string\n complement?: string\n neighborhood?: string\n city?: string\n state?: string\n}\n\ninterface Props {\n modelValue?: Partial<Address>\n disabled?: boolean\n disabledFields?: boolean\n labels?: AddressLabels\n variant?: TextFieldVariant\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: () => ({}),\n disabled: false,\n disabledFields: false,\n labels: () => ({}),\n variant: 'underlined',\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Address]\n}>();\n\nlet skipInternalEmit = false;\n\nconst brazilianStates = [\n { uf: 'AC', name: 'AC - Acre' },\n { uf: 'AL', name: 'AL - Alagoas' },\n { uf: 'AP', name: 'AP - Amapá' },\n { uf: 'AM', name: 'AM - Amazonas' },\n { uf: 'BA', name: 'BA - Bahia' },\n { uf: 'CE', name: 'CE - Ceará' },\n { uf: 'DF', name: 'DF - Distrito Federal' },\n { uf: 'ES', name: 'ES - Espírito Santo' },\n { uf: 'GO', name: 'GO - Goiás' },\n { uf: 'MA', name: 'MA - Maranhão' },\n { uf: 'MT', name: 'MT - Mato Grosso' },\n { uf: 'MS', name: 'MS - Mato Grosso do Sul' },\n { uf: 'MG', name: 'MG - Minas Gerais' },\n { uf: 'PA', name: 'PA - Pará' },\n { uf: 'PB', name: 'PB - Paraíba' },\n { uf: 'PR', name: 'PR - Paraná' },\n { uf: 'PE', name: 'PE - Pernambuco' },\n { uf: 'PI', name: 'PI - Piauí' },\n { uf: 'RJ', name: 'RJ - Rio de Janeiro' },\n { uf: 'RN', name: 'RN - Rio Grande do Norte' },\n { uf: 'RS', name: 'RS - Rio Grande do Sul' },\n { uf: 'RO', name: 'RO - Rondônia' },\n { uf: 'RR', name: 'RR - Roraima' },\n { uf: 'SC', name: 'SC - Santa Catarina' },\n { uf: 'SP', name: 'SP - São Paulo' },\n { uf: 'SE', name: 'SE - Sergipe' },\n { uf: 'TO', name: 'TO - Tocantins' },\n];\n\nconst internal = reactive<Address>({\n zipCode: '',\n street: '',\n number: '',\n complement: '',\n neighborhood: '',\n city: '',\n state: '',\n ...props.modelValue,\n});\n\nconst zipCodeFound = ref(false);\n\nconst labels = computed(() => ({\n zipCode: props.labels.zipCode ?? 'CEP',\n street: props.labels.street ?? 'Logradouro',\n number: props.labels.number ?? 'Número',\n complement: props.labels.complement ?? 'Complemento',\n neighborhood: props.labels.neighborhood ?? 'Bairro',\n city: props.labels.city ?? 'Cidade',\n state: props.labels.state ?? 'Estado',\n}));\n\nconst isAutoDisabled = computed(() => props.disabled || (props.disabledFields && zipCodeFound.value));\n\nfunction onZipCodeFound(data: ZipCodeResponse) {\n internal.street = data.street;\n internal.neighborhood = data.neighborhood;\n internal.city = data.city;\n internal.state = data.state;\n zipCodeFound.value = true;\n}\n\nfunction onZipCodeNotFound() {\n zipCodeFound.value = false;\n}\n\nwatch(() => props.modelValue, (val) => {\n if (!val) return;\n\n skipInternalEmit = true;\n\n Object.assign(internal, val);\n\n nextTick(() => {\n skipInternalEmit = false;\n });\n}, { deep: true, immediate: true });\n\nwatch(internal, (val) => {\n if (skipInternalEmit) return;\n\n emit('update:modelValue', { ...val });\n}, { deep: true });\n</script>\n"],"names":["props","__props","emit","__emit","skipInternalEmit","brazilianStates","internal","reactive","zipCodeFound","ref","labels","computed","isAutoDisabled","onZipCodeFound","data","onZipCodeNotFound","watch","val","nextTick","_createBlock","_component_v_row","_createVNode","_component_v_col","FzZipCodeField","_cache","$event","_component_v_text_field","_component_v_select"],"mappings":"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"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { defineComponent as $, toRef as k, resolveComponent as x, createBlock as C, openBlock as B, unref as r, createSlots as I, withCtx as c, renderSlot as m } from "vue";
|
|
2
|
-
import { u as N, c as V } from "../composables/useNumericInput-DGw52-Ds.js";
|
|
3
|
-
const D = (o, u) => {
|
|
4
|
-
const t = o.__vccOpts || o;
|
|
5
|
-
for (const [i, d] of u)
|
|
6
|
-
t[i] = d;
|
|
7
|
-
return t;
|
|
8
|
-
}, S = " ", K = /* @__PURE__ */ $({
|
|
9
|
-
__name: "FzMoneyField",
|
|
10
|
-
props: {
|
|
11
|
-
modelValue: { default: 0 },
|
|
12
|
-
label: { default: "" },
|
|
13
|
-
rules: { default: () => [] },
|
|
14
|
-
disabled: { type: Boolean, default: !1 },
|
|
15
|
-
hint: { default: "" },
|
|
16
|
-
persistentHint: { type: Boolean, default: !1 },
|
|
17
|
-
currency: { default: "BRL" },
|
|
18
|
-
locale: { default: "pt-BR" },
|
|
19
|
-
variant: { default: "underlined" },
|
|
20
|
-
max: { default: 999e6 },
|
|
21
|
-
min: { default: void 0 }
|
|
22
|
-
},
|
|
23
|
-
emits: ["update:modelValue"],
|
|
24
|
-
setup(o, { emit: u }) {
|
|
25
|
-
const t = o, i = u;
|
|
26
|
-
function d(e) {
|
|
27
|
-
const l = Math.abs(e);
|
|
28
|
-
try {
|
|
29
|
-
const a = l.toLocaleString(t.locale, {
|
|
30
|
-
style: "currency",
|
|
31
|
-
currency: t.currency,
|
|
32
|
-
minimumFractionDigits: 2,
|
|
33
|
-
maximumFractionDigits: 2
|
|
34
|
-
}).split(S).join(" ");
|
|
35
|
-
return e < 0 ? `-${a}` : a;
|
|
36
|
-
} catch {
|
|
37
|
-
const n = t.currency, a = l.toLocaleString(t.locale, {
|
|
38
|
-
minimumFractionDigits: 2,
|
|
39
|
-
maximumFractionDigits: 2
|
|
40
|
-
});
|
|
41
|
-
return e < 0 ? `-${n} ${a}` : `${n} ${a}`;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function f(e) {
|
|
45
|
-
const l = e.includes("-"), n = e.replace(/\D/g, "");
|
|
46
|
-
if (!n) return 0;
|
|
47
|
-
const a = parseInt(n) / 100;
|
|
48
|
-
return Number((l ? -a : a).toFixed(2));
|
|
49
|
-
}
|
|
50
|
-
const { formattedValue: s, moveCursorToEnd: p, handleInput: v, handleFocus: y, handleClick: b } = N(
|
|
51
|
-
k(t, "modelValue"),
|
|
52
|
-
(e) => i("update:modelValue", e),
|
|
53
|
-
d,
|
|
54
|
-
f
|
|
55
|
-
);
|
|
56
|
-
function h(e) {
|
|
57
|
-
t.max !== void 0 && e > t.max || t.min !== void 0 && e < t.min || (i("update:modelValue", e), s.value = d(e), p());
|
|
58
|
-
}
|
|
59
|
-
function F(e, l) {
|
|
60
|
-
const n = parseInt(e || "0") / 100;
|
|
61
|
-
return l ? -n : n;
|
|
62
|
-
}
|
|
63
|
-
const g = V(
|
|
64
|
-
s,
|
|
65
|
-
h,
|
|
66
|
-
F
|
|
67
|
-
);
|
|
68
|
-
return (e, l) => {
|
|
69
|
-
const n = x("v-text-field");
|
|
70
|
-
return B(), C(n, {
|
|
71
|
-
"model-value": r(s),
|
|
72
|
-
label: o.label,
|
|
73
|
-
rules: o.rules,
|
|
74
|
-
disabled: o.disabled,
|
|
75
|
-
hint: o.hint,
|
|
76
|
-
"persistent-hint": o.persistentHint,
|
|
77
|
-
variant: o.variant,
|
|
78
|
-
inputmode: "decimal",
|
|
79
|
-
"onUpdate:modelValue": r(v),
|
|
80
|
-
onFocus: r(y),
|
|
81
|
-
onClick: r(b),
|
|
82
|
-
onKeydown: r(g)
|
|
83
|
-
}, I({ _: 2 }, [
|
|
84
|
-
e.$slots.prepend ? {
|
|
85
|
-
name: "prepend",
|
|
86
|
-
fn: c(() => [
|
|
87
|
-
m(e.$slots, "prepend", {}, void 0, !0)
|
|
88
|
-
]),
|
|
89
|
-
key: "0"
|
|
90
|
-
} : void 0,
|
|
91
|
-
e.$slots.append ? {
|
|
92
|
-
name: "append",
|
|
93
|
-
fn: c(() => [
|
|
94
|
-
m(e.$slots, "append", {}, void 0, !0)
|
|
95
|
-
]),
|
|
96
|
-
key: "1"
|
|
97
|
-
} : void 0
|
|
98
|
-
]), 1032, ["model-value", "label", "rules", "disabled", "hint", "persistent-hint", "variant", "onUpdate:modelValue", "onFocus", "onClick", "onKeydown"]);
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}), z = /* @__PURE__ */ D(K, [["__scopeId", "data-v-80e32b79"]]);
|
|
102
|
-
export {
|
|
103
|
-
z as F,
|
|
104
|
-
D as _
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=inputs-FzMoneyField-BxAg9Bd_.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzMoneyField-BxAg9Bd_.js","sources":["../../../src/components/inputs/FzMoneyField.vue"],"sourcesContent":["<template>\n <v-text-field\n :model-value=\"formattedValue\"\n :label=\"label\"\n :rules=\"rules\"\n :disabled=\"disabled\"\n :hint=\"hint\"\n :persistent-hint=\"persistentHint\"\n :variant=\"variant\"\n inputmode=\"decimal\"\n @update:model-value=\"handleInput\"\n @focus=\"handleFocus\"\n @click=\"handleClick\"\n @keydown=\"handleKeydown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n </v-text-field>\n</template>\n\n<script setup lang=\"ts\">\nimport { toRef } from 'vue';\nimport { useNumericInput, createNumericKeydownHandler } from '@/composables/useNumericInput';\nimport type { TextFieldVariant } from '@/utils/types';\n\nconst NON_BREAKING_SPACE = '\\u00a0';\n\ntype ValidationRule = (value: string) => boolean | string;\n\ninterface Props {\n modelValue?: number | null\n label?: string\n rules?: ValidationRule[]\n disabled?: boolean\n hint?: string\n persistentHint?: boolean\n currency?: string\n locale?: string\n variant?: TextFieldVariant\n max?: number\n min?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: 0,\n label: '',\n rules: () => [],\n disabled: false,\n hint: '',\n persistentHint: false,\n currency: 'BRL',\n locale: 'pt-BR',\n variant: 'underlined',\n max: 999000000,\n min: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number]\n}>();\n\nfunction formatMoney(value: number): string {\n const absValue = Math.abs(value);\n\n try {\n const formatted = absValue.toLocaleString(props.locale, {\n style: 'currency',\n currency: props.currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n\n const normalized = formatted.split(NON_BREAKING_SPACE).join(' ');\n\n return value < 0 ? `-${normalized}` : normalized;\n } catch {\n const currencySymbol = props.currency;\n\n const formatted = absValue.toLocaleString(props.locale, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n\n return value < 0 ? `-${currencySymbol} ${formatted}` : `${currencySymbol} ${formatted}`;\n }\n}\n\nfunction parseMoneyInput(input: string): number {\n const isNegative = input.includes('-');\n const numbers = input.replace(/\\D/g, '');\n\n if (!numbers) return 0;\n\n const value = parseInt(numbers) / 100;\n const rounded = Number((isNegative ? -value : value).toFixed(2));\n\n return rounded;\n}\n\nconst { formattedValue, moveCursorToEnd, handleInput, handleFocus, handleClick } = useNumericInput(\n toRef(props, 'modelValue'),\n (val: number) => emit('update:modelValue', val),\n formatMoney,\n parseMoneyInput,\n);\n\nfunction updateValue(newValue: number) {\n if (props.max !== undefined && newValue > props.max) return;\n\n if (props.min !== undefined && newValue < props.min) return;\n\n emit('update:modelValue', newValue);\n formattedValue.value = formatMoney(newValue);\n moveCursorToEnd();\n}\n\nfunction computeFromDigits(digits: string, isNegative: boolean): number {\n const value = parseInt(digits || '0') / 100;\n\n return isNegative ? -value : value;\n}\n\nconst handleKeydown = createNumericKeydownHandler(\n formattedValue,\n updateValue,\n computeFromDigits,\n);\n</script>\n\n<style scoped>\n:deep(input) {\n text-align: right;\n}\n</style>\n"],"names":["NON_BREAKING_SPACE","props","__props","emit","__emit","formatMoney","value","absValue","normalized","currencySymbol","formatted","parseMoneyInput","input","isNegative","numbers","formattedValue","moveCursorToEnd","handleInput","handleFocus","handleClick","useNumericInput","toRef","val","updateValue","newValue","computeFromDigits","digits","handleKeydown","createNumericKeydownHandler","_createBlock","_component_v_text_field","_unref","$slots","_renderSlot","_ctx"],"mappings":";;;;;;;GA6BMA,IAAqB;;;;;;;;;;;;;;;;;AAkB3B,UAAMC,IAAQC,GAcRC,IAAOC;AAIb,aAASC,EAAYC,GAAuB;AAC1C,YAAMC,IAAW,KAAK,IAAID,CAAK;AAE/B,UAAI;AAQF,cAAME,IAPYD,EAAS,eAAeN,EAAM,QAAQ;AAAA,UACtD,OAAO;AAAA,UACP,UAAUA,EAAM;AAAA,UAChB,uBAAuB;AAAA,UACvB,uBAAuB;AAAA,QAAA,CACxB,EAE4B,MAAMD,CAAkB,EAAE,KAAK,GAAG;AAE/D,eAAOM,IAAQ,IAAI,IAAIE,CAAU,KAAKA;AAAA,MACxC,QAAQ;AACN,cAAMC,IAAiBR,EAAM,UAEvBS,IAAYH,EAAS,eAAeN,EAAM,QAAQ;AAAA,UACtD,uBAAuB;AAAA,UACvB,uBAAuB;AAAA,QAAA,CACxB;AAED,eAAOK,IAAQ,IAAI,IAAIG,CAAc,IAAIC,CAAS,KAAK,GAAGD,CAAc,IAAIC,CAAS;AAAA,MACvF;AAAA,IACF;AAEA,aAASC,EAAgBC,GAAuB;AAC9C,YAAMC,IAAaD,EAAM,SAAS,GAAG,GAC/BE,IAAUF,EAAM,QAAQ,OAAO,EAAE;AAEvC,UAAI,CAACE,EAAS,QAAO;AAErB,YAAMR,IAAQ,SAASQ,CAAO,IAAI;AAGlC,aAFgB,QAAQD,IAAa,CAACP,IAAQA,GAAO,QAAQ,CAAC,CAAC;AAAA,IAGjE;AAEA,UAAM,EAAE,gBAAAS,GAAgB,iBAAAC,GAAiB,aAAAC,GAAa,aAAAC,GAAa,aAAAC,MAAgBC;AAAA,MACjFC,EAAMpB,GAAO,YAAY;AAAA,MACzB,CAACqB,MAAgBnB,EAAK,qBAAqBmB,CAAG;AAAA,MAC9CjB;AAAA,MACAM;AAAA,IAAA;AAGF,aAASY,EAAYC,GAAkB;AACrC,MAAIvB,EAAM,QAAQ,UAAauB,IAAWvB,EAAM,OAE5CA,EAAM,QAAQ,UAAauB,IAAWvB,EAAM,QAEhDE,EAAK,qBAAqBqB,CAAQ,GAClCT,EAAe,QAAQV,EAAYmB,CAAQ,GAC3CR,EAAA;AAAA,IACF;AAEA,aAASS,EAAkBC,GAAgBb,GAA6B;AACtE,YAAMP,IAAQ,SAASoB,KAAU,GAAG,IAAI;AAExC,aAAOb,IAAa,CAACP,IAAQA;AAAA,IAC/B;AAEA,UAAMqB,IAAgBC;AAAA,MACpBb;AAAA,MACAQ;AAAA,MACAE;AAAA,IAAA;;;kBAhIAI,EAoBeC,GAAA;AAAA,QAnBZ,eAAaC,EAAAhB,CAAA;AAAA,QACb,OAAOb,EAAA;AAAA,QACP,OAAOA,EAAA;AAAA,QACP,UAAUA,EAAA;AAAA,QACV,MAAMA,EAAA;AAAA,QACN,mBAAiBA,EAAA;AAAA,QACjB,SAASA,EAAA;AAAA,QACV,WAAU;AAAA,QACT,uBAAoB6B,EAAAd,CAAA;AAAA,QACpB,SAAOc,EAAAb,CAAA;AAAA,QACP,SAAOa,EAAAZ,CAAA;AAAA,QACP,WAASY,EAAAJ,CAAA;AAAA,MAAA;QAEMK,EAAAA,OAAO;gBAAU;AAAA,gBAC/B,MAAuB;AAAA,YAAvBC,EAAuBC,EAAA,QAAA,WAAA,CAAA,GAAA,QAAA,EAAA;AAAA,UAAA;;;QAETF,EAAAA,OAAO;gBAAS;AAAA,gBAC9B,MAAsB;AAAA,YAAtBC,EAAsBC,EAAA,QAAA,UAAA,CAAA,GAAA,QAAA,EAAA;AAAA,UAAA;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzNumberField-BAPRZpBo.js","sources":["../../../src/components/inputs/FzNumberField.vue"],"sourcesContent":["<template>\n <v-text-field\n :model-value=\"formattedValue\"\n :label=\"label\"\n :rules=\"rules\"\n :disabled=\"disabled\"\n :hint=\"hint\"\n :persistent-hint=\"persistentHint\"\n :variant=\"variant\"\n inputmode=\"decimal\"\n @update:model-value=\"handleInput\"\n @focus=\"handleFocus\"\n @click=\"handleClick\"\n @keydown=\"handleKeydown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n </v-text-field>\n</template>\n\n<script setup lang=\"ts\">\nimport { toRef } from 'vue';\nimport { useNumericInput, createNumericKeydownHandler } from '@/composables/useNumericInput';\nimport type { TextFieldVariant } from '@/utils/types';\n\ntype ValidationRule = (value: string) => boolean | string;\n\ninterface Props {\n modelValue?: number | null\n label?: string\n rules?: ValidationRule[]\n disabled?: boolean\n hint?: string\n persistentHint?: boolean\n decimalPlaces?: number\n locale?: string\n allowNegative?: boolean\n variant?: TextFieldVariant\n max?: number\n min?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: 0,\n label: '',\n rules: () => [],\n disabled: false,\n hint: '',\n persistentHint: false,\n decimalPlaces: 0,\n locale: 'pt-BR',\n allowNegative: true,\n variant: 'underlined',\n max: 999000000,\n min: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number]\n}>();\n\nfunction formatNumber(value: number): string {\n const absValue = Math.abs(value);\n\n const formatted = absValue.toLocaleString(props.locale, {\n minimumFractionDigits: props.decimalPlaces,\n maximumFractionDigits: props.decimalPlaces,\n });\n\n return value < 0 ? '-' + formatted : formatted;\n}\n\nfunction parseNumberInput(input: string): number {\n const isNegative = input.includes('-');\n const numbers = input.replace(/\\D/g, '');\n\n if (!numbers) return 0;\n\n let value: number;\n\n if (props.decimalPlaces === 0) {\n value = parseInt(numbers);\n } else {\n const divisor = Math.pow(10, props.decimalPlaces);\n value = parseInt(numbers) / divisor;\n }\n\n const rounded = Number(value.toFixed(props.decimalPlaces));\n\n return isNegative && props.allowNegative ? -rounded : rounded;\n}\n\nconst { formattedValue, moveCursorToEnd, handleInput, handleFocus, handleClick } = useNumericInput(\n toRef(props, 'modelValue'),\n (val: number) => emit('update:modelValue', val),\n formatNumber,\n parseNumberInput,\n);\n\nfunction updateValue(newValue: number) {\n if (props.max !== undefined && newValue > props.max) return;\n\n if (props.min !== undefined && newValue < props.min) return;\n\n emit('update:modelValue', newValue);\n formattedValue.value = formatNumber(newValue);\n moveCursorToEnd();\n}\n\nfunction computeFromDigits(digits: string, isNegative: boolean): number {\n if (!digits) return 0;\n\n let value: number;\n\n if (props.decimalPlaces === 0) {\n value = parseInt(digits);\n } else {\n const divisor = Math.pow(10, props.decimalPlaces);\n value = parseInt(digits) / divisor;\n }\n\n const result = Number(value.toFixed(props.decimalPlaces));\n\n return isNegative ? -result : result;\n}\n\nconst handleKeydown = createNumericKeydownHandler(\n formattedValue,\n updateValue,\n computeFromDigits,\n () => ({ allowNegative: props.allowNegative }),\n);\n</script>\n\n<style scoped>\n:deep(input) {\n text-align: right;\n}\n\n:deep(input[type='number']::-webkit-inner-spin-button),\n:deep(input[type='number']::-webkit-outer-spin-button) {\n -webkit-appearance: none;\n margin: 0;\n}\n\n:deep(input[type='number']) {\n -moz-appearance: textfield;\n appearance: textfield;\n}\n</style>\n"],"names":["props","__props","emit","__emit","formatNumber","value","formatted","parseNumberInput","input","isNegative","numbers","divisor","rounded","formattedValue","moveCursorToEnd","handleInput","handleFocus","handleClick","useNumericInput","toRef","val","updateValue","newValue","computeFromDigits","digits","result","handleKeydown","createNumericKeydownHandler","_createBlock","_component_v_text_field","_unref","$slots","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8CA,UAAMA,IAAQC,GAeRC,IAAOC;AAIb,aAASC,EAAaC,GAAuB;AAG3C,YAAMC,IAFW,KAAK,IAAID,CAAK,EAEJ,eAAeL,EAAM,QAAQ;AAAA,QACtD,uBAAuBA,EAAM;AAAA,QAC7B,uBAAuBA,EAAM;AAAA,MAAA,CAC9B;AAED,aAAOK,IAAQ,IAAI,MAAMC,IAAYA;AAAA,IACvC;AAEA,aAASC,EAAiBC,GAAuB;AAC/C,YAAMC,IAAaD,EAAM,SAAS,GAAG,GAC/BE,IAAUF,EAAM,QAAQ,OAAO,EAAE;AAEvC,UAAI,CAACE,EAAS,QAAO;AAErB,UAAIL;AAEJ,UAAIL,EAAM,kBAAkB;AAC1B,QAAAK,IAAQ,SAASK,CAAO;AAAA,WACnB;AACL,cAAMC,IAAU,KAAK,IAAI,IAAIX,EAAM,aAAa;AAChD,QAAAK,IAAQ,SAASK,CAAO,IAAIC;AAAA,MAC9B;AAEA,YAAMC,IAAU,OAAOP,EAAM,QAAQL,EAAM,aAAa,CAAC;AAEzD,aAAOS,KAAcT,EAAM,gBAAgB,CAACY,IAAUA;AAAA,IACxD;AAEA,UAAM,EAAE,gBAAAC,GAAgB,iBAAAC,GAAiB,aAAAC,GAAa,aAAAC,GAAa,aAAAC,MAAgBC;AAAA,MACjFC,EAAMnB,GAAO,YAAY;AAAA,MACzB,CAACoB,MAAgBlB,EAAK,qBAAqBkB,CAAG;AAAA,MAC9ChB;AAAA,MACAG;AAAA,IAAA;AAGF,aAASc,EAAYC,GAAkB;AACrC,MAAItB,EAAM,QAAQ,UAAasB,IAAWtB,EAAM,OAE5CA,EAAM,QAAQ,UAAasB,IAAWtB,EAAM,QAEhDE,EAAK,qBAAqBoB,CAAQ,GAClCT,EAAe,QAAQT,EAAakB,CAAQ,GAC5CR,EAAA;AAAA,IACF;AAEA,aAASS,EAAkBC,GAAgBf,GAA6B;AACtE,UAAI,CAACe,EAAQ,QAAO;AAEpB,UAAInB;AAEJ,UAAIL,EAAM,kBAAkB;AAC1B,QAAAK,IAAQ,SAASmB,CAAM;AAAA,WAClB;AACL,cAAMb,IAAU,KAAK,IAAI,IAAIX,EAAM,aAAa;AAChD,QAAAK,IAAQ,SAASmB,CAAM,IAAIb;AAAA,MAC7B;AAEA,YAAMc,IAAS,OAAOpB,EAAM,QAAQL,EAAM,aAAa,CAAC;AAExD,aAAOS,IAAa,CAACgB,IAASA;AAAA,IAChC;AAEA,UAAMC,IAAgBC;AAAA,MACpBd;AAAA,MACAQ;AAAA,MACAE;AAAA,MACA,OAAO,EAAE,eAAevB,EAAM,cAAA;AAAA,IAAc;;;kBArI5C4B,EAoBeC,GAAA;AAAA,QAnBZ,eAAaC,EAAAjB,CAAA;AAAA,QACb,OAAOZ,EAAA;AAAA,QACP,OAAOA,EAAA;AAAA,QACP,UAAUA,EAAA;AAAA,QACV,MAAMA,EAAA;AAAA,QACN,mBAAiBA,EAAA;AAAA,QACjB,SAASA,EAAA;AAAA,QACV,WAAU;AAAA,QACT,uBAAoB6B,EAAAf,CAAA;AAAA,QACpB,SAAOe,EAAAd,CAAA;AAAA,QACP,SAAOc,EAAAb,CAAA;AAAA,QACP,WAASa,EAAAJ,CAAA;AAAA,MAAA;QAEMK,EAAAA,OAAO;gBAAU;AAAA,gBAC/B,MAAuB;AAAA,YAAvBC,EAAuBC,EAAA,QAAA,WAAA,CAAA,GAAA,QAAA,EAAA;AAAA,UAAA;;;QAETF,EAAAA,OAAO;gBAAS;AAAA,gBAC9B,MAAsB;AAAA,YAAtBC,EAAsBC,EAAA,QAAA,UAAA,CAAA,GAAA,QAAA,EAAA;AAAA,UAAA;;;;;;;"}
|