@nextcloud/vue
Version:
Nextcloud vue components
2 lines (1 loc) • 4.29 kB
JavaScript
var B=require("../assets/index15.css");const s=require("@nextcloud/vue-select");require("@nextcloud/vue-select/dist/vue-select.css");const o=require("@floating-ui/dom"),u=require("vue-material-design-icons/ChevronDown.vue"),p=require("vue-material-design-icons/Close.vue"),d=require("./NcEllipsisedOption.cjs"),f=require("./NcListItemIcon.cjs"),y=require("./NcLoadingIcon.cjs"),m=require("../chunks/l10n-dacb6440.cjs"),h=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs");const g={name:"NcSelect",components:{ChevronDown:u,NcEllipsisedOption:d,NcListItemIcon:f,NcLoadingIcon:y,VueSelect:s.VueSelect},mixins:[m.l10n],props:{...s.VueSelect.props,appendToBody:{type:Boolean,default:!0},calculatePosition:{type:Function,default:null},closeOnSelect:{type:Boolean,default:!0},components:{type:Object,default:()=>({Deselect:{render:e=>e(p,{props:{size:20,fillColor:"var(--vs-controls-color)"},style:{cursor:"pointer"}})}})},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},dropdownShouldOpen:{type:Function,default:({noDrop:e,open:l})=>e?!1:l},filterBy:{type:Function,default:null},inputClass:{type:[String,Object],default:null},inputId:{type:String,default:null},keyboardFocusBorder:{type:Boolean,default:!0},label:{type:String,default:null},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},mapKeydown:{type:Function,default(e,l){return{...e,27:t=>{l.open&&t.stopPropagation(),e[27](t)}}}},placement:{type:String,default:"bottom"},resetFocusOnOptionsChange:{type:Boolean,default:!0},userSelect:{type:Boolean,default:!1},value:{type:[String,Number,Object,Array],default:null}," ":{}},emits:[" "],data(){return{search:""}},computed:{localCalculatePosition(){return this.calculatePosition!==null?this.calculatePosition:(e,l,{width:t})=>{e.style.width=t;const n={name:"addClass",fn(a){return e.classList.add("vs__dropdown-menu--floating"),{}}},r={name:"togglePlacementClass",fn({placement:a}){return l.$el.classList.toggle("select--drop-up",a==="top"),e.classList.toggle("vs__dropdown-menu--floating-placement-top",a==="top"),{}}},i=()=>{o.computePosition(l.$refs.toggle,e,{placement:this.placement,middleware:[o.offset(-1),n,r,o.flip(),o.shift({limiter:o.limitShift()})]}).then(({x:a,y:c})=>{Object.assign(e.style,{left:`${a}px`,top:`${c}px`})})};return o.autoUpdate(l.$refs.toggle,e,i)}},localFilterBy(){return this.filterBy!==null?this.filterBy:this.userSelect?(e,l,t)=>(`${l} ${e.subname}`||"").toLocaleLowerCase().indexOf(t.toLocaleLowerCase())>-1:s.VueSelect.props.filterBy.default},localLabel(){return this.label!==null?this.label:this.userSelect?"displayName":s.VueSelect.props.label.default},propsToForward(){const{inputClass:e,noWrap:l,placement:t,userSelect:n,...r}=this.$props;return{...r,calculatePosition:this.localCalculatePosition,filterBy:this.localFilterBy,label:this.localLabel}}}};var b=function(){var e=this,l=e._self._c;return l("VueSelect",e._g(e._b({staticClass:"select",class:{"select--no-wrap":e.noWrap},on:{search:t=>e.search=t},scopedSlots:e._u([{key:"search",fn:function({attributes:t,events:n}){return[l("input",e._g(e._b({class:["vs__search",e.inputClass]},"input",t,!1),n))]}},{key:"open-indicator",fn:function({attributes:t}){return[l("ChevronDown",e._b({attrs:{"fill-color":"var(--vs-controls-color)",size:26}},"ChevronDown",t,!1))]}},{key:"option",fn:function(t){return[e.userSelect?l("NcListItemIcon",e._b({attrs:{name:t[e.localLabel],search:e.search}},"NcListItemIcon",t,!1)):l("NcEllipsisedOption",{attrs:{name:String(t[e.localLabel]),search:e.search}})]}},{key:"selected-option",fn:function(t){return[e.userSelect?l("NcListItemIcon",e._b({attrs:{name:t[e.localLabel],search:e.search}},"NcListItemIcon",t,!1)):l("NcEllipsisedOption",{attrs:{name:String(t[e.localLabel]),search:e.search}})]}},{key:"spinner",fn:function(t){return[t.loading?l("NcLoadingIcon"):e._e()]}},{key:"no-options",fn:function(){return[e._v(" "+e._s(e.t("No results"))+" ")]},proxy:!0},e._l(e.$scopedSlots,function(t,n){return{key:n,fn:function(r){return[e._t(n,null,null,r)]}}})],null,!0)},"VueSelect",e.propsToForward,!1),e.$listeners))},S=[],_=h.normalizeComponent(g,b,S,!1,null,null,null,null);const L=_.exports;module.exports=L;