vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
2 lines (1 loc) • 10.1 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),B=require("../tooltip/index.cjs"),C=["onClick","onKeydown"],y=["onClick","onMouseenter"],E={key:0,class:"icon-character",focusable:"false","data-icon":"star",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},M={key:1,class:"icon-character",focusable:"false","data-icon":"star",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},p={key:2,class:"icon-character",focusable:"false","data-icon":"heart",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},z={key:3,class:"icon-character",focusable:"false","data-icon":"heart",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},L={key:4,class:"icon-character"},V=["onClick","onMouseenter"],b={key:0,class:"icon-character",focusable:"false","data-icon":"star",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},x={key:1,class:"icon-character",focusable:"false","data-icon":"star",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},N={key:2,class:"icon-character",focusable:"false","data-icon":"heart",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},S={key:3,class:"icon-character",focusable:"false","data-icon":"heart",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",viewBox:"64 64 896 896"},$={key:4,class:"icon-character"},H=e.defineComponent({__name:"Rate",props:{allowClear:{type:Boolean,default:!0},allowHalf:{type:Boolean,default:!1},count:{default:5},character:{default:"star-filled"},size:{default:20},color:{default:"#fadb14"},gap:{default:8},disabled:{type:Boolean,default:!1},tooltips:{default:()=>[]},tooltipProps:{default:()=>({})},value:{default:0}},emits:["update:value","change","hoverChange"],setup(t,{emit:f}){const s=t,c=e.ref(),i=e.ref(),n=e.ref(),r=f;e.watch(()=>s.value,l=>{c.value=l},{immediate:!0}),e.watch(c,l=>{i.value=l},{immediate:!0});function d(l){n.value=null,l!==c.value?(c.value=l,r("change",l),r("update:value",l)):s.allowClear?(n.value=l,c.value=0,r("change",0),r("update:value",0)):r("change",l)}function v(l){i.value=l,r("hoverChange",l)}function m(l){i.value=l,r("hoverChange",l)}function h(){n.value=null}function k(){i.value=c.value}function g(){n.value=null,c.value<s.count&&(c.value+=s.allowHalf?.5:1,r("change",c.value),r("update:value",c.value))}function w(){n.value=null,c.value>0&&(c.value-=s.allowHalf?.5:1,r("change",c.value),r("update:value",c.value))}return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["rate-wrap",{"rate-disabled":t.disabled}]),style:e.normalizeStyle(`--rate-star-color: ${t.color}; --rate-star-gap: ${t.gap}px; --rate-star-size: ${t.size}px;`),onMouseleave:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.count,a=>(e.openBlock(),e.createBlock(e.unref(B.default),e.mergeProps({key:a,ref_for:!0},t.tooltipProps),e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{tabindex:"0",class:e.normalizeClass(["rate-star",{"star-half":t.allowHalf&&i.value>=a-.5&&i.value<a,"star-full":i.value>=a,"temp-gray":!t.allowHalf&&n.value===a}]),onClick:u=>t.allowHalf?()=>!1:d(a),onKeydown:[e.withKeys(e.withModifiers(g,["prevent"]),["right"]),e.withKeys(e.withModifiers(w,["prevent"]),["left"])]},[t.allowHalf?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["star-first",{"temp-gray-first":n.value===a-.5}]),onClick:e.withModifiers(u=>d(a-.5),["stop"]),onMouseenter:u=>v(a-.5),onMouseleave:h},[e.renderSlot(l.$slots,"character",{value:a},()=>[t.character==="star-filled"?(e.openBlock(),e.createElementBlock("svg",E,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"},null,-1)])])):t.character==="star-outlined"?(e.openBlock(),e.createElementBlock("svg",M,[...o[1]||(o[1]=[e.createElementVNode("path",{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z"},null,-1)])])):t.character==="heart-filled"?(e.openBlock(),e.createElementBlock("svg",p,[...o[2]||(o[2]=[e.createElementVNode("path",{d:"M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z"},null,-1)])])):t.character==="heart-outlined"?(e.openBlock(),e.createElementBlock("svg",z,[...o[3]||(o[3]=[e.createElementVNode("path",{d:"M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z"},null,-1)])])):t.character?(e.openBlock(),e.createElementBlock("span",L,e.toDisplayString(t.character),1)):e.createCommentVNode("",!0)],!0)],42,y)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["star-second",{"temp-gray-second":n.value===a}]),onClick:e.withModifiers(u=>d(a),["stop"]),onMouseenter:u=>m(a),onMouseleave:h},[e.renderSlot(l.$slots,"character",{value:a},()=>[t.character==="star-filled"?(e.openBlock(),e.createElementBlock("svg",b,[...o[4]||(o[4]=[e.createElementVNode("path",{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"},null,-1)])])):t.character==="star-outlined"?(e.openBlock(),e.createElementBlock("svg",x,[...o[5]||(o[5]=[e.createElementVNode("path",{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z"},null,-1)])])):t.character==="heart-filled"?(e.openBlock(),e.createElementBlock("svg",N,[...o[6]||(o[6]=[e.createElementVNode("path",{d:"M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z"},null,-1)])])):t.character==="heart-outlined"?(e.openBlock(),e.createElementBlock("svg",S,[...o[7]||(o[7]=[e.createElementVNode("path",{d:"M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z"},null,-1)])])):(e.openBlock(),e.createElementBlock("span",$,e.toDisplayString(t.character),1))],!0)],42,V)],42,C)]),_:2},[t.tooltips[a-1]?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip",{tooltip:t.tooltips[a-1],value:a},()=>[e.createTextVNode(e.toDisplayString(t.tooltips[a-1]),1)],!0)]),key:"0"}:void 0]),1040))),128))],38))}});exports.default=H;