@davincihealthcare/elty-design-system-vue 1.76.1 → 1.77.1
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/ElActionButton.vue.d.ts +36 -0
- package/dist/ElIcon.vue.d.ts +3 -0
- package/dist/ElInlineBanner.vue.d.ts +4 -0
- package/dist/ElItem.vue.d.ts +1 -1
- package/dist/ElModal.vue.d.ts +8 -0
- package/dist/ElTabGroup.vue.d.ts +3 -0
- package/dist/ElTextCell.vue.d.ts +3 -0
- package/dist/forms/ElInputCheckbox.vue.d.ts +1 -1
- package/dist/forms/ElInputRadioButton.vue.d.ts +1 -1
- package/dist/forms/ElInputSearch.vue.d.ts +9 -1
- package/dist/src/ElActionButton.vue.cjs2.js +1 -1
- package/dist/src/ElActionButton.vue.cjs2.js.map +1 -1
- package/dist/src/ElActionButton.vue.esm2.js +1 -1
- package/dist/src/ElActionButton.vue.esm2.js.map +1 -1
- package/dist/src/ElCarousel.vue.cjs2.js +1 -1
- package/dist/src/ElCarousel.vue.cjs2.js.map +1 -1
- package/dist/src/ElCarousel.vue.esm2.js +1 -1
- package/dist/src/ElCarousel.vue.esm2.js.map +1 -1
- package/dist/src/ElContainerTemplate.vue.cjs2.js +1 -1
- package/dist/src/ElContainerTemplate.vue.cjs2.js.map +1 -1
- package/dist/src/ElContainerTemplate.vue.esm2.js +1 -1
- package/dist/src/ElContainerTemplate.vue.esm2.js.map +1 -1
- package/dist/src/ElIcon.vue.cjs2.js +1 -1
- package/dist/src/ElIcon.vue.cjs2.js.map +1 -1
- package/dist/src/ElIcon.vue.esm2.js +1 -1
- package/dist/src/ElIcon.vue.esm2.js.map +1 -1
- package/dist/src/ElTabGroup.vue.cjs2.js +1 -1
- package/dist/src/ElTabGroup.vue.cjs2.js.map +1 -1
- package/dist/src/ElTabGroup.vue.esm2.js +1 -1
- package/dist/src/ElTabGroup.vue.esm2.js.map +1 -1
- package/dist/src/ElTextCell.vue.cjs2.js +1 -1
- package/dist/src/ElTextCell.vue.cjs2.js.map +1 -1
- package/dist/src/ElTextCell.vue.esm2.js +1 -1
- package/dist/src/ElTextCell.vue.esm2.js.map +1 -1
- package/dist/src/forms/ElInputMeasureUnit.vue.cjs2.js +1 -1
- package/dist/src/forms/ElInputMeasureUnit.vue.cjs2.js.map +1 -1
- package/dist/src/forms/ElInputMeasureUnit.vue.esm2.js +1 -1
- package/dist/src/forms/ElInputMeasureUnit.vue.esm2.js.map +1 -1
- package/dist/src/forms/ElInputRichText/Editor.vue.cjs2.js +1 -1
- package/dist/src/forms/ElInputRichText/Editor.vue.cjs2.js.map +1 -1
- package/dist/src/forms/ElInputRichText/Editor.vue.esm2.js +1 -1
- package/dist/src/forms/ElInputRichText/Editor.vue.esm2.js.map +1 -1
- package/dist/src/forms/ElInputRichText.vue.cjs2.js +1 -1
- package/dist/src/forms/ElInputRichText.vue.cjs2.js.map +1 -1
- package/dist/src/forms/ElInputRichText.vue.esm2.js +2 -2
- package/dist/src/forms/ElInputRichText.vue.esm2.js.map +1 -1
- package/dist/src/forms/ElInputSearch.vue.cjs2.js +1 -1
- package/dist/src/forms/ElInputSearch.vue.cjs2.js.map +1 -1
- package/dist/src/forms/ElInputSearch.vue.esm2.js +1 -1
- package/dist/src/forms/ElInputSearch.vue.esm2.js.map +1 -1
- package/dist/src/style.cjs +1 -1
- package/dist/src/style.css +2 -1
- package/dist/src/table/ElMobileTable.vue.cjs2.js.map +1 -1
- package/dist/src/table/ElMobileTable.vue.esm2.js.map +1 -1
- package/dist/src/table/ElServerSideTable.vue.cjs2.js.map +1 -1
- package/dist/src/table/ElServerSideTable.vue.esm2.js.map +1 -1
- package/dist/table/ElServerSideResponsiveTable.vue.d.ts +13 -1
- package/package.json +1 -1
- package/dist/node_modules/swiper/modules/pagination.css +0 -1
- package/dist/node_modules/swiper/swiper.css +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as m,computed as r,openBlock as l,createElementBlock as g,normalizeClass as a,createBlock as t,resolveDynamicComponent as p}from"vue";import*as u from"../node_modules/@heroicons/vue/24/outline/esm/index.esm.js";import*as b from"../node_modules/@heroicons/vue/24/solid/esm/index.esm.js";const c=["pink","yellow","orange","cyan","rose","green","brand-blue","brand-green","red","purple","indigo"],B=m({__name:"ElIcon",props:{name:{},color:{},solid:{type:Boolean},disabled:{type:Boolean}},setup(d){const n=d,s=r(()=>o(n.name));function o(e){return c.includes(e)}const i=r(()=>{if(!o(n.name))return n.solid?b[n.name]:u[n.name]});return(e,y)=>s.value?(l(),g("div",{key:0,class:a(["h-4 w-4 rounded-full",{"bg-yellow-500":e.name==="yellow","bg-orange-500":e.name==="orange","bg-cyan-500":e.name==="cyan","bg-rose-500":e.name==="rose","bg-green-500":e.name==="green","bg-brandBlue-500":e.name==="brand-blue","bg-brandGreen-500":e.name==="brand-green","bg-red-500":e.name==="red","bg-purple-500":e.name==="purple","bg-indigo-500":e.name==="indigo"}])},null,2)):(l(),t(p(i.value),{key:1,class:a({"text-yellow-500":e.color==="yellow","text-orange-500":e.color==="orange","text-cyan-500":e.color==="cyan","text-rose-500":e.color==="rose","text-green-500":e.color==="green","text-brandBlue-500":e.color==="brand-blue","text-brandGreen-500":e.color==="brand-green","text-red-500":e.color==="red","text-purple-500":e.color==="purple","text-indigo-500":e.color==="indigo"})},null,8,["class"]))}});export{B as default,c as elIconColors};
|
|
2
2
|
//# sourceMappingURL=ElIcon.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElIcon.vue.esm2.js","sources":["../../src/ElIcon.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elIconColors = [\n 'pink',\n 'yellow',\n 'orange',\n 'cyan',\n 'rose',\n 'green',\n 'brand-blue',\n 'brand-green',\n 'red',\n 'purple',\n 'indigo',\n] as const;\ntype ElIconColors = (typeof elIconColors)[number];\nexport type IconNames = keyof typeof outlineIcons | ElIconColors;\nexport type ElIconProps = {\n name: IconNames;\n solid?: boolean;\n cursorPointer?: boolean;\n disabled?: boolean;\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport * as outlineIcons from '@heroicons/vue/24/outline';\nimport * as solidIcons from '@heroicons/vue/24/solid';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: IconNames;\n solid?: boolean;\n disabled?: boolean;\n}>();\n\nfunction isElIconColor(color: string): color is ElIconColors {\n return elIconColors.includes(color as ElIconColors);\n}\n\nconst
|
|
1
|
+
{"version":3,"file":"ElIcon.vue.esm2.js","sources":["../../src/ElIcon.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elIconColors = [\n 'pink',\n 'yellow',\n 'orange',\n 'cyan',\n 'rose',\n 'green',\n 'brand-blue',\n 'brand-green',\n 'red',\n 'purple',\n 'indigo',\n] as const;\ntype ElIconColors = (typeof elIconColors)[number];\nexport type IconNames = keyof typeof outlineIcons | ElIconColors;\nexport type ElIconProps = {\n name: IconNames;\n color?: ElIconColors;\n solid?: boolean;\n cursorPointer?: boolean;\n disabled?: boolean;\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport * as outlineIcons from '@heroicons/vue/24/outline';\nimport * as solidIcons from '@heroicons/vue/24/solid';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: IconNames;\n color?: ElIconColors;\n solid?: boolean;\n disabled?: boolean;\n}>();\n\n// Deprecated: this stuff is a mess, don't pass color as the name\nconst isColorDot = computed(() => isElIconColor(props.name));\nfunction isElIconColor(color: string): color is ElIconColors {\n return elIconColors.includes(color as ElIconColors);\n}\n\nconst iconComponent = computed(() => {\n if (isElIconColor(props.name)) return;\n return props.solid ? solidIcons[props.name] : outlineIcons[props.name];\n});\n</script>\n\n<template>\n <div\n v-if=\"isColorDot\"\n class=\"h-4 w-4 rounded-full\"\n :class=\"{\n 'bg-yellow-500': name === 'yellow',\n 'bg-orange-500': name === 'orange',\n 'bg-cyan-500': name === 'cyan',\n 'bg-rose-500': name === 'rose',\n 'bg-green-500': name === 'green',\n 'bg-brandBlue-500': name === 'brand-blue',\n 'bg-brandGreen-500': name === 'brand-green',\n 'bg-red-500': name === 'red',\n 'bg-purple-500': name === 'purple',\n 'bg-indigo-500': name === 'indigo',\n }\"\n ></div>\n <component\n :is=\"iconComponent\"\n v-else\n :class=\"{\n 'text-yellow-500': color === 'yellow',\n 'text-orange-500': color === 'orange',\n 'text-cyan-500': color === 'cyan',\n 'text-rose-500': color === 'rose',\n 'text-green-500': color === 'green',\n 'text-brandBlue-500': color === 'brand-blue',\n 'text-brandGreen-500': color === 'brand-green',\n 'text-red-500': color === 'red',\n 'text-purple-500': color === 'purple',\n 'text-indigo-500': color === 'indigo',\n }\"\n />\n</template>\n"],"names":["elIconColors","props","__props","isColorDot","computed","isElIconColor","color","iconComponent","solidIcons","outlineIcons"],"mappings":"qTACO,MAAMA,EAAe,CAC1B,OACA,SACA,SACA,OACA,OACA,QACA,aACA,cACA,MACA,SACA,QACF,sGAiBA,MAAMC,EAAQC,EAQRC,EAAaC,EAAS,IAAMC,EAAcJ,EAAM,IAAI,CAAC,EAC3D,SAASI,EAAcC,EAAsC,CACpD,OAAAN,EAAa,SAASM,CAAqB,CACpD,CAEM,MAAAC,EAAgBH,EAAS,IAAM,CAC/B,GAAA,CAAAC,EAAcJ,EAAM,IAAI,EACrB,OAAAA,EAAM,MAAQO,EAAWP,EAAM,IAAI,EAAIQ,EAAaR,EAAM,IAAI,CAAA,CACtE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("./ElTab.vue.cjs2.js"),d={class:"w-full"},p={class:"flex flex-wrap sm:flex-nowrap"},m=e.defineComponent({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{},variant:{default:"default"}},emits:["update:modelValue"],setup(o,{emit:r}){const a=o,n=r,
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("./ElTab.vue.cjs2.js"),d={class:"w-full"},p={class:"flex flex-wrap sm:flex-nowrap"},m=e.defineComponent({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{default:void 0},variant:{default:"default"}},emits:["update:modelValue"],setup(o,{emit:r}){const a=o,n=r,u=l=>{n("update:modelValue",l)},s=l=>l.disabled?"inactive":(l.value??l.label)===a.modelValue?"active":"default";return(l,_)=>(e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.tabs,(t,c)=>(e.openBlock(),e.createBlock(i.default,{key:`tab-${c}`,color:a.color,badge:t.badge,class:e.normalizeClass(["min-w-[120px]",{grow:a.variant==="w-full"}]),label:t.label,status:s(t),onClick:f=>u(t.value??t.label)},null,8,["color","badge","class","label","status","onClick"]))),128))])]))}});exports.default=m;
|
|
2
2
|
//# sourceMappingURL=ElTabGroup.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElTabGroup.vue.cjs2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ElTabGroup.vue.cjs2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n color: undefined,\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"yYAeA,MAAMA,EAAQC,EAaRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as d,openBlock as t,createElementBlock as o,createElementVNode as m,Fragment as f,renderList as p,createBlock as _,normalizeClass as v}from"vue";import b from"./ElTab.vue.esm2.js";const k={class:"w-full"},g={class:"flex flex-wrap sm:flex-nowrap"},h=d({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{},variant:{default:"default"}},emits:["update:modelValue"],setup(r,{emit:n}){const a=r,s=n,c=e=>{s("update:modelValue",e)},u=e=>e.disabled?"inactive":(e.value??e.label)===a.modelValue?"active":"default";return(e,w)=>(t(),o("div",k,[m("div",g,[(t(!0),o(f,null,p(e.tabs,(l,i)=>(t(),_(b,{key:`tab-${i}`,color:a.color,badge:l.badge,class:v(["min-w-[120px]",{grow:a.variant==="w-full"}]),label:l.label,status:u(l),onClick:x=>c(l.value??l.label)},null,8,["color","badge","class","label","status","onClick"]))),128))])]))}});export{h as default};
|
|
1
|
+
import{defineComponent as d,openBlock as t,createElementBlock as o,createElementVNode as m,Fragment as f,renderList as p,createBlock as _,normalizeClass as v}from"vue";import b from"./ElTab.vue.esm2.js";const k={class:"w-full"},g={class:"flex flex-wrap sm:flex-nowrap"},h=d({__name:"ElTabGroup",props:{modelValue:{},tabs:{},color:{default:void 0},variant:{default:"default"}},emits:["update:modelValue"],setup(r,{emit:n}){const a=r,s=n,c=e=>{s("update:modelValue",e)},u=e=>e.disabled?"inactive":(e.value??e.label)===a.modelValue?"active":"default";return(e,w)=>(t(),o("div",k,[m("div",g,[(t(!0),o(f,null,p(e.tabs,(l,i)=>(t(),_(b,{key:`tab-${i}`,color:a.color,badge:l.badge,class:v(["min-w-[120px]",{grow:a.variant==="w-full"}]),label:l.label,status:u(l),onClick:x=>c(l.value??l.label)},null,8,["color","badge","class","label","status","onClick"]))),128))])]))}});export{h as default};
|
|
2
2
|
//# sourceMappingURL=ElTabGroup.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElTabGroup.vue.esm2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ElTabGroup.vue.esm2.js","sources":["../../src/ElTabGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type ElTabItem = {\n value?: string;\n label: string;\n disabled?: boolean;\n badge?: {\n visible: boolean;\n value?: string;\n };\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport ElTab, { ElTabColors, ElTabStatues } from '@/ElTab.vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n tabs: ElTabItem[];\n color?: ElTabColors;\n variant?: 'default' | 'w-full';\n }>(),\n {\n color: undefined,\n variant: 'default',\n },\n);\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: string): void;\n}>();\n\nconst onClick = (tab: string) => {\n emit('update:modelValue', tab);\n};\n\nconst getTabStatus = (tab: ElTabItem): ElTabStatues => {\n if (tab.disabled) return 'inactive';\n if ((tab.value ?? tab.label) === props.modelValue) return 'active';\n return 'default';\n};\n</script>\n\n<template>\n <div class=\"w-full\">\n <div class=\"flex flex-wrap sm:flex-nowrap\">\n <ElTab\n v-for=\"(tab, index) in tabs\"\n :key=\"`tab-${index}`\"\n :color=\"props.color\"\n :badge=\"tab.badge\"\n class=\"min-w-[120px]\"\n :class=\"{ grow: props.variant === 'w-full' }\"\n :label=\"tab.label\"\n :status=\"getTabStatus(tab)\"\n @click=\"onClick(tab.value ?? tab.label)\"\n />\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","tab","getTabStatus"],"mappings":"saAeA,MAAMA,EAAQC,EAaRC,EAAOC,EAIPC,EAAWC,GAAgB,CAC/BH,EAAK,oBAAqBG,CAAG,CAAA,EAGzBC,EAAgBD,GAChBA,EAAI,SAAiB,YACpBA,EAAI,OAASA,EAAI,SAAWL,EAAM,WAAmB,SACnD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("./ElTooltip.vue.cjs2.js"),a=["normal","medium","underline"],u=["neutral","orange","error"],o=(l,r)=>{if(r==="underline")return"text-brandBlue-500";if(l){if(l==="orange")return"text-orange-500";if(l==="error")return"text-error-active"}return"text-neutral-darker"},i=e.defineComponent({__name:"ElTextCell",props:{label:{},style:{default:"normal"},colorText:{}},setup(l){const r=l,n=e.computed(()=>o(r.colorText,r.style));return(t,d)=>(e.openBlock(),e.createBlock(s.default,{title:t.label.length>20?t.label:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["text-sm overflow-hidden text-ellipsis",t.style==="normal"&&"font-normal",t.style==="medium"&&"font-medium",t.style==="underline"&&"font-semibold underline",n.value])},e.toDisplayString(t.label),3)]),_:1},8,["title"]))}});exports.default=i;exports.elTextCellColors=u;exports.elTextCellStyles=a;exports.getTextColorClass=o;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),s=require("./ElTooltip.vue.cjs2.js"),a=["normal","medium","underline"],u=["neutral","orange","error"],o=(l,r)=>{if(r==="underline")return"text-brandBlue-500";if(l){if(l==="orange")return"text-orange-500";if(l==="error")return"text-error-active"}return"text-neutral-darker"},i=e.defineComponent({__name:"ElTextCell",props:{label:{},style:{default:"normal"},colorText:{default:void 0}},setup(l){const r=l,n=e.computed(()=>o(r.colorText,r.style));return(t,d)=>(e.openBlock(),e.createBlock(s.default,{title:t.label.length>20?t.label:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["text-sm overflow-hidden text-ellipsis",t.style==="normal"&&"font-normal",t.style==="medium"&&"font-medium",t.style==="underline"&&"font-semibold underline",n.value])},e.toDisplayString(t.label),3)]),_:1},8,["title"]))}});exports.default=i;exports.elTextCellColors=u;exports.elTextCellStyles=a;exports.getTextColorClass=o;
|
|
2
2
|
//# sourceMappingURL=ElTextCell.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElTextCell.vue.cjs2.js","sources":["../../src/ElTextCell.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elTextCellStyles = ['normal', 'medium', 'underline'] as const;\nexport type ElTextCellStyle = (typeof elTextCellStyles)[number];\n\nexport const elTextCellColors = ['neutral', 'orange', 'error'] as const;\nexport type ElTextCellColor = (typeof elTextCellColors)[number];\n\nexport const getTextColorClass = (color?: ElTextCellColor, style?: ElTextCellStyle) => {\n if (style === 'underline') return 'text-brandBlue-500';\n if (color) {\n if (color === 'orange') return 'text-orange-500';\n if (color === 'error') return 'text-error-active';\n }\n return 'text-neutral-darker';\n};\n</script>\n\n<script setup lang=\"ts\">\nimport ElTooltip from './ElTooltip.vue';\nimport { computed } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n label: string;\n style?: ElTextCellStyle;\n colorText?: ElTextCellColor;\n }>(),\n {\n style: 'normal',\n },\n);\n\nconst textColorClass = computed((): string => getTextColorClass(props.colorText, props.style));\n</script>\n\n<template>\n <ElTooltip :title=\"label.length > 20 ? label : ''\">\n <div\n :class=\"[\n 'text-sm overflow-hidden text-ellipsis',\n style === 'normal' && 'font-normal',\n style === 'medium' && 'font-medium',\n style === 'underline' && 'font-semibold underline',\n textColorClass,\n ]\"\n >\n {{ label }}\n </div>\n </ElTooltip>\n</template>\n"],"names":["elTextCellStyles","elTextCellColors","getTextColorClass","color","style","props","__props","textColorClass","computed"],"mappings":"wKACaA,EAAmB,CAAC,SAAU,SAAU,WAAW,EAGnDC,EAAmB,CAAC,UAAW,SAAU,OAAO,EAGhDC,EAAoB,CAACC,EAAyBC,IAA4B,CACrF,GAAIA,IAAU,YAAoB,MAAA,qBAClC,GAAID,EAAO,CACT,GAAIA,IAAU,SAAiB,MAAA,kBAC/B,GAAIA,IAAU,QAAgB,MAAA,mBAChC,CACO,MAAA,qBACT,
|
|
1
|
+
{"version":3,"file":"ElTextCell.vue.cjs2.js","sources":["../../src/ElTextCell.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elTextCellStyles = ['normal', 'medium', 'underline'] as const;\nexport type ElTextCellStyle = (typeof elTextCellStyles)[number];\n\nexport const elTextCellColors = ['neutral', 'orange', 'error'] as const;\nexport type ElTextCellColor = (typeof elTextCellColors)[number];\n\nexport const getTextColorClass = (color?: ElTextCellColor, style?: ElTextCellStyle) => {\n if (style === 'underline') return 'text-brandBlue-500';\n if (color) {\n if (color === 'orange') return 'text-orange-500';\n if (color === 'error') return 'text-error-active';\n }\n return 'text-neutral-darker';\n};\n</script>\n\n<script setup lang=\"ts\">\nimport ElTooltip from './ElTooltip.vue';\nimport { computed } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n label: string;\n style?: ElTextCellStyle;\n colorText?: ElTextCellColor;\n }>(),\n {\n style: 'normal',\n colorText: undefined,\n },\n);\n\nconst textColorClass = computed((): string => getTextColorClass(props.colorText, props.style));\n</script>\n\n<template>\n <ElTooltip :title=\"label.length > 20 ? label : ''\">\n <div\n :class=\"[\n 'text-sm overflow-hidden text-ellipsis',\n style === 'normal' && 'font-normal',\n style === 'medium' && 'font-medium',\n style === 'underline' && 'font-semibold underline',\n textColorClass,\n ]\"\n >\n {{ label }}\n </div>\n </ElTooltip>\n</template>\n"],"names":["elTextCellStyles","elTextCellColors","getTextColorClass","color","style","props","__props","textColorClass","computed"],"mappings":"wKACaA,EAAmB,CAAC,SAAU,SAAU,WAAW,EAGnDC,EAAmB,CAAC,UAAW,SAAU,OAAO,EAGhDC,EAAoB,CAACC,EAAyBC,IAA4B,CACrF,GAAIA,IAAU,YAAoB,MAAA,qBAClC,GAAID,EAAO,CACT,GAAIA,IAAU,SAAiB,MAAA,kBAC/B,GAAIA,IAAU,QAAgB,MAAA,mBAChC,CACO,MAAA,qBACT,yHAOA,MAAME,EAAQC,EAYRC,EAAiBC,WAAS,IAAcN,EAAkBG,EAAM,UAAWA,EAAM,KAAK,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as n,computed as o,openBlock as a,createBlock as s,withCtx as i,createElementVNode as m,normalizeClass as u,toDisplayString as d}from"vue";import f from"./ElTooltip.vue.esm2.js";const y=["normal","medium","underline"],b=["neutral","orange","error"],p=(t,l)=>{if(l==="underline")return"text-brandBlue-500";if(t){if(t==="orange")return"text-orange-500";if(t==="error")return"text-error-active"}return"text-neutral-darker"},g=n({__name:"ElTextCell",props:{label:{},style:{default:"normal"},colorText:{}},setup(t){const l=t,r=o(()=>p(l.colorText,l.style));return(e,c)=>(a(),s(f,{title:e.label.length>20?e.label:""},{default:i(()=>[m("div",{class:u(["text-sm overflow-hidden text-ellipsis",e.style==="normal"&&"font-normal",e.style==="medium"&&"font-medium",e.style==="underline"&&"font-semibold underline",r.value])},d(e.label),3)]),_:1},8,["title"]))}});export{g as default,b as elTextCellColors,y as elTextCellStyles,p as getTextColorClass};
|
|
1
|
+
import{defineComponent as n,computed as o,openBlock as a,createBlock as s,withCtx as i,createElementVNode as m,normalizeClass as u,toDisplayString as d}from"vue";import f from"./ElTooltip.vue.esm2.js";const y=["normal","medium","underline"],b=["neutral","orange","error"],p=(t,l)=>{if(l==="underline")return"text-brandBlue-500";if(t){if(t==="orange")return"text-orange-500";if(t==="error")return"text-error-active"}return"text-neutral-darker"},g=n({__name:"ElTextCell",props:{label:{},style:{default:"normal"},colorText:{default:void 0}},setup(t){const l=t,r=o(()=>p(l.colorText,l.style));return(e,c)=>(a(),s(f,{title:e.label.length>20?e.label:""},{default:i(()=>[m("div",{class:u(["text-sm overflow-hidden text-ellipsis",e.style==="normal"&&"font-normal",e.style==="medium"&&"font-medium",e.style==="underline"&&"font-semibold underline",r.value])},d(e.label),3)]),_:1},8,["title"]))}});export{g as default,b as elTextCellColors,y as elTextCellStyles,p as getTextColorClass};
|
|
2
2
|
//# sourceMappingURL=ElTextCell.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElTextCell.vue.esm2.js","sources":["../../src/ElTextCell.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elTextCellStyles = ['normal', 'medium', 'underline'] as const;\nexport type ElTextCellStyle = (typeof elTextCellStyles)[number];\n\nexport const elTextCellColors = ['neutral', 'orange', 'error'] as const;\nexport type ElTextCellColor = (typeof elTextCellColors)[number];\n\nexport const getTextColorClass = (color?: ElTextCellColor, style?: ElTextCellStyle) => {\n if (style === 'underline') return 'text-brandBlue-500';\n if (color) {\n if (color === 'orange') return 'text-orange-500';\n if (color === 'error') return 'text-error-active';\n }\n return 'text-neutral-darker';\n};\n</script>\n\n<script setup lang=\"ts\">\nimport ElTooltip from './ElTooltip.vue';\nimport { computed } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n label: string;\n style?: ElTextCellStyle;\n colorText?: ElTextCellColor;\n }>(),\n {\n style: 'normal',\n },\n);\n\nconst textColorClass = computed((): string => getTextColorClass(props.colorText, props.style));\n</script>\n\n<template>\n <ElTooltip :title=\"label.length > 20 ? label : ''\">\n <div\n :class=\"[\n 'text-sm overflow-hidden text-ellipsis',\n style === 'normal' && 'font-normal',\n style === 'medium' && 'font-medium',\n style === 'underline' && 'font-semibold underline',\n textColorClass,\n ]\"\n >\n {{ label }}\n </div>\n </ElTooltip>\n</template>\n"],"names":["elTextCellStyles","elTextCellColors","getTextColorClass","color","style","props","__props","textColorClass","computed"],"mappings":"yMACO,MAAMA,EAAmB,CAAC,SAAU,SAAU,WAAW,EAGnDC,EAAmB,CAAC,UAAW,SAAU,OAAO,EAGhDC,EAAoB,CAACC,EAAyBC,IAA4B,CACrF,GAAIA,IAAU,YAAoB,MAAA,qBAClC,GAAID,EAAO,CACT,GAAIA,IAAU,SAAiB,MAAA,kBAC/B,GAAIA,IAAU,QAAgB,MAAA,mBAChC,CACO,MAAA,qBACT,
|
|
1
|
+
{"version":3,"file":"ElTextCell.vue.esm2.js","sources":["../../src/ElTextCell.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elTextCellStyles = ['normal', 'medium', 'underline'] as const;\nexport type ElTextCellStyle = (typeof elTextCellStyles)[number];\n\nexport const elTextCellColors = ['neutral', 'orange', 'error'] as const;\nexport type ElTextCellColor = (typeof elTextCellColors)[number];\n\nexport const getTextColorClass = (color?: ElTextCellColor, style?: ElTextCellStyle) => {\n if (style === 'underline') return 'text-brandBlue-500';\n if (color) {\n if (color === 'orange') return 'text-orange-500';\n if (color === 'error') return 'text-error-active';\n }\n return 'text-neutral-darker';\n};\n</script>\n\n<script setup lang=\"ts\">\nimport ElTooltip from './ElTooltip.vue';\nimport { computed } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n label: string;\n style?: ElTextCellStyle;\n colorText?: ElTextCellColor;\n }>(),\n {\n style: 'normal',\n colorText: undefined,\n },\n);\n\nconst textColorClass = computed((): string => getTextColorClass(props.colorText, props.style));\n</script>\n\n<template>\n <ElTooltip :title=\"label.length > 20 ? label : ''\">\n <div\n :class=\"[\n 'text-sm overflow-hidden text-ellipsis',\n style === 'normal' && 'font-normal',\n style === 'medium' && 'font-medium',\n style === 'underline' && 'font-semibold underline',\n textColorClass,\n ]\"\n >\n {{ label }}\n </div>\n </ElTooltip>\n</template>\n"],"names":["elTextCellStyles","elTextCellColors","getTextColorClass","color","style","props","__props","textColorClass","computed"],"mappings":"yMACO,MAAMA,EAAmB,CAAC,SAAU,SAAU,WAAW,EAGnDC,EAAmB,CAAC,UAAW,SAAU,OAAO,EAGhDC,EAAoB,CAACC,EAAyBC,IAA4B,CACrF,GAAIA,IAAU,YAAoB,MAAA,qBAClC,GAAID,EAAO,CACT,GAAIA,IAAU,SAAiB,MAAA,kBAC/B,GAAIA,IAAU,QAAgB,MAAA,mBAChC,CACO,MAAA,qBACT,yGAOA,MAAME,EAAQC,EAYRC,EAAiBC,EAAS,IAAcN,EAAkBG,EAAM,UAAWA,EAAM,KAAK,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./input.cjs.js"),B=require("./ElInputContainer.vue.cjs2.js"),i=require("../types.cjs.js"),_=["id","name","placeholder","disabled"],E={key:0,class:"absolute top-[4px] right-0 flex h-5/6 items-center"},D=["disabled"],q=e.defineComponent({__name:"ElInputMeasureUnit",props:{...o.withNumberElInputProps(),availableUnitCategory:{type:String,default:()=>""},defaultUnit:{type:String,default:null},disableUnitChange:{type:Boolean,default:!1}},emits:["update:modelValue","changeUnit"],setup(d,{expose:p,emit:g}){const h={weight:["kg","hg","g"],height:["m","cm"],drugUnitMeasure:Object.keys(i.DrugUnitMeasures),drugTimeMeasure:Object.keys(i.DrugTimeMeasures).filter(t=>t!=="AlBisogno").concat(["Al bisogno"]),drugDurationMeasure:Object.keys(i.DrugDurationMeasures)},a=d,u=e.computed(()=>h[a.availableUnitCategory]),c=g,v=t=>{switch(t){case"drugTimeMeasure":return"Giorni";case"drugUnitMeasure":return"Cpr";case"height":return"m";case"weight":return"kg";default:return""}},f=e.computed(()=>a.modelValue),b=e.computed(()=>[a.validation]),U=e.ref(a.defaultUnit||v(a.availableUnitCategory)),k=t=>{c("update:modelValue",t)},{value:l,errorMessage:M,uuid:m}=o.useInput(f,b,a.name,t=>k(t)),r=e.ref(U),y=()=>{const t=r.value==="Al bisogno"?"AlBisogno":r.value;c("changeUnit",t)},C=t=>r.value=t;return e.watch(()=>r.value,()=>{r.value==="Al bisogno"&&(l.value=void 0)}),p({changeUnit:C}),(t,s)=>(e.openBlock(),e.createBlock(B.default,e.mergeProps(t.$attrs,{name:e.unref(m),label:t.label,"error-message":a.errorMessage===!1?!1:a.errorMessage||e.unref(M),"hidden-error-message":t.hiddenErrorMessage,"set-required-mark":e.unref(o.showRequiredMark)([t.validation]),class:"relative"}),{default:e.withCtx(({error:V})=>[e.withDirectives(e.createElementVNode("input",{id:e.unref(m),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./input.cjs.js"),B=require("./ElInputContainer.vue.cjs2.js"),i=require("../types.cjs.js"),_=["id","name","placeholder","disabled"],E={key:0,class:"absolute top-[4px] right-0 flex h-5/6 items-center"},D=["disabled"],q=e.defineComponent({__name:"ElInputMeasureUnit",props:{...o.withNumberElInputProps(),availableUnitCategory:{type:String,default:()=>""},defaultUnit:{type:String,default:null},disableUnitChange:{type:Boolean,default:!1}},emits:["update:modelValue","changeUnit"],setup(d,{expose:p,emit:g}){const h={weight:["kg","hg","g"],height:["m","cm"],drugUnitMeasure:Object.keys(i.DrugUnitMeasures),drugTimeMeasure:Object.keys(i.DrugTimeMeasures).filter(t=>t!=="AlBisogno").concat(["Al bisogno"]),drugDurationMeasure:Object.keys(i.DrugDurationMeasures)},a=d,u=e.computed(()=>h[a.availableUnitCategory]),c=g,v=t=>{switch(t){case"drugTimeMeasure":return"Giorni";case"drugUnitMeasure":return"Cpr";case"height":return"m";case"weight":return"kg";default:return""}},f=e.computed(()=>a.modelValue),b=e.computed(()=>[a.validation]),U=e.ref(a.defaultUnit||v(a.availableUnitCategory)),k=t=>{c("update:modelValue",t)},{value:l,errorMessage:M,uuid:m}=o.useInput(f,b,a.name,t=>k(t)),r=e.ref(U),y=()=>{const t=r.value==="Al bisogno"?"AlBisogno":r.value;c("changeUnit",t)},C=t=>r.value=t;return e.watch(()=>r.value,()=>{r.value==="Al bisogno"&&(l.value=void 0)}),p({changeUnit:C}),(t,s)=>(e.openBlock(),e.createBlock(B.default,e.mergeProps(t.$attrs,{name:e.unref(m),label:t.label,"error-message":a.errorMessage===!1?!1:a.errorMessage||e.unref(M),"hidden-error-message":t.hiddenErrorMessage,"set-required-mark":e.unref(o.showRequiredMark)([t.validation]),class:"relative"}),{default:e.withCtx(({error:V})=>[e.withDirectives(e.createElementVNode("input",{id:e.unref(m),"onUpdate:modelValue":s[0]||(s[0]=n=>e.isRef(l)?l.value=n:null),name:a.name,type:"number",class:e.normalizeClass(["el-input el-input-measure-unit",{error:V}]),placeholder:t.placeholder,disabled:t.disabled,autocomplete:"no_thanks"},null,10,_),[[e.vModelText,e.unref(l)]]),u.value&&u.value.length>0?(e.openBlock(),e.createElementBlock("div",E,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s[1]||(s[1]=n=>r.value=n),class:"mr-[-2px] max-w-[100px] rounded-md border-transparent bg-transparent py-0 pl-[0px] pr-7 text-neutral-lighter focus:border-0 focus:ring-0 sm:text-sm",disabled:d.disableUnitChange,onChange:y},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(n,w)=>(e.openBlock(),e.createElementBlock("option",{key:w},[e.createElementVNode("span",null,e.toDisplayString(n),1)]))),128))],40,D),[[e.vModelSelect,r.value]])])):e.createCommentVNode("",!0)]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});exports.default=q;
|
|
2
2
|
//# sourceMappingURL=ElInputMeasureUnit.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElInputMeasureUnit.vue.cjs2.js","sources":["../../../src/forms/ElInputMeasureUnit.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useInput, showRequiredMark, NumberValueType, withNumberElInputProps } from '@/forms/input';\nimport { computed, PropType, ref, watch } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { DrugDurationMeasures, DrugTimeMeasures, DrugUnitMeasures } from '@/types';\n\ninterface MeasureUnitTypes {\n weight: string[];\n height: string[];\n drugUnitMeasure: string[];\n drugTimeMeasure: string[];\n drugDurationMeasure: string[];\n}\n\nconst measureUnitTypes: MeasureUnitTypes = {\n weight: ['kg', 'hg', 'g'],\n height: ['m', 'cm'],\n drugUnitMeasure: Object.keys(DrugUnitMeasures),\n drugTimeMeasure: Object.keys(DrugTimeMeasures)\n .filter(measure => measure !== 'AlBisogno')\n .concat(['Al bisogno']),\n drugDurationMeasure: Object.keys(DrugDurationMeasures),\n};\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n availableUnitCategory: {\n type: String as PropType<keyof MeasureUnitTypes>,\n default: () => '',\n },\n defaultUnit: {\n type: String,\n default: null,\n },\n disableUnitChange: {\n type: Boolean,\n default: false,\n },\n});\n\nconst availableUnits = computed(() => {\n return measureUnitTypes[props.availableUnitCategory];\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'changeUnit', value: string): void;\n}>();\n\nconst getDefaultUnits = (category: keyof MeasureUnitTypes) => {\n switch (category) {\n case 'drugTimeMeasure':\n return 'Giorni';\n case 'drugUnitMeasure':\n return 'Cpr';\n case 'height':\n return 'm';\n case 'weight':\n return 'kg';\n default:\n return '';\n }\n};\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst currentUnit = ref<string>(props.defaultUnit || getDefaultUnits(props.availableUnitCategory));\n\nconst emitNewValue = (val: NumberValueType): void => {\n emit('update:modelValue', val);\n};\n\nconst { value, errorMessage, uuid } = useInput(computedModelValue, computedValidation, props.name, newVal => emitNewValue(newVal));\n\nconst unit = ref(currentUnit);\n\nconst handleInputUnit = () => {\n const value = unit.value === 'Al bisogno' ? 'AlBisogno' : unit.value;\n emit('changeUnit', value);\n};\n\nconst changeUnit = (value: string) => (unit.value = value);\n\nwatch(\n () => unit.value,\n () => {\n if (unit.value === 'Al bisogno') value.value = undefined;\n },\n);\n\ndefineExpose({\n changeUnit,\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 class=\"relative\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n
|
|
1
|
+
{"version":3,"file":"ElInputMeasureUnit.vue.cjs2.js","sources":["../../../src/forms/ElInputMeasureUnit.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useInput, showRequiredMark, NumberValueType, withNumberElInputProps } from '@/forms/input';\nimport { computed, PropType, ref, watch } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { DrugDurationMeasures, DrugTimeMeasures, DrugUnitMeasures } from '@/types';\n\ninterface MeasureUnitTypes {\n weight: string[];\n height: string[];\n drugUnitMeasure: string[];\n drugTimeMeasure: string[];\n drugDurationMeasure: string[];\n}\n\nconst measureUnitTypes: MeasureUnitTypes = {\n weight: ['kg', 'hg', 'g'],\n height: ['m', 'cm'],\n drugUnitMeasure: Object.keys(DrugUnitMeasures),\n drugTimeMeasure: Object.keys(DrugTimeMeasures)\n .filter(measure => measure !== 'AlBisogno')\n .concat(['Al bisogno']),\n drugDurationMeasure: Object.keys(DrugDurationMeasures),\n};\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n availableUnitCategory: {\n type: String as PropType<keyof MeasureUnitTypes>,\n default: () => '',\n },\n defaultUnit: {\n type: String,\n default: null,\n },\n disableUnitChange: {\n type: Boolean,\n default: false,\n },\n});\n\nconst availableUnits = computed(() => {\n return measureUnitTypes[props.availableUnitCategory];\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'changeUnit', value: string): void;\n}>();\n\nconst getDefaultUnits = (category: keyof MeasureUnitTypes) => {\n switch (category) {\n case 'drugTimeMeasure':\n return 'Giorni';\n case 'drugUnitMeasure':\n return 'Cpr';\n case 'height':\n return 'm';\n case 'weight':\n return 'kg';\n default:\n return '';\n }\n};\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst currentUnit = ref<string>(props.defaultUnit || getDefaultUnits(props.availableUnitCategory));\n\nconst emitNewValue = (val: NumberValueType): void => {\n emit('update:modelValue', val);\n};\n\nconst { value, errorMessage, uuid } = useInput(computedModelValue, computedValidation, props.name, newVal => emitNewValue(newVal));\n\nconst unit = ref(currentUnit);\n\nconst handleInputUnit = () => {\n const value = unit.value === 'Al bisogno' ? 'AlBisogno' : unit.value;\n emit('changeUnit', value);\n};\n\nconst changeUnit = (value: string) => (unit.value = value);\n\nwatch(\n () => unit.value,\n () => {\n if (unit.value === 'Al bisogno') value.value = undefined;\n },\n);\n\ndefineExpose({\n changeUnit,\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 class=\"relative\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"value\"\n :name=\"props.name\"\n type=\"number\"\n class=\"el-input el-input-measure-unit\"\n :class=\"{ error }\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n autocomplete=\"no_thanks\"\n />\n <div v-if=\"availableUnits && availableUnits.length > 0\" class=\"absolute top-[4px] right-0 flex h-5/6 items-center\">\n <select\n v-model=\"unit\"\n class=\"mr-[-2px] max-w-[100px] rounded-md border-transparent bg-transparent py-0 pl-[0px] pr-7 text-neutral-lighter focus:border-0 focus:ring-0 sm:text-sm\"\n :disabled=\"disableUnitChange\"\n @change=\"handleInputUnit\"\n >\n <option v-for=\"(item, index) in availableUnits\" :key=\"index\">\n <span>{{ item }}</span>\n </option>\n </select>\n </div>\n </template>\n </ElInputContainer>\n</template>\n"],"names":["measureUnitTypes","DrugUnitMeasures","DrugTimeMeasures","measure","DrugDurationMeasures","props","__props","availableUnits","computed","emit","__emit","getDefaultUnits","category","computedModelValue","computedValidation","currentUnit","ref","emitNewValue","val","value","errorMessage","uuid","useInput","newVal","unit","handleInputUnit","changeUnit","watch","__expose"],"mappings":"soBAcA,MAAMA,EAAqC,CACzC,OAAQ,CAAC,KAAM,KAAM,GAAG,EACxB,OAAQ,CAAC,IAAK,IAAI,EAClB,gBAAiB,OAAO,KAAKC,kBAAgB,EAC7C,gBAAiB,OAAO,KAAKC,EAAgB,gBAAA,EAC1C,OAAkBC,GAAAA,IAAY,WAAW,EACzC,OAAO,CAAC,YAAY,CAAC,EACxB,oBAAqB,OAAO,KAAKC,sBAAoB,CAAA,EAGjDC,EAAQC,EAgBRC,EAAiBC,EAAAA,SAAS,IACvBR,EAAiBK,EAAM,qBAAqB,CACpD,EAEKI,EAAOC,EAKPC,EAAmBC,GAAqC,CAC5D,OAAQA,EAAU,CAChB,IAAK,kBACI,MAAA,SACT,IAAK,kBACI,MAAA,MACT,IAAK,SACI,MAAA,IACT,IAAK,SACI,MAAA,KACT,QACS,MAAA,EACX,CAAA,EAGIC,EAAqBL,EAAA,SAAS,IAAMH,EAAM,UAAU,EACpDS,EAAqBN,EAAAA,SAAS,IAAM,CAACH,EAAM,UAAU,CAAC,EACtDU,EAAcC,EAAY,IAAAX,EAAM,aAAeM,EAAgBN,EAAM,qBAAqB,CAAC,EAE3FY,EAAgBC,GAA+B,CACnDT,EAAK,oBAAqBS,CAAG,CAAA,EAGzB,CAAE,MAAAC,EAAO,aAAAC,EAAc,KAAAC,CAAS,EAAAC,EAAA,SAAST,EAAoBC,EAAoBT,EAAM,KAAgBkB,GAAAN,EAAaM,CAAM,CAAC,EAE3HC,EAAOR,MAAID,CAAW,EAEtBU,EAAkB,IAAM,CAC5B,MAAMN,EAAQK,EAAK,QAAU,aAAe,YAAcA,EAAK,MAC/Df,EAAK,aAAcU,CAAK,CAAA,EAGpBO,EAAcP,GAAmBK,EAAK,MAAQL,EAEpDQ,OAAAA,EAAA,MACE,IAAMH,EAAK,MACX,IAAM,CACAA,EAAK,QAAU,eAAcL,EAAM,MAAQ,OACjD,CAAA,EAGWS,EAAA,CACX,WAAAF,CAAA,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as E,computed as u,ref as h,watch as T,openBlock as o,createBlock as I,mergeProps as N,unref as n,withCtx as S,withDirectives as f,createElementVNode as d,isRef as _,normalizeClass as j,vModelText as q,createElementBlock as m,Fragment as O,renderList as P,toDisplayString as R,vModelSelect as $,createCommentVNode as z}from"vue";import{withNumberElInputProps as F,useInput as G,showRequiredMark as L}from"./input.esm.js";import H from"./ElInputContainer.vue.esm2.js";import{DrugUnitMeasures as J,DrugTimeMeasures as K,DrugDurationMeasures as Q}from"../types.esm.js";const W=["id","name","placeholder","disabled"],X={key:0,class:"absolute top-[4px] right-0 flex h-5/6 items-center"},Y=["disabled"],re=E({__name:"ElInputMeasureUnit",props:{...F(),availableUnitCategory:{type:String,default:()=>""},defaultUnit:{type:String,default:null},disableUnitChange:{type:Boolean,default:!1}},emits:["update:modelValue","changeUnit"],setup(p,{expose:b,emit:v}){const U={weight:["kg","hg","g"],height:["m","cm"],drugUnitMeasure:Object.keys(J),drugTimeMeasure:Object.keys(K).filter(e=>e!=="AlBisogno").concat(["Al bisogno"]),drugDurationMeasure:Object.keys(Q)},t=p,i=u(()=>U[t.availableUnitCategory]),c=v,M=e=>{switch(e){case"drugTimeMeasure":return"Giorni";case"drugUnitMeasure":return"Cpr";case"height":return"m";case"weight":return"kg";default:return""}},y=u(()=>t.modelValue),k=u(()=>[t.validation]),C=h(t.defaultUnit||M(t.availableUnitCategory)),w=e=>{c("update:modelValue",e)},{value:s,errorMessage:V,uuid:g}=G(y,k,t.name,e=>w(e)),a=h(C),D=()=>{const e=a.value==="Al bisogno"?"AlBisogno":a.value;c("changeUnit",e)},x=e=>a.value=e;return T(()=>a.value,()=>{a.value==="Al bisogno"&&(s.value=void 0)}),b({changeUnit:x}),(e,l)=>(o(),I(H,N(e.$attrs,{name:n(g),label:e.label,"error-message":t.errorMessage===!1?!1:t.errorMessage||n(V),"hidden-error-message":e.hiddenErrorMessage,"set-required-mark":n(L)([e.validation]),class:"relative"}),{default:S(({error:B})=>[f(d("input",{id:n(g),
|
|
1
|
+
import{defineComponent as E,computed as u,ref as h,watch as T,openBlock as o,createBlock as I,mergeProps as N,unref as n,withCtx as S,withDirectives as f,createElementVNode as d,isRef as _,normalizeClass as j,vModelText as q,createElementBlock as m,Fragment as O,renderList as P,toDisplayString as R,vModelSelect as $,createCommentVNode as z}from"vue";import{withNumberElInputProps as F,useInput as G,showRequiredMark as L}from"./input.esm.js";import H from"./ElInputContainer.vue.esm2.js";import{DrugUnitMeasures as J,DrugTimeMeasures as K,DrugDurationMeasures as Q}from"../types.esm.js";const W=["id","name","placeholder","disabled"],X={key:0,class:"absolute top-[4px] right-0 flex h-5/6 items-center"},Y=["disabled"],re=E({__name:"ElInputMeasureUnit",props:{...F(),availableUnitCategory:{type:String,default:()=>""},defaultUnit:{type:String,default:null},disableUnitChange:{type:Boolean,default:!1}},emits:["update:modelValue","changeUnit"],setup(p,{expose:b,emit:v}){const U={weight:["kg","hg","g"],height:["m","cm"],drugUnitMeasure:Object.keys(J),drugTimeMeasure:Object.keys(K).filter(e=>e!=="AlBisogno").concat(["Al bisogno"]),drugDurationMeasure:Object.keys(Q)},t=p,i=u(()=>U[t.availableUnitCategory]),c=v,M=e=>{switch(e){case"drugTimeMeasure":return"Giorni";case"drugUnitMeasure":return"Cpr";case"height":return"m";case"weight":return"kg";default:return""}},y=u(()=>t.modelValue),k=u(()=>[t.validation]),C=h(t.defaultUnit||M(t.availableUnitCategory)),w=e=>{c("update:modelValue",e)},{value:s,errorMessage:V,uuid:g}=G(y,k,t.name,e=>w(e)),a=h(C),D=()=>{const e=a.value==="Al bisogno"?"AlBisogno":a.value;c("changeUnit",e)},x=e=>a.value=e;return T(()=>a.value,()=>{a.value==="Al bisogno"&&(s.value=void 0)}),b({changeUnit:x}),(e,l)=>(o(),I(H,N(e.$attrs,{name:n(g),label:e.label,"error-message":t.errorMessage===!1?!1:t.errorMessage||n(V),"hidden-error-message":e.hiddenErrorMessage,"set-required-mark":n(L)([e.validation]),class:"relative"}),{default:S(({error:B})=>[f(d("input",{id:n(g),"onUpdate:modelValue":l[0]||(l[0]=r=>_(s)?s.value=r:null),name:t.name,type:"number",class:j(["el-input el-input-measure-unit",{error:B}]),placeholder:e.placeholder,disabled:e.disabled,autocomplete:"no_thanks"},null,10,W),[[q,n(s)]]),i.value&&i.value.length>0?(o(),m("div",X,[f(d("select",{"onUpdate:modelValue":l[1]||(l[1]=r=>a.value=r),class:"mr-[-2px] max-w-[100px] rounded-md border-transparent bg-transparent py-0 pl-[0px] pr-7 text-neutral-lighter focus:border-0 focus:ring-0 sm:text-sm",disabled:p.disableUnitChange,onChange:D},[(o(!0),m(O,null,P(i.value,(r,A)=>(o(),m("option",{key:A},[d("span",null,R(r),1)]))),128))],40,Y),[[$,a.value]])])):z("",!0)]),_:1},16,["name","label","error-message","hidden-error-message","set-required-mark"]))}});export{re as default};
|
|
2
2
|
//# sourceMappingURL=ElInputMeasureUnit.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElInputMeasureUnit.vue.esm2.js","sources":["../../../src/forms/ElInputMeasureUnit.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useInput, showRequiredMark, NumberValueType, withNumberElInputProps } from '@/forms/input';\nimport { computed, PropType, ref, watch } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { DrugDurationMeasures, DrugTimeMeasures, DrugUnitMeasures } from '@/types';\n\ninterface MeasureUnitTypes {\n weight: string[];\n height: string[];\n drugUnitMeasure: string[];\n drugTimeMeasure: string[];\n drugDurationMeasure: string[];\n}\n\nconst measureUnitTypes: MeasureUnitTypes = {\n weight: ['kg', 'hg', 'g'],\n height: ['m', 'cm'],\n drugUnitMeasure: Object.keys(DrugUnitMeasures),\n drugTimeMeasure: Object.keys(DrugTimeMeasures)\n .filter(measure => measure !== 'AlBisogno')\n .concat(['Al bisogno']),\n drugDurationMeasure: Object.keys(DrugDurationMeasures),\n};\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n availableUnitCategory: {\n type: String as PropType<keyof MeasureUnitTypes>,\n default: () => '',\n },\n defaultUnit: {\n type: String,\n default: null,\n },\n disableUnitChange: {\n type: Boolean,\n default: false,\n },\n});\n\nconst availableUnits = computed(() => {\n return measureUnitTypes[props.availableUnitCategory];\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'changeUnit', value: string): void;\n}>();\n\nconst getDefaultUnits = (category: keyof MeasureUnitTypes) => {\n switch (category) {\n case 'drugTimeMeasure':\n return 'Giorni';\n case 'drugUnitMeasure':\n return 'Cpr';\n case 'height':\n return 'm';\n case 'weight':\n return 'kg';\n default:\n return '';\n }\n};\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst currentUnit = ref<string>(props.defaultUnit || getDefaultUnits(props.availableUnitCategory));\n\nconst emitNewValue = (val: NumberValueType): void => {\n emit('update:modelValue', val);\n};\n\nconst { value, errorMessage, uuid } = useInput(computedModelValue, computedValidation, props.name, newVal => emitNewValue(newVal));\n\nconst unit = ref(currentUnit);\n\nconst handleInputUnit = () => {\n const value = unit.value === 'Al bisogno' ? 'AlBisogno' : unit.value;\n emit('changeUnit', value);\n};\n\nconst changeUnit = (value: string) => (unit.value = value);\n\nwatch(\n () => unit.value,\n () => {\n if (unit.value === 'Al bisogno') value.value = undefined;\n },\n);\n\ndefineExpose({\n changeUnit,\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 class=\"relative\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n
|
|
1
|
+
{"version":3,"file":"ElInputMeasureUnit.vue.esm2.js","sources":["../../../src/forms/ElInputMeasureUnit.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useInput, showRequiredMark, NumberValueType, withNumberElInputProps } from '@/forms/input';\nimport { computed, PropType, ref, watch } from 'vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { DrugDurationMeasures, DrugTimeMeasures, DrugUnitMeasures } from '@/types';\n\ninterface MeasureUnitTypes {\n weight: string[];\n height: string[];\n drugUnitMeasure: string[];\n drugTimeMeasure: string[];\n drugDurationMeasure: string[];\n}\n\nconst measureUnitTypes: MeasureUnitTypes = {\n weight: ['kg', 'hg', 'g'],\n height: ['m', 'cm'],\n drugUnitMeasure: Object.keys(DrugUnitMeasures),\n drugTimeMeasure: Object.keys(DrugTimeMeasures)\n .filter(measure => measure !== 'AlBisogno')\n .concat(['Al bisogno']),\n drugDurationMeasure: Object.keys(DrugDurationMeasures),\n};\n\nconst props = defineProps({\n ...withNumberElInputProps(),\n availableUnitCategory: {\n type: String as PropType<keyof MeasureUnitTypes>,\n default: () => '',\n },\n defaultUnit: {\n type: String,\n default: null,\n },\n disableUnitChange: {\n type: Boolean,\n default: false,\n },\n});\n\nconst availableUnits = computed(() => {\n return measureUnitTypes[props.availableUnitCategory];\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: NumberValueType): void;\n (event: 'changeUnit', value: string): void;\n}>();\n\nconst getDefaultUnits = (category: keyof MeasureUnitTypes) => {\n switch (category) {\n case 'drugTimeMeasure':\n return 'Giorni';\n case 'drugUnitMeasure':\n return 'Cpr';\n case 'height':\n return 'm';\n case 'weight':\n return 'kg';\n default:\n return '';\n }\n};\n\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst currentUnit = ref<string>(props.defaultUnit || getDefaultUnits(props.availableUnitCategory));\n\nconst emitNewValue = (val: NumberValueType): void => {\n emit('update:modelValue', val);\n};\n\nconst { value, errorMessage, uuid } = useInput(computedModelValue, computedValidation, props.name, newVal => emitNewValue(newVal));\n\nconst unit = ref(currentUnit);\n\nconst handleInputUnit = () => {\n const value = unit.value === 'Al bisogno' ? 'AlBisogno' : unit.value;\n emit('changeUnit', value);\n};\n\nconst changeUnit = (value: string) => (unit.value = value);\n\nwatch(\n () => unit.value,\n () => {\n if (unit.value === 'Al bisogno') value.value = undefined;\n },\n);\n\ndefineExpose({\n changeUnit,\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 class=\"relative\"\n >\n <template #default=\"{ error }\">\n <input\n :id=\"uuid\"\n v-model=\"value\"\n :name=\"props.name\"\n type=\"number\"\n class=\"el-input el-input-measure-unit\"\n :class=\"{ error }\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n autocomplete=\"no_thanks\"\n />\n <div v-if=\"availableUnits && availableUnits.length > 0\" class=\"absolute top-[4px] right-0 flex h-5/6 items-center\">\n <select\n v-model=\"unit\"\n class=\"mr-[-2px] max-w-[100px] rounded-md border-transparent bg-transparent py-0 pl-[0px] pr-7 text-neutral-lighter focus:border-0 focus:ring-0 sm:text-sm\"\n :disabled=\"disableUnitChange\"\n @change=\"handleInputUnit\"\n >\n <option v-for=\"(item, index) in availableUnits\" :key=\"index\">\n <span>{{ item }}</span>\n </option>\n </select>\n </div>\n </template>\n </ElInputContainer>\n</template>\n"],"names":["measureUnitTypes","DrugUnitMeasures","DrugTimeMeasures","measure","DrugDurationMeasures","props","__props","availableUnits","computed","emit","__emit","getDefaultUnits","category","computedModelValue","computedValidation","currentUnit","ref","emitNewValue","val","value","errorMessage","uuid","useInput","newVal","unit","handleInputUnit","changeUnit","watch","__expose"],"mappings":"28BAcA,MAAMA,EAAqC,CACzC,OAAQ,CAAC,KAAM,KAAM,GAAG,EACxB,OAAQ,CAAC,IAAK,IAAI,EAClB,gBAAiB,OAAO,KAAKC,CAAgB,EAC7C,gBAAiB,OAAO,KAAKC,CAAgB,EAC1C,OAAkBC,GAAAA,IAAY,WAAW,EACzC,OAAO,CAAC,YAAY,CAAC,EACxB,oBAAqB,OAAO,KAAKC,CAAoB,CAAA,EAGjDC,EAAQC,EAgBRC,EAAiBC,EAAS,IACvBR,EAAiBK,EAAM,qBAAqB,CACpD,EAEKI,EAAOC,EAKPC,EAAmBC,GAAqC,CAC5D,OAAQA,EAAU,CAChB,IAAK,kBACI,MAAA,SACT,IAAK,kBACI,MAAA,MACT,IAAK,SACI,MAAA,IACT,IAAK,SACI,MAAA,KACT,QACS,MAAA,EACX,CAAA,EAGIC,EAAqBL,EAAS,IAAMH,EAAM,UAAU,EACpDS,EAAqBN,EAAS,IAAM,CAACH,EAAM,UAAU,CAAC,EACtDU,EAAcC,EAAYX,EAAM,aAAeM,EAAgBN,EAAM,qBAAqB,CAAC,EAE3FY,EAAgBC,GAA+B,CACnDT,EAAK,oBAAqBS,CAAG,CAAA,EAGzB,CAAE,MAAAC,EAAO,aAAAC,EAAc,KAAAC,CAAS,EAAAC,EAAST,EAAoBC,EAAoBT,EAAM,KAAgBkB,GAAAN,EAAaM,CAAM,CAAC,EAE3HC,EAAOR,EAAID,CAAW,EAEtBU,EAAkB,IAAM,CAC5B,MAAMN,EAAQK,EAAK,QAAU,aAAe,YAAcA,EAAK,MAC/Df,EAAK,aAAcU,CAAK,CAAA,EAGpBO,EAAcP,GAAmBK,EAAK,MAAQL,EAEpD,OAAAQ,EACE,IAAMH,EAAK,MACX,IAAM,CACAA,EAAK,QAAU,eAAcL,EAAM,MAAQ,OACjD,CAAA,EAGWS,EAAA,CACX,WAAAF,CAAA,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("../../../node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.cjs.js");require("../../../node_modules/tinymce/
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("../../../node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.cjs.js");require("../../../node_modules/tinymce/icons/default/icons.min.cjs.js");require("../../../node_modules/tinymce/themes/silver/theme.min.cjs.js");require("../../../node_modules/tinymce/models/dom/model.min.cjs.js");require("../../../node_modules/tinymce/skins/ui/oxide/skin.cjs.js");require("../../../node_modules/tinymce/plugins/advlist/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/image/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/code/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/fullscreen/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/emoticons/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/emoticons/js/emojis.cjs.js");require("../../../node_modules/tinymce/plugins/link/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/wordcount/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/lists/plugin.cjs.js");require("../../../node_modules/tinymce/plugins/table/plugin.cjs.js");require("../../../node_modules/tinymce/skins/ui/oxide/content.cjs.js");const b=e.defineComponent({__name:"Editor",props:{color:{},error:{type:Boolean},plugins:{},toolbar:{},menubar:{},modelValue:{}},emits:["editor:init","blur","update:modelValue"],setup(l,{expose:n,emit:a}){const r=l,t=a,u=e.ref(null),s=e.computed(()=>r.plugins??"lists table image emoticons link fullscreen wordcount"),d=e.computed(()=>r.toolbar??"undo redo blocks bold italic underline strikethrough alignleft aligncenter alignright alignjustify link image emoticons fullscreen"),c=e.computed(()=>r.menubar??""),m=e.computed(()=>r.error?"tox--error":r.color==="primary"?"tox--primary":"tox--secondary");return n({editor:u}),(q,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[e.createVNode(e.unref(p.Editor),{onblur:"emit('blur')","model-value":r.modelValue,init:{promotion:!1,branding:!1,statusbar:!0,plugins:s.value,toolbar:d.value,menubar:c.value,setup:o=>{o.on("init",()=>{u.value=o}),t("editor:init",o)}},"onUpdate:modelValue":i[0]||(i[0]=o=>t("update:modelValue",o))},null,8,["model-value","init"])],2))}});exports.default=b;
|
|
2
2
|
//# sourceMappingURL=Editor.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.vue.cjs2.js","sources":["../../../../src/forms/ElInputRichText/Editor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type EditorProps = {\n color: 'primary' | 'secondary';\n error?: boolean;\n plugins?: string[] | string;\n toolbar?: string[] | string;\n menubar?: string[] | string;\n modelValue?: string;\n};\n</script>\n<script setup lang=\"ts\">\nimport Editor from '@tinymce/tinymce-vue';\nimport { computed, Ref, ref } from 'vue';\nimport { Editor as EditorClass } from 'tinymce';\nimport 'tinymce
|
|
1
|
+
{"version":3,"file":"Editor.vue.cjs2.js","sources":["../../../../src/forms/ElInputRichText/Editor.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<script lang=\"ts\">\nexport type EditorProps = {\n color: 'primary' | 'secondary';\n error?: boolean;\n plugins?: string[] | string;\n toolbar?: string[] | string;\n menubar?: string[] | string;\n modelValue?: string;\n};\n</script>\n<script setup lang=\"ts\">\nimport Editor from '@tinymce/tinymce-vue';\nimport { computed, Ref, ref } from 'vue';\nimport { Editor as EditorClass } from 'tinymce';\nimport 'tinymce/icons/default/icons.min.js';\nimport 'tinymce/themes/silver/theme.min.js';\nimport 'tinymce/models/dom/model.min.js';\nimport 'tinymce/skins/ui/oxide/skin.js';\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/emoticons';\nimport 'tinymce/plugins/emoticons/js/emojis';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/table';\nimport 'tinymce/skins/ui/oxide/content.js';\n\nconst props = defineProps<EditorProps>();\nconst emit = defineEmits<{\n (event: 'editor:init', editor: EditorClass): void;\n (event: 'blur'): void;\n (event: 'update:modelValue', value: string): void;\n}>();\n\nconst editor: Ref<EditorClass | null> = ref(null);\n\nconst plugins = computed(() => props.plugins ?? 'lists table image emoticons link fullscreen wordcount');\nconst toolbar = computed(\n () =>\n props.toolbar ??\n 'undo redo blocks bold italic underline strikethrough alignleft aligncenter alignright alignjustify link image emoticons fullscreen',\n);\nconst menubar = computed(() => props.menubar ?? '');\n\nconst className = computed(() => {\n if (props.error) return 'tox--error';\n return props.color === 'primary' ? 'tox--primary' : 'tox--secondary';\n});\n\ndefineExpose<{\n editor: Ref<EditorClass | null>;\n}>({\n editor,\n});\n</script>\n<template>\n <div :class=\"className\">\n <Editor\n onblur=\"emit('blur')\"\n :model-value=\"props.modelValue\"\n :init=\"{\n promotion: false,\n branding: false,\n statusbar: true,\n plugins: plugins,\n toolbar: toolbar,\n menubar: menubar,\n setup: (e: EditorClass) => {\n e.on('init', () => {\n editor = e;\n });\n emit('editor:init', e);\n },\n }\"\n @update:model-value=\"v => emit('update:modelValue', v)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","editor","ref","plugins","computed","toolbar","menubar","className","__expose"],"mappings":"y9CA+BA,MAAMA,EAAQC,EACRC,EAAOC,EAMPC,EAAkCC,MAAI,IAAI,EAE1CC,EAAUC,EAAAA,SAAS,IAAMP,EAAM,SAAW,uDAAuD,EACjGQ,EAAUD,EAAA,SACd,IACEP,EAAM,SACN,oIAAA,EAEES,EAAUF,EAAAA,SAAS,IAAMP,EAAM,SAAW,EAAE,EAE5CU,EAAYH,EAAAA,SAAS,IACrBP,EAAM,MAAc,aACjBA,EAAM,QAAU,UAAY,eAAiB,gBACrD,EAIE,OAAAW,EAAA,CACD,OAAAP,CAAA,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as c,ref as b,computed as r,openBlock as f,createElementBlock as g,normalizeClass as
|
|
1
|
+
import{defineComponent as c,ref as b,computed as r,openBlock as f,createElementBlock as g,normalizeClass as v,createVNode as k,unref as x}from"vue";import{Editor as V}from"../../../node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.esm.js";import"../../../node_modules/tinymce/icons/default/icons.min.esm.js";import"../../../node_modules/tinymce/themes/silver/theme.min.esm.js";import"../../../node_modules/tinymce/models/dom/model.min.esm.js";import"../../../node_modules/tinymce/skins/ui/oxide/skin.esm.js";import"../../../node_modules/tinymce/plugins/advlist/plugin.esm.js";import"../../../node_modules/tinymce/plugins/image/plugin.esm.js";import"../../../node_modules/tinymce/plugins/code/plugin.esm.js";import"../../../node_modules/tinymce/plugins/fullscreen/plugin.esm.js";import"../../../node_modules/tinymce/plugins/emoticons/plugin.esm.js";import"../../../node_modules/tinymce/plugins/emoticons/js/emojis.esm.js";import"../../../node_modules/tinymce/plugins/link/plugin.esm.js";import"../../../node_modules/tinymce/plugins/wordcount/plugin.esm.js";import"../../../node_modules/tinymce/plugins/lists/plugin.esm.js";import"../../../node_modules/tinymce/plugins/table/plugin.esm.js";import"../../../node_modules/tinymce/skins/ui/oxide/content.esm.js";const J=c({__name:"Editor",props:{color:{},error:{type:Boolean},plugins:{},toolbar:{},menubar:{},modelValue:{}},emits:["editor:init","blur","update:modelValue"],setup(n,{expose:a,emit:m}){const o=n,t=m,i=b(null),u=r(()=>o.plugins??"lists table image emoticons link fullscreen wordcount"),s=r(()=>o.toolbar??"undo redo blocks bold italic underline strikethrough alignleft aligncenter alignright alignjustify link image emoticons fullscreen"),p=r(()=>o.menubar??""),d=r(()=>o.error?"tox--error":o.color==="primary"?"tox--primary":"tox--secondary");return a({editor:i}),(y,l)=>(f(),g("div",{class:v(d.value)},[k(x(V),{onblur:"emit('blur')","model-value":o.modelValue,init:{promotion:!1,branding:!1,statusbar:!0,plugins:u.value,toolbar:s.value,menubar:p.value,setup:e=>{e.on("init",()=>{i.value=e}),t("editor:init",e)}},"onUpdate:modelValue":l[0]||(l[0]=e=>t("update:modelValue",e))},null,8,["model-value","init"])],2))}});export{J as default};
|
|
2
2
|
//# sourceMappingURL=Editor.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.vue.esm2.js","sources":["../../../../src/forms/ElInputRichText/Editor.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type EditorProps = {\n color: 'primary' | 'secondary';\n error?: boolean;\n plugins?: string[] | string;\n toolbar?: string[] | string;\n menubar?: string[] | string;\n modelValue?: string;\n};\n</script>\n<script setup lang=\"ts\">\nimport Editor from '@tinymce/tinymce-vue';\nimport { computed, Ref, ref } from 'vue';\nimport { Editor as EditorClass } from 'tinymce';\nimport 'tinymce
|
|
1
|
+
{"version":3,"file":"Editor.vue.esm2.js","sources":["../../../../src/forms/ElInputRichText/Editor.vue"],"sourcesContent":["<!-- eslint-disable vue/multi-word-component-names -->\n<script lang=\"ts\">\nexport type EditorProps = {\n color: 'primary' | 'secondary';\n error?: boolean;\n plugins?: string[] | string;\n toolbar?: string[] | string;\n menubar?: string[] | string;\n modelValue?: string;\n};\n</script>\n<script setup lang=\"ts\">\nimport Editor from '@tinymce/tinymce-vue';\nimport { computed, Ref, ref } from 'vue';\nimport { Editor as EditorClass } from 'tinymce';\nimport 'tinymce/icons/default/icons.min.js';\nimport 'tinymce/themes/silver/theme.min.js';\nimport 'tinymce/models/dom/model.min.js';\nimport 'tinymce/skins/ui/oxide/skin.js';\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/image';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/fullscreen';\nimport 'tinymce/plugins/emoticons';\nimport 'tinymce/plugins/emoticons/js/emojis';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/wordcount';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/table';\nimport 'tinymce/skins/ui/oxide/content.js';\n\nconst props = defineProps<EditorProps>();\nconst emit = defineEmits<{\n (event: 'editor:init', editor: EditorClass): void;\n (event: 'blur'): void;\n (event: 'update:modelValue', value: string): void;\n}>();\n\nconst editor: Ref<EditorClass | null> = ref(null);\n\nconst plugins = computed(() => props.plugins ?? 'lists table image emoticons link fullscreen wordcount');\nconst toolbar = computed(\n () =>\n props.toolbar ??\n 'undo redo blocks bold italic underline strikethrough alignleft aligncenter alignright alignjustify link image emoticons fullscreen',\n);\nconst menubar = computed(() => props.menubar ?? '');\n\nconst className = computed(() => {\n if (props.error) return 'tox--error';\n return props.color === 'primary' ? 'tox--primary' : 'tox--secondary';\n});\n\ndefineExpose<{\n editor: Ref<EditorClass | null>;\n}>({\n editor,\n});\n</script>\n<template>\n <div :class=\"className\">\n <Editor\n onblur=\"emit('blur')\"\n :model-value=\"props.modelValue\"\n :init=\"{\n promotion: false,\n branding: false,\n statusbar: true,\n plugins: plugins,\n toolbar: toolbar,\n menubar: menubar,\n setup: (e: EditorClass) => {\n e.on('init', () => {\n editor = e;\n });\n emit('editor:init', e);\n },\n }\"\n @update:model-value=\"v => emit('update:modelValue', v)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","editor","ref","plugins","computed","toolbar","menubar","className","__expose"],"mappings":"y7CA+BA,MAAMA,EAAQC,EACRC,EAAOC,EAMPC,EAAkCC,EAAI,IAAI,EAE1CC,EAAUC,EAAS,IAAMP,EAAM,SAAW,uDAAuD,EACjGQ,EAAUD,EACd,IACEP,EAAM,SACN,oIAAA,EAEES,EAAUF,EAAS,IAAMP,EAAM,SAAW,EAAE,EAE5CU,EAAYH,EAAS,IACrBP,EAAM,MAAc,aACjBA,EAAM,QAAU,UAAY,eAAiB,gBACrD,EAIE,OAAAW,EAAA,CACD,OAAAP,CAAA,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../../_virtual/preload-helper.cjs.js"),e=require("vue"),_=require("./ElInputContainer.vue.cjs2.js"),M=require("./input.cjs.js"),b=e.defineComponent({__name:"ElInputRichText",props:{color:{},plugins:{},toolbar:{},menubar:{},modelValue:{},errorMessage:{type:[String,Boolean]},label:{},name:{},id:{},hiddenErrorMessage:{type:Boolean},setRequiredMark:{type:Boolean},validation:{}},emits:["update:modelValue"],setup(u,{emit:s}){const d=e.defineAsyncComponent(()=>g.__vitePreload(()=>Promise.resolve().then(()=>require("./ElInputRichText/Editor.vue.cjs.js")),void 0)),r=u,i=e.computed(()=>[r.validation??""]),m=e.computed(()=>r.modelValue),t=s,{value:p,errorMessage:a,uuid:c,fieldContext:v}=M.useInput(m,i,r.name,o=>{t("update:modelValue",o)}),f=e.computed(()=>r.label?r.label.trim().replaceAll(" ",""):"richtext");return(o,l)=>(e.openBlock(),e.createBlock(_.default,{name:o.id||`${e.unref(c)}-${f.value}`,label:r.label,"error-message":r.errorMessage||e.unref(a),"hidden-error-message":r.hiddenErrorMessage},{default:e.withCtx(()=>[e.createVNode(e.unref(d),{"model-value":e.unref(p),error:!!(o.errorMessage||e.unref(a)),color:o.color,"onUpdate:modelValue":l[0]||(l[0]=n=>t("update:modelValue",n)),onBlur:l[1]||(l[1]=n=>e.unref(v).validate())},null,8,["model-value","error","color"])]),_:1},8,["name","label","error-message","hidden-error-message"]))}});exports.default=b;
|
|
2
2
|
//# sourceMappingURL=ElInputRichText.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElInputRichText.vue.cjs2.js","sources":["../../../src/forms/ElInputRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from 'vue';\nimport type { EditorProps } from './ElInputRichText/Editor.vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { TextualValueType, useInput } from './input';\nimport { InputValidation } from './validation-rules';\nexport type ElInputRichTextProps = Omit<EditorProps, 'error'> & {\n modelValue?: string;\n errorMessage?: string | boolean;\n label?: string;\n name?: string;\n id?: string;\n hiddenErrorMessage?: boolean;\n setRequiredMark?: boolean;\n validation?: InputValidation;\n};\n\nconst Editor = defineAsyncComponent(() => import('./ElInputRichText/Editor.vue'));\n\nconst props = defineProps<ElInputRichTextProps>();\n// @ts-ignore: FIXME Expression produces a union type that is too complex to represent.\nconst computedValidation = computed<InputValidation[]>(() => [(props.validation ?? '') as InputValidation]);\nconst computedModelValue = computed(() => props.modelValue);\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: TextualValueType): void;\n}>();\nconst {\n value,\n errorMessage: validationErrorMessage,\n uuid,\n fieldContext,\n} = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n});\nconst defaultId = computed(() => (props.label ? props.label.trim().replaceAll(' ', '') : 'richtext'));\n</script>\n<template>\n <ElInputContainer\n :name=\"id || `${uuid}-${defaultId}`\"\n :label=\"props.label\"\n :error-message=\"props.errorMessage || validationErrorMessage\"\n :hidden-error-message=\"props.hiddenErrorMessage\"\n >\n <Editor\n :
|
|
1
|
+
{"version":3,"file":"ElInputRichText.vue.cjs2.js","sources":["../../../src/forms/ElInputRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from 'vue';\nimport type { EditorProps } from './ElInputRichText/Editor.vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { TextualValueType, useInput } from './input';\nimport { InputValidation } from './validation-rules';\nexport type ElInputRichTextProps = Omit<EditorProps, 'error'> & {\n modelValue?: string;\n errorMessage?: string | boolean;\n label?: string;\n name?: string;\n id?: string;\n hiddenErrorMessage?: boolean;\n setRequiredMark?: boolean;\n validation?: InputValidation;\n};\n\nconst Editor = defineAsyncComponent(() => import('./ElInputRichText/Editor.vue'));\n\nconst props = defineProps<ElInputRichTextProps>();\n// @ts-ignore: FIXME Expression produces a union type that is too complex to represent.\nconst computedValidation = computed<InputValidation[]>(() => [(props.validation ?? '') as InputValidation]);\nconst computedModelValue = computed(() => props.modelValue);\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: TextualValueType): void;\n}>();\nconst {\n value,\n errorMessage: validationErrorMessage,\n uuid,\n fieldContext,\n} = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n});\nconst defaultId = computed(() => (props.label ? props.label.trim().replaceAll(' ', '') : 'richtext'));\n</script>\n<template>\n <ElInputContainer\n :name=\"id || `${uuid}-${defaultId}`\"\n :label=\"props.label\"\n :error-message=\"props.errorMessage || validationErrorMessage\"\n :hidden-error-message=\"props.hiddenErrorMessage\"\n >\n <Editor\n :model-value=\"value\"\n :error=\"!!(errorMessage || validationErrorMessage)\"\n :color=\"color\"\n @update:model-value=\"v => emit('update:modelValue', v)\"\n @blur=\"fieldContext.validate()\"\n />\n </ElInputContainer>\n</template>\n"],"names":["Editor","defineAsyncComponent","__vitePreload","props","__props","computedValidation","computed","computedModelValue","emit","__emit","value","validationErrorMessage","uuid","fieldContext","useInput","newValue","defaultId"],"mappings":"oiBAiBA,MAAMA,EAASC,EAAAA,qBAAqB,IAAMC,EAAAA,cAAA,IAAA,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,qCAA8B,CAAA,EAAA,MAAA,CAAC,EAE1EC,EAAQC,EAERC,EAAqBC,EAAAA,SAA4B,IAAM,CAAEH,EAAM,YAAc,EAAsB,CAAC,EACpGI,EAAqBD,EAAA,SAAS,IAAMH,EAAM,UAAU,EACpDK,EAAOC,EAGP,CACJ,MAAAC,EACA,aAAcC,EACd,KAAAC,EACA,aAAAC,CAAA,EACEC,EAAAA,SAASP,EAAoBF,EAAoBF,EAAM,KAAkBY,GAAA,CAC3EP,EAAK,oBAAqBO,CAAQ,CAAA,CACnC,EACKC,EAAYV,EAAA,SAAS,IAAOH,EAAM,MAAQA,EAAM,MAAM,KAAA,EAAO,WAAW,IAAK,EAAE,EAAI,UAAW"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__fileDeps=["src/forms/ElInputRichText/Editor.vue.esm.js","src/forms/ElInputRichText/Editor.vue.esm2.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.esm.js","node_modules/tinymce/
|
|
2
|
-
import{__vitePreload as
|
|
1
|
+
const __vite__fileDeps=["src/forms/ElInputRichText/Editor.vue.esm.js","src/forms/ElInputRichText/Editor.vue.esm2.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/Editor.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/ScriptLoader.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/Utils.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/TinyMCE.esm.js","node_modules/@tinymce/tinymce-vue/lib/es2015/main/ts/components/EditorPropTypes.esm.js","node_modules/tinymce/icons/default/icons.min.esm.js","node_modules/tinymce/themes/silver/theme.min.esm.js","node_modules/tinymce/models/dom/model.min.esm.js","node_modules/tinymce/skins/ui/oxide/skin.esm.js","node_modules/tinymce/plugins/advlist/plugin.esm.js","node_modules/tinymce/plugins/image/plugin.esm.js","node_modules/tinymce/plugins/code/plugin.esm.js","node_modules/tinymce/plugins/fullscreen/plugin.esm.js","node_modules/tinymce/plugins/emoticons/plugin.esm.js","node_modules/tinymce/plugins/emoticons/js/emojis.esm.js","node_modules/tinymce/plugins/link/plugin.esm.js","node_modules/tinymce/plugins/wordcount/plugin.esm.js","node_modules/tinymce/plugins/lists/plugin.esm.js","node_modules/tinymce/plugins/table/plugin.esm.js","node_modules/tinymce/skins/ui/oxide/content.esm.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
|
|
2
|
+
import{__vitePreload as V}from"../../_virtual/preload-helper.esm.js";import{defineComponent as M,defineAsyncComponent as _,computed as l,openBlock as b,createBlock as E,unref as o,withCtx as B,createVNode as h}from"vue";import y from"./ElInputContainer.vue.esm2.js";import{useInput as C}from"./input.esm.js";const A=M({__name:"ElInputRichText",props:{color:{},plugins:{},toolbar:{},menubar:{},modelValue:{},errorMessage:{type:[String,Boolean]},label:{},name:{},id:{},hiddenErrorMessage:{type:Boolean},setRequiredMark:{type:Boolean},validation:{}},emits:["update:modelValue"],setup(s,{emit:i}){const m=_(()=>V(()=>import("./ElInputRichText/Editor.vue.esm.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]))),e=s,u=l(()=>[e.validation??""]),p=l(()=>e.modelValue),t=i,{value:c,errorMessage:n,uuid:f,fieldContext:g}=C(p,u,e.name,r=>{t("update:modelValue",r)}),v=l(()=>e.label?e.label.trim().replaceAll(" ",""):"richtext");return(r,a)=>(b(),E(y,{name:r.id||`${o(f)}-${v.value}`,label:e.label,"error-message":e.errorMessage||o(n),"hidden-error-message":e.hiddenErrorMessage},{default:B(()=>[h(o(m),{"model-value":o(c),error:!!(r.errorMessage||o(n)),color:r.color,"onUpdate:modelValue":a[0]||(a[0]=d=>t("update:modelValue",d)),onBlur:a[1]||(a[1]=d=>o(g).validate())},null,8,["model-value","error","color"])]),_:1},8,["name","label","error-message","hidden-error-message"]))}});export{A as default};
|
|
3
3
|
//# sourceMappingURL=ElInputRichText.vue.esm2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":";ilBAiBA,MAAMA,EAASC,EAAqB,IAAMC,EAAA,WAAO,qCAA8B,
|
|
1
|
+
{"version":3,"mappings":";ilBAiBA,MAAMA,EAASC,EAAqB,IAAMC,EAAA,WAAO,qCAA8B,6EAAC,EAE1EC,EAAQC,EAERC,EAAqBC,EAA4B,IAAM,CAAEH,EAAM,YAAc,EAAsB,CAAC,EACpGI,EAAqBD,EAAS,IAAMH,EAAM,UAAU,EACpDK,EAAOC,EAGP,CACJ,MAAAC,EACA,aAAcC,EACd,KAAAC,EACA,aAAAC,CAAA,EACEC,EAASP,EAAoBF,EAAoBF,EAAM,KAAkBY,GAAA,CAC3EP,EAAK,oBAAqBO,CAAQ,EACnC,EACKC,EAAYV,EAAS,IAAOH,EAAM,MAAQA,EAAM,MAAM,OAAO,WAAW,IAAK,EAAE,EAAI,UAAW","names":["Editor","defineAsyncComponent","__vitePreload","props","__props","computedValidation","computed","computedModelValue","emit","__emit","value","validationErrorMessage","uuid","fieldContext","useInput","newValue","defaultId"],"ignoreList":[],"sources":["../../../src/forms/ElInputRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from 'vue';\nimport type { EditorProps } from './ElInputRichText/Editor.vue';\nimport ElInputContainer from '@/forms/ElInputContainer.vue';\nimport { TextualValueType, useInput } from './input';\nimport { InputValidation } from './validation-rules';\nexport type ElInputRichTextProps = Omit<EditorProps, 'error'> & {\n modelValue?: string;\n errorMessage?: string | boolean;\n label?: string;\n name?: string;\n id?: string;\n hiddenErrorMessage?: boolean;\n setRequiredMark?: boolean;\n validation?: InputValidation;\n};\n\nconst Editor = defineAsyncComponent(() => import('./ElInputRichText/Editor.vue'));\n\nconst props = defineProps<ElInputRichTextProps>();\n// @ts-ignore: FIXME Expression produces a union type that is too complex to represent.\nconst computedValidation = computed<InputValidation[]>(() => [(props.validation ?? '') as InputValidation]);\nconst computedModelValue = computed(() => props.modelValue);\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: TextualValueType): void;\n}>();\nconst {\n value,\n errorMessage: validationErrorMessage,\n uuid,\n fieldContext,\n} = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue);\n});\nconst defaultId = computed(() => (props.label ? props.label.trim().replaceAll(' ', '') : 'richtext'));\n</script>\n<template>\n <ElInputContainer\n :name=\"id || `${uuid}-${defaultId}`\"\n :label=\"props.label\"\n :error-message=\"props.errorMessage || validationErrorMessage\"\n :hidden-error-message=\"props.hiddenErrorMessage\"\n >\n <Editor\n :model-value=\"value\"\n :error=\"!!(errorMessage || validationErrorMessage)\"\n :color=\"color\"\n @update:model-value=\"v => emit('update:modelValue', v)\"\n @blur=\"fieldContext.validate()\"\n />\n </ElInputContainer>\n</template>\n"],"file":"src/forms/ElInputRichText.vue.esm2.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../ElDivider.vue.cjs2.js"),_=require("../ElIcon.vue.cjs2.js"),F=require("../ElVerticalTab.vue.cjs2.js");;/* empty css */require("../polyfills.cjs.js");require("vee-validate");require("../../node_modules/codice-fiscale-js/dist/codice.fiscale.commonjs2.cjs.js");require("../../node_modules/lodash/lodash.cjs.js");require("../tailwind.plugin.cjs.js");require("../../node_modules/@davincihealthcare/elty-design-system-foundations/dist/index.cjs.js");const T=require("../ElButton.vue.cjs2.js"),A=require("../_CustomTransition.vue.cjs2.js"),b=require("../../node_modules/@vueuse/core/index.cjs.js");require("./ElInputText.vue.cjs2.js");require("./ElInputCheckbox.vue.cjs2.js");require("./ElInputDate.vue.cjs2.js");require("./ElInputFile.vue.cjs2.js");require("./ElInputMeasureUnit.vue.cjs2.js");require("./ElInputNumber.vue.cjs2.js");require("./ElInputPhone.vue.cjs2.js");require("./ElInputSelect.vue.cjs2.js");require("./ElInputTextarea.vue.cjs2.js");require("../ElToast.vue.cjs2.js");require("./ElInputRadioButton.vue.cjs2.js");const P=require("../../node_modules/@vueuse/components/index.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../ElDivider.vue.cjs2.js"),_=require("../ElIcon.vue.cjs2.js"),F=require("../ElVerticalTab.vue.cjs2.js");;/* empty css */require("../polyfills.cjs.js");require("vee-validate");require("../../node_modules/codice-fiscale-js/dist/codice.fiscale.commonjs2.cjs.js");require("../../node_modules/lodash/lodash.cjs.js");require("../tailwind.plugin.cjs.js");require("../../node_modules/@davincihealthcare/elty-design-system-foundations/dist/index.cjs.js");const T=require("../ElButton.vue.cjs2.js"),A=require("../_CustomTransition.vue.cjs2.js"),b=require("../../node_modules/@vueuse/core/index.cjs.js");require("./ElInputText.vue.cjs2.js");require("./ElInputCheckbox.vue.cjs2.js");require("./ElInputDate.vue.cjs2.js");require("./ElInputFile.vue.cjs2.js");require("./ElInputMeasureUnit.vue.cjs2.js");require("./ElInputNumber.vue.cjs2.js");require("./ElInputPhone.vue.cjs2.js");require("./ElInputSelect.vue.cjs2.js");require("./ElInputTextarea.vue.cjs2.js");require("../ElToast.vue.cjs2.js");require("./ElInputRadioButton.vue.cjs2.js");const P=require("../../node_modules/@vueuse/components/index.cjs.js"),B=require("./input.cjs.js");require("../../node_modules/swiper/shared/swiper-core.cjs.js");const j=require("../../node_modules/@vueuse/integrations/useFocusTrap.cjs.js"),z={class:"flex flex-row items-center gap-3 bg-neutral-surface rounded-2xl"},H=["name","placeholder"],$={class:"flex flex-col gap-y-6 overflow-y-hidden"},L={key:1,class:"flex flex-col items-center justify-center flex-1 gap-4 py-8 text-neutral-lighter"},U={class:"text-sm font-semibold text-neutral-darker"},G={class:"text-sm font-normal"},K={key:2,class:"flex py-2 overflow-y-hidden"},J={key:0,class:"text-sm font-medium text-neutral-darker"},Q={class:"flex flex-col gap-1 w-full"},W={key:0},X={key:1,class:"flex-1 pl-6 overflow-y-auto"},Y={key:3,class:"flex items-center gap-1 self-stretch"},Z={class:"text-sm font-normal text-neutral-darker"},ee={class:"fixed inset-0 transition-opacity"},te={ref:"backdrop",class:"absolute inset-0 bg-gray-500 opacity-75"},oe=["primary","secondary"],le=["default","filled","blank"],re=e.defineComponent({__name:"ElInputSearch",props:e.mergeModels({...B.withTextualElInputProps(),status:{type:String,default:"default"},text:{type:String,default:void 0},results:{type:Array,default:void 0},footer:{type:Object,default:void 0},blankResults:{type:Object,default:void 0},shouldHoverFirstResultOnOpen:{type:Boolean,default:!1},color:{type:String,default:"primary"}},{isOpen:{default:!0,required:!0,type:Boolean},isOpenModifiers:{}}),emits:e.mergeModels(["update:modelValue","onResultClick","onResultHover"],["update:isOpen"]),setup(o,{emit:q}){const r=o,d=q,f=e.useSlots(),E=b.useScrollLock(document.body),m=e.ref(null),V=e.computed(()=>r.modelValue),w=e.computed(()=>[r.validation]),v=e.computed(()=>({default:!r.results,filled:r.results&&r.results.length>0,blank:r.results&&r.results.length===0})),S=e.ref(!1),k=e.ref(!1),y=e.ref([]),s=e.ref(),{value:u,uuid:C,setValue:N}=B.useInput(V,w,r.name,t=>{d("update:modelValue",t==null?void 0:t.trim())}),p=e.ref(),{hasFocus:R,activate:O,deactivate:I}=j.useFocusTrap(p),c=e.useModel(o,"isOpen"),h=()=>{c.value=!1,s.value=void 0,u.value=""},M=t=>{var l,a,n;(n=(a=(l=y.value)==null?void 0:l.at(t))==null?void 0:a.$el)==null||n.scrollIntoView({block:"nearest"})},x=t=>{d("onResultClick",t),N(""),s.value=void 0},i=t=>{s.value=t,M(t),d("onResultHover",t)},D=()=>h();return b.onKeyStroke(["ArrowUp","ArrowDown","Enter","Escape"],t=>{var l;if(t.preventDefault(),t.stopPropagation(),R&&((l=r.results)!=null&&l.length))switch(t.key){case"ArrowUp":const a=Math.max((s.value??0)-1,0);i(a);break;case"ArrowDown":const n=s.value!==void 0?Math.min(s.value+1,r.results.length-1):0;i(n);break;case"Enter":s.value!==void 0&&x(s.value);break}t.key==="Escape"&&h()},{target:p}),e.watch([c,m],async()=>{var t,l;E.value=c.value,c.value?((t=m.value)==null||t.focus(),r.shouldHoverFirstResultOnOpen&&((l=r.results)!=null&&l.length)&&i(0),await e.nextTick(),O()):(I(),u.value="")}),(t,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(A.default,{name:"fade"},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"searchBarRef",ref:p,class:"fixed inset-x-0 top-0 z-40 flex justify-center max-h-full overflow-y-auto px-4 pt-20 pb-6 max-sm:p-0"},[e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["m-10 z-50 md:max-w-3xl w-full flex flex-col p-6 border rounded-2xl border-neutral-surface bg-neutral-surface shadow-md",{"gap-6":r.results}])},[e.createElementVNode("div",z,[e.createVNode(_.default,{name:"MagnifyingGlassIcon",class:"text-neutral-lighter w-6 h-6"}),e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:m,"onUpdate:modelValue":l[0]||(l[0]=a=>e.isRef(u)?u.value=a:null),name:t.id||`${e.unref(C)}`,type:"text",class:"p-0 text-lg font-normal flex-1 outline-none border-none bg-neutral-surface focus:ring-none focus:border-none focus:outline-none border-transparent focus:border-transparent focus:ring-0",placeholder:t.placeholder,onFocusin:l[1]||(l[1]=()=>{k.value=!0,S.value=!1}),onFocusout:l[2]||(l[2]=()=>{k.value=!1})},null,40,H),[[e.vModelText,e.unref(u)]])]),e.createElementVNode("span",$,[o.results?(e.openBlock(),e.createBlock(g.default,{key:0,direction:"horizontal"})):e.createCommentVNode("",!0),o.blankResults&&v.value.blank?(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(_.default,e.mergeProps(o.blankResults.icon,{class:"w-7 h-7"}),null,16),e.createElementVNode("p",U,e.toDisplayString(o.blankResults.primaryRow),1),e.createElementVNode("p",G,e.toDisplayString(o.blankResults.secondaryRow),1)])):e.createCommentVNode("",!0),o.results&&v.value.filled?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-col items-start flex-1 gap-6 overflow-y-auto max-h-50-screen",{"pr-6":e.unref(f).info&&o.results.length>0}])},[o.text?(e.openBlock(),e.createElementBlock("span",J,e.toDisplayString(o.text),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.results,(a,n)=>(e.openBlock(),e.createBlock(F.default,e.mergeProps({key:n,ref_for:!0,ref_key:"itemRefs",ref:y,color:o.color},a,{status:s.value===n?"hover":"default",tabindex:"-1",onClick:()=>x(n),onMouseover:()=>i(n)}),null,16,["color","status","onClick","onMouseover"]))),128))])],2),e.unref(f).info?(e.openBlock(),e.createElementBlock("div",W,[e.createVNode(g.default,{direction:"vertical"})])):e.createCommentVNode("",!0),e.unref(f).info?(e.openBlock(),e.createElementBlock("div",X,[e.renderSlot(t.$slots,"info")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),o.results&&o.footer?(e.openBlock(),e.createElementBlock("div",Y,[e.createElementVNode("span",Z,e.toDisplayString(o.footer.text),1),e.createVNode(e.unref(T.default),e.mergeProps(o.footer.button,{variant:"tertiary"}),null,16)])):e.createCommentVNode("",!0)])],2)),[[e.unref(P.VOnClickOutside),D]]),e.createElementVNode("div",ee,[e.createElementVNode("div",te,null,512)])],512)):e.createCommentVNode("",!0)]),_:3})]))}});exports.default=re;exports.elInputSearchColors=oe;exports.elInputSearchStatus=le;
|
|
2
2
|
//# sourceMappingURL=ElInputSearch.vue.cjs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElInputSearch.vue.cjs2.js","sources":["../../../src/forms/ElInputSearch.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputSearchColors = ['primary', 'secondary'] as const;\nexport type ElInputSearchColors = (typeof elInputSearchColors)[number];\n\nexport const elInputSearchStatus = ['default', 'filled', 'blank'] as const;\nexport type ElInputSearchStatus = (typeof elInputSearchStatus)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport ElDivider from '@/ElDivider.vue';\nimport ElIcon from '@/ElIcon.vue';\nimport ElVerticalTab from '@/ElVerticalTab.vue';\nimport { ElButton } from '..';\nimport { computed, PropType, ref, useSlots, watch, nextTick } from 'vue';\nimport { useInput, withTextualElInputProps } from './input';\nimport { vOnClickOutside } from '@vueuse/components';\nimport CustomTransition from '@/_CustomTransition.vue';\nimport { onKeyStroke, useScrollLock } from '@vueuse/core';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\n\nconst props = defineProps({\n ...withTextualElInputProps(),\n status: {\n type: String as PropType<ElInputSearchStatus>,\n default: 'default',\n },\n text: {\n type: String,\n default: undefined,\n },\n results: {\n type: Array as PropType<InstanceType<typeof ElVerticalTab>['$props'][]>,\n default: undefined,\n },\n footer: {\n type: Object as PropType<{\n text: string;\n button: InstanceType<typeof ElButton>['$props'];\n }>,\n default: undefined,\n },\n blankResults: {\n type: Object as PropType<{\n icon: InstanceType<typeof ElIcon>['$props'];\n primaryRow: string;\n secondaryRow?: string;\n }>,\n default: undefined,\n },\n shouldHoverFirstResultOnOpen: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String as PropType<ElInputSearchColors>,\n default: 'primary',\n },\n});\n\nconst emit = defineEmits(['update:modelValue', 'onResultClick', 'onResultHover']);\nconst slots = useSlots();\nconst isBodyScrollLocked = useScrollLock(document.body);\n\nconst searchInput = ref<HTMLInputElement | null>(null);\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst computedStatus = computed(() => ({\n default: !props.results,\n filled: props.results && props.results.length > 0,\n blank: props.results && props.results.length === 0,\n}));\nconst isClickOutside = ref(false);\nconst isSearchFocused = ref(false);\n\nconst itemRefs = ref<InstanceType<typeof ElVerticalTab>[]>([]);\nconst activeResult = ref<number | undefined>();\n\nconst { value, uuid, setValue } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue?.trim());\n});\n\nconst searchBarRef = ref<HTMLInputElement>();\nconst { hasFocus, activate, deactivate } = useFocusTrap(searchBarRef as any);\n\nconst isOpen = defineModel('isOpen', {\n default: true,\n required: true,\n type: Boolean,\n});\n\nconst closeSearchBar = () => {\n isOpen.value = false;\n activeResult.value = undefined;\n value.value = '';\n};\n\nconst scrollToFocusedIndex = (index: number) => {\n itemRefs.value?.at(index)?.$el?.scrollIntoView({ block: 'nearest' });\n};\n\nconst onResultClick = (index: number) => {\n emit('onResultClick', index);\n setValue('');\n activeResult.value = undefined;\n};\n\nconst onResultHover = (index: number) => {\n activeResult.value = index;\n scrollToFocusedIndex(index);\n emit('onResultHover', index);\n};\n\nconst onClickOutside = () => closeSearchBar();\n\nonKeyStroke(\n ['ArrowUp', 'ArrowDown', 'Enter', 'Escape'],\n e => {\n e.preventDefault();\n e.stopPropagation();\n\n if (hasFocus && props.results?.length) {\n switch (e.key) {\n case 'ArrowUp':\n const previousActiveIndex = Math.max((activeResult.value ?? 0) - 1, 0);\n onResultHover(previousActiveIndex);\n break;\n case 'ArrowDown':\n const nextActiveIndex = activeResult.value !== undefined ? Math.min(activeResult.value + 1, props.results.length - 1) : 0;\n onResultHover(nextActiveIndex);\n break;\n case 'Enter':\n if (activeResult.value !== undefined) {\n onResultClick(activeResult.value);\n }\n break;\n }\n }\n\n if (e.key === 'Escape') {\n closeSearchBar();\n }\n },\n { target: searchBarRef },\n);\n\nwatch([isOpen, searchInput], async () => {\n isBodyScrollLocked.value = isOpen.value;\n\n if (isOpen.value) {\n searchInput.value?.focus();\n\n if (props.shouldHoverFirstResultOnOpen && props.results?.length) {\n onResultHover(0);\n }\n\n await nextTick();\n activate();\n } else {\n deactivate();\n value.value = '';\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <CustomTransition name=\"fade\">\n <div\n v-if=\"isOpen\"\n ref=\"searchBarRef\"\n class=\"fixed inset-x-0 top-0 z-40 flex justify-center max-h-full overflow-y-auto px-4 pt-20 pb-6 max-sm:p-0\"\n >\n <div\n v-on-click-outside=\"onClickOutside\"\n class=\"m-10 z-50 md:max-w-3xl w-full flex flex-col p-6 border rounded-2xl border-neutral-surface bg-neutral-surface shadow-md\"\n :class=\"{\n 'gap-6': props.results,\n }\"\n >\n <!-- Search bar -->\n <div class=\"flex flex-row items-center gap-3 bg-neutral-surface rounded-2xl\">\n <ElIcon name=\"MagnifyingGlassIcon\" class=\"text-neutral-lighter w-6 h-6\" />\n <input\n ref=\"searchInput\"\n v-model=\"value\"\n :name=\"id || `${uuid}`\"\n type=\"text\"\n class=\"p-0 text-lg font-normal flex-1 outline-none border-none bg-neutral-surface focus:ring-none focus:border-none focus:outline-none border-transparent focus:border-transparent focus:ring-0\"\n :placeholder=\"placeholder\"\n @focusin=\"\n () => {\n isSearchFocused = true; // Set search focused\n isClickOutside = false; // Set click outside to false\n }\n \"\n @focusout=\"\n () => {\n isSearchFocused = false;\n }\n \"\n />\n </div>\n\n <span class=\"flex flex-col gap-y-6 overflow-y-hidden\">\n <ElDivider v-if=\"results\" direction=\"horizontal\" />\n <div\n v-if=\"blankResults && computedStatus.blank\"\n class=\"flex flex-col items-center justify-center flex-1 gap-4 py-8 text-neutral-lighter\"\n >\n <ElIcon v-bind=\"blankResults.icon\" class=\"w-7 h-7\" />\n <p class=\"text-sm font-semibold text-neutral-darker\">{{ blankResults.primaryRow }}</p>\n <p class=\"text-sm font-normal\">{{ blankResults.secondaryRow }}</p>\n </div>\n <div v-if=\"results && computedStatus.filled\" class=\"flex py-2 overflow-y-hidden\">\n <!-- Results Left column -->\n <div\n class=\"flex flex-col items-start flex-1 gap-6 overflow-y-auto max-h-50-screen\"\n :class=\"{ 'pr-6': slots.info && results.length > 0 }\"\n >\n <span v-if=\"text\" class=\"text-sm font-medium text-neutral-darker\">{{ text }}</span>\n <div class=\"flex flex-col gap-1 w-full\">\n <ElVerticalTab\n v-for=\"(result, index) in results\"\n :key=\"index\"\n ref=\"itemRefs\"\n :color=\"color\"\n v-bind=\"result\"\n :status=\"activeResult === index ? 'hover' : 'default'\"\n tabindex=\"-1\"\n @click=\"() => onResultClick(index)\"\n @mouseover=\"() => onResultHover(index)\"\n />\n </div>\n </div>\n <!-- Blank Results -->\n\n <div v-if=\"slots.info\">\n <ElDivider direction=\"vertical\" />\n </div>\n <div v-if=\"slots.info\" class=\"flex-1 pl-6 overflow-y-auto\">\n <slot name=\"info\"></slot>\n </div>\n </div>\n <div v-if=\"results && footer\" class=\"flex items-center gap-1 self-stretch\">\n <span class=\"text-sm font-normal text-neutral-darker\">{{ footer.text }}</span>\n <ElButton v-bind=\"footer.button\" variant=\"tertiary\" />\n </div>\n </span>\n </div>\n\n <!-- Backdrop -->\n <div class=\"fixed inset-0 transition-opacity\">\n <div ref=\"backdrop\" class=\"absolute inset-0 bg-gray-500 opacity-75\"></div>\n </div>\n </div>\n </CustomTransition>\n </Teleport>\n</template>\n"],"names":["elInputSearchColors","elInputSearchStatus","props","__props","emit","__emit","slots","useSlots","isBodyScrollLocked","useScrollLock","searchInput","ref","computedModelValue","computed","computedValidation","computedStatus","isClickOutside","isSearchFocused","itemRefs","activeResult","value","uuid","setValue","useInput","newValue","searchBarRef","hasFocus","activate","deactivate","useFocusTrap","isOpen","_useModel","closeSearchBar","scrollToFocusedIndex","index","_c","_b","_a","onResultClick","onResultHover","onClickOutside","onKeyStroke","e","previousActiveIndex","nextActiveIndex","watch","nextTick"],"mappings":"6vEACaA,GAAsB,CAAC,UAAW,WAAW,EAG7CC,GAAsB,CAAC,UAAW,SAAU,OAAO,8iBAgBhE,MAAMC,EAAQC,EAuCRC,EAAOC,EACPC,EAAQC,EAAAA,WACRC,EAAqBC,EAAAA,cAAc,SAAS,IAAI,EAEhDC,EAAcC,MAA6B,IAAI,EAC/CC,EAAqBC,EAAA,SAAS,IAAMX,EAAM,UAAU,EACpDY,EAAqBD,EAAAA,SAAS,IAAM,CAACX,EAAM,UAAU,CAAC,EACtDa,EAAiBF,EAAAA,SAAS,KAAO,CACrC,QAAS,CAACX,EAAM,QAChB,OAAQA,EAAM,SAAWA,EAAM,QAAQ,OAAS,EAChD,MAAOA,EAAM,SAAWA,EAAM,QAAQ,SAAW,CACjD,EAAA,EACIc,EAAiBL,MAAI,EAAK,EAC1BM,EAAkBN,MAAI,EAAK,EAE3BO,EAAWP,MAA0C,CAAA,CAAE,EACvDQ,EAAeR,EAAAA,MAEf,CAAE,MAAAS,EAAO,KAAAC,EAAM,SAAAC,GAAaC,EAAAA,SAASX,EAAoBE,EAAoBZ,EAAM,KAAkBsB,GAAA,CACpGpB,EAAA,oBAAqBoB,GAAA,YAAAA,EAAU,MAAM,CAAA,CAC3C,EAEKC,EAAed,EAAAA,MACf,CAAE,SAAAe,EAAU,SAAAC,EAAU,WAAAC,CAAW,EAAIC,EAAAA,aAAaJ,CAAmB,EAErEK,EAASC,EAAAA,SAAY5B,EAAA,QAI1B,EAEK6B,EAAiB,IAAM,CAC3BF,EAAO,MAAQ,GACfX,EAAa,MAAQ,OACrBC,EAAM,MAAQ,EAAA,EAGVa,EAAwBC,GAAkB,YACrCC,GAAAC,GAAAC,EAAAnB,EAAA,QAAA,YAAAmB,EAAO,GAAGH,KAAV,YAAAE,EAAkB,MAAlB,MAAAD,EAAuB,eAAe,CAAE,MAAO,SAAA,EAAW,EAG/DG,EAAiBJ,GAAkB,CACvC9B,EAAK,gBAAiB8B,CAAK,EAC3BZ,EAAS,EAAE,EACXH,EAAa,MAAQ,MAAA,EAGjBoB,EAAiBL,GAAkB,CACvCf,EAAa,MAAQe,EACrBD,EAAqBC,CAAK,EAC1B9B,EAAK,gBAAiB8B,CAAK,CAAA,EAGvBM,EAAiB,IAAMR,IAE7BS,OAAAA,EAAA,YACE,CAAC,UAAW,YAAa,QAAS,QAAQ,EACrCC,GAAA,OAIC,GAHJA,EAAE,eAAe,EACjBA,EAAE,gBAAgB,EAEdhB,KAAYW,EAAAnC,EAAM,UAAN,MAAAmC,EAAe,QAC7B,OAAQK,EAAE,IAAK,CACb,IAAK,UACH,MAAMC,EAAsB,KAAK,KAAKxB,EAAa,OAAS,GAAK,EAAG,CAAC,EACrEoB,EAAcI,CAAmB,EACjC,MACF,IAAK,YACH,MAAMC,EAAkBzB,EAAa,QAAU,OAAY,KAAK,IAAIA,EAAa,MAAQ,EAAGjB,EAAM,QAAQ,OAAS,CAAC,EAAI,EACxHqC,EAAcK,CAAe,EAC7B,MACF,IAAK,QACCzB,EAAa,QAAU,QACzBmB,EAAcnB,EAAa,KAAK,EAElC,KACJ,CAGEuB,EAAE,MAAQ,UACGV,GAEnB,EACA,CAAE,OAAQP,CAAa,CAAA,EAGzBoB,EAAAA,MAAM,CAACf,EAAQpB,CAAW,EAAG,SAAY,SACvCF,EAAmB,MAAQsB,EAAO,MAE9BA,EAAO,QACTO,EAAA3B,EAAY,QAAZ,MAAA2B,EAAmB,QAEfnC,EAAM,gCAAgCkC,EAAAlC,EAAM,UAAN,MAAAkC,EAAe,SACvDG,EAAc,CAAC,EAGjB,MAAMO,EAAS,SAAA,EACNnB,MAEEC,IACXR,EAAM,MAAQ,GAChB,CACD"}
|
|
1
|
+
{"version":3,"file":"ElInputSearch.vue.cjs2.js","sources":["../../../src/forms/ElInputSearch.vue"],"sourcesContent":["<script lang=\"ts\">\nexport const elInputSearchColors = ['primary', 'secondary'] as const;\nexport type ElInputSearchColors = (typeof elInputSearchColors)[number];\n\nexport const elInputSearchStatus = ['default', 'filled', 'blank'] as const;\nexport type ElInputSearchStatus = (typeof elInputSearchStatus)[number];\n</script>\n\n<script lang=\"ts\" setup>\nimport ElDivider from '@/ElDivider.vue';\nimport ElIcon from '@/ElIcon.vue';\nimport ElVerticalTab from '@/ElVerticalTab.vue';\nimport { ElButton } from '..';\nimport { computed, PropType, ref, useSlots, watch, nextTick } from 'vue';\nimport { useInput, withTextualElInputProps } from './input';\nimport { vOnClickOutside } from '@vueuse/components';\nimport CustomTransition from '@/_CustomTransition.vue';\nimport { onKeyStroke, useScrollLock } from '@vueuse/core';\nimport { useFocusTrap } from '@vueuse/integrations/useFocusTrap';\n\nconst props = defineProps({\n ...withTextualElInputProps(),\n status: {\n type: String as PropType<ElInputSearchStatus>,\n default: 'default',\n },\n text: {\n type: String,\n default: undefined,\n },\n results: {\n type: Array as PropType<InstanceType<typeof ElVerticalTab>['$props'][]>,\n default: undefined,\n },\n footer: {\n type: Object as PropType<{\n text: string;\n button: InstanceType<typeof ElButton>['$props'];\n }>,\n default: undefined,\n },\n blankResults: {\n type: Object as PropType<{\n icon: InstanceType<typeof ElIcon>['$props'];\n primaryRow: string;\n secondaryRow?: string;\n }>,\n default: undefined,\n },\n shouldHoverFirstResultOnOpen: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String as PropType<ElInputSearchColors>,\n default: 'primary',\n },\n});\n\nconst emit = defineEmits(['update:modelValue', 'onResultClick', 'onResultHover']);\nconst slots = useSlots();\nconst isBodyScrollLocked = useScrollLock(document.body);\n\nconst searchInput = ref<HTMLInputElement | null>(null);\nconst computedModelValue = computed(() => props.modelValue);\nconst computedValidation = computed(() => [props.validation]);\nconst computedStatus = computed(() => ({\n default: !props.results,\n filled: props.results && props.results.length > 0,\n blank: props.results && props.results.length === 0,\n}));\nconst isClickOutside = ref(false);\nconst isSearchFocused = ref(false);\n\nconst itemRefs = ref<InstanceType<typeof ElVerticalTab>[]>([]);\nconst activeResult = ref<number | undefined>();\n\nconst { value, uuid, setValue } = useInput(computedModelValue, computedValidation, props.name, newValue => {\n emit('update:modelValue', newValue?.trim());\n});\n\nconst searchBarRef = ref<HTMLInputElement>();\nconst { hasFocus, activate, deactivate } = useFocusTrap(searchBarRef as any);\n\nconst isOpen = defineModel('isOpen', {\n default: true,\n required: true,\n type: Boolean,\n});\n\nconst closeSearchBar = () => {\n isOpen.value = false;\n activeResult.value = undefined;\n value.value = '';\n};\n\nconst scrollToFocusedIndex = (index: number) => {\n itemRefs.value?.at(index)?.$el?.scrollIntoView({ block: 'nearest' });\n};\n\nconst onResultClick = (index: number) => {\n emit('onResultClick', index);\n setValue('');\n activeResult.value = undefined;\n};\n\nconst onResultHover = (index: number) => {\n activeResult.value = index;\n scrollToFocusedIndex(index);\n emit('onResultHover', index);\n};\n\nconst onClickOutside = () => closeSearchBar();\n\nonKeyStroke(\n ['ArrowUp', 'ArrowDown', 'Enter', 'Escape'],\n e => {\n e.preventDefault();\n e.stopPropagation();\n\n if (hasFocus && props.results?.length) {\n switch (e.key) {\n case 'ArrowUp':\n const previousActiveIndex = Math.max((activeResult.value ?? 0) - 1, 0);\n onResultHover(previousActiveIndex);\n break;\n case 'ArrowDown':\n const nextActiveIndex = activeResult.value !== undefined ? Math.min(activeResult.value + 1, props.results.length - 1) : 0;\n onResultHover(nextActiveIndex);\n break;\n case 'Enter':\n if (activeResult.value !== undefined) {\n onResultClick(activeResult.value);\n }\n break;\n }\n }\n\n if (e.key === 'Escape') {\n closeSearchBar();\n }\n },\n { target: searchBarRef },\n);\n\nwatch([isOpen, searchInput], async () => {\n isBodyScrollLocked.value = isOpen.value;\n\n if (isOpen.value) {\n searchInput.value?.focus();\n\n if (props.shouldHoverFirstResultOnOpen && props.results?.length) {\n onResultHover(0);\n }\n\n await nextTick();\n activate();\n } else {\n deactivate();\n value.value = '';\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <CustomTransition name=\"fade\">\n <div\n v-if=\"isOpen\"\n ref=\"searchBarRef\"\n class=\"fixed inset-x-0 top-0 z-40 flex justify-center max-h-full overflow-y-auto px-4 pt-20 pb-6 max-sm:p-0\"\n >\n <div\n v-on-click-outside=\"onClickOutside\"\n class=\"m-10 z-50 md:max-w-3xl w-full flex flex-col p-6 border rounded-2xl border-neutral-surface bg-neutral-surface shadow-md\"\n :class=\"{\n 'gap-6': props.results,\n }\"\n >\n <!-- Search bar -->\n <div class=\"flex flex-row items-center gap-3 bg-neutral-surface rounded-2xl\">\n <ElIcon name=\"MagnifyingGlassIcon\" class=\"text-neutral-lighter w-6 h-6\" />\n <input\n ref=\"searchInput\"\n v-model=\"value\"\n :name=\"id || `${uuid}`\"\n type=\"text\"\n class=\"p-0 text-lg font-normal flex-1 outline-none border-none bg-neutral-surface focus:ring-none focus:border-none focus:outline-none border-transparent focus:border-transparent focus:ring-0\"\n :placeholder=\"placeholder\"\n @focusin=\"\n () => {\n isSearchFocused = true; // Set search focused\n isClickOutside = false; // Set click outside to false\n }\n \"\n @focusout=\"\n () => {\n isSearchFocused = false;\n }\n \"\n />\n </div>\n\n <span class=\"flex flex-col gap-y-6 overflow-y-hidden\">\n <ElDivider v-if=\"results\" direction=\"horizontal\" />\n <div\n v-if=\"blankResults && computedStatus.blank\"\n class=\"flex flex-col items-center justify-center flex-1 gap-4 py-8 text-neutral-lighter\"\n >\n <ElIcon v-bind=\"blankResults.icon\" class=\"w-7 h-7\" />\n <p class=\"text-sm font-semibold text-neutral-darker\">{{ blankResults.primaryRow }}</p>\n <p class=\"text-sm font-normal\">{{ blankResults.secondaryRow }}</p>\n </div>\n <div v-if=\"results && computedStatus.filled\" class=\"flex py-2 overflow-y-hidden\">\n <!-- Results Left column -->\n <div\n class=\"flex flex-col items-start flex-1 gap-6 overflow-y-auto max-h-50-screen\"\n :class=\"{ 'pr-6': slots.info && results.length > 0 }\"\n >\n <span v-if=\"text\" class=\"text-sm font-medium text-neutral-darker\">{{ text }}</span>\n <div class=\"flex flex-col gap-1 w-full\">\n <ElVerticalTab\n v-for=\"(result, index) in results\"\n :key=\"index\"\n ref=\"itemRefs\"\n :color=\"color\"\n v-bind=\"result\"\n :status=\"activeResult === index ? 'hover' : 'default'\"\n tabindex=\"-1\"\n @click=\"() => onResultClick(index)\"\n @mouseover=\"() => onResultHover(index)\"\n />\n </div>\n </div>\n <!-- Blank Results -->\n\n <div v-if=\"slots.info\">\n <ElDivider direction=\"vertical\" />\n </div>\n <div v-if=\"slots.info\" class=\"flex-1 pl-6 overflow-y-auto\">\n <slot name=\"info\"></slot>\n </div>\n </div>\n <div v-if=\"results && footer\" class=\"flex items-center gap-1 self-stretch\">\n <span class=\"text-sm font-normal text-neutral-darker\">{{ footer.text }}</span>\n <ElButton v-bind=\"footer.button\" variant=\"tertiary\" />\n </div>\n </span>\n </div>\n\n <!-- Backdrop -->\n <div class=\"fixed inset-0 transition-opacity\">\n <div ref=\"backdrop\" class=\"absolute inset-0 bg-gray-500 opacity-75\"></div>\n </div>\n </div>\n </CustomTransition>\n </Teleport>\n</template>\n"],"names":["elInputSearchColors","elInputSearchStatus","props","__props","emit","__emit","slots","useSlots","isBodyScrollLocked","useScrollLock","searchInput","ref","computedModelValue","computed","computedValidation","computedStatus","isClickOutside","isSearchFocused","itemRefs","activeResult","value","uuid","setValue","useInput","newValue","searchBarRef","hasFocus","activate","deactivate","useFocusTrap","isOpen","_useModel","closeSearchBar","scrollToFocusedIndex","index","_c","_b","_a","onResultClick","onResultHover","onClickOutside","onKeyStroke","e","previousActiveIndex","nextActiveIndex","watch","nextTick"],"mappings":"moEACaA,GAAsB,CAAC,UAAW,WAAW,EAG7CC,GAAsB,CAAC,UAAW,SAAU,OAAO,8iBAgBhE,MAAMC,EAAQC,EAuCRC,EAAOC,EACPC,EAAQC,EAAAA,WACRC,EAAqBC,EAAAA,cAAc,SAAS,IAAI,EAEhDC,EAAcC,MAA6B,IAAI,EAC/CC,EAAqBC,EAAA,SAAS,IAAMX,EAAM,UAAU,EACpDY,EAAqBD,EAAAA,SAAS,IAAM,CAACX,EAAM,UAAU,CAAC,EACtDa,EAAiBF,EAAAA,SAAS,KAAO,CACrC,QAAS,CAACX,EAAM,QAChB,OAAQA,EAAM,SAAWA,EAAM,QAAQ,OAAS,EAChD,MAAOA,EAAM,SAAWA,EAAM,QAAQ,SAAW,CACjD,EAAA,EACIc,EAAiBL,MAAI,EAAK,EAC1BM,EAAkBN,MAAI,EAAK,EAE3BO,EAAWP,MAA0C,CAAA,CAAE,EACvDQ,EAAeR,EAAAA,MAEf,CAAE,MAAAS,EAAO,KAAAC,EAAM,SAAAC,GAAaC,EAAAA,SAASX,EAAoBE,EAAoBZ,EAAM,KAAkBsB,GAAA,CACpGpB,EAAA,oBAAqBoB,GAAA,YAAAA,EAAU,MAAM,CAAA,CAC3C,EAEKC,EAAed,EAAAA,MACf,CAAE,SAAAe,EAAU,SAAAC,EAAU,WAAAC,CAAW,EAAIC,EAAAA,aAAaJ,CAAmB,EAErEK,EAASC,EAAAA,SAAY5B,EAAA,QAI1B,EAEK6B,EAAiB,IAAM,CAC3BF,EAAO,MAAQ,GACfX,EAAa,MAAQ,OACrBC,EAAM,MAAQ,EAAA,EAGVa,EAAwBC,GAAkB,YACrCC,GAAAC,GAAAC,EAAAnB,EAAA,QAAA,YAAAmB,EAAO,GAAGH,KAAV,YAAAE,EAAkB,MAAlB,MAAAD,EAAuB,eAAe,CAAE,MAAO,SAAA,EAAW,EAG/DG,EAAiBJ,GAAkB,CACvC9B,EAAK,gBAAiB8B,CAAK,EAC3BZ,EAAS,EAAE,EACXH,EAAa,MAAQ,MAAA,EAGjBoB,EAAiBL,GAAkB,CACvCf,EAAa,MAAQe,EACrBD,EAAqBC,CAAK,EAC1B9B,EAAK,gBAAiB8B,CAAK,CAAA,EAGvBM,EAAiB,IAAMR,IAE7BS,OAAAA,EAAA,YACE,CAAC,UAAW,YAAa,QAAS,QAAQ,EACrCC,GAAA,OAIC,GAHJA,EAAE,eAAe,EACjBA,EAAE,gBAAgB,EAEdhB,KAAYW,EAAAnC,EAAM,UAAN,MAAAmC,EAAe,QAC7B,OAAQK,EAAE,IAAK,CACb,IAAK,UACH,MAAMC,EAAsB,KAAK,KAAKxB,EAAa,OAAS,GAAK,EAAG,CAAC,EACrEoB,EAAcI,CAAmB,EACjC,MACF,IAAK,YACH,MAAMC,EAAkBzB,EAAa,QAAU,OAAY,KAAK,IAAIA,EAAa,MAAQ,EAAGjB,EAAM,QAAQ,OAAS,CAAC,EAAI,EACxHqC,EAAcK,CAAe,EAC7B,MACF,IAAK,QACCzB,EAAa,QAAU,QACzBmB,EAAcnB,EAAa,KAAK,EAElC,KACJ,CAGEuB,EAAE,MAAQ,UACGV,GAEnB,EACA,CAAE,OAAQP,CAAa,CAAA,EAGzBoB,EAAAA,MAAM,CAACf,EAAQpB,CAAW,EAAG,SAAY,SACvCF,EAAmB,MAAQsB,EAAO,MAE9BA,EAAO,QACTO,EAAA3B,EAAY,QAAZ,MAAA2B,EAAmB,QAEfnC,EAAM,gCAAgCkC,EAAAlC,EAAM,UAAN,MAAAkC,EAAe,SACvDG,EAAc,CAAC,EAGjB,MAAMO,EAAS,SAAA,EACNnB,MAEEC,IACXR,EAAM,MAAQ,GAChB,CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as K,mergeModels as B,useSlots as J,ref as f,computed as w,useModel as Q,watch as W,nextTick as X,openBlock as l,createBlock as R,Teleport as Y,createVNode as v,withCtx as Z,createElementBlock as i,withDirectives as F,normalizeClass as E,createElementVNode as r,isRef as ee,unref as d,vModelText as te,createCommentVNode as c,mergeProps as O,toDisplayString as y,Fragment as oe,renderList as se,renderSlot as le}from"vue";import V from"../ElDivider.vue.esm2.js";import $ from"../ElIcon.vue.esm2.js";import re from"../ElVerticalTab.vue.esm2.js";/* empty css */import"../polyfills.esm.js";import"vee-validate";import"../../node_modules/codice-fiscale-js/dist/codice.fiscale.commonjs2.esm.js";import"../../node_modules/lodash/lodash.esm.js";import"../tailwind.plugin.esm.js";import"../../node_modules/@davincihealthcare/elty-design-system-foundations/dist/index.esm.js";import ae from"../ElButton.vue.esm2.js";import ne from"../_CustomTransition.vue.esm2.js";import{useScrollLock as ie,onKeyStroke as ue}from"../../node_modules/@vueuse/core/index.esm.js";import"./ElInputText.vue.esm2.js";import"./ElInputCheckbox.vue.esm2.js";import"./ElInputDate.vue.esm2.js";import"./ElInputFile.vue.esm2.js";import"./ElInputMeasureUnit.vue.esm2.js";import"./ElInputNumber.vue.esm2.js";import"./ElInputPhone.vue.esm2.js";import"./ElInputSelect.vue.esm2.js";import"./ElInputTextarea.vue.esm2.js";import"../ElToast.vue.esm2.js";import"./ElInputRadioButton.vue.esm2.js";import{VOnClickOutside as ce}from"../../node_modules/@vueuse/components/index.esm.js";import{withTextualElInputProps as de,useInput as fe}from"./input.esm.js";import"../../node_modules/swiper/shared/swiper-core.esm.js"
|
|
1
|
+
import{defineComponent as K,mergeModels as B,useSlots as J,ref as f,computed as w,useModel as Q,watch as W,nextTick as X,openBlock as l,createBlock as R,Teleport as Y,createVNode as v,withCtx as Z,createElementBlock as i,withDirectives as F,normalizeClass as E,createElementVNode as r,isRef as ee,unref as d,vModelText as te,createCommentVNode as c,mergeProps as O,toDisplayString as y,Fragment as oe,renderList as se,renderSlot as le}from"vue";import V from"../ElDivider.vue.esm2.js";import $ from"../ElIcon.vue.esm2.js";import re from"../ElVerticalTab.vue.esm2.js";/* empty css */import"../polyfills.esm.js";import"vee-validate";import"../../node_modules/codice-fiscale-js/dist/codice.fiscale.commonjs2.esm.js";import"../../node_modules/lodash/lodash.esm.js";import"../tailwind.plugin.esm.js";import"../../node_modules/@davincihealthcare/elty-design-system-foundations/dist/index.esm.js";import ae from"../ElButton.vue.esm2.js";import ne from"../_CustomTransition.vue.esm2.js";import{useScrollLock as ie,onKeyStroke as ue}from"../../node_modules/@vueuse/core/index.esm.js";import"./ElInputText.vue.esm2.js";import"./ElInputCheckbox.vue.esm2.js";import"./ElInputDate.vue.esm2.js";import"./ElInputFile.vue.esm2.js";import"./ElInputMeasureUnit.vue.esm2.js";import"./ElInputNumber.vue.esm2.js";import"./ElInputPhone.vue.esm2.js";import"./ElInputSelect.vue.esm2.js";import"./ElInputTextarea.vue.esm2.js";import"../ElToast.vue.esm2.js";import"./ElInputRadioButton.vue.esm2.js";import{VOnClickOutside as ce}from"../../node_modules/@vueuse/components/index.esm.js";import{withTextualElInputProps as de,useInput as fe}from"./input.esm.js";import"../../node_modules/swiper/shared/swiper-core.esm.js";import{useFocusTrap as me}from"../../node_modules/@vueuse/integrations/useFocusTrap.esm.js";const pe={class:"flex flex-row items-center gap-3 bg-neutral-surface rounded-2xl"},ve=["name","placeholder"],he={class:"flex flex-col gap-y-6 overflow-y-hidden"},ye={key:1,class:"flex flex-col items-center justify-center flex-1 gap-4 py-8 text-neutral-lighter"},xe={class:"text-sm font-semibold text-neutral-darker"},ke={class:"text-sm font-normal"},ge={key:2,class:"flex py-2 overflow-y-hidden"},be={key:0,class:"text-sm font-medium text-neutral-darker"},we={class:"flex flex-col gap-1 w-full"},Re={key:0},Oe={key:1,class:"flex-1 pl-6 overflow-y-auto"},Se={key:3,class:"flex items-center gap-1 self-stretch"},Ce={class:"text-sm font-normal text-neutral-darker"},Ie={class:"fixed inset-0 transition-opacity"},Me={ref:"backdrop",class:"absolute inset-0 bg-gray-500 opacity-75"},lt=["primary","secondary"],rt=["default","filled","blank"],at=K({__name:"ElInputSearch",props:B({...de(),status:{type:String,default:"default"},text:{type:String,default:void 0},results:{type:Array,default:void 0},footer:{type:Object,default:void 0},blankResults:{type:Object,default:void 0},shouldHoverFirstResultOnOpen:{type:Boolean,default:!1},color:{type:String,default:"primary"}},{isOpen:{default:!0,required:!0,type:Boolean},isOpenModifiers:{}}),emits:B(["update:modelValue","onResultClick","onResultHover"],["update:isOpen"]),setup(t,{emit:A}){const s=t,x=A,k=J(),T=ie(document.body),g=f(null),D=w(()=>s.modelValue),H=w(()=>[s.validation]),S=w(()=>({default:!s.results,filled:s.results&&s.results.length>0,blank:s.results&&s.results.length===0})),j=f(!1),C=f(!1),I=f([]),a=f(),{value:m,uuid:z,setValue:L}=fe(D,H,s.name,e=>{x("update:modelValue",e==null?void 0:e.trim())}),b=f(),{hasFocus:N,activate:P,deactivate:U}=me(b),p=Q(t,"isOpen"),M=()=>{p.value=!1,a.value=void 0,m.value=""},q=e=>{var o,u,n;(n=(u=(o=I.value)==null?void 0:o.at(e))==null?void 0:u.$el)==null||n.scrollIntoView({block:"nearest"})},_=e=>{x("onResultClick",e),L(""),a.value=void 0},h=e=>{a.value=e,q(e),x("onResultHover",e)},G=()=>M();return ue(["ArrowUp","ArrowDown","Enter","Escape"],e=>{var o;if(e.preventDefault(),e.stopPropagation(),N&&((o=s.results)!=null&&o.length))switch(e.key){case"ArrowUp":const u=Math.max((a.value??0)-1,0);h(u);break;case"ArrowDown":const n=a.value!==void 0?Math.min(a.value+1,s.results.length-1):0;h(n);break;case"Enter":a.value!==void 0&&_(a.value);break}e.key==="Escape"&&M()},{target:b}),W([p,g],async()=>{var e,o;T.value=p.value,p.value?((e=g.value)==null||e.focus(),s.shouldHoverFirstResultOnOpen&&((o=s.results)!=null&&o.length)&&h(0),await X(),P()):(U(),m.value="")}),(e,o)=>(l(),R(Y,{to:"body"},[v(ne,{name:"fade"},{default:Z(()=>[p.value?(l(),i("div",{key:0,ref_key:"searchBarRef",ref:b,class:"fixed inset-x-0 top-0 z-40 flex justify-center max-h-full overflow-y-auto px-4 pt-20 pb-6 max-sm:p-0"},[F((l(),i("div",{class:E(["m-10 z-50 md:max-w-3xl w-full flex flex-col p-6 border rounded-2xl border-neutral-surface bg-neutral-surface shadow-md",{"gap-6":s.results}])},[r("div",pe,[v($,{name:"MagnifyingGlassIcon",class:"text-neutral-lighter w-6 h-6"}),F(r("input",{ref_key:"searchInput",ref:g,"onUpdate:modelValue":o[0]||(o[0]=u=>ee(m)?m.value=u:null),name:e.id||`${d(z)}`,type:"text",class:"p-0 text-lg font-normal flex-1 outline-none border-none bg-neutral-surface focus:ring-none focus:border-none focus:outline-none border-transparent focus:border-transparent focus:ring-0",placeholder:e.placeholder,onFocusin:o[1]||(o[1]=()=>{C.value=!0,j.value=!1}),onFocusout:o[2]||(o[2]=()=>{C.value=!1})},null,40,ve),[[te,d(m)]])]),r("span",he,[t.results?(l(),R(V,{key:0,direction:"horizontal"})):c("",!0),t.blankResults&&S.value.blank?(l(),i("div",ye,[v($,O(t.blankResults.icon,{class:"w-7 h-7"}),null,16),r("p",xe,y(t.blankResults.primaryRow),1),r("p",ke,y(t.blankResults.secondaryRow),1)])):c("",!0),t.results&&S.value.filled?(l(),i("div",ge,[r("div",{class:E(["flex flex-col items-start flex-1 gap-6 overflow-y-auto max-h-50-screen",{"pr-6":d(k).info&&t.results.length>0}])},[t.text?(l(),i("span",be,y(t.text),1)):c("",!0),r("div",we,[(l(!0),i(oe,null,se(t.results,(u,n)=>(l(),R(re,O({key:n,ref_for:!0,ref_key:"itemRefs",ref:I,color:t.color},u,{status:a.value===n?"hover":"default",tabindex:"-1",onClick:()=>_(n),onMouseover:()=>h(n)}),null,16,["color","status","onClick","onMouseover"]))),128))])],2),d(k).info?(l(),i("div",Re,[v(V,{direction:"vertical"})])):c("",!0),d(k).info?(l(),i("div",Oe,[le(e.$slots,"info")])):c("",!0)])):c("",!0),t.results&&t.footer?(l(),i("div",Se,[r("span",Ce,y(t.footer.text),1),v(d(ae),O(t.footer.button,{variant:"tertiary"}),null,16)])):c("",!0)])],2)),[[d(ce),G]]),r("div",Ie,[r("div",Me,null,512)])],512)):c("",!0)]),_:3})]))}});export{at as default,lt as elInputSearchColors,rt as elInputSearchStatus};
|
|
2
2
|
//# sourceMappingURL=ElInputSearch.vue.esm2.js.map
|