@davincihealthcare/elty-design-system-vue 1.73.6 → 1.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { NumberValueType } from './input';
2
2
  import { PropType } from 'vue';
3
3
 
4
- export declare const elInputDateTypes: readonly ["date", "datetime-local", "time"];
4
+ export declare const elInputDateTypes: readonly ["date", "datetime-local", "time", "month"];
5
5
  export type ElInputDateType = (typeof elInputDateTypes)[number];
6
6
  declare const _default: import('vue').DefineComponent<{
7
7
  type: {
@@ -137,7 +137,7 @@ declare const _default: import('vue').DefineComponent<{
137
137
  "onUpdate:readableString"?: ((value: string) => any) | undefined;
138
138
  }, {
139
139
  name: string;
140
- type: "time" | "date" | "datetime-local";
140
+ type: "time" | "date" | "month" | "datetime-local";
141
141
  label: string;
142
142
  disabled: boolean;
143
143
  id: string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("./ElInputContainer.vue.cjs2.js"),o=require("./input.cjs.js"),n=require("../../node_modules/luxon/src/datetime.cjs.js");require("../../node_modules/luxon/src/duration.cjs.js");const V=["id","name","type","placeholder","disabled","data-cy"],q=["date","datetime-local","time"],D=e.defineComponent({__name:"ElInputDate",props:{...o.withNumberElInputProps(),type:{type:String,default:"date"}},emits:["update:modelValue","update:readableString"],setup(s,{emit:y}){const t=s,i=y,l=t.modelValue?n.default.fromSeconds(t.modelValue):void 0,m=e.computed(()=>{switch(t.type){case"date":return"yyyy-MM-dd";case"time":return"HH:mm";case"datetime-local":return"yyyy-MM-dd'T'HH:mm";default:return""}}),f=e.computed(()=>t.modelValue),v=e.computed(()=>[t.validation]),{value:u,errorMessage:g,uuid:p,fieldContext:b}=o.useInput(f,v,t.name,a=>{i("update:modelValue",a),i("update:readableString",d.value)}),d=e.computed({get:()=>u.value?n.default.fromSeconds(u.value).toFormat(m.value):"",set:a=>{if(a){let r=n.default.fromFormat(a,m.value);t.type==="time"&&l&&(r=r.set({day:l.day,month:l.month,year:l.year})),u.value=Math.round(r.toSeconds())}else u.value=void 0}});return(a,r)=>(e.openBlock(),e.createBlock(h.default,e.mergeProps(a.$attrs,{name:e.unref(p),label:a.label,"error-message":t.errorMessage===!1?!1:t.errorMessage||e.unref(g),"hidden-error-message":a.hiddenErrorMessage,"set-required-mark":e.unref(o.showRequiredMark)([a.validation])}),{default:e.withCtx(({error:M})=>[e.withDirectives(e.createElementVNode("input",{id:e.unref(p),"onUpdate:modelValue":r[0]||(r[0]=c=>d.value=c),name:t.name,type:s.type,class:e.normalizeClass(["el-input",{error:M,"text-neutral-darker border-primary":d.value!==""}]),placeholder:a.placeholder,disabled:t.disabled,"data-cy":`${a.label.trim().replaceAll(" ","")}-input`,max:"9999-12-31",onBlur:r[1]||(r[1]=c=>e.unref(b).validate())},null,42,V),[[e.vModelDynamic,d.value]])]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});exports.default=D;exports.elInputDateTypes=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("./ElInputContainer.vue.cjs2.js"),d=require("./input.cjs.js"),n=require("../../node_modules/luxon/src/datetime.cjs.js");require("../../node_modules/luxon/src/duration.cjs.js");const V=["id","name","type","placeholder","disabled","data-cy"],q=["date","datetime-local","time","month"],D=e.defineComponent({__name:"ElInputDate",props:{...d.withNumberElInputProps(),type:{type:String,default:"date"}},emits:["update:modelValue","update:readableString"],setup(s,{emit:y}){const t=s,i=y,l=t.modelValue?n.default.fromSeconds(t.modelValue):void 0,m=e.computed(()=>{switch(t.type){case"date":return"yyyy-MM-dd";case"time":return"HH:mm";case"datetime-local":return"yyyy-MM-dd'T'HH:mm";default:return""}}),f=e.computed(()=>t.modelValue),v=e.computed(()=>[t.validation]),{value:u,errorMessage:g,uuid:p,fieldContext:b}=d.useInput(f,v,t.name,a=>{i("update:modelValue",a),i("update:readableString",o.value)}),o=e.computed({get:()=>u.value?n.default.fromSeconds(u.value).toFormat(m.value):"",set:a=>{if(a){let r=n.default.fromFormat(a,m.value);t.type==="time"&&l&&(r=r.set({day:l.day,month:l.month,year:l.year})),u.value=Math.round(r.toSeconds())}else u.value=void 0}});return(a,r)=>(e.openBlock(),e.createBlock(h.default,e.mergeProps(a.$attrs,{name:e.unref(p),label:a.label,"error-message":t.errorMessage===!1?!1:t.errorMessage||e.unref(g),"hidden-error-message":a.hiddenErrorMessage,"set-required-mark":e.unref(d.showRequiredMark)([a.validation])}),{default:e.withCtx(({error:M})=>[e.withDirectives(e.createElementVNode("input",{id:e.unref(p),"onUpdate:modelValue":r[0]||(r[0]=c=>o.value=c),name:t.name,type:s.type,class:e.normalizeClass(["el-input",{error:M,"text-neutral-darker border-primary":o.value!==""}]),placeholder:a.placeholder,disabled:t.disabled,"data-cy":`${a.label.trim().replaceAll(" ","")}-input`,max:"9999-12-31",onBlur:r[1]||(r[1]=c=>e.unref(b).validate())},null,42,V),[[e.vModelDynamic,o.value]])]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});exports.default=D;exports.elInputDateTypes=q;
2
2
  //# sourceMappingURL=ElInputDate.vue.cjs2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElInputDate.vue.cjs2.js","sources":["../../../src/forms/ElInputDate.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputDateTypes = ['date', 'datetime-local', 'time'] as const;\nexport type ElInputDateType = (typeof elInputDateTypes)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, PropType } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { useInput, NumberValueType, showRequiredMark, withNumberElInputProps } from '@/forms/input';\nimport { DateTime } from 'luxon';\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n type: {\n type: String as PropType<ElInputDateType>,\n default: 'date',\n },\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'update:readableString', value: string): void;\n}>();\n\nconst initialDate = props.modelValue ? DateTime.fromSeconds(props.modelValue) : undefined;\n\nconst dateFormat = computed(() => {\n switch (props.type) {\n case 'date':\n return 'yyyy-MM-dd';\n case 'time':\n return 'HH:mm';\n case 'datetime-local':\n // eslint-disable-next-line quotes\n return `yyyy-MM-dd'T'HH:mm`;\n default:\n return '';\n }\n});\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\n\nconst { value, errorMessage, uuid, fieldContext } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n emit('update:readableString', valueToNumber.value);\n});\n\n// this is needed to have vee-validate only work on number values, this way we don't have to deal with date format, but only timestamps\nconst valueToNumber = computed<string>({\n get: () => {\n if (!value.value) return '';\n return DateTime.fromSeconds(value.value).toFormat(dateFormat.value);\n },\n set: (valueAsString: string) => {\n if (valueAsString) {\n let newDate = DateTime.fromFormat(valueAsString, dateFormat.value);\n if (props.type === 'time' && initialDate) {\n // when parsing from time, it loses reference of the actual date. Set it manually\n newDate = newDate.set({ day: initialDate.day, month: initialDate.month, year: initialDate.year });\n }\n value.value = Math.round(newDate.toSeconds());\n } else {\n value.value = undefined;\n }\n },\n});\n</script>\n\n<template>\n <ElInputContainer\n v-bind=\"$attrs\"\n :name=\"uuid\"\n :label=\"label\"\n :error-message=\"props.errorMessage === false ? false : props.errorMessage || errorMessage\"\n :hidden-error-message=\"hiddenErrorMessage\"\n :set-required-mark=\"showRequiredMark([validation])\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"valueToNumber\"\n :name=\"props.name\"\n :type=\"type\"\n class=\"el-input\"\n :class=\"{\n error: error,\n 'text-neutral-darker border-primary': valueToNumber !== '',\n }\"\n :placeholder=\"placeholder\"\n :disabled=\"props.disabled\"\n :data-cy=\"`${label.trim().replaceAll(' ', '')}-input`\"\n max=\"9999-12-31\"\n @blur=\"fieldContext.validate()\"\n />\n </template>\n </ElInputContainer>\n</template>\n"],"names":["elInputDateTypes","props","__props","emit","__emit","initialDate","DateTime","dateFormat","computed","computedModelValue","computedValidation","value","errorMessage","uuid","fieldContext","useInput","newValue","valueToNumber","valueAsString","newDate"],"mappings":"6XACaA,EAAmB,CAAC,OAAQ,iBAAkB,MAAM,0LAUjE,MAAMC,EAAQC,EAQRC,EAAOC,EAKPC,EAAcJ,EAAM,WAAaK,UAAS,YAAYL,EAAM,UAAU,EAAI,OAE1EM,EAAaC,EAAAA,SAAS,IAAM,CAChC,OAAQP,EAAM,KAAM,CAClB,IAAK,OACI,MAAA,aACT,IAAK,OACI,MAAA,QACT,IAAK,iBAEI,MAAA,qBACT,QACS,MAAA,EACX,CAAA,CACD,EAEKQ,EAAqBD,EAAA,SAAS,IAAMP,EAAM,UAAU,EACpDS,EAAqBF,EAAAA,SAAS,IAAM,CAACP,EAAM,UAAU,CAAC,EAEtD,CAAE,MAAAU,EAAO,aAAAC,EAAc,KAAAC,EAAM,aAAAC,CAAiB,EAAAC,WAASN,EAAoBC,EAAoBT,EAAM,KAAkBe,GAAA,CAC3Hb,EAAK,oBAAqBa,CAAQ,EAC7Bb,EAAA,wBAAyBc,EAAc,KAAK,CAAA,CAClD,EAGKA,EAAgBT,EAAAA,SAAiB,CACrC,IAAK,IACEG,EAAM,MACJL,UAAS,YAAYK,EAAM,KAAK,EAAE,SAASJ,EAAW,KAAK,EADzC,GAG3B,IAAMW,GAA0B,CAC9B,GAAIA,EAAe,CACjB,IAAIC,EAAUb,EAAAA,QAAS,WAAWY,EAAeX,EAAW,KAAK,EAC7DN,EAAM,OAAS,QAAUI,IAE3Bc,EAAUA,EAAQ,IAAI,CAAE,IAAKd,EAAY,IAAK,MAAOA,EAAY,MAAO,KAAMA,EAAY,IAAM,CAAA,GAElGM,EAAM,MAAQ,KAAK,MAAMQ,EAAQ,WAAW,CAAA,MAE5CR,EAAM,MAAQ,MAElB,CAAA,CACD"}
1
+ {"version":3,"file":"ElInputDate.vue.cjs2.js","sources":["../../../src/forms/ElInputDate.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputDateTypes = ['date', 'datetime-local', 'time', 'month'] as const;\nexport type ElInputDateType = (typeof elInputDateTypes)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, PropType } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { useInput, NumberValueType, showRequiredMark, withNumberElInputProps } from '@/forms/input';\nimport { DateTime } from 'luxon';\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n type: {\n type: String as PropType<ElInputDateType>,\n default: 'date',\n },\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'update:readableString', value: string): void;\n}>();\n\nconst initialDate = props.modelValue ? DateTime.fromSeconds(props.modelValue) : undefined;\n\nconst dateFormat = computed(() => {\n switch (props.type) {\n case 'date':\n return 'yyyy-MM-dd';\n case 'time':\n return 'HH:mm';\n case 'datetime-local':\n // eslint-disable-next-line quotes\n return `yyyy-MM-dd'T'HH:mm`;\n default:\n return '';\n }\n});\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\n\nconst { value, errorMessage, uuid, fieldContext } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n emit('update:readableString', valueToNumber.value);\n});\n\n// this is needed to have vee-validate only work on number values, this way we don't have to deal with date format, but only timestamps\nconst valueToNumber = computed<string>({\n get: () => {\n if (!value.value) return '';\n return DateTime.fromSeconds(value.value).toFormat(dateFormat.value);\n },\n set: (valueAsString: string) => {\n if (valueAsString) {\n let newDate = DateTime.fromFormat(valueAsString, dateFormat.value);\n if (props.type === 'time' && initialDate) {\n // when parsing from time, it loses reference of the actual date. Set it manually\n newDate = newDate.set({ day: initialDate.day, month: initialDate.month, year: initialDate.year });\n }\n value.value = Math.round(newDate.toSeconds());\n } else {\n value.value = undefined;\n }\n },\n});\n</script>\n\n<template>\n <ElInputContainer\n v-bind=\"$attrs\"\n :name=\"uuid\"\n :label=\"label\"\n :error-message=\"props.errorMessage === false ? false : props.errorMessage || errorMessage\"\n :hidden-error-message=\"hiddenErrorMessage\"\n :set-required-mark=\"showRequiredMark([validation])\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"valueToNumber\"\n :name=\"props.name\"\n :type=\"type\"\n class=\"el-input\"\n :class=\"{\n error: error,\n 'text-neutral-darker border-primary': valueToNumber !== '',\n }\"\n :placeholder=\"placeholder\"\n :disabled=\"props.disabled\"\n :data-cy=\"`${label.trim().replaceAll(' ', '')}-input`\"\n max=\"9999-12-31\"\n @blur=\"fieldContext.validate()\"\n />\n </template>\n </ElInputContainer>\n</template>\n"],"names":["elInputDateTypes","props","__props","emit","__emit","initialDate","DateTime","dateFormat","computed","computedModelValue","computedValidation","value","errorMessage","uuid","fieldContext","useInput","newValue","valueToNumber","valueAsString","newDate"],"mappings":"6XACaA,EAAmB,CAAC,OAAQ,iBAAkB,OAAQ,OAAO,0LAU1E,MAAMC,EAAQC,EAQRC,EAAOC,EAKPC,EAAcJ,EAAM,WAAaK,UAAS,YAAYL,EAAM,UAAU,EAAI,OAE1EM,EAAaC,EAAAA,SAAS,IAAM,CAChC,OAAQP,EAAM,KAAM,CAClB,IAAK,OACI,MAAA,aACT,IAAK,OACI,MAAA,QACT,IAAK,iBAEI,MAAA,qBACT,QACS,MAAA,EACX,CAAA,CACD,EAEKQ,EAAqBD,EAAA,SAAS,IAAMP,EAAM,UAAU,EACpDS,EAAqBF,EAAAA,SAAS,IAAM,CAACP,EAAM,UAAU,CAAC,EAEtD,CAAE,MAAAU,EAAO,aAAAC,EAAc,KAAAC,EAAM,aAAAC,CAAiB,EAAAC,WAASN,EAAoBC,EAAoBT,EAAM,KAAkBe,GAAA,CAC3Hb,EAAK,oBAAqBa,CAAQ,EAC7Bb,EAAA,wBAAyBc,EAAc,KAAK,CAAA,CAClD,EAGKA,EAAgBT,EAAAA,SAAiB,CACrC,IAAK,IACEG,EAAM,MACJL,UAAS,YAAYK,EAAM,KAAK,EAAE,SAASJ,EAAW,KAAK,EADzC,GAG3B,IAAMW,GAA0B,CAC9B,GAAIA,EAAe,CACjB,IAAIC,EAAUb,EAAAA,QAAS,WAAWY,EAAeX,EAAW,KAAK,EAC7DN,EAAM,OAAS,QAAUI,IAE3Bc,EAAUA,EAAQ,IAAI,CAAE,IAAKd,EAAY,IAAK,MAAOA,EAAY,MAAO,KAAMA,EAAY,IAAM,CAAA,GAElGM,EAAM,MAAQ,KAAK,MAAMQ,EAAQ,WAAW,CAAA,MAE5CR,EAAM,MAAQ,MAElB,CAAA,CACD"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as M,computed as n,openBlock as V,createBlock as D,mergeProps as k,unref as r,withCtx as w,withDirectives as S,createElementVNode as C,normalizeClass as E,vModelDynamic as H}from"vue";import I from"./ElInputContainer.vue.esm2.js";import{withNumberElInputProps as T,useInput as $,showRequiredMark as q}from"./input.esm.js";import m from"../../node_modules/luxon/src/datetime.esm.js";import"../../node_modules/luxon/src/duration.esm.js";const B=["id","name","type","placeholder","disabled","data-cy"],U=["date","datetime-local","time"],j=M({__name:"ElInputDate",props:{...T(),type:{type:String,default:"date"}},emits:["update:modelValue","update:readableString"],setup(i,{emit:y}){const e=i,s=y,o=e.modelValue?m.fromSeconds(e.modelValue):void 0,u=n(()=>{switch(e.type){case"date":return"yyyy-MM-dd";case"time":return"HH:mm";case"datetime-local":return"yyyy-MM-dd'T'HH:mm";default:return""}}),f=n(()=>e.modelValue),v=n(()=>[e.validation]),{value:l,errorMessage:b,uuid:p,fieldContext:g}=$(f,v,e.name,a=>{s("update:modelValue",a),s("update:readableString",d.value)}),d=n({get:()=>l.value?m.fromSeconds(l.value).toFormat(u.value):"",set:a=>{if(a){let t=m.fromFormat(a,u.value);e.type==="time"&&o&&(t=t.set({day:o.day,month:o.month,year:o.year})),l.value=Math.round(t.toSeconds())}else l.value=void 0}});return(a,t)=>(V(),D(I,k(a.$attrs,{name:r(p),label:a.label,"error-message":e.errorMessage===!1?!1:e.errorMessage||r(b),"hidden-error-message":a.hiddenErrorMessage,"set-required-mark":r(q)([a.validation])}),{default:w(({error:h})=>[S(C("input",{id:r(p),"onUpdate:modelValue":t[0]||(t[0]=c=>d.value=c),name:e.name,type:i.type,class:E(["el-input",{error:h,"text-neutral-darker border-primary":d.value!==""}]),placeholder:a.placeholder,disabled:e.disabled,"data-cy":`${a.label.trim().replaceAll(" ","")}-input`,max:"9999-12-31",onBlur:t[1]||(t[1]=c=>r(g).validate())},null,42,B),[[H,d.value]])]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});export{j as default,U as elInputDateTypes};
1
+ import{defineComponent as M,computed as n,openBlock as V,createBlock as D,mergeProps as k,unref as r,withCtx as w,withDirectives as S,createElementVNode as C,normalizeClass as E,vModelDynamic as H}from"vue";import I from"./ElInputContainer.vue.esm2.js";import{withNumberElInputProps as T,useInput as $,showRequiredMark as q}from"./input.esm.js";import m from"../../node_modules/luxon/src/datetime.esm.js";import"../../node_modules/luxon/src/duration.esm.js";const B=["id","name","type","placeholder","disabled","data-cy"],U=["date","datetime-local","time","month"],j=M({__name:"ElInputDate",props:{...T(),type:{type:String,default:"date"}},emits:["update:modelValue","update:readableString"],setup(i,{emit:y}){const e=i,s=y,o=e.modelValue?m.fromSeconds(e.modelValue):void 0,u=n(()=>{switch(e.type){case"date":return"yyyy-MM-dd";case"time":return"HH:mm";case"datetime-local":return"yyyy-MM-dd'T'HH:mm";default:return""}}),f=n(()=>e.modelValue),v=n(()=>[e.validation]),{value:l,errorMessage:h,uuid:p,fieldContext:b}=$(f,v,e.name,a=>{s("update:modelValue",a),s("update:readableString",d.value)}),d=n({get:()=>l.value?m.fromSeconds(l.value).toFormat(u.value):"",set:a=>{if(a){let t=m.fromFormat(a,u.value);e.type==="time"&&o&&(t=t.set({day:o.day,month:o.month,year:o.year})),l.value=Math.round(t.toSeconds())}else l.value=void 0}});return(a,t)=>(V(),D(I,k(a.$attrs,{name:r(p),label:a.label,"error-message":e.errorMessage===!1?!1:e.errorMessage||r(h),"hidden-error-message":a.hiddenErrorMessage,"set-required-mark":r(q)([a.validation])}),{default:w(({error:g})=>[S(C("input",{id:r(p),"onUpdate:modelValue":t[0]||(t[0]=c=>d.value=c),name:e.name,type:i.type,class:E(["el-input",{error:g,"text-neutral-darker border-primary":d.value!==""}]),placeholder:a.placeholder,disabled:e.disabled,"data-cy":`${a.label.trim().replaceAll(" ","")}-input`,max:"9999-12-31",onBlur:t[1]||(t[1]=c=>r(b).validate())},null,42,B),[[H,d.value]])]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});export{j as default,U as elInputDateTypes};
2
2
  //# sourceMappingURL=ElInputDate.vue.esm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElInputDate.vue.esm2.js","sources":["../../../src/forms/ElInputDate.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputDateTypes = ['date', 'datetime-local', 'time'] as const;\nexport type ElInputDateType = (typeof elInputDateTypes)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, PropType } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { useInput, NumberValueType, showRequiredMark, withNumberElInputProps } from '@/forms/input';\nimport { DateTime } from 'luxon';\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n type: {\n type: String as PropType<ElInputDateType>,\n default: 'date',\n },\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'update:readableString', value: string): void;\n}>();\n\nconst initialDate = props.modelValue ? DateTime.fromSeconds(props.modelValue) : undefined;\n\nconst dateFormat = computed(() => {\n switch (props.type) {\n case 'date':\n return 'yyyy-MM-dd';\n case 'time':\n return 'HH:mm';\n case 'datetime-local':\n // eslint-disable-next-line quotes\n return `yyyy-MM-dd'T'HH:mm`;\n default:\n return '';\n }\n});\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\n\nconst { value, errorMessage, uuid, fieldContext } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n emit('update:readableString', valueToNumber.value);\n});\n\n// this is needed to have vee-validate only work on number values, this way we don't have to deal with date format, but only timestamps\nconst valueToNumber = computed<string>({\n get: () => {\n if (!value.value) return '';\n return DateTime.fromSeconds(value.value).toFormat(dateFormat.value);\n },\n set: (valueAsString: string) => {\n if (valueAsString) {\n let newDate = DateTime.fromFormat(valueAsString, dateFormat.value);\n if (props.type === 'time' && initialDate) {\n // when parsing from time, it loses reference of the actual date. Set it manually\n newDate = newDate.set({ day: initialDate.day, month: initialDate.month, year: initialDate.year });\n }\n value.value = Math.round(newDate.toSeconds());\n } else {\n value.value = undefined;\n }\n },\n});\n</script>\n\n<template>\n <ElInputContainer\n v-bind=\"$attrs\"\n :name=\"uuid\"\n :label=\"label\"\n :error-message=\"props.errorMessage === false ? false : props.errorMessage || errorMessage\"\n :hidden-error-message=\"hiddenErrorMessage\"\n :set-required-mark=\"showRequiredMark([validation])\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"valueToNumber\"\n :name=\"props.name\"\n :type=\"type\"\n class=\"el-input\"\n :class=\"{\n error: error,\n 'text-neutral-darker border-primary': valueToNumber !== '',\n }\"\n :placeholder=\"placeholder\"\n :disabled=\"props.disabled\"\n :data-cy=\"`${label.trim().replaceAll(' ', '')}-input`\"\n max=\"9999-12-31\"\n @blur=\"fieldContext.validate()\"\n />\n </template>\n </ElInputContainer>\n</template>\n"],"names":["elInputDateTypes","props","__props","emit","__emit","initialDate","DateTime","dateFormat","computed","computedModelValue","computedValidation","value","errorMessage","uuid","fieldContext","useInput","newValue","valueToNumber","valueAsString","newDate"],"mappings":"0gBACaA,EAAmB,CAAC,OAAQ,iBAAkB,MAAM,mJAUjE,MAAMC,EAAQC,EAQRC,EAAOC,EAKPC,EAAcJ,EAAM,WAAaK,EAAS,YAAYL,EAAM,UAAU,EAAI,OAE1EM,EAAaC,EAAS,IAAM,CAChC,OAAQP,EAAM,KAAM,CAClB,IAAK,OACI,MAAA,aACT,IAAK,OACI,MAAA,QACT,IAAK,iBAEI,MAAA,qBACT,QACS,MAAA,EACX,CAAA,CACD,EAEKQ,EAAqBD,EAAS,IAAMP,EAAM,UAAU,EACpDS,EAAqBF,EAAS,IAAM,CAACP,EAAM,UAAU,CAAC,EAEtD,CAAE,MAAAU,EAAO,aAAAC,EAAc,KAAAC,EAAM,aAAAC,CAAiB,EAAAC,EAASN,EAAoBC,EAAoBT,EAAM,KAAkBe,GAAA,CAC3Hb,EAAK,oBAAqBa,CAAQ,EAC7Bb,EAAA,wBAAyBc,EAAc,KAAK,CAAA,CAClD,EAGKA,EAAgBT,EAAiB,CACrC,IAAK,IACEG,EAAM,MACJL,EAAS,YAAYK,EAAM,KAAK,EAAE,SAASJ,EAAW,KAAK,EADzC,GAG3B,IAAMW,GAA0B,CAC9B,GAAIA,EAAe,CACjB,IAAIC,EAAUb,EAAS,WAAWY,EAAeX,EAAW,KAAK,EAC7DN,EAAM,OAAS,QAAUI,IAE3Bc,EAAUA,EAAQ,IAAI,CAAE,IAAKd,EAAY,IAAK,MAAOA,EAAY,MAAO,KAAMA,EAAY,IAAM,CAAA,GAElGM,EAAM,MAAQ,KAAK,MAAMQ,EAAQ,WAAW,CAAA,MAE5CR,EAAM,MAAQ,MAElB,CAAA,CACD"}
1
+ {"version":3,"file":"ElInputDate.vue.esm2.js","sources":["../../../src/forms/ElInputDate.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputDateTypes = ['date', 'datetime-local', 'time', 'month'] as const;\nexport type ElInputDateType = (typeof elInputDateTypes)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, PropType } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { useInput, NumberValueType, showRequiredMark, withNumberElInputProps } from '@/forms/input';\nimport { DateTime } from 'luxon';\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n type: {\n type: String as PropType<ElInputDateType>,\n default: 'date',\n },\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'update:readableString', value: string): void;\n}>();\n\nconst initialDate = props.modelValue ? DateTime.fromSeconds(props.modelValue) : undefined;\n\nconst dateFormat = computed(() => {\n switch (props.type) {\n case 'date':\n return 'yyyy-MM-dd';\n case 'time':\n return 'HH:mm';\n case 'datetime-local':\n // eslint-disable-next-line quotes\n return `yyyy-MM-dd'T'HH:mm`;\n default:\n return '';\n }\n});\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\n\nconst { value, errorMessage, uuid, fieldContext } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n emit('update:readableString', valueToNumber.value);\n});\n\n// this is needed to have vee-validate only work on number values, this way we don't have to deal with date format, but only timestamps\nconst valueToNumber = computed<string>({\n get: () => {\n if (!value.value) return '';\n return DateTime.fromSeconds(value.value).toFormat(dateFormat.value);\n },\n set: (valueAsString: string) => {\n if (valueAsString) {\n let newDate = DateTime.fromFormat(valueAsString, dateFormat.value);\n if (props.type === 'time' && initialDate) {\n // when parsing from time, it loses reference of the actual date. Set it manually\n newDate = newDate.set({ day: initialDate.day, month: initialDate.month, year: initialDate.year });\n }\n value.value = Math.round(newDate.toSeconds());\n } else {\n value.value = undefined;\n }\n },\n});\n</script>\n\n<template>\n <ElInputContainer\n v-bind=\"$attrs\"\n :name=\"uuid\"\n :label=\"label\"\n :error-message=\"props.errorMessage === false ? false : props.errorMessage || errorMessage\"\n :hidden-error-message=\"hiddenErrorMessage\"\n :set-required-mark=\"showRequiredMark([validation])\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"valueToNumber\"\n :name=\"props.name\"\n :type=\"type\"\n class=\"el-input\"\n :class=\"{\n error: error,\n 'text-neutral-darker border-primary': valueToNumber !== '',\n }\"\n :placeholder=\"placeholder\"\n :disabled=\"props.disabled\"\n :data-cy=\"`${label.trim().replaceAll(' ', '')}-input`\"\n max=\"9999-12-31\"\n @blur=\"fieldContext.validate()\"\n />\n </template>\n </ElInputContainer>\n</template>\n"],"names":["elInputDateTypes","props","__props","emit","__emit","initialDate","DateTime","dateFormat","computed","computedModelValue","computedValidation","value","errorMessage","uuid","fieldContext","useInput","newValue","valueToNumber","valueAsString","newDate"],"mappings":"0gBACaA,EAAmB,CAAC,OAAQ,iBAAkB,OAAQ,OAAO,mJAU1E,MAAMC,EAAQC,EAQRC,EAAOC,EAKPC,EAAcJ,EAAM,WAAaK,EAAS,YAAYL,EAAM,UAAU,EAAI,OAE1EM,EAAaC,EAAS,IAAM,CAChC,OAAQP,EAAM,KAAM,CAClB,IAAK,OACI,MAAA,aACT,IAAK,OACI,MAAA,QACT,IAAK,iBAEI,MAAA,qBACT,QACS,MAAA,EACX,CAAA,CACD,EAEKQ,EAAqBD,EAAS,IAAMP,EAAM,UAAU,EACpDS,EAAqBF,EAAS,IAAM,CAACP,EAAM,UAAU,CAAC,EAEtD,CAAE,MAAAU,EAAO,aAAAC,EAAc,KAAAC,EAAM,aAAAC,CAAiB,EAAAC,EAASN,EAAoBC,EAAoBT,EAAM,KAAkBe,GAAA,CAC3Hb,EAAK,oBAAqBa,CAAQ,EAC7Bb,EAAA,wBAAyBc,EAAc,KAAK,CAAA,CAClD,EAGKA,EAAgBT,EAAiB,CACrC,IAAK,IACEG,EAAM,MACJL,EAAS,YAAYK,EAAM,KAAK,EAAE,SAASJ,EAAW,KAAK,EADzC,GAG3B,IAAMW,GAA0B,CAC9B,GAAIA,EAAe,CACjB,IAAIC,EAAUb,EAAS,WAAWY,EAAeX,EAAW,KAAK,EAC7DN,EAAM,OAAS,QAAUI,IAE3Bc,EAAUA,EAAQ,IAAI,CAAE,IAAKd,EAAY,IAAK,MAAOA,EAAY,MAAO,KAAMA,EAAY,IAAM,CAAA,GAElGM,EAAM,MAAQ,KAAK,MAAMQ,EAAQ,WAAW,CAAA,MAE5CR,EAAM,MAAQ,MAElB,CAAA,CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davincihealthcare/elty-design-system-vue",
3
- "version": "1.73.6",
3
+ "version": "1.74.0",
4
4
  "license": "UNLICENSED",
5
5
  "main": "dist/index.umd.cjs",
6
6
  "types": "dist/index.d.ts",