@forizi-tecnologia/ui 0.0.7 → 0.0.8
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/dist/chunks/components/{inputs-FzFullAddress-Dj68efww.js → inputs-FzFullAddress-VTqqGmqm.js} +10 -10
- package/dist/chunks/components/{inputs-FzFullAddress-Dj68efww.js.map → inputs-FzFullAddress-VTqqGmqm.js.map} +1 -1
- package/dist/chunks/components/{inputs-FzMoneyField-Co9uqB9u.js → inputs-FzMoneyField-C8nCfRgx.js} +8 -8
- package/dist/chunks/components/{inputs-FzMoneyField-Co9uqB9u.js.map → inputs-FzMoneyField-C8nCfRgx.js.map} +1 -1
- package/dist/chunks/components/{inputs-FzNumberField-DG-uYIEA.js → inputs-FzNumberField-BoJ_kxJg.js} +2 -2
- package/dist/chunks/components/{inputs-FzNumberField-DG-uYIEA.js.map → inputs-FzNumberField-BoJ_kxJg.js.map} +1 -1
- package/dist/chunks/components/inputs-datepicker-FzDatePicker-FDVslsba.js +129 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePicker-FDVslsba.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js +170 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerDaysView-0m1isZIx.js +82 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerDaysView-0m1isZIx.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerMonthsView-DfjKo8Y0.js +52 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerMonthsView-DfjKo8Y0.js.map +1 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerYearsView-BLqOg5T9.js +58 -0
- package/dist/chunks/components/inputs-datepicker-FzDatePickerYearsView-BLqOg5T9.js.map +1 -0
- package/dist/chunks/components/{layout-FzLoadingOverlay-CWKZxowb.js → layout-FzLoadingOverlay-DTejZcvu.js} +2 -2
- package/dist/chunks/components/{layout-FzLoadingOverlay-CWKZxowb.js.map → layout-FzLoadingOverlay-DTejZcvu.js.map} +1 -1
- package/dist/chunks/components/messages-FzConfirmDialog-C3KyhNp5.js +18 -0
- package/dist/chunks/components/messages-FzConfirmDialog-C3KyhNp5.js.map +1 -0
- package/dist/chunks/components/{messages-FzCustomConfirmDialog-CcADw89-.js → messages-FzCustomConfirmDialog-MMylgbvn.js} +18 -18
- package/dist/chunks/components/messages-FzCustomConfirmDialog-MMylgbvn.js.map +1 -0
- package/dist/chunks/components/messages-FzFloatingNotify-DU8K95A2.js +96 -0
- package/dist/chunks/components/messages-FzFloatingNotify-DU8K95A2.js.map +1 -0
- package/dist/chunks/components/{modals-FzModalBase-CBZ5Ea3Z.js → modals-FzModalBase-OltWGin-.js} +2 -2
- package/dist/chunks/components/{modals-FzModalBase-CBZ5Ea3Z.js.map → modals-FzModalBase-OltWGin-.js.map} +1 -1
- package/dist/chunks/composables/useDatePicker-DlPanUqu.js +78 -0
- package/dist/chunks/composables/useDatePicker-DlPanUqu.js.map +1 -0
- package/dist/chunks/index-CykPyQ3c.js +35 -0
- package/dist/chunks/index-CykPyQ3c.js.map +1 -0
- package/dist/chunks/utils/date-BCG-p19e.js +106 -0
- package/dist/chunks/utils/date-BCG-p19e.js.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 +15 -13
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/FzFullAddress.vue.d.ts.map +1 -1
- package/dist/components/inputs/datepicker/FzDatePicker.vue.d.ts +66 -0
- package/dist/components/inputs/datepicker/FzDatePicker.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerCalendar.vue.d.ts +33 -0
- package/dist/components/inputs/datepicker/FzDatePickerCalendar.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerDaysView.vue.d.ts +17 -0
- package/dist/components/inputs/datepicker/FzDatePickerDaysView.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerMonthsView.vue.d.ts +13 -0
- package/dist/components/inputs/datepicker/FzDatePickerMonthsView.vue.d.ts.map +1 -0
- package/dist/components/inputs/datepicker/FzDatePickerYearsView.vue.d.ts +13 -0
- package/dist/components/inputs/datepicker/FzDatePickerYearsView.vue.d.ts.map +1 -0
- package/dist/components/messages/FzConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/messages/FzFloatingNotify.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 +6 -4
- package/dist/composables/index.js.map +1 -1
- package/dist/composables/useDatePicker.d.ts +30 -0
- package/dist/composables/useDatePicker.d.ts.map +1 -0
- package/dist/index.js +64 -60
- package/dist/index.js.map +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/date.d.ts +28 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +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/messages-FzConfirmDialog-BvnTIYZm.js +0 -18
- package/dist/chunks/components/messages-FzConfirmDialog-BvnTIYZm.js.map +0 -1
- package/dist/chunks/components/messages-FzCustomConfirmDialog-CcADw89-.js.map +0 -1
- package/dist/chunks/components/messages-FzFloatingNotify-CV5gLl9-.js +0 -96
- package/dist/chunks/components/messages-FzFloatingNotify-CV5gLl9-.js.map +0 -1
- package/dist/chunks/index-B-0CLj_d.js +0 -33
- package/dist/chunks/index-B-0CLj_d.js.map +0 -1
package/dist/chunks/components/{inputs-FzFullAddress-Dj68efww.js → inputs-FzFullAddress-VTqqGmqm.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as F, reactive as y, ref as z, computed as c, watch as V, nextTick as B, resolveComponent as
|
|
1
|
+
import { defineComponent as F, reactive as y, ref as z, computed as c, watch as V, nextTick as B, resolveComponent as f, createBlock as G, openBlock as h, withCtx as d, createVNode as l } from "vue";
|
|
2
2
|
import { u as O } from "../composables/useFzDefaults-BAOcJYaF.js";
|
|
3
3
|
import { _ as U } from "./inputs-FzZipCodeField-B7fHUkXJ.js";
|
|
4
4
|
const T = /* @__PURE__ */ F({
|
|
@@ -59,7 +59,7 @@ const T = /* @__PURE__ */ F({
|
|
|
59
59
|
neighborhood: t.labels.neighborhood ?? "Bairro",
|
|
60
60
|
city: t.labels.city ?? "Cidade",
|
|
61
61
|
state: t.labels.state ?? "Estado"
|
|
62
|
-
})), R = O(), r = c(() => t.disabled || t.disabledFields && p.value),
|
|
62
|
+
})), R = O(), r = c(() => t.disabled || t.disabledFields && p.value), b = c(() => t.variant ?? R.variant ?? "underlined");
|
|
63
63
|
function S(n) {
|
|
64
64
|
e.street = n.street, e.neighborhood = n.neighborhood, e.city = n.city, e.state = n.state, p.value = !0;
|
|
65
65
|
}
|
|
@@ -67,13 +67,13 @@ const T = /* @__PURE__ */ F({
|
|
|
67
67
|
p.value = !1;
|
|
68
68
|
}
|
|
69
69
|
return V(() => t.modelValue, (n) => {
|
|
70
|
-
|
|
70
|
+
v = !0, Object.assign(e, n), B(() => {
|
|
71
71
|
v = !1;
|
|
72
|
-
})
|
|
72
|
+
});
|
|
73
73
|
}, { deep: !0, immediate: !0 }), V(e, (n) => {
|
|
74
74
|
v || P("update:modelValue", { ...n });
|
|
75
75
|
}, { deep: !0 }), (n, a) => {
|
|
76
|
-
const u =
|
|
76
|
+
const u = f("v-col"), s = f("v-text-field"), g = f("v-select"), E = f("v-row");
|
|
77
77
|
return h(), G(E, null, {
|
|
78
78
|
default: d(() => [
|
|
79
79
|
l(u, {
|
|
@@ -101,7 +101,7 @@ const T = /* @__PURE__ */ F({
|
|
|
101
101
|
"onUpdate:modelValue": a[1] || (a[1] = (o) => e.street = o),
|
|
102
102
|
label: m.value.street,
|
|
103
103
|
disabled: r.value,
|
|
104
|
-
variant:
|
|
104
|
+
variant: b.value
|
|
105
105
|
}, null, 8, ["modelValue", "label", "disabled", "variant"])
|
|
106
106
|
]),
|
|
107
107
|
_: 1
|
|
@@ -146,7 +146,7 @@ const T = /* @__PURE__ */ F({
|
|
|
146
146
|
"onUpdate:modelValue": a[4] || (a[4] = (o) => e.neighborhood = o),
|
|
147
147
|
label: m.value.neighborhood,
|
|
148
148
|
disabled: r.value,
|
|
149
|
-
variant:
|
|
149
|
+
variant: b.value
|
|
150
150
|
}, null, 8, ["modelValue", "label", "disabled", "variant"])
|
|
151
151
|
]),
|
|
152
152
|
_: 1
|
|
@@ -161,7 +161,7 @@ const T = /* @__PURE__ */ F({
|
|
|
161
161
|
"onUpdate:modelValue": a[5] || (a[5] = (o) => e.city = o),
|
|
162
162
|
label: m.value.city,
|
|
163
163
|
disabled: r.value,
|
|
164
|
-
variant:
|
|
164
|
+
variant: b.value
|
|
165
165
|
}, null, 8, ["modelValue", "label", "disabled", "variant"])
|
|
166
166
|
]),
|
|
167
167
|
_: 1
|
|
@@ -179,7 +179,7 @@ const T = /* @__PURE__ */ F({
|
|
|
179
179
|
"item-title": "name",
|
|
180
180
|
"item-value": "uf",
|
|
181
181
|
disabled: r.value,
|
|
182
|
-
variant:
|
|
182
|
+
variant: b.value
|
|
183
183
|
}, null, 8, ["modelValue", "label", "disabled", "variant"])
|
|
184
184
|
]),
|
|
185
185
|
_: 1
|
|
@@ -193,4 +193,4 @@ const T = /* @__PURE__ */ F({
|
|
|
193
193
|
export {
|
|
194
194
|
T as _
|
|
195
195
|
};
|
|
196
|
-
//# sourceMappingURL=inputs-FzFullAddress-
|
|
196
|
+
//# sourceMappingURL=inputs-FzFullAddress-VTqqGmqm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzFullAddress-Dj68efww.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=\"resolvedVariant\"\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=\"resolvedVariant\"\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=\"resolvedVariant\"\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=\"resolvedVariant\"\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 { useFzDefaults } from '@/composables/useFzDefaults';\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: undefined,\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 defaults = useFzDefaults();\n\nconst isAutoDisabled = computed(() => props.disabled || (props.disabledFields && zipCodeFound.value));\n\nconst resolvedVariant = computed(() => props.variant ?? defaults.variant ?? 'underlined');\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","defaults","useFzDefaults","isAutoDisabled","resolvedVariant","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":";;;;;;;;;;;;;;AA8FA,UAAMA,IAAQC,GAQRC,IAAOC;AAIb,QAAIC,IAAmB;AAEvB,UAAMC,IAAkB;AAAA,MACtB,EAAE,IAAI,MAAM,MAAM,YAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,eAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,aAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,gBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,aAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,aAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,wBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,sBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,aAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,gBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,mBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,0BAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,oBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,YAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,eAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,cAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,kBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,aAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,sBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,2BAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,yBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,gBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,eAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,sBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,iBAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,eAAA;AAAA,MAClB,EAAE,IAAI,MAAM,MAAM,iBAAA;AAAA,IAAiB,GAG/BC,IAAWC,EAAkB;AAAA,MACjC,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,GAAGP,EAAM;AAAA,IAAA,CACV,GAEKQ,IAAeC,EAAI,EAAK,GAExBC,IAASC,EAAS,OAAO;AAAA,MAC7B,SAASX,EAAM,OAAO,WAAW;AAAA,MACjC,QAAQA,EAAM,OAAO,UAAU;AAAA,MAC/B,QAAQA,EAAM,OAAO,UAAU;AAAA,MAC/B,YAAYA,EAAM,OAAO,cAAc;AAAA,MACvC,cAAcA,EAAM,OAAO,gBAAgB;AAAA,MAC3C,MAAMA,EAAM,OAAO,QAAQ;AAAA,MAC3B,OAAOA,EAAM,OAAO,SAAS;AAAA,IAAA,EAC7B,GAEIY,IAAWC,EAAA,GAEXC,IAAiBH,EAAS,MAAMX,EAAM,YAAaA,EAAM,kBAAkBQ,EAAa,KAAM,GAE9FO,IAAkBJ,EAAS,MAAMX,EAAM,WAAWY,EAAS,WAAW,YAAY;AAExF,aAASI,EAAeC,GAAuB;AAC7C,MAAAX,EAAS,SAASW,EAAK,QACvBX,EAAS,eAAeW,EAAK,cAC7BX,EAAS,OAAOW,EAAK,MACrBX,EAAS,QAAQW,EAAK,OACtBT,EAAa,QAAQ;AAAA,IACvB;AAEA,aAASU,IAAoB;AAC3B,MAAAV,EAAa,QAAQ;AAAA,IACvB;AAEA,WAAAW,EAAM,MAAMnB,EAAM,YAAY,CAACoB,MAAQ;AACrC,MAAKA,MAELhB,IAAmB,IAEnB,OAAO,OAAOE,GAAUc,CAAG,GAE3BC,EAAS,MAAM;AACb,QAAAjB,IAAmB;AAAA,MACrB,CAAC;AAAA,IACH,GAAG,EAAE,MAAM,IAAM,WAAW,IAAM,GAElCe,EAAMb,GAAU,CAACc,MAAQ;AACvB,MAAIhB,KAEJF,EAAK,qBAAqB,EAAE,GAAGkB,GAAK;AAAA,IACtC,GAAG,EAAE,MAAM,IAAM;;kBAlMfE,EAwDQC,GAAA,MAAA;AAAA,mBAvDN,MAOQ;AAAA,UAPRC,EAOQC,GAAA;AAAA,YAPD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAKE;AAAA,cALFD,EAKEE,GAAA;AAAA,gBAJS,YAAApB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,UAAOsB;AAAA,gBACxB,UAAU3B,EAAA;AAAA,gBACV,gBAAAe;AAAA,gBACA,mBAAAE;AAAA,cAAA;;;;UAILM,EAOQC,GAAA;AAAA,YAPD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAKE;AAAA,cALFD,EAKEK,GAAA;AAAA,gBAJS,YAAAvB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,SAAMsB;AAAA,gBACvB,OAAOlB,EAAA,MAAO;AAAA,gBACd,UAAUI,EAAA;AAAA,gBACV,SAASC,EAAA;AAAA,cAAA;;;;UAIdS,EAEQC,GAAA;AAAA,YAFD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAAyG;AAAA,cAAzGD,EAAyGK,GAAA;AAAA,gBAAlF,YAAAvB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,SAAMsB;AAAA,gBAAG,OAAOlB,EAAA,MAAO;AAAA,gBAAS,UAAUT,EAAA;AAAA,gBAAW,SAASA,EAAA;AAAA,cAAA;;;;UAGhGuB,EAEQC,GAAA;AAAA,YAFD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAAiH;AAAA,cAAjHD,EAAiHK,GAAA;AAAA,gBAA1F,YAAAvB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,aAAUsB;AAAA,gBAAG,OAAOlB,EAAA,MAAO;AAAA,gBAAa,UAAUT,EAAA;AAAA,gBAAW,SAASA,EAAA;AAAA,cAAA;;;;UAGxGuB,EAOQC,GAAA;AAAA,YAPD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAKE;AAAA,cALFD,EAKEK,GAAA;AAAA,gBAJS,YAAAvB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,eAAYsB;AAAA,gBAC7B,OAAOlB,EAAA,MAAO;AAAA,gBACd,UAAUI,EAAA;AAAA,gBACV,SAASC,EAAA;AAAA,cAAA;;;;UAIdS,EAOQC,GAAA;AAAA,YAPD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAKE;AAAA,cALFD,EAKEK,GAAA;AAAA,gBAJS,YAAAvB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,OAAIsB;AAAA,gBACrB,OAAOlB,EAAA,MAAO;AAAA,gBACd,UAAUI,EAAA;AAAA,gBACV,SAASC,EAAA;AAAA,cAAA;;;;UAIdS,EAUQC,GAAA;AAAA,YAVD,MAAK;AAAA,YAAK,IAAG;AAAA,UAAA;uBAClB,MAQE;AAAA,cARFD,EAQEM,GAAA;AAAA,gBAPS,YAAAxB,EAAS;AAAA,gBAAT,uBAAAqB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAtB,EAAS,QAAKsB;AAAA,gBACtB,OAAOlB,EAAA,MAAO;AAAA,gBACd,OAAOL;AAAA,gBACR,cAAW;AAAA,gBACX,cAAW;AAAA,gBACV,UAAUS,EAAA;AAAA,gBACV,SAASC,EAAA;AAAA,cAAA;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"inputs-FzFullAddress-VTqqGmqm.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=\"resolvedVariant\"\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=\"resolvedVariant\"\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=\"resolvedVariant\"\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=\"resolvedVariant\"\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 { useFzDefaults } from '@/composables/useFzDefaults';\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: undefined,\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 defaults = useFzDefaults();\n\nconst isAutoDisabled = computed(() => props.disabled || (props.disabledFields && zipCodeFound.value));\n\nconst resolvedVariant = computed(() => props.variant ?? defaults.variant ?? 'underlined');\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 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","defaults","useFzDefaults","isAutoDisabled","resolvedVariant","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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"}
|
package/dist/chunks/components/{inputs-FzMoneyField-Co9uqB9u.js → inputs-FzMoneyField-C8nCfRgx.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as x, computed as C, toRef as V, resolveComponent as B, createBlock as D, openBlock as I, unref as l, createSlots as N, withCtx as m, renderSlot as
|
|
1
|
+
import { defineComponent as x, computed as C, toRef as V, resolveComponent as B, createBlock as D, openBlock as I, unref as l, createSlots as N, withCtx as m, renderSlot as f } from "vue";
|
|
2
2
|
import { u as S, c as _ } from "../composables/useNumericInput-DGw52-Ds.js";
|
|
3
3
|
import { u as K } from "../composables/useFzDefaults-BAOcJYaF.js";
|
|
4
4
|
const M = (o, d) => {
|
|
@@ -23,7 +23,7 @@ const M = (o, d) => {
|
|
|
23
23
|
},
|
|
24
24
|
emits: ["update:modelValue"],
|
|
25
25
|
setup(o, { emit: d }) {
|
|
26
|
-
const t = o, i = d, s = K(),
|
|
26
|
+
const t = o, i = d, s = K(), p = C(() => t.variant ?? s.variant ?? "underlined");
|
|
27
27
|
function c(e) {
|
|
28
28
|
const r = Math.abs(e);
|
|
29
29
|
try {
|
|
@@ -58,7 +58,7 @@ const M = (o, d) => {
|
|
|
58
58
|
t.max !== void 0 && e > t.max || t.min !== void 0 && e < t.min || (i("update:modelValue", e), u.value = c(e), y());
|
|
59
59
|
}
|
|
60
60
|
function $(e, r) {
|
|
61
|
-
const n = parseInt(e
|
|
61
|
+
const n = parseInt(e) / 100;
|
|
62
62
|
return r ? -n : n;
|
|
63
63
|
}
|
|
64
64
|
const k = _(
|
|
@@ -75,7 +75,7 @@ const M = (o, d) => {
|
|
|
75
75
|
disabled: o.disabled,
|
|
76
76
|
hint: o.hint,
|
|
77
77
|
"persistent-hint": o.persistentHint,
|
|
78
|
-
variant:
|
|
78
|
+
variant: p.value,
|
|
79
79
|
inputmode: "decimal",
|
|
80
80
|
"onUpdate:modelValue": l(F),
|
|
81
81
|
onFocus: l(h),
|
|
@@ -85,23 +85,23 @@ const M = (o, d) => {
|
|
|
85
85
|
e.$slots.prepend ? {
|
|
86
86
|
name: "prepend",
|
|
87
87
|
fn: m(() => [
|
|
88
|
-
|
|
88
|
+
f(e.$slots, "prepend", {}, void 0, !0)
|
|
89
89
|
]),
|
|
90
90
|
key: "0"
|
|
91
91
|
} : void 0,
|
|
92
92
|
e.$slots.append ? {
|
|
93
93
|
name: "append",
|
|
94
94
|
fn: m(() => [
|
|
95
|
-
|
|
95
|
+
f(e.$slots, "append", {}, void 0, !0)
|
|
96
96
|
]),
|
|
97
97
|
key: "1"
|
|
98
98
|
} : void 0
|
|
99
99
|
]), 1032, ["model-value", "label", "rules", "disabled", "hint", "persistent-hint", "variant", "onUpdate:modelValue", "onFocus", "onClick", "onKeydown"]);
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
-
}), A = /* @__PURE__ */ M(R, [["__scopeId", "data-v-
|
|
102
|
+
}), A = /* @__PURE__ */ M(R, [["__scopeId", "data-v-77615cf8"]]);
|
|
103
103
|
export {
|
|
104
104
|
A as F,
|
|
105
105
|
M as _
|
|
106
106
|
};
|
|
107
|
-
//# sourceMappingURL=inputs-FzMoneyField-
|
|
107
|
+
//# sourceMappingURL=inputs-FzMoneyField-C8nCfRgx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzMoneyField-
|
|
1
|
+
{"version":3,"file":"inputs-FzMoneyField-C8nCfRgx.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=\"resolvedVariant\"\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, computed } from 'vue';\nimport { useNumericInput, createNumericKeydownHandler } from '@/composables/useNumericInput';\nimport { useFzDefaults } from '@/composables/useFzDefaults';\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: undefined,\n max: 999000000,\n min: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number]\n}>();\n\nconst defaults = useFzDefaults();\n\nconst resolvedVariant = computed(() => props.variant ?? defaults.variant ?? 'underlined');\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) / 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","defaults","useFzDefaults","resolvedVariant","computed","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":";;;;;;;;GA8BMA,IAAqB;;;;;;;;;;;;;;;;;AAkB3B,UAAMC,IAAQC,GAcRC,IAAOC,GAIPC,IAAWC,EAAA,GAEXC,IAAkBC,EAAS,MAAMP,EAAM,WAAWI,EAAS,WAAW,YAAY;AAExF,aAASI,EAAYC,GAAuB;AAC1C,YAAMC,IAAW,KAAK,IAAID,CAAK;AAE/B,UAAI;AAQF,cAAME,IAPYD,EAAS,eAAeV,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,eAAOU,IAAQ,IAAI,IAAIE,CAAU,KAAKA;AAAA,MACxC,QAAQ;AACN,cAAMC,IAAiBZ,EAAM,UAEvBa,IAAYH,EAAS,eAAeV,EAAM,QAAQ;AAAA,UACtD,uBAAuB;AAAA,UACvB,uBAAuB;AAAA,QAAA,CACxB;AAED,eAAOS,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,EAAMxB,GAAO,YAAY;AAAA,MACzB,CAACyB,MAAgBvB,EAAK,qBAAqBuB,CAAG;AAAA,MAC9CjB;AAAA,MACAM;AAAA,IAAA;AAGF,aAASY,EAAYC,GAAkB;AACrC,MAAI3B,EAAM,QAAQ,UAAa2B,IAAW3B,EAAM,OAE5CA,EAAM,QAAQ,UAAa2B,IAAW3B,EAAM,QAEhDE,EAAK,qBAAqByB,CAAQ,GAClCT,EAAe,QAAQV,EAAYmB,CAAQ,GAC3CR,EAAA;AAAA,IACF;AAEA,aAASS,EAAkBC,GAAgBb,GAA6B;AACtE,YAAMP,IAAQ,SAASoB,CAAM,IAAI;AAEjC,aAAOb,IAAa,CAACP,IAAQA;AAAA,IAC/B;AAEA,UAAMqB,IAAgBC;AAAA,MACpBb;AAAA,MACAQ;AAAA,MACAE;AAAA,IAAA;;;kBArIAI,EAoBeC,GAAA;AAAA,QAnBZ,eAAaC,EAAAhB,CAAA;AAAA,QACb,OAAOjB,EAAA;AAAA,QACP,OAAOA,EAAA;AAAA,QACP,UAAUA,EAAA;AAAA,QACV,MAAMA,EAAA;AAAA,QACN,mBAAiBA,EAAA;AAAA,QACb,SAASK,EAAA;AAAA,QACd,WAAU;AAAA,QACT,uBAAoB4B,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;;;;;;;"}
|
package/dist/chunks/components/{inputs-FzNumberField-DG-uYIEA.js → inputs-FzNumberField-BoJ_kxJg.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as x, computed as I, toRef as k, resolveComponent as C, createBlock as B, openBlock as D, unref as i, createSlots as K, withCtx as c, renderSlot as m } from "vue";
|
|
2
2
|
import { u as $, c as z } from "../composables/useNumericInput-DGw52-Ds.js";
|
|
3
3
|
import { u as H } from "../composables/useFzDefaults-BAOcJYaF.js";
|
|
4
|
-
import { _ as M } from "./inputs-FzMoneyField-
|
|
4
|
+
import { _ as M } from "./inputs-FzMoneyField-C8nCfRgx.js";
|
|
5
5
|
const S = /* @__PURE__ */ x({
|
|
6
6
|
__name: "FzNumberField",
|
|
7
7
|
props: {
|
|
@@ -105,4 +105,4 @@ const S = /* @__PURE__ */ x({
|
|
|
105
105
|
export {
|
|
106
106
|
L as F
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=inputs-FzNumberField-
|
|
108
|
+
//# sourceMappingURL=inputs-FzNumberField-BoJ_kxJg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs-FzNumberField-
|
|
1
|
+
{"version":3,"file":"inputs-FzNumberField-BoJ_kxJg.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=\"resolvedVariant\"\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, computed } from 'vue';\nimport { useNumericInput, createNumericKeydownHandler } from '@/composables/useNumericInput';\nimport { useFzDefaults } from '@/composables/useFzDefaults';\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: undefined,\n max: 999000000,\n min: undefined,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: number]\n}>();\n\nconst defaults = useFzDefaults();\n\nconst resolvedVariant = computed(() => props.variant ?? defaults.variant ?? 'underlined');\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","defaults","useFzDefaults","resolvedVariant","computed","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":";;;;;;;;;;;;;;;;;;;;;;AA+CA,UAAMA,IAAQC,GAeRC,IAAOC,GAIPC,IAAWC,EAAA,GAEXC,IAAkBC,EAAS,MAAMP,EAAM,WAAWI,EAAS,WAAW,YAAY;AAExF,aAASI,EAAaC,GAAuB;AAG3C,YAAMC,IAFW,KAAK,IAAID,CAAK,EAEJ,eAAeT,EAAM,QAAQ;AAAA,QACtD,uBAAuBA,EAAM;AAAA,QAC7B,uBAAuBA,EAAM;AAAA,MAAA,CAC9B;AAED,aAAOS,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,UAAIT,EAAM,kBAAkB;AAC1B,QAAAS,IAAQ,SAASK,CAAO;AAAA,WACnB;AACL,cAAMC,IAAU,KAAK,IAAI,IAAIf,EAAM,aAAa;AAChD,QAAAS,IAAQ,SAASK,CAAO,IAAIC;AAAA,MAC9B;AAEA,YAAMC,IAAU,OAAOP,EAAM,QAAQT,EAAM,aAAa,CAAC;AAEzD,aAAOa,KAAcb,EAAM,gBAAgB,CAACgB,IAAUA;AAAA,IACxD;AAEA,UAAM,EAAE,gBAAAC,GAAgB,iBAAAC,GAAiB,aAAAC,GAAa,aAAAC,GAAa,aAAAC,MAAgBC;AAAA,MACjFC,EAAMvB,GAAO,YAAY;AAAA,MACzB,CAACwB,MAAgBtB,EAAK,qBAAqBsB,CAAG;AAAA,MAC9ChB;AAAA,MACAG;AAAA,IAAA;AAGF,aAASc,EAAYC,GAAkB;AACrC,MAAI1B,EAAM,QAAQ,UAAa0B,IAAW1B,EAAM,OAE5CA,EAAM,QAAQ,UAAa0B,IAAW1B,EAAM,QAEhDE,EAAK,qBAAqBwB,CAAQ,GAClCT,EAAe,QAAQT,EAAakB,CAAQ,GAC5CR,EAAA;AAAA,IACF;AAEA,aAASS,EAAkBC,GAAgBf,GAA6B;AACtE,UAAI,CAACe,EAAQ,QAAO;AAEpB,UAAInB;AAEJ,UAAIT,EAAM,kBAAkB;AAC1B,QAAAS,IAAQ,SAASmB,CAAM;AAAA,WAClB;AACL,cAAMb,IAAU,KAAK,IAAI,IAAIf,EAAM,aAAa;AAChD,QAAAS,IAAQ,SAASmB,CAAM,IAAIb;AAAA,MAC7B;AAEA,YAAMc,IAAS,OAAOpB,EAAM,QAAQT,EAAM,aAAa,CAAC;AAExD,aAAOa,IAAa,CAACgB,IAASA;AAAA,IAChC;AAEA,UAAMC,IAAgBC;AAAA,MACpBd;AAAA,MACAQ;AAAA,MACAE;AAAA,MACA,OAAO,EAAE,eAAe3B,EAAM,cAAA;AAAA,IAAc;;;kBA1I5CgC,EAoBeC,GAAA;AAAA,QAnBZ,eAAaC,EAAAjB,CAAA;AAAA,QACb,OAAOhB,EAAA;AAAA,QACP,OAAOA,EAAA;AAAA,QACP,UAAUA,EAAA;AAAA,QACV,MAAMA,EAAA;AAAA,QACN,mBAAiBA,EAAA;AAAA,QACb,SAASK,EAAA;AAAA,QACd,WAAU;AAAA,QACT,uBAAoB4B,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;;;;;;;"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { defineComponent as I, ref as f, computed as i, watch as P, resolveComponent as R, withDirectives as $, createBlock as z, openBlock as S, createSlots as L, withCtx as m, createVNode as U, renderSlot as b, unref as H } from "vue";
|
|
2
|
+
import { k as N } from "./inputs-FzPhoneField-B8Mk05Hd.js";
|
|
3
|
+
import { u as T } from "../composables/useFzDefaults-BAOcJYaF.js";
|
|
4
|
+
import { f as c, m as W, p as v, i as V, t as p } from "../utils/date-BCG-p19e.js";
|
|
5
|
+
import { F as j } from "./inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js";
|
|
6
|
+
const Q = /* @__PURE__ */ I({
|
|
7
|
+
__name: "FzDatePicker",
|
|
8
|
+
props: {
|
|
9
|
+
modelValue: { default: "" },
|
|
10
|
+
format: { default: "dd/mm/yyyy" },
|
|
11
|
+
locale: { default: "pt-BR" },
|
|
12
|
+
label: { default: "Data" },
|
|
13
|
+
placeholder: { default: "" },
|
|
14
|
+
rules: { default: () => [] },
|
|
15
|
+
disabled: { type: Boolean, default: !1 },
|
|
16
|
+
hint: { default: "" },
|
|
17
|
+
required: { type: Boolean, default: !1 },
|
|
18
|
+
validateOnBlur: { type: Boolean, default: !0 },
|
|
19
|
+
requiredMessage: { default: "" },
|
|
20
|
+
invalidMessage: { default: "" },
|
|
21
|
+
variant: { default: void 0 },
|
|
22
|
+
min: { default: null },
|
|
23
|
+
max: { default: null },
|
|
24
|
+
icon: { default: "mdi-calendar" },
|
|
25
|
+
todayLabel: { default: "" },
|
|
26
|
+
width: { default: 400 },
|
|
27
|
+
height: { default: 400 }
|
|
28
|
+
},
|
|
29
|
+
emits: ["update:modelValue", "isValid"],
|
|
30
|
+
setup(t, { emit: g }) {
|
|
31
|
+
const e = t, o = g, k = T(), n = f(c(e.modelValue ?? "", e.format)), d = f(!1), u = f(!1), D = i(() => !!e.hint), B = i(() => e.variant ?? k.variant ?? "underlined"), x = i(() => e.placeholder ? e.placeholder : e.format === "yyyy-mm-dd" ? e.format : e.locale === "pt-BR" ? e.format.replace("yyyy", "aaaa") : e.format), w = i(() => [h, ...e.rules]), F = i(() => ({
|
|
32
|
+
mask: W(e.format),
|
|
33
|
+
eager: !0,
|
|
34
|
+
onMaska: (a) => C(a.masked)
|
|
35
|
+
}));
|
|
36
|
+
function h(a) {
|
|
37
|
+
if (!a) return e.required ? e.requiredMessage || "Data é obrigatória" : !0;
|
|
38
|
+
const l = v(a, e.format);
|
|
39
|
+
return !l || !V(p(l), e.min, e.max) ? e.invalidMessage || "Data inválida" : !0;
|
|
40
|
+
}
|
|
41
|
+
function y() {
|
|
42
|
+
u.value = h(n.value) === !0, o("isValid", u.value);
|
|
43
|
+
}
|
|
44
|
+
function s(a) {
|
|
45
|
+
o("update:modelValue", a), e.validateOnBlur || y();
|
|
46
|
+
}
|
|
47
|
+
function C(a) {
|
|
48
|
+
n.value = a;
|
|
49
|
+
const l = v(a, e.format);
|
|
50
|
+
if (!l) {
|
|
51
|
+
s("");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const r = p(l);
|
|
55
|
+
if (!V(r, e.min, e.max)) {
|
|
56
|
+
s("");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
s(r);
|
|
60
|
+
}
|
|
61
|
+
function M(a) {
|
|
62
|
+
a || e.validateOnBlur && y();
|
|
63
|
+
}
|
|
64
|
+
function O(a) {
|
|
65
|
+
n.value = c(a, e.format), d.value = !1, u.value = !0, o("update:modelValue", a), o("isValid", !0);
|
|
66
|
+
}
|
|
67
|
+
return P(
|
|
68
|
+
() => [e.modelValue, e.format],
|
|
69
|
+
() => {
|
|
70
|
+
const a = v(n.value, e.format);
|
|
71
|
+
(a ? p(a) : "") !== (e.modelValue ?? "") && (n.value = c(e.modelValue ?? "", e.format));
|
|
72
|
+
}
|
|
73
|
+
), (a, l) => {
|
|
74
|
+
const r = R("v-text-field");
|
|
75
|
+
return $((S(), z(r, {
|
|
76
|
+
"model-value": n.value,
|
|
77
|
+
label: t.label,
|
|
78
|
+
placeholder: x.value,
|
|
79
|
+
rules: w.value,
|
|
80
|
+
disabled: t.disabled,
|
|
81
|
+
hint: t.hint,
|
|
82
|
+
"persistent-hint": D.value,
|
|
83
|
+
variant: B.value,
|
|
84
|
+
inputmode: "numeric",
|
|
85
|
+
autocomplete: "off",
|
|
86
|
+
"onUpdate:focused": M
|
|
87
|
+
}, L({
|
|
88
|
+
"append-inner": m(() => [
|
|
89
|
+
U(j, {
|
|
90
|
+
open: d.value,
|
|
91
|
+
"onUpdate:open": l[0] || (l[0] = (q) => d.value = q),
|
|
92
|
+
selected: t.modelValue,
|
|
93
|
+
icon: t.icon,
|
|
94
|
+
disabled: t.disabled,
|
|
95
|
+
min: t.min,
|
|
96
|
+
max: t.max,
|
|
97
|
+
locale: t.locale,
|
|
98
|
+
width: t.width,
|
|
99
|
+
height: t.height,
|
|
100
|
+
"today-label": t.todayLabel,
|
|
101
|
+
onSelect: O
|
|
102
|
+
}, null, 8, ["open", "selected", "icon", "disabled", "min", "max", "locale", "width", "height", "today-label"])
|
|
103
|
+
]),
|
|
104
|
+
_: 2
|
|
105
|
+
}, [
|
|
106
|
+
a.$slots.prepend ? {
|
|
107
|
+
name: "prepend",
|
|
108
|
+
fn: m(() => [
|
|
109
|
+
b(a.$slots, "prepend")
|
|
110
|
+
]),
|
|
111
|
+
key: "0"
|
|
112
|
+
} : void 0,
|
|
113
|
+
a.$slots.append ? {
|
|
114
|
+
name: "append",
|
|
115
|
+
fn: m(() => [
|
|
116
|
+
b(a.$slots, "append")
|
|
117
|
+
]),
|
|
118
|
+
key: "1"
|
|
119
|
+
} : void 0
|
|
120
|
+
]), 1032, ["model-value", "label", "placeholder", "rules", "disabled", "hint", "persistent-hint", "variant"])), [
|
|
121
|
+
[H(N), F.value]
|
|
122
|
+
]);
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
export {
|
|
127
|
+
Q as _
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=inputs-datepicker-FzDatePicker-FDVslsba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs-datepicker-FzDatePicker-FDVslsba.js","sources":["../../../src/components/inputs/datepicker/FzDatePicker.vue"],"sourcesContent":["<template>\n <v-text-field\n v-maska=\"maskOptions\"\n :model-value=\"displayText\"\n :label=\"label\"\n :placeholder=\"resolvedPlaceholder\"\n :rules=\"mergedRules\"\n :disabled=\"disabled\"\n :hint=\"hint\"\n :persistent-hint=\"hasHint\"\n :variant=\"resolvedVariant\"\n inputmode=\"numeric\"\n autocomplete=\"off\"\n @update:focused=\"onFocusChange\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n\n <template #append-inner>\n <FzDatePickerCalendar\n v-model:open=\"isCalendarOpen\"\n :selected=\"modelValue\"\n :icon=\"icon\"\n :disabled=\"disabled\"\n :min=\"min\"\n :max=\"max\"\n :locale=\"locale\"\n :width=\"width\"\n :height=\"height\"\n :today-label=\"todayLabel\"\n @select=\"onSelect\"\n />\n </template>\n\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 { ref, computed, watch } from 'vue';\nimport { vMaska } from 'maska/vue';\nimport { useFzDefaults } from '@/composables/useFzDefaults';\nimport {\n formatDisplay,\n isWithinRange,\n maskForFormat,\n parseDisplay,\n toIso,\n type DateFormat,\n type DateLocale,\n} from '@/utils/date';\nimport type { TextFieldVariant } from '@/utils/types';\nimport FzDatePickerCalendar from './FzDatePickerCalendar.vue';\n\ntype ValidationRule = (value: string) => boolean | string;\n\ntype MaskaDetail = { masked: string; unmasked: string; completed: boolean };\n\ninterface Props {\n modelValue?: string;\n format?: DateFormat;\n locale?: DateLocale;\n label?: string;\n placeholder?: 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 min?: string | null;\n max?: string | null;\n icon?: string;\n todayLabel?: string;\n width?: string | number;\n height?: string | number;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: '',\n format: 'dd/mm/yyyy',\n locale: 'pt-BR',\n label: 'Data',\n placeholder: '',\n rules: () => [],\n disabled: false,\n hint: '',\n required: false,\n validateOnBlur: true,\n requiredMessage: '',\n invalidMessage: '',\n variant: undefined,\n min: null,\n max: null,\n icon: 'mdi-calendar',\n todayLabel: '',\n width: 400,\n height: 400,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n isValid: [value: boolean];\n}>();\n\nconst defaults = useFzDefaults();\n\nconst displayText = ref(formatDisplay(props.modelValue ?? '', props.format));\nconst isCalendarOpen = ref(false);\nconst isValid = ref(false);\n\nconst hasHint = computed(() => !!props.hint);\n\nconst resolvedVariant = computed(() => props.variant ?? defaults.variant ?? 'underlined');\n\nconst resolvedPlaceholder = computed(() => {\n if (props.placeholder) return props.placeholder;\n\n if (props.format === 'yyyy-mm-dd') return props.format;\n\n return props.locale === 'pt-BR' ? props.format.replace('yyyy', 'aaaa') : props.format;\n});\n\nconst mergedRules = computed(() => [validateDate, ...props.rules]);\n\nconst maskOptions = computed(() => ({\n mask: maskForFormat(props.format),\n eager: true,\n onMaska: (detail: MaskaDetail) => onInput(detail.masked),\n}));\n\nfunction validateDate(value: string): boolean | string {\n if (!value) return props.required ? props.requiredMessage || 'Data é obrigatória' : true;\n\n const parts = parseDisplay(value, props.format);\n\n if (!parts) return props.invalidMessage || 'Data inválida';\n\n if (!isWithinRange(toIso(parts), props.min, props.max)) return props.invalidMessage || 'Data inválida';\n\n return true;\n}\n\nfunction resolveValidation(): void {\n isValid.value = validateDate(displayText.value) === true;\n\n emit('isValid', isValid.value);\n}\n\nfunction commit(value: string): void {\n emit('update:modelValue', value);\n\n if (!props.validateOnBlur) resolveValidation();\n}\n\nfunction onInput(masked: string): void {\n displayText.value = masked;\n\n const parts = parseDisplay(masked, props.format);\n\n if (!parts) {\n commit('');\n\n return;\n }\n\n const iso = toIso(parts);\n\n if (!isWithinRange(iso, props.min, props.max)) {\n commit('');\n\n return;\n }\n\n commit(iso);\n}\n\nfunction onFocusChange(focused: boolean): void {\n if (focused) return;\n\n if (!props.validateOnBlur) return;\n\n resolveValidation();\n}\n\nfunction onSelect(iso: string): void {\n displayText.value = formatDisplay(iso, props.format);\n isCalendarOpen.value = false;\n isValid.value = true;\n\n emit('update:modelValue', iso);\n emit('isValid', true);\n}\n\nwatch(\n () => [props.modelValue, props.format] as const,\n () => {\n const currentParts = parseDisplay(displayText.value, props.format);\n const currentIso = currentParts ? toIso(currentParts) : '';\n\n if (currentIso === (props.modelValue ?? '')) return;\n\n displayText.value = formatDisplay(props.modelValue ?? '', props.format);\n },\n);\n</script>\n"],"names":["props","__props","emit","__emit","defaults","useFzDefaults","displayText","ref","formatDisplay","isCalendarOpen","isValid","hasHint","computed","resolvedVariant","resolvedPlaceholder","mergedRules","validateDate","maskOptions","maskForFormat","detail","onInput","value","parts","parseDisplay","isWithinRange","toIso","resolveValidation","commit","masked","iso","onFocusChange","focused","onSelect","watch","currentParts","_createBlock","_component_v_text_field","_createVNode","FzDatePickerCalendar","$event","$slots","_renderSlot","_ctx"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { defineComponent as U, toRef as s, computed as v, watch as q, resolveComponent as d, createBlock as c, openBlock as r, withCtx as t, createVNode as a, createElementVNode as x, unref as e, createTextVNode as m, toDisplayString as _, Transition as A, mergeProps as G } from "vue";
|
|
2
|
+
import { u as J } from "../composables/useDatePicker-DlPanUqu.js";
|
|
3
|
+
import { a as K } from "../utils/date-BCG-p19e.js";
|
|
4
|
+
import { F as Q } from "./inputs-datepicker-FzDatePickerDaysView-0m1isZIx.js";
|
|
5
|
+
import { F as W } from "./inputs-datepicker-FzDatePickerMonthsView-DfjKo8Y0.js";
|
|
6
|
+
import { F as X } from "./inputs-datepicker-FzDatePickerYearsView-BLqOg5T9.js";
|
|
7
|
+
import { _ as Z } from "./inputs-FzMoneyField-C8nCfRgx.js";
|
|
8
|
+
const $ = { class: "d-flex align-center px-2 py-2" }, ee = { class: "fz-dp-content overflow-hidden pa-2" }, te = /* @__PURE__ */ U({
|
|
9
|
+
__name: "FzDatePickerCalendar",
|
|
10
|
+
props: {
|
|
11
|
+
open: { type: Boolean },
|
|
12
|
+
selected: { default: "" },
|
|
13
|
+
icon: { default: "mdi-calendar" },
|
|
14
|
+
disabled: { type: Boolean, default: !1 },
|
|
15
|
+
min: { default: null },
|
|
16
|
+
max: { default: null },
|
|
17
|
+
locale: { default: "pt-BR" },
|
|
18
|
+
width: { default: 400 },
|
|
19
|
+
height: { default: 400 },
|
|
20
|
+
todayLabel: { default: "" }
|
|
21
|
+
},
|
|
22
|
+
emits: ["update:open", "select"],
|
|
23
|
+
setup(l, { emit: b }) {
|
|
24
|
+
const o = l, h = b, {
|
|
25
|
+
focusedYear: k,
|
|
26
|
+
isDaysView: g,
|
|
27
|
+
isMonthsView: w,
|
|
28
|
+
weekdayInitials: C,
|
|
29
|
+
monthNames: D,
|
|
30
|
+
dayMatrix: V,
|
|
31
|
+
yearList: F,
|
|
32
|
+
headerTitle: z,
|
|
33
|
+
goPrev: P,
|
|
34
|
+
goNext: S,
|
|
35
|
+
drillFromTitle: T,
|
|
36
|
+
selectMonth: B,
|
|
37
|
+
selectYear: N,
|
|
38
|
+
isDisabled: I,
|
|
39
|
+
reset: L
|
|
40
|
+
} = J({
|
|
41
|
+
selected: s(o, "selected"),
|
|
42
|
+
min: s(o, "min"),
|
|
43
|
+
max: s(o, "max"),
|
|
44
|
+
locale: s(o, "locale")
|
|
45
|
+
}), M = K(), f = v({
|
|
46
|
+
get: () => o.open,
|
|
47
|
+
set: (n) => h("update:open", n)
|
|
48
|
+
}), Y = v(() => o.disabled ? void 0 : "fz-dp-trigger"), R = v(() => o.todayLabel || (o.locale === "en" ? "Today" : "Hoje"));
|
|
49
|
+
function j(n) {
|
|
50
|
+
h("select", n), f.value = !1;
|
|
51
|
+
}
|
|
52
|
+
return q(
|
|
53
|
+
() => o.open,
|
|
54
|
+
(n) => {
|
|
55
|
+
n && L();
|
|
56
|
+
}
|
|
57
|
+
), (n, i) => {
|
|
58
|
+
const u = d("v-icon"), y = d("v-btn"), E = d("v-divider"), H = d("v-card"), O = d("v-menu");
|
|
59
|
+
return r(), c(O, {
|
|
60
|
+
modelValue: f.value,
|
|
61
|
+
"onUpdate:modelValue": i[0] || (i[0] = (p) => f.value = p),
|
|
62
|
+
disabled: l.disabled,
|
|
63
|
+
"close-on-content-click": !1,
|
|
64
|
+
offset: "4"
|
|
65
|
+
}, {
|
|
66
|
+
activator: t(({ props: p }) => [
|
|
67
|
+
a(u, G(p, { class: Y.value }), {
|
|
68
|
+
default: t(() => [
|
|
69
|
+
m(_(l.icon), 1)
|
|
70
|
+
]),
|
|
71
|
+
_: 1
|
|
72
|
+
}, 16, ["class"])
|
|
73
|
+
]),
|
|
74
|
+
default: t(() => [
|
|
75
|
+
a(H, {
|
|
76
|
+
width: l.width,
|
|
77
|
+
height: l.height,
|
|
78
|
+
class: "d-flex flex-column"
|
|
79
|
+
}, {
|
|
80
|
+
default: t(() => [
|
|
81
|
+
x("div", $, [
|
|
82
|
+
a(y, {
|
|
83
|
+
icon: "",
|
|
84
|
+
variant: "text",
|
|
85
|
+
density: "comfortable",
|
|
86
|
+
onClick: e(P)
|
|
87
|
+
}, {
|
|
88
|
+
default: t(() => [
|
|
89
|
+
a(u, null, {
|
|
90
|
+
default: t(() => [...i[1] || (i[1] = [
|
|
91
|
+
m("mdi-chevron-left", -1)
|
|
92
|
+
])]),
|
|
93
|
+
_: 1
|
|
94
|
+
})
|
|
95
|
+
]),
|
|
96
|
+
_: 1
|
|
97
|
+
}, 8, ["onClick"]),
|
|
98
|
+
a(y, {
|
|
99
|
+
variant: "text",
|
|
100
|
+
class: "text-none font-weight-medium flex-grow-1",
|
|
101
|
+
onClick: e(T)
|
|
102
|
+
}, {
|
|
103
|
+
default: t(() => [
|
|
104
|
+
m(_(e(z)), 1)
|
|
105
|
+
]),
|
|
106
|
+
_: 1
|
|
107
|
+
}, 8, ["onClick"]),
|
|
108
|
+
a(y, {
|
|
109
|
+
icon: "",
|
|
110
|
+
variant: "text",
|
|
111
|
+
density: "comfortable",
|
|
112
|
+
onClick: e(S)
|
|
113
|
+
}, {
|
|
114
|
+
default: t(() => [
|
|
115
|
+
a(u, null, {
|
|
116
|
+
default: t(() => [...i[2] || (i[2] = [
|
|
117
|
+
m("mdi-chevron-right", -1)
|
|
118
|
+
])]),
|
|
119
|
+
_: 1
|
|
120
|
+
})
|
|
121
|
+
]),
|
|
122
|
+
_: 1
|
|
123
|
+
}, 8, ["onClick"])
|
|
124
|
+
]),
|
|
125
|
+
a(E),
|
|
126
|
+
x("div", ee, [
|
|
127
|
+
a(A, {
|
|
128
|
+
name: "fz-dp-fade",
|
|
129
|
+
mode: "out-in"
|
|
130
|
+
}, {
|
|
131
|
+
default: t(() => [
|
|
132
|
+
e(g) ? (r(), c(Q, {
|
|
133
|
+
key: 0,
|
|
134
|
+
"weekday-initials": e(C),
|
|
135
|
+
"day-matrix": e(V),
|
|
136
|
+
"selected-iso": l.selected,
|
|
137
|
+
"today-iso": e(M),
|
|
138
|
+
"today-label": R.value,
|
|
139
|
+
"is-disabled": e(I),
|
|
140
|
+
onSelect: j
|
|
141
|
+
}, null, 8, ["weekday-initials", "day-matrix", "selected-iso", "today-iso", "today-label", "is-disabled"])) : e(w) ? (r(), c(W, {
|
|
142
|
+
key: 1,
|
|
143
|
+
"month-names": e(D),
|
|
144
|
+
"focused-year": e(k),
|
|
145
|
+
"selected-iso": l.selected,
|
|
146
|
+
onSelect: e(B)
|
|
147
|
+
}, null, 8, ["month-names", "focused-year", "selected-iso", "onSelect"])) : (r(), c(X, {
|
|
148
|
+
key: 2,
|
|
149
|
+
"year-list": e(F),
|
|
150
|
+
"focused-year": e(k),
|
|
151
|
+
"selected-iso": l.selected,
|
|
152
|
+
onSelect: e(N)
|
|
153
|
+
}, null, 8, ["year-list", "focused-year", "selected-iso", "onSelect"]))
|
|
154
|
+
]),
|
|
155
|
+
_: 1
|
|
156
|
+
})
|
|
157
|
+
])
|
|
158
|
+
]),
|
|
159
|
+
_: 1
|
|
160
|
+
}, 8, ["width", "height"])
|
|
161
|
+
]),
|
|
162
|
+
_: 1
|
|
163
|
+
}, 8, ["modelValue", "disabled"]);
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}), ce = /* @__PURE__ */ Z(te, [["__scopeId", "data-v-35f33e79"]]);
|
|
167
|
+
export {
|
|
168
|
+
ce as F
|
|
169
|
+
};
|
|
170
|
+
//# sourceMappingURL=inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs-datepicker-FzDatePickerCalendar-TOO_5iVD.js","sources":["../../../src/components/inputs/datepicker/FzDatePickerCalendar.vue"],"sourcesContent":["<template>\n <v-menu v-model=\"isOpen\" :disabled=\"disabled\" :close-on-content-click=\"false\" offset=\"4\">\n <template #activator=\"{ props: activatorProps }\">\n <v-icon v-bind=\"activatorProps\" :class=\"triggerClass\">{{ icon }}</v-icon>\n </template>\n\n <v-card :width=\"width\" :height=\"height\" class=\"d-flex flex-column\">\n <div class=\"d-flex align-center px-2 py-2\">\n <v-btn icon variant=\"text\" density=\"comfortable\" @click=\"goPrev\">\n <v-icon>mdi-chevron-left</v-icon>\n </v-btn>\n\n <v-btn variant=\"text\" class=\"text-none font-weight-medium flex-grow-1\" @click=\"drillFromTitle\">\n {{ headerTitle }}\n </v-btn>\n\n <v-btn icon variant=\"text\" density=\"comfortable\" @click=\"goNext\">\n <v-icon>mdi-chevron-right</v-icon>\n </v-btn>\n </div>\n\n <v-divider />\n\n <div class=\"fz-dp-content overflow-hidden pa-2\">\n <Transition name=\"fz-dp-fade\" mode=\"out-in\">\n <FzDatePickerDaysView\n v-if=\"isDaysView\"\n :weekday-initials=\"weekdayInitials\"\n :day-matrix=\"dayMatrix\"\n :selected-iso=\"selected\"\n :today-iso=\"currentIso\"\n :today-label=\"resolvedTodayLabel\"\n :is-disabled=\"isDisabled\"\n @select=\"onDaySelect\"\n />\n\n <FzDatePickerMonthsView\n v-else-if=\"isMonthsView\"\n :month-names=\"monthNames\"\n :focused-year=\"focusedYear\"\n :selected-iso=\"selected\"\n @select=\"selectMonth\"\n />\n\n <FzDatePickerYearsView\n v-else\n :year-list=\"yearList\"\n :focused-year=\"focusedYear\"\n :selected-iso=\"selected\"\n @select=\"selectYear\"\n />\n </Transition>\n </div>\n </v-card>\n </v-menu>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, toRef, watch } from 'vue';\nimport { useDatePicker } from '@/composables/useDatePicker';\nimport { todayIso, type DateLocale } from '@/utils/date';\nimport FzDatePickerDaysView from './FzDatePickerDaysView.vue';\nimport FzDatePickerMonthsView from './FzDatePickerMonthsView.vue';\nimport FzDatePickerYearsView from './FzDatePickerYearsView.vue';\n\ninterface Props {\n open: boolean;\n selected?: string;\n icon?: string;\n disabled?: boolean;\n min?: string | null;\n max?: string | null;\n locale?: DateLocale;\n width?: string | number;\n height?: string | number;\n todayLabel?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n selected: '',\n icon: 'mdi-calendar',\n disabled: false,\n min: null,\n max: null,\n locale: 'pt-BR',\n width: 400,\n height: 400,\n todayLabel: '',\n});\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean];\n select: [iso: string];\n}>();\n\nconst {\n focusedYear,\n isDaysView,\n isMonthsView,\n weekdayInitials,\n monthNames,\n dayMatrix,\n yearList,\n headerTitle,\n goPrev,\n goNext,\n drillFromTitle,\n selectMonth,\n selectYear,\n isDisabled,\n reset,\n} = useDatePicker({\n selected: toRef(props, 'selected'),\n min: toRef(props, 'min'),\n max: toRef(props, 'max'),\n locale: toRef(props, 'locale'),\n});\n\nconst currentIso = todayIso();\n\nconst isOpen = computed({\n get: () => props.open,\n set: (value) => emit('update:open', value),\n});\n\nconst triggerClass = computed(() => (props.disabled ? undefined : 'fz-dp-trigger'));\n\nconst resolvedTodayLabel = computed(() => props.todayLabel || (props.locale === 'en' ? 'Today' : 'Hoje'));\n\nfunction onDaySelect(iso: string): void {\n emit('select', iso);\n isOpen.value = false;\n}\n\nwatch(\n () => props.open,\n (open) => {\n if (!open) return;\n\n reset();\n },\n);\n</script>\n\n<style scoped>\n.fz-dp-trigger {\n cursor: pointer;\n}\n\n.fz-dp-content {\n flex: 1 1 0;\n min-height: 0;\n}\n\n.fz-dp-fade-enter-active,\n.fz-dp-fade-leave-active {\n transition: opacity 0.15s ease;\n}\n\n.fz-dp-fade-enter-from,\n.fz-dp-fade-leave-to {\n opacity: 0;\n}\n</style>\n"],"names":["props","__props","emit","__emit","focusedYear","isDaysView","isMonthsView","weekdayInitials","monthNames","dayMatrix","yearList","headerTitle","goPrev","goNext","drillFromTitle","selectMonth","selectYear","isDisabled","reset","useDatePicker","toRef","currentIso","todayIso","isOpen","computed","value","triggerClass","resolvedTodayLabel","onDaySelect","iso","watch","open","_createBlock","_component_v_menu","$event","_withCtx","activatorProps","_createVNode","_component_v_icon","_mergeProps","_component_v_card","_createElementVNode","_hoisted_1","_component_v_btn","_unref","_cache","_component_v_divider","_hoisted_2","_Transition","FzDatePickerDaysView","FzDatePickerMonthsView","FzDatePickerYearsView"],"mappings":"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"}
|