UNPKG

fine-true

Version:

A small and beautiful Vue3 version of the UI Library

1 lines 5.32 kB
!function(e,l){if("object"==typeof exports&&"object"==typeof module)module.exports=l(require("vue"),require("./../utils/light"),require("./../basic-input"),require("./../tag"),require("./../popover"),require("./../types/form"),require("./../utils/withInstall"));else if("function"==typeof define&&define.amd)define(["vue","./../utils/light","./../basic-input","./../tag","./../popover","./../types/form","./../utils/withInstall"],l);else{var t="object"==typeof exports?l(require("vue"),require("./../utils/light"),require("./../basic-input"),require("./../tag"),require("./../popover"),require("./../types/form"),require("./../utils/withInstall")):l(e.vue,e["./../utils/light"],e["./../basic-input"],e["./../tag"],e["./../popover"],e["./../types/form"],e["./../utils/withInstall"]);for(var a in t)("object"==typeof exports?exports:e)[a]=t[a]}}(self,((e,l,t,a,r,o,i)=>(()=>{"use strict";var u={1461:e=>{e.exports=t},1507:e=>{e.exports=r},4621:e=>{e.exports=a},9934:e=>{e.exports=o},6209:e=>{e.exports=l},1677:e=>{e.exports=i},748:l=>{l.exports=e}},n={};function s(e){var l=n[e];if(void 0!==l)return l.exports;var t=n[e]={exports:{}};return u[e](t,t.exports,s),t.exports}s.n=e=>{var l=e&&e.__esModule?()=>e.default:()=>e;return s.d(l,{a:l}),l},s.d=(e,l)=>{for(var t in l)s.o(l,t)&&!s.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:l[t]})},s.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var c={};return(()=>{s.r(c),s.d(c,{default:()=>v});var e=s(748),l=s(6209),t=s(1461),a=s.n(t),r=s(4621),o=s.n(r),i=s(1507),u=s.n(i),n=s(9934);const d=(0,e.defineComponent)({name:"fine-select",inheritAttrs:!1,emits:["update:modelValue","change","clearAll","removeTag"],props:{modelValue:{type:[Number,String,Array]},multiple:{type:Boolean},size:{type:String,default:"default"},showSearch:{type:Boolean,default:!1},placeholder:{type:String,default:""},clearIcon:{type:Boolean,default:!1},disabled:Boolean},setup(t,r){var i,{slots:s,emit:c,attrs:d}=r,p=(0,e.inject)(n.FormItemContextKey,void 0),v=(0,e.ref)((i=void 0===t.modelValue?"":t.modelValue,t.multiple?Array.isArray(i)?i:[i].filter((e=>e)):Array.isArray(i)?i[0]:i));(0,e.watch)((()=>t.modelValue),(e=>{v.value=e}));var f=e=>{c("update:modelValue",e),c("change",e),p&&p("change")},m=(0,e.computed)((()=>t.multiple));(0,e.provide)(n.SELECTPROVIDEKEY,{modelValue:v,multiple:m,toggle:e=>{if(t.multiple){var l=[...v.value],a=l.indexOf(e);a>-1?l.splice(a,1):l.push(e),v.value=l,f(l),q()}else{var r=e;v.value=r,f(r),y.value=!1}}});var g=(0,e.ref)(),h=(0,e.ref)(0),y=(0,e.ref)(!1),b=(0,e.ref)(!1),V=(0,e.computed)((()=>t.multiple?v.value.length>0:!!v.value)),x=(0,e.computed)((()=>{var{clearIcon:e,disabled:l}=t;return{"fine-select":!0,"fine-select-disabled":l,"fine-select-icon-has-value":e&&V.value,["fine-select-size-".concat(t.size)]:!0,"fine-select-on-focus":b.value}})),N=(0,e.ref)(null),q=()=>{N.value.focus(),b.value=!0},w=()=>{N.value.blur(),b.value=!1},S=e=>{q()};(0,e.onMounted)((()=>{var e;document.addEventListener("click",w,!0),h.value=null===(e=g.value)||void 0===e?void 0:e.offsetWidth})),(0,e.onUnmounted)((()=>{document.removeEventListener("click",w,!0)}));var j=(0,e.ref)(""),A=e=>{if(t.multiple){var l=[];v.value=l,f(l),j.value="",c("clearAll")}else{v.value="",f(""),j.value="",c("clearAll")}e.stopPropagation(),q()};return()=>{var r,i=(0,l.parseTabList)((0,l.flattenChildren)(null===(r=s.default)||void 0===r?void 0:r.call(s))),n={};i.forEach((e=>n[e.value]=e.label));var{multiple:p,size:f,showSearch:m,placeholder:b,clearIcon:w}=t,I=i,C=()=>{I=i.filter((e=>e.label.includes(j.value)))};C();var P=(0,e.createVNode)("span",{class:{"fine-select-icon-container":!0}},[w&&V.value&&(0,e.createVNode)("i",{class:"fine-icon icon-error fine-select-clear-icon",onClick:A},null),(0,e.createVNode)("i",{class:{"fine-icon icon-arrow-right":!0,[y.value?"fine-select-arrow-on":"fine-select-arrow-off"]:!0}},null)]),E=n[v.value],O=(!p||v.value.length||j.value)&&(p||E||j.value)?void 0:(0,e.createVNode)("span",{class:"fine-select-placeholder"},[b]),T=(0,e.createVNode)(e.Fragment,null,[!p&&E&&(0,e.createVNode)("span",{class:"fine-select-selection"},[E]),(0,e.createVNode)(e.Fragment,null,[p&&v.value.map((e=>({label:n[e]||e,value:e}))).map(((l,t)=>(0,e.createVNode)(o(),{closable:!0,size:f,key:l.value,onClose:e=>{((e,l)=>{v.value.splice(l,1),c("removeTag",v.value),e.stopPropagation(),q()})(e,t)}},{default:()=>[l.label]})))]),(0,e.createVNode)(a(),{class:"fine-select-input",readonly:!m,ref:e=>N.value=e,onChange:()=>{C()},modelValue:j.value,"onUpdate:modelValue":e=>j.value=e},null)]),k=(0,e.createVNode)("div",null,[!I.length&&(0,e.createVNode)("div",{class:"fine-select-popover-normal-text"},[(0,e.createTextVNode)("暂无数据")]),I.length>0&&I.map((e=>e.node))]);return(0,e.createVNode)(u(),{placement:"bottom-start",trigger:"click","source-class":"fine-select-popover",width:h.value,minWidth:h.value,modelValue:y.value,"onUpdate:modelValue":e=>y.value=e},{default:()=>(0,e.createVNode)("div",(0,e.mergeProps)(d,{class:x.value,onClick:S,ref:e=>g.value=e}),[O,(0,e.createVNode)("div",{class:"fine-select-container"},[T]),P]),content:()=>k})}}});var p=s(1677);s.n(p)()(d);const v=d})(),c})()));