@ecomplus/widget-martan 1.1.24 → 1.2.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/CHANGELOG.md +12 -0
- package/cms.config.js +78 -83
- package/dist/public/widget-martan.1.min.js +1 -1
- package/dist/public/widget-martan.1.min.js.map +1 -1
- package/dist/public/widget-martan.2.min.js +1 -1
- package/dist/public/widget-martan.2.min.js.map +1 -1
- package/dist/public/widget-martan.3.min.js +1 -1
- package/dist/public/widget-martan.3.min.js.map +1 -1
- package/dist/public/widget-martan.4.min.js +1 -1
- package/dist/public/widget-martan.4.min.js.map +1 -1
- package/dist/public/widget-martan.5.min.js +1 -1
- package/dist/public/widget-martan.5.min.js.map +1 -1
- package/dist/public/widget-martan.6.min.js +2 -0
- package/dist/public/widget-martan.6.min.js.map +1 -0
- package/dist/public/widget-martan.7.min.js +2 -0
- package/dist/public/widget-martan.7.min.js.map +1 -0
- package/dist/public/widget-martan.8.min.js +2 -0
- package/dist/public/widget-martan.8.min.js.map +1 -0
- package/dist/public/widget-martan.var.min.js +3 -3
- package/dist/public/widget-martan.var.min.js.map +1 -1
- package/dist/widget-martan.1.min.js +1 -1
- package/dist/widget-martan.1.min.js.map +1 -1
- package/dist/widget-martan.2.min.js +1 -1
- package/dist/widget-martan.2.min.js.map +1 -1
- package/dist/widget-martan.3.min.js +1 -1
- package/dist/widget-martan.3.min.js.map +1 -1
- package/dist/widget-martan.4.min.js +1 -1
- package/dist/widget-martan.4.min.js.map +1 -1
- package/dist/widget-martan.5.min.js +1 -1
- package/dist/widget-martan.5.min.js.map +1 -1
- package/dist/widget-martan.6.min.js +2 -0
- package/dist/widget-martan.6.min.js.map +1 -0
- package/dist/widget-martan.7.min.js +2 -0
- package/dist/widget-martan.7.min.js.map +1 -0
- package/dist/widget-martan.8.min.js +2 -0
- package/dist/widget-martan.8.min.js.map +1 -0
- package/dist/widget-martan.min.js +3 -3
- package/dist/widget-martan.min.js.map +1 -1
- package/package.json +2 -2
- package/src/append/product-block.ejs +5 -1
- package/src/append/product-card-slots.ejs +1 -1
- package/src/append/product-slots.ejs +1 -9
- package/src/index.js +17 -12
- package/src/utils/configProps.js +29 -0
- package/src/utils/lighten-color.js +20 -0
- package/src/utils/widget-initializer.js +60 -0
- package/src/widgets/questions/Questions.vue +436 -0
- package/src/widgets/questions/index.js +10 -0
- package/src/widgets/ratings/Rating.vue +223 -0
- package/src/widgets/ratings/index.js +232 -0
- package/src/widgets/reviews/Reviews.vue +317 -288
- package/src/widgets/reviews/components/Quickview.vue +390 -0
- package/src/widgets/reviews/components/Rating.vue +106 -0
- package/src/widgets/reviews/components/RatingBreakdown.vue +171 -0
- package/src/widgets/reviews/components/RatingHistogram.vue +306 -0
- package/src/widgets/reviews/components/RatingSummary.vue +226 -0
- package/src/widgets/reviews/components/RatingSummaryG.vue +104 -0
- package/src/widgets/reviews/components/ReviewCard.vue +223 -0
- package/src/widgets/reviews/{ReviewReply.vue → components/ReviewReply.vue} +42 -1
- package/src/widgets/reviews/{Score.vue → components/Score.vue} +3 -4
- package/src/widgets/reviews/{Sort.vue → components/Sort.vue} +1 -1
- package/src/widgets/reviews/components/SortDropdown.vue +184 -0
- package/src/widgets/reviews/components/VerifiedPurchase.vue +121 -0
- package/src/widgets/reviews/headers/Center.vue +248 -0
- package/src/widgets/reviews/headers/Compact.vue +225 -0
- package/src/widgets/reviews/headers/Histogram.vue +224 -0
- package/src/widgets/reviews/headers/Padrao.vue +113 -0
- package/src/widgets/reviews/headers/Summary.vue +217 -0
- package/src/widgets/reviews/index.js +2 -48
- package/src/append/body.ejs +0 -79
- package/src/append/head.ejs +0 -5
- package/src/append/stamps.ejs +0 -3
- package/src/widgets/reviews/AuthorAndRating.vue +0 -30
- package/src/widgets/reviews/AverageScore.vue +0 -160
- package/src/widgets/reviews/AverageTotal.vue +0 -35
- package/src/widgets/reviews/CardReview.vue +0 -87
- package/src/widgets/reviews/GridView.vue +0 -113
- package/src/widgets/reviews/HeaderExpanded.vue +0 -84
- package/src/widgets/reviews/HeaderMinimal.vue +0 -110
- package/src/widgets/reviews/ListView.vue +0 -47
- package/src/widgets/reviews/Quickview.vue +0 -397
- package/src/widgets/reviews/ReviewBody.vue +0 -39
- package/src/widgets/reviews/ThumbsPictures.vue +0 -135
- package/src/widgets/reviews/Total.vue +0 -79
- package/src/widgets/reviews/VerifiedPurchase.vue +0 -110
- package/src/widgets/reviews/isRecommended.vue +0 -44
- package/src/widgets/snippets/Rating.vue +0 -71
- package/src/widgets/snippets/Snippets.vue +0 -311
- package/src/widgets/snippets/index.js +0 -45
- /package/src/widgets/reviews/{VideoPlayer.vue → components/VideoPlayer.vue} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[2],{67:function(e,t,a){var r=a(72);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,a(5).default)("0bf36ea5",r,!0,{})},71:function(e,t,a){"use strict";a(67)},72:function(e,t,a){(t=a(4)(!1)).push([e.i,".mt-header--expanded{border-bottom:1px solid #e3e3e3;padding-bottom:25px}.mt-header--expanded,.mt-header--expanded .mt-rating__average{align-items:center;display:flex}.mt-header--expanded .mt-rating__average__wrapper{display:flex;flex-direction:column;height:100%;justify-content:center;padding-top:5px}.mt-header--expanded .mt-rating__average_total{font-size:48px;margin:0 18px 0 0;padding:0}@media(max-width:580px){.mt-rating__options{max-width:97%}}",""]),e.exports=t},80:function(e,t,a){"use strict";a.r(t);var r={props:{starColor:{type:String,default:"#212529"},reviews:{type:Object,default:{list:[],orderRating:null,total:0,average:{one:0,two:0,three:0,four:0,five:0},averageTotal:0}}},name:"header-expanded",components:{AverageTotal:()=>a.e(5).then(a.bind(null,82)),AverageScore:()=>a.e(1).then(a.bind(null,83)),Score:()=>a.e(4).then(a.bind(null,79))},methods:{updateOrderBy:({rating:e})=>(void 0).$emit("updateOrderByAverage",{rating:e})}},n=(a(71),a(2)),d=Object(n.a)(r,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"mt-header--expanded"},[t("average-total",{attrs:{average:this.reviews.averageTotal}}),t("score",{attrs:{reviews:this.reviews,starColor:this.starColor},on:{updateOrderByAverage:this.updateOrderBy}})],1)}),[],!1,null,null,null);t.default=d.exports}}]);
|
|
1
|
+
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[2],{29:function(t,e,r){var a=r(33);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("5a552598",a,!0,{})},30:function(t,e,r){"use strict";var a={name:"Rating",props:{rating:{type:Number,default:5},color:{type:String,default:"#000000"}},data:()=>({stars:Array(5).fill(0)}),mounted(){this.updateStars()},methods:{updateStars(){const t=Math.max(0,Math.min(5,this.rating));this.stars=Array(5).fill(0).map((e,r)=>t>=r+1?1:t>r?.5:0)},getStarClass:t=>1===t?"icon-tabler-star-filled":.5===t?"icon-tabler-star-half":"icon-tabler-star",getStarFill:(t,e)=>1===t?"currentColor":.5===t?`url(#gradient-${e})`:"none"},watch:{rating:"updateStars"}},i=(r(32),r(3)),n=Object(i.a)(a,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("span",{staticClass:"martan-rating"},t._l(t.stars,(function(e,a){return r("svg",{key:a,staticClass:"icon icon-tabler",class:t.getStarClass(e),style:{color:t.color},attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}},[.5===e?r("defs",[r("linearGradient",{attrs:{id:"gradient-"+a,x1:"0%",y1:"0%",x2:"100%",y2:"0%"}},[r("stop",{style:"stop-color:"+t.color+";stop-opacity:1",attrs:{offset:"50%"}}),r("stop",{style:"stop-color:"+t.color+";stop-opacity:0",attrs:{offset:"50%"}})],1)],1):t._e(),r("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),r("path",{attrs:{d:"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z",fill:t.getStarFill(e,a)}})])})),0)}),[],!1,null,null,null);e.a=n.exports},31:function(t,e,r){var a=r(39);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("8c4908ae",a,!0,{})},32:function(t,e,r){"use strict";r(29)},33:function(t,e,r){(e=r(8)(!1)).push([t.i,".martan-rating{display:flex;gap:4px}",""]),t.exports=e},38:function(t,e,r){"use strict";r(31)},39:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-rating-breakdown[data-v-121d360c]{display:flex;flex-direction:column;width:100%}.mrtn-rating-row[data-v-121d360c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;position:relative;transition:all .2s ease}.mrtn-rating-row--active[data-v-121d360c],.mrtn-rating-row[data-v-121d360c]:hover{background:var(--hover-color)}.mrtn-rating-row--active[data-v-121d360c]{box-shadow:0 0 0 2px var(--hover-color);transform:scale(1.02);z-index:10}.mrtn-rating-breakdown--has-active .mrtn-rating-row[data-v-121d360c]:not(.mrtn-rating-row--active){filter:grayscale(.8);opacity:.4}.mrtn-rating-stars[data-v-121d360c]{display:flex;gap:2px;min-width:80px}.mrtn-rating-star[data-v-121d360c]{color:#e5e5e5;font-size:14px}.mrtn-rating-star--filled[data-v-121d360c]{color:#000}.mrtn-rating-bar[data-v-121d360c]{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden;position:relative;transition:all .2s ease}.mrtn-rating-bar__fill[data-v-121d360c]{border-radius:4px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-121d360c]{color:#666;font-size:12px;min-width:40px;text-align:right}",""]),t.exports=e},40:function(t,e,r){var a=r(49);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("a1278eac",a,!0,{})},41:function(t,e,r){"use strict";var a=r(4),i=r(30),n=r(10),o={name:"RatingBreakdown",props:{...a.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},totalRating:{type:Number,default:0},average:{type:Number,default:0}},data:()=>({currentActive:null}),computed:{ratingBreakdown(){return{5:this.rating.five,4:this.rating.four,3:this.rating.three,2:this.rating.two,1:this.rating.one}},houverColor(){return this.config.widget_review.star_color?Object(n.a)(this.config.widget_review.star_color,.9):null}},methods:{lightenColor:n.a,getBarWidth(t){return 0===this.totalRating?0:t/this.totalRating*100},selectRating(t){this.currentActive===t?this.currentActive=null:this.currentActive=t,this.$emit("rating-selected",this.currentActive)}},components:{Rating:i.a}},s=(r(38),r(3)),d=Object(s.a)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"mrtn-rating-breakdown",class:{"mrtn-rating-breakdown--has-active":null!==t.currentActive},style:"--hover-color: "+t.houverColor},t._l(t.ratingBreakdown,(function(e,a){return r("div",{key:a,staticClass:"mrtn-rating-row",class:{"mrtn-rating-row--active":t.currentActive===a},on:{click:function(e){return t.selectRating(a)}}},[r("div",{staticClass:"mrtn-rating-stars"},[r("Rating",{attrs:{rating:parseInt(a),color:t.config.widget_review.star_color}})],1),r("div",{staticClass:"mrtn-rating-bar"},[r("div",{staticClass:"mrtn-rating-bar__fill",style:{width:t.getBarWidth(e)+"%",backgroundColor:t.config.widget_review.star_color}})]),r("span",{staticClass:"mrtn-rating-count"},[t._v("("+t._s(e)+")")])])})),0)}),[],!1,null,"121d360c",null);e.a=d.exports},48:function(t,e,r){"use strict";r(40)},49:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-sort-dropdown[data-v-2b3eeb35]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-top:8px;min-width:200px;padding:16px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-sort-dropdown__header[data-v-2b3eeb35]{margin-bottom:12px}.mrtn-sort-dropdown__title[data-v-2b3eeb35]{color:#000;font-size:16px;font-weight:600;margin:0}.mrtn-sort-dropdown__options[data-v-2b3eeb35]{display:flex;flex-direction:column;gap:4px}.mrtn-sort-option[data-v-2b3eeb35]{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.mrtn-sort-option[data-v-2b3eeb35]:hover{background:#f8f8f8}.mrtn-sort-option--active[data-v-2b3eeb35]{background:#f0f0f0}.mrtn-sort-option__text[data-v-2b3eeb35]{color:#000;font-size:14px;font-weight:400}.mrtn-sort-option__check[data-v-2b3eeb35]{color:#000;flex-shrink:0}.mrtn-sort-dropdown__footer[data-v-2b3eeb35]{margin-top:12px;text-align:right}.mrtn-sort-dropdown__powered[data-v-2b3eeb35]{color:#999;font-size:11px}",""]),t.exports=e},50:function(t,e,r){"use strict";var a={name:"SortDropdown",props:{visible:{type:Boolean,default:!1},currentSort:{type:String,default:"most_recent"}},data:()=>({sortOptions:[{value:"most_recent",label:"Recentes"},{value:"most_voted",label:"Mais úteis"},{value:"most_positive",label:"Positivas"},{value:"most_negative",label:"Negativas"}]}),mounted(){this.addClickOutsideListener()},beforeDestroy(){this.removeClickOutsideListener()},watch:{visible(t){t?this.$nextTick(()=>{this.addClickOutsideListener()}):this.removeClickOutsideListener()}},methods:{selectSort(t){this.$emit("sort-selected",t)},addClickOutsideListener(){document.addEventListener("click",this.handleClickOutside)},removeClickOutsideListener(){document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(t){this.visible&&(t.target&&t.target.classList&&t.target.classList.contains("mrtn-filter-btn")&&"svg"!==t.target.nodeName&&"SVG"!==t.target.nodeName||this.$refs.dropdown&&!this.$refs.dropdown.contains(t.target)&&this.$emit("close"))}}},i=(r(48),r(3)),n=Object(i.a)(a,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.visible?r("div",{ref:"dropdown",staticClass:"mrtn-sort-dropdown"},[t._m(0),r("div",{staticClass:"mrtn-sort-dropdown__options"},t._l(t.sortOptions,(function(e){return r("div",{key:e.value,staticClass:"mrtn-sort-option",class:{"mrtn-sort-option--active":t.currentSort===e.value},on:{click:function(r){return t.selectSort(e.value)}}},[r("span",{staticClass:"mrtn-sort-option__text"},[t._v(t._s(e.label))]),t.currentSort===e.value?r("svg",{staticClass:"mrtn-sort-option__check",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"}},[r("path",{attrs:{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})]):t._e()])})),0),t._m(1)]):t._e()}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"mrtn-sort-dropdown__header"},[e("h3",{staticClass:"mrtn-sort-dropdown__title"},[this._v("Ordenar por")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"mrtn-sort-dropdown__footer"},[e("span",{staticClass:"mrtn-sort-dropdown__powered"},[this._v("Powered by MARTAN.app")])])}],!1,null,"2b3eeb35",null);e.a=n.exports},54:function(t,e,r){var a=r(71);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("4a045d99",a,!0,{})},55:function(t,e,r){var a=r(73);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("b015bed6",a,!0,{})},70:function(t,e,r){"use strict";r(54)},71:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-rating-summary[data-v-b190791c]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);left:0;margin-top:8px;min-width:300px;padding:24px 18px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-rating-summary__header[data-v-b190791c]{margin-bottom:16px;text-align:center}.mrtn-average-score[data-v-b190791c]{align-items:center;display:flex;gap:8px;justify-content:center}.mrtn-average-score__number[data-v-b190791c]{color:#000;font-size:24px;font-weight:700}.mrtn-average-score__text[data-v-b190791c]{color:#666;font-size:16px;font-weight:100}.mrtn-average-section[data-v-b190791c]{display:flex;justify-content:center;margin-bottom:16px}.mrtn-average-display[data-v-b190791c]{gap:12px}.mrtn-average-display[data-v-b190791c],.mrtn-stars-container[data-v-b190791c]{align-items:center;display:flex}@media(max-width:580px){.mrtn-stars-container[data-v-b190791c]{display:none}}.mrtn-average-badge[data-v-b190791c]{background:#ff6b35;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.mrtn-rating-summary__footer[data-v-b190791c]{margin-top:12px;text-align:center}.mrtn-rating-summary__powered[data-v-b190791c]{color:#999;font-size:11px}",""]),t.exports=e},72:function(t,e,r){"use strict";r(55)},73:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-header--compact[data-v-4d4d0d6b]{align-items:center;background:#fff;display:flex;justify-content:space-between;padding:16px 0}.mrtn-header__rating[data-v-4d4d0d6b]{align-items:center;display:flex;gap:12px}.mrtn-stars[data-v-4d4d0d6b]{display:flex;gap:2px}.mrtn-star[data-v-4d4d0d6b]{color:#e5e5e5;font-size:16px;transition:color .2s ease}.mrtn-star--filled[data-v-4d4d0d6b]{color:#000}.mrtn-header__info[data-v-4d4d0d6b]{align-items:center;display:flex;gap:8px;position:relative}.mrtn-reviews-count[data-v-4d4d0d6b]{color:#000;cursor:pointer;font-size:14px;font-weight:500}.mrtn-dropdown-toggle[data-v-4d4d0d6b]{align-items:center;background:transparent;border:none;color:#000;cursor:pointer;display:flex;height:20px;justify-content:center;transition:transform .2s ease;width:20px}.mrtn-dropdown-toggle[data-v-4d4d0d6b]:hover{color:#666}.mrtn-dropdown-toggle--active[data-v-4d4d0d6b]{transform:rotate(180deg)}.mrtn-dropdown-toggle svg[data-v-4d4d0d6b]{height:12px;width:12px}.mrtn-filter-container[data-v-4d4d0d6b]{position:relative}.mrtn-filter-btn[data-v-4d4d0d6b]{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#000;cursor:pointer;display:flex;height:25px;justify-content:center;transition:all .2s ease;width:25px}.mrtn-filter-btn[data-v-4d4d0d6b]:hover{background:#f8f8f8;border-color:#ccc}.mrtn-filter-btn[data-v-4d4d0d6b]:active{transform:scale(.95)}.mrtn-filter-btn svg[data-v-4d4d0d6b]{height:16px;width:16px}",""]),t.exports=e},90:function(t,e,r){"use strict";r.r(e);var a=r(41),i=r(4),n={name:"RatingSummary",components:{RatingBreakdown:a.a},props:{...i.a,visible:{type:Boolean,default:!1},rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},average:{type:Number,default:0},totalRating:{type:Number,default:0},recommended:{type:Number,default:0}},data:()=>({currentActive:null}),computed:{totalRecommended(){return 0===this.recommended?null:Math.round(this.recommended)+"% dos clientes recomendam este produto."}},mounted(){this.addClickOutsideListener()},beforeDestroy(){this.removeClickOutsideListener()},watch:{visible(t){t?this.$nextTick(()=>{this.addClickOutsideListener()}):this.removeClickOutsideListener()}},methods:{selectRating(t){this.currentActive===t?(this.currentActive=null,this.$emit("rating-selected",null)):(this.currentActive=t,this.$emit("rating-selected",t))},addClickOutsideListener(){document.addEventListener("click",this.handleClickOutside)},removeClickOutsideListener(){document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(t){this.visible&&(t.target&&("svg"===t.target.nodeName||"SVG"===t.target.nodeName||t.target.classList&&(t.target.classList.contains("mrtn-dropdown-toggle")||t.target.classList.contains("mrtn-reviews-count")))||this.$refs.ratingSummary&&!this.$refs.ratingSummary.contains(t.target)&&this.$emit("close"))}}},o=(r(70),r(3)),s=Object(o.a)(n,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.visible?r("div",{ref:"ratingSummary",staticClass:"mrtn-rating-summary"},[r("div",{staticClass:"mrtn-rating-summary__header"},[r("div",{staticClass:"mrtn-average-section"},[r("div",{staticClass:"mrtn-average-display"},[r("div",{staticClass:"mrtn-average-badge",style:{backgroundColor:t.config.widget_review.star_color}},[t._v(" "+t._s(t.average.toFixed(1))+" / 5 ")])])]),t.totalRecommended?r("span",{staticClass:"mrtn-average-score__text"},[t._v(" "+t._s(t.totalRecommended)+" ")]):t._e()]),r("RatingBreakdown",{attrs:{config:t.config,rating:t.rating,"total-rating":t.totalRating,"current-active":t.currentActive},on:{"rating-selected":t.selectRating}}),t._m(0)],1):t._e()}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"mrtn-rating-summary__footer"},[e("span",{staticClass:"mrtn-rating-summary__powered"},[this._v("Powered by MARTAN.app")])])}],!1,null,"b190791c",null).exports,d=r(50),l=r(30),c={name:"Compact",components:{RatingSummary:s,SortDropdown:d.a,Rating:l.a},props:{...i.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},recommended:{type:Number,default:0},average:{type:Number,default:0},totalRating:{type:Number,default:0}},data:()=>({showDropdown:!1,showFilter:!1,currentSort:"most_recent"}),computed:{formatReviewsCount(){return this.totalRating>=1e3?(this.totalRating/1e3).toFixed(1).replace(".0","")+"k":this.totalRating.toLocaleString()}},methods:{toggleDropdown(){this.showDropdown=!this.showDropdown},toggleFilter(){this.showFilter=!this.showFilter,this.$emit("filter-toggle",this.showFilter)},onRatingSelected(t){this.$emit("rating-selected",t)},onSortSelected(t){this.currentSort=t,this.showFilter=!1,this.$emit("sort-selected",t)}}},p=(r(72),Object(o.a)(c,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"mrtn-header--compact"},[r("div",{staticClass:"mrtn-header__rating"},[r("div",{staticClass:"mrtn-stars"},[r("Rating",{attrs:{rating:t.average,color:t.config.widget_review.star_color}})],1),r("div",{staticClass:"mrtn-header__info"},[r("span",{staticClass:"mrtn-reviews-count",on:{click:t.toggleDropdown}},[t._v(t._s(t.formatReviewsCount)+" Avaliações")]),r("button",{staticClass:"mrtn-dropdown-toggle",class:{"mrtn-dropdown-toggle--active":t.showDropdown},on:{click:t.toggleDropdown}},[r("svg",{attrs:{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none"}},[r("path",{attrs:{d:"M3 4.5L6 7.5L9 4.5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}})])]),r("RatingSummary",{attrs:{config:t.config,visible:t.showDropdown,rating:t.rating,average:t.average,"total-ratings":t.totalRating,recommended:t.recommended},on:{"rating-selected":t.onRatingSelected,close:function(e){t.showDropdown=!1}}})],1)]),r("div",{staticClass:"mrtn-filter-container"},[r("button",{staticClass:"mrtn-filter-btn",on:{click:t.toggleFilter}},[r("svg",{attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"}},[r("path",{attrs:{d:"M2 4H14M4 8H12M6 12H10",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"}}),r("circle",{attrs:{cx:"4",cy:"4",r:"1.5",fill:"currentColor"}}),r("circle",{attrs:{cx:"12",cy:"8",r:"1.5",fill:"currentColor"}}),r("circle",{attrs:{cx:"8",cy:"12",r:"1.5",fill:"currentColor"}})])]),r("SortDropdown",{attrs:{visible:t.showFilter,"current-sort":t.currentSort},on:{"sort-selected":t.onSortSelected,close:function(e){t.showFilter=!1}}})],1)])}),[],!1,null,"4d4d0d6b",null));e.default=p.exports}}]);
|
|
2
2
|
//# sourceMappingURL=widget-martan.2.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue?46db","webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue?87d2","webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue?258d","webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue?8f65","webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue?3ef1","webpack://widgetMartan/src/widgets/reviews/HeaderExpanded.vue","webpack://widgetMartan/./src/widgets/reviews/HeaderExpanded.vue"],"names":["content","__esModule","default","module","i","locals","exports","add","___CSS_LOADER_API_IMPORT___","push","props","starColor","type","String","reviews","Object","list","orderRating","total","average","one","two","three","four","five","averageTotal","name","components","AverageTotal","AverageScore","Score","methods","updateOrderBy","rating","$emit","component","_h","this","$createElement","_c","_self","staticClass","attrs","on"],"mappings":"oGAGA,IAAIA,EAAU,EAAQ,IACnBA,EAAQC,aAAYD,EAAUA,EAAQE,SACnB,iBAAZF,IAAsBA,EAAU,CAAC,CAACG,EAAOC,EAAIJ,EAAS,MAC7DA,EAAQK,SAAQF,EAAOG,QAAUN,EAAQK,SAG/BE,EADH,EAAQ,GAAwEL,SACzE,WAAYF,GAAS,EAAM,K,gCCT5C,O,oBCEAM,EADkC,EAAQ,EAChCE,EAA4B,IAE9BC,KAAK,CAACN,EAAOC,EAAI,ucAAwc,KAEjeD,EAAOG,QAAUA,G,uCCNjB,ICA+M,ECYhM,CACfI,MAAA,CACAC,UAAA,CACAC,KAAAC,OACAX,QAAA,WAGAY,QAAA,CACAF,KAAAG,OACAb,QAAA,CACAc,KAAA,GACAC,YAAA,KACAC,MAAA,EACAC,QAAA,CACAC,IAAA,EACAC,IAAA,EACAC,MAAA,EACAC,KAAA,EACAC,KAAA,GAEAC,aAAA,KAKAC,KAAA,kBAEAC,WAAA,CACAC,iBAAA,6BACAC,iBAAA,6BACAC,UAAA,8BAGAC,QAAA,CACAC,gBAAAC,kBAAA,GAAAC,MAAA,wBAAAD,a,eCtCIE,EAAY,YACd,GHTW,WAAa,IAAiBC,EAATC,KAAgBC,eAAmBC,EAAnCF,KAA0CG,MAAMD,IAAIH,EAAG,OAAOG,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,gBAAgB,CAACG,MAAM,CAAC,QAAvIL,KAAqJvB,QAAQW,gBAAgBc,EAAG,QAAQ,CAACG,MAAM,CAAC,QAAhML,KAA8MvB,QAAQ,UAAtNuB,KAAsO1B,WAAWgC,GAAG,CAAC,qBAArPN,KAAgRL,kBAAkB,KAC9S,IGWpB,EACA,KACA,KACA,MAIa,UAAAG,E","file":"widget-martan.2.min.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderExpanded.vue?vue&type=style&index=0&id=53edd778&prod&lang=scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0bf36ea5\", content, true, {});","export * from \"-!../../../../../node_modules/vue-style-loader/index.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderExpanded.vue?vue&type=style&index=0&id=53edd778&prod&lang=scss\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mt-header--expanded{border-bottom:1px solid #e3e3e3;padding-bottom:25px}.mt-header--expanded,.mt-header--expanded .mt-rating__average{align-items:center;display:flex}.mt-header--expanded .mt-rating__average__wrapper{display:flex;flex-direction:column;height:100%;justify-content:center;padding-top:5px}.mt-header--expanded .mt-rating__average_total{font-size:48px;margin:0 18px 0 0;padding:0}@media(max-width:580px){.mt-rating__options{max-width:97%}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-header--expanded\"},[_c('average-total',{attrs:{\"average\":_vm.reviews.averageTotal}}),_c('score',{attrs:{\"reviews\":_vm.reviews,\"starColor\":_vm.starColor},on:{\"updateOrderByAverage\":_vm.updateOrderBy}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderExpanded.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderExpanded.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mt-header--expanded\">\n <average-total :average=\"reviews.averageTotal\" />\n <score \n :reviews=\"reviews\" \n :starColor=\"starColor\" \n @updateOrderByAverage=\"updateOrderBy\" \n />\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n starColor: {\n type: String,\n default: '#212529'\n },\n\n reviews: {\n type: Object,\n default: {\n list: [],\n orderRating: null,\n total: 0,\n average: {\n one: 0,\n two: 0,\n three: 0,\n four: 0,\n five: 0,\n },\n averageTotal: 0,\n }\n },\n },\n\n name: 'header-expanded',\n\n components: {\n AverageTotal: () => import(\"./AverageTotal.vue\"),\n AverageScore: () => import(\"./AverageScore.vue\"),\n Score: () => import(\"./Score.vue\"),\n },\n\n methods: {\n updateOrderBy: ({ rating }) => this.$emit('updateOrderByAverage', { rating })\n }\n};\n</script>\n\n<style lang=\"scss\">\n.mt-header--expanded {\n display: flex;\n align-items: center;\n border-bottom: 1px solid #e3e3e3;\n padding-bottom: 25px;\n\n .mt-rating__average {\n display: flex;\n align-items: center;\n }\n\n .mt-rating__average__wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n padding-top: 5px;\n }\n\n .mt-rating__average_total {\n font-size: 48px;\n margin: 0 18px 0 0;\n padding: 0;\n }\n}\n\n@media (max-width: 580px) {\n .mt-rating__options {\n max-width: 97%;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./HeaderExpanded.vue?vue&type=template&id=53edd778\"\nimport script from \"./HeaderExpanded.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderExpanded.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderExpanded.vue?vue&type=style&index=0&id=53edd778&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?c507","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?ab9f","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?03a2","webpack://widgetMartan/src/widgets/reviews/components/Rating.vue","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?c0f1","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?2ff4","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?0e4b","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?b1e0","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?0822","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?bccc","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?e347","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?1232","webpack://widgetMartan/src/widgets/reviews/components/RatingBreakdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?c1e6","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?3dca","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?a8fb","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?3555","webpack://widgetMartan/src/widgets/reviews/components/SortDropdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue?5ab9","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue?e004","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue?9074","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue?8f95","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue?0022","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue?e0f5","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue?4d16","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue?df39","webpack://widgetMartan/src/widgets/reviews/components/RatingSummary.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingSummary.vue?8c27","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue?f361","webpack://widgetMartan/src/widgets/reviews/headers/Compact.vue","webpack://widgetMartan/./src/widgets/reviews/headers/Compact.vue"],"names":["content","__esModule","default","module","i","locals","exports","add","name","props","rating","type","Number","color","String","data","stars","Array","fill","mounted","updateStars","methods","Math","max","min","map","_","index","getStarClass","star","getStarFill","watch","component","_vm","this","_h","$createElement","_c","_self","staticClass","_l","key","class","style","attrs","_e","___CSS_LOADER_API_IMPORT___","push","configProp","Object","five","four","three","two","one","totalRating","average","currentActive","computed","ratingBreakdown","houverColor","config","widget_review","star_color","lightenColor","getBarWidth","count","selectRating","$emit","components","Rating","on","$event","parseInt","width","backgroundColor","_v","_s","visible","Boolean","currentSort","sortOptions","value","label","addClickOutsideListener","beforeDestroy","removeClickOutsideListener","newValue","$nextTick","selectSort","sortValue","document","addEventListener","handleClickOutside","removeEventListener","event","target","classList","contains","nodeName","$refs","dropdown","ref","_m","option","RatingBreakdown","recommended","totalRecommended","round","ratingSummary","toFixed","RatingSummary","SortDropdown","showDropdown","showFilter","formatReviewsCount","replace","toLocaleString","toggleDropdown","toggleFilter","onRatingSelected","onSortSelected"],"mappings":"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","file":"widget-martan.2.min.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5a552598\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"martan-rating\"},_vm._l((_vm.stars),function(star,index){return _c('svg',{key:index,staticClass:\"icon icon-tabler\",class:_vm.getStarClass(star),style:({ color: _vm.color }),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"14\",\"height\":\"14\",\"viewBox\":\"0 0 24 24\",\"stroke-width\":\"2\",\"stroke\":\"currentColor\",\"fill\":\"none\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[(star === 0.5)?_c('defs',[_c('linearGradient',{attrs:{\"id\":(\"gradient-\" + index),\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":\"100%\",\"y2\":\"0%\"}},[_c('stop',{style:((\"stop-color:\" + _vm.color + \";stop-opacity:1\")),attrs:{\"offset\":\"50%\"}}),_c('stop',{style:((\"stop-color:\" + _vm.color + \";stop-opacity:0\")),attrs:{\"offset\":\"50%\"}})],1)],1):_vm._e(),_c('path',{attrs:{\"stroke\":\"none\",\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\",\"fill\":_vm.getStarFill(star, index)}})])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=script&lang=js\"","<template>\n <span class=\"martan-rating\">\n <svg\n v-for=\"(star, index) in stars\"\n :key=\"index\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"icon icon-tabler\"\n :class=\"getStarClass(star)\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n :style=\"{ color }\"\n >\n <defs v-if=\"star === 0.5\">\n <linearGradient :id=\"`gradient-${index}`\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"50%\" :style=\"`stop-color:${color};stop-opacity:1`\" />\n <stop offset=\"50%\" :style=\"`stop-color:${color};stop-opacity:0`\" />\n </linearGradient>\n </defs>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\"\n :fill=\"getStarFill(star, index)\" />\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'Rating',\n\n props: {\n rating: {\n type: Number,\n default: 5\n },\n\n color: {\n type: String,\n default: \"#000000\"\n },\n },\n\n data() {\n return {\n stars: Array(5).fill(0)\n };\n },\n\n mounted() {\n this.updateStars();\n },\n\n methods: {\n updateStars() {\n const rating = Math.max(0, Math.min(5, this.rating));\n this.stars = Array(5).fill(0).map((_, index) => {\n const starPosition = index + 1;\n if (rating >= starPosition) {\n return 1;\n } else if (rating > index) {\n return 0.5;\n } else {\n return 0;\n }\n });\n },\n\n getStarClass(star) {\n if (star === 1) {\n return 'icon-tabler-star-filled';\n } else if (star === 0.5) {\n return 'icon-tabler-star-half';\n } else {\n return 'icon-tabler-star';\n }\n },\n\n getStarFill(star, index) {\n if (star === 1) {\n return 'currentColor';\n } else if (star === 0.5) {\n return `url(#gradient-${index})`;\n } else {\n return 'none';\n }\n }\n },\n\n watch: {\n rating: 'updateStars'\n }\n};\n</script>\n\n<style lang=\"css\">\n.martan-rating {\n display: flex;\n gap: 4px;\n}\n</style>\n","import { render, staticRenderFns } from \"./Rating.vue?vue&type=template&id=39af319e\"\nimport script from \"./Rating.vue?vue&type=script&lang=js\"\nexport * from \"./Rating.vue?vue&type=script&lang=js\"\nimport style0 from \"./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8c4908ae\", content, true, {});","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".martan-rating{display:flex;gap:4px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-rating-breakdown[data-v-121d360c]{display:flex;flex-direction:column;width:100%}.mrtn-rating-row[data-v-121d360c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;position:relative;transition:all .2s ease}.mrtn-rating-row--active[data-v-121d360c],.mrtn-rating-row[data-v-121d360c]:hover{background:var(--hover-color)}.mrtn-rating-row--active[data-v-121d360c]{box-shadow:0 0 0 2px var(--hover-color);transform:scale(1.02);z-index:10}.mrtn-rating-breakdown--has-active .mrtn-rating-row[data-v-121d360c]:not(.mrtn-rating-row--active){filter:grayscale(.8);opacity:.4}.mrtn-rating-stars[data-v-121d360c]{display:flex;gap:2px;min-width:80px}.mrtn-rating-star[data-v-121d360c]{color:#e5e5e5;font-size:14px}.mrtn-rating-star--filled[data-v-121d360c]{color:#000}.mrtn-rating-bar[data-v-121d360c]{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden;position:relative;transition:all .2s ease}.mrtn-rating-bar__fill[data-v-121d360c]{border-radius:4px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-121d360c]{color:#666;font-size:12px;min-width:40px;text-align:right}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a1278eac\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-rating-breakdown\",class:{ 'mrtn-rating-breakdown--has-active': _vm.currentActive !== null },style:('--hover-color: ' + _vm.houverColor)},_vm._l((_vm.ratingBreakdown),function(count,stars){return _c('div',{key:stars,staticClass:\"mrtn-rating-row\",class:{ 'mrtn-rating-row--active': _vm.currentActive === stars },on:{\"click\":function($event){return _vm.selectRating(stars)}}},[_c('div',{staticClass:\"mrtn-rating-stars\"},[_c('Rating',{attrs:{\"rating\":parseInt(stars),\"color\":_vm.config.widget_review.star_color}})],1),_c('div',{staticClass:\"mrtn-rating-bar\"},[_c('div',{staticClass:\"mrtn-rating-bar__fill\",style:({\n width: _vm.getBarWidth(count) + '%',\n backgroundColor: _vm.config.widget_review.star_color\n })})]),_c('span',{staticClass:\"mrtn-rating-count\"},[_vm._v(\"(\"+_vm._s(count)+\")\")])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mrtn-rating-breakdown\" :style=\"'--hover-color: ' + houverColor\" :class=\"{ 'mrtn-rating-breakdown--has-active': currentActive !== null }\">\n <div v-for=\"(count, stars) in ratingBreakdown\" :key=\"stars\" class=\"mrtn-rating-row\"\n :class=\"{ 'mrtn-rating-row--active': currentActive === stars }\" @click=\"selectRating(stars)\">\n <div class=\"mrtn-rating-stars\">\n <Rating :rating=\"parseInt(stars)\" :color=\"config.widget_review.star_color\" />\n </div>\n\n <div class=\"mrtn-rating-bar\">\n <div class=\"mrtn-rating-bar__fill\" :style=\"{\n width: getBarWidth(count) + '%',\n backgroundColor: config.widget_review.star_color\n }\"></div>\n </div>\n\n <span class=\"mrtn-rating-count\">({{ count }})</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { configProp } from \"../../../utils/configProps\";\nimport Rating from \"./Rating.vue\";\nimport { lightenColor } from \"../../../utils/lighten-color\";\n\nexport default {\n name: 'RatingBreakdown',\n\n props: {\n ...configProp,\n rating: {\n type: Object,\n default: () => ({\n five: 0,\n four: 0,\n three: 0,\n two: 0,\n one: 0\n })\n },\n\n totalRating: {\n type: Number,\n default: 0\n },\n\n\n average: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n currentActive: null\n }\n },\n\n computed: {\n ratingBreakdown() {\n return {\n 5: this.rating.five,\n 4: this.rating.four,\n 3: this.rating.three,\n 2: this.rating.two,\n 1: this.rating.one\n }\n },\n\n houverColor() {\n if (!this.config.widget_review.star_color) return null\n return lightenColor(this.config.widget_review.star_color, 0.9)\n }\n },\n\n methods: {\n lightenColor,\n getBarWidth(count) {\n if (this.totalRating === 0) return 0\n return (count / this.totalRating) * 100\n },\n\n selectRating(rating) {\n if (this.currentActive === rating) {\n this.currentActive = null\n } else {\n this.currentActive = rating\n }\n this.$emit('rating-selected', this.currentActive)\n }\n },\n\n components: {\n Rating\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-rating-breakdown {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.mrtn-rating-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s ease;\n position: relative;\n\n &:hover {\n background: var(--hover-color);\n }\n\n &--active {\n background: var(--hover-color);\n box-shadow: 0 0 0 2px var(--hover-color);\n transform: scale(1.02);\n z-index: 10;\n }\n}\n\n.mrtn-rating-breakdown--has-active .mrtn-rating-row:not(.mrtn-rating-row--active) {\n opacity: 0.4;\n filter: grayscale(0.8);\n}\n\n.mrtn-rating-stars {\n display: flex;\n gap: 2px;\n min-width: 80px;\n}\n\n.mrtn-rating-star {\n font-size: 14px;\n color: #e5e5e5;\n\n &--filled {\n color: #000000;\n }\n}\n\n.mrtn-rating-bar {\n flex: 1;\n height: 8px;\n background: #f0f0f0;\n border-radius: 4px;\n overflow: hidden;\n position: relative;\n transition: all 0.2s ease;\n}\n\n.mrtn-rating-bar__fill {\n height: 100%;\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.mrtn-rating-count {\n font-size: 12px;\n color: #666666;\n min-width: 40px;\n text-align: right;\n}\n</style>\n","import { render, staticRenderFns } from \"./RatingBreakdown.vue?vue&type=template&id=121d360c&scoped=true\"\nimport script from \"./RatingBreakdown.vue?vue&type=script&lang=js\"\nexport * from \"./RatingBreakdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121d360c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-sort-dropdown[data-v-2b3eeb35]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-top:8px;min-width:200px;padding:16px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-sort-dropdown__header[data-v-2b3eeb35]{margin-bottom:12px}.mrtn-sort-dropdown__title[data-v-2b3eeb35]{color:#000;font-size:16px;font-weight:600;margin:0}.mrtn-sort-dropdown__options[data-v-2b3eeb35]{display:flex;flex-direction:column;gap:4px}.mrtn-sort-option[data-v-2b3eeb35]{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.mrtn-sort-option[data-v-2b3eeb35]:hover{background:#f8f8f8}.mrtn-sort-option--active[data-v-2b3eeb35]{background:#f0f0f0}.mrtn-sort-option__text[data-v-2b3eeb35]{color:#000;font-size:14px;font-weight:400}.mrtn-sort-option__check[data-v-2b3eeb35]{color:#000;flex-shrink:0}.mrtn-sort-dropdown__footer[data-v-2b3eeb35]{margin-top:12px;text-align:right}.mrtn-sort-dropdown__powered[data-v-2b3eeb35]{color:#999;font-size:11px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{ref:\"dropdown\",staticClass:\"mrtn-sort-dropdown\"},[_vm._m(0),_c('div',{staticClass:\"mrtn-sort-dropdown__options\"},_vm._l((_vm.sortOptions),function(option){return _c('div',{key:option.value,staticClass:\"mrtn-sort-option\",class:{ 'mrtn-sort-option--active': _vm.currentSort === option.value },on:{\"click\":function($event){return _vm.selectSort(option.value)}}},[_c('span',{staticClass:\"mrtn-sort-option__text\"},[_vm._v(_vm._s(option.label))]),(_vm.currentSort === option.value)?_c('svg',{staticClass:\"mrtn-sort-option__check\",attrs:{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M13.5 4.5L6 12L2.5 8.5\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})]):_vm._e()])}),0),_vm._m(1)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-sort-dropdown__header\"},[_c('h3',{staticClass:\"mrtn-sort-dropdown__title\"},[_vm._v(\"Ordenar por\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-sort-dropdown__footer\"},[_c('span',{staticClass:\"mrtn-sort-dropdown__powered\"},[_vm._v(\"Powered by MARTAN.app\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=script&lang=js\"","<template>\n <div v-if=\"visible\" ref=\"dropdown\" class=\"mrtn-sort-dropdown\">\n <div class=\"mrtn-sort-dropdown__header\">\n <h3 class=\"mrtn-sort-dropdown__title\">Ordenar por</h3>\n </div>\n\n <div class=\"mrtn-sort-dropdown__options\">\n <div\n v-for=\"option in sortOptions\"\n :key=\"option.value\"\n class=\"mrtn-sort-option\"\n :class=\"{ 'mrtn-sort-option--active': currentSort === option.value }\"\n @click=\"selectSort(option.value)\"\n >\n <span class=\"mrtn-sort-option__text\">{{ option.label }}</span>\n <svg\n v-if=\"currentSort === option.value\"\n class=\"mrtn-sort-option__check\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M13.5 4.5L6 12L2.5 8.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </div>\n\n <div class=\"mrtn-sort-dropdown__footer\">\n <span class=\"mrtn-sort-dropdown__powered\">Powered by MARTAN.app</span>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'SortDropdown',\n\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n\n currentSort: {\n type: String,\n default: 'most_recent'\n }\n },\n\n data() {\n return {\n sortOptions: [\n { value: 'most_recent', label: 'Recentes' },\n { value: 'most_voted', label: 'Mais úteis' },\n { value: 'most_positive', label: 'Positivas' },\n { value: 'most_negative', label: 'Negativas' }\n ]\n }\n },\n\n mounted() {\n this.addClickOutsideListener()\n },\n\n beforeDestroy() {\n this.removeClickOutsideListener()\n },\n\n watch: {\n visible(newValue) {\n if (newValue) {\n this.$nextTick(() => {\n this.addClickOutsideListener()\n })\n } else {\n this.removeClickOutsideListener()\n }\n }\n },\n\n methods: {\n selectSort(sortValue) {\n this.$emit('sort-selected', sortValue)\n },\n\n addClickOutsideListener() {\n document.addEventListener('click', this.handleClickOutside)\n },\n\n removeClickOutsideListener() {\n document.removeEventListener('click', this.handleClickOutside)\n },\n\n handleClickOutside(event) {\n if (!this.visible) return\n if (\n event.target &&\n event.target.classList &&\n event.target.classList.contains('mrtn-filter-btn') &&\n event.target.nodeName !== 'svg' &&\n event.target.nodeName !== 'SVG'\n ) {\n return\n }\n if (this.$refs.dropdown && !this.$refs.dropdown.contains(event.target)) {\n this.$emit('close')\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-sort-dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n margin-top: 8px;\n padding: 16px;\n min-width: 200px;\n}\n\n.mrtn-sort-dropdown__header {\n margin-bottom: 12px;\n}\n\n.mrtn-sort-dropdown__title {\n font-size: 16px;\n font-weight: 600;\n color: #000000;\n margin: 0;\n}\n\n.mrtn-sort-dropdown__options {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mrtn-sort-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n &:hover {\n background: #f8f8f8;\n }\n\n &--active {\n background: #f0f0f0;\n }\n}\n\n.mrtn-sort-option__text {\n font-size: 14px;\n color: #000000;\n font-weight: 400;\n}\n\n.mrtn-sort-option__check {\n color: #000000;\n flex-shrink: 0;\n}\n\n.mrtn-sort-dropdown__footer {\n margin-top: 12px;\n text-align: right;\n}\n\n.mrtn-sort-dropdown__powered {\n font-size: 11px;\n color: #999999;\n}\n</style>\n","import { render, staticRenderFns } from \"./SortDropdown.vue?vue&type=template&id=2b3eeb35&scoped=true\"\nimport script from \"./SortDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./SortDropdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b3eeb35\",\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingSummary.vue?vue&type=style&index=0&id=b190791c&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4a045d99\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Compact.vue?vue&type=style&index=0&id=4d4d0d6b&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b015bed6\", content, true, {});","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingSummary.vue?vue&type=style&index=0&id=b190791c&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-rating-summary[data-v-b190791c]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);left:0;margin-top:8px;min-width:300px;padding:24px 18px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-rating-summary__header[data-v-b190791c]{margin-bottom:16px;text-align:center}.mrtn-average-score[data-v-b190791c]{align-items:center;display:flex;gap:8px;justify-content:center}.mrtn-average-score__number[data-v-b190791c]{color:#000;font-size:24px;font-weight:700}.mrtn-average-score__text[data-v-b190791c]{color:#666;font-size:16px;font-weight:100}.mrtn-average-section[data-v-b190791c]{display:flex;justify-content:center;margin-bottom:16px}.mrtn-average-display[data-v-b190791c]{gap:12px}.mrtn-average-display[data-v-b190791c],.mrtn-stars-container[data-v-b190791c]{align-items:center;display:flex}@media(max-width:580px){.mrtn-stars-container[data-v-b190791c]{display:none}}.mrtn-average-badge[data-v-b190791c]{background:#ff6b35;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.mrtn-rating-summary__footer[data-v-b190791c]{margin-top:12px;text-align:center}.mrtn-rating-summary__powered[data-v-b190791c]{color:#999;font-size:11px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Compact.vue?vue&type=style&index=0&id=4d4d0d6b&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-header--compact[data-v-4d4d0d6b]{align-items:center;background:#fff;display:flex;justify-content:space-between;padding:16px 0}.mrtn-header__rating[data-v-4d4d0d6b]{align-items:center;display:flex;gap:12px}.mrtn-stars[data-v-4d4d0d6b]{display:flex;gap:2px}.mrtn-star[data-v-4d4d0d6b]{color:#e5e5e5;font-size:16px;transition:color .2s ease}.mrtn-star--filled[data-v-4d4d0d6b]{color:#000}.mrtn-header__info[data-v-4d4d0d6b]{align-items:center;display:flex;gap:8px;position:relative}.mrtn-reviews-count[data-v-4d4d0d6b]{color:#000;cursor:pointer;font-size:14px;font-weight:500}.mrtn-dropdown-toggle[data-v-4d4d0d6b]{align-items:center;background:transparent;border:none;color:#000;cursor:pointer;display:flex;height:20px;justify-content:center;transition:transform .2s ease;width:20px}.mrtn-dropdown-toggle[data-v-4d4d0d6b]:hover{color:#666}.mrtn-dropdown-toggle--active[data-v-4d4d0d6b]{transform:rotate(180deg)}.mrtn-dropdown-toggle svg[data-v-4d4d0d6b]{height:12px;width:12px}.mrtn-filter-container[data-v-4d4d0d6b]{position:relative}.mrtn-filter-btn[data-v-4d4d0d6b]{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#000;cursor:pointer;display:flex;height:25px;justify-content:center;transition:all .2s ease;width:25px}.mrtn-filter-btn[data-v-4d4d0d6b]:hover{background:#f8f8f8;border-color:#ccc}.mrtn-filter-btn[data-v-4d4d0d6b]:active{transform:scale(.95)}.mrtn-filter-btn svg[data-v-4d4d0d6b]{height:16px;width:16px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-header--compact\"},[_c('div',{staticClass:\"mrtn-header__rating\"},[_c('div',{staticClass:\"mrtn-stars\"},[_c('Rating',{attrs:{\"rating\":_vm.average,\"color\":_vm.config.widget_review.star_color}})],1),_c('div',{staticClass:\"mrtn-header__info\"},[_c('span',{staticClass:\"mrtn-reviews-count\",on:{\"click\":_vm.toggleDropdown}},[_vm._v(_vm._s(_vm.formatReviewsCount)+\" Avaliações\")]),_c('button',{staticClass:\"mrtn-dropdown-toggle\",class:{ 'mrtn-dropdown-toggle--active': _vm.showDropdown },on:{\"click\":_vm.toggleDropdown}},[_c('svg',{attrs:{\"width\":\"12\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\",\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M3 4.5L6 7.5L9 4.5\",\"stroke\":\"currentColor\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})])]),_c('RatingSummary',{attrs:{\"config\":_vm.config,\"visible\":_vm.showDropdown,\"rating\":_vm.rating,\"average\":_vm.average,\"total-ratings\":_vm.totalRating,\"recommended\":_vm.recommended},on:{\"rating-selected\":_vm.onRatingSelected,\"close\":function($event){_vm.showDropdown = false}}})],1)]),_c('div',{staticClass:\"mrtn-filter-container\"},[_c('button',{staticClass:\"mrtn-filter-btn\",on:{\"click\":_vm.toggleFilter}},[_c('svg',{attrs:{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M2 4H14M4 8H12M6 12H10\",\"stroke\":\"currentColor\",\"stroke-width\":\"1.5\",\"stroke-linecap\":\"round\"}}),_c('circle',{attrs:{\"cx\":\"4\",\"cy\":\"4\",\"r\":\"1.5\",\"fill\":\"currentColor\"}}),_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"1.5\",\"fill\":\"currentColor\"}}),_c('circle',{attrs:{\"cx\":\"8\",\"cy\":\"12\",\"r\":\"1.5\",\"fill\":\"currentColor\"}})])]),_c('SortDropdown',{attrs:{\"visible\":_vm.showFilter,\"current-sort\":_vm.currentSort},on:{\"sort-selected\":_vm.onSortSelected,\"close\":function($event){_vm.showFilter = false}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingSummary.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingSummary.vue?vue&type=script&lang=js\"","<template>\n <div v-if=\"visible\" ref=\"ratingSummary\" class=\"mrtn-rating-summary\">\n <div class=\"mrtn-rating-summary__header\">\n <div class=\"mrtn-average-section\">\n <div class=\"mrtn-average-display\">\n <div class=\"mrtn-average-badge\" :style=\"{ backgroundColor: config.widget_review.star_color }\">\n {{ average.toFixed(1) }} / 5\n </div>\n </div>\n </div>\n\n <span v-if=\"totalRecommended\" class=\"mrtn-average-score__text\">\n {{ totalRecommended }}\n </span>\n </div>\n\n <RatingBreakdown :config=\"config\" :rating=\"rating\" :total-rating=\"totalRating\" :current-active=\"currentActive\"\n @rating-selected=\"selectRating\" />\n\n <div class=\"mrtn-rating-summary__footer\">\n <span class=\"mrtn-rating-summary__powered\">Powered by MARTAN.app</span>\n </div>\n </div>\n</template>\n\n<script>\nimport RatingBreakdown from './RatingBreakdown.vue'\nimport { configProp } from \"../../../utils/configProps\";\n\nexport default {\n name: 'RatingSummary',\n\n components: {\n RatingBreakdown\n },\n\n props: {\n ...configProp,\n\n visible: {\n type: Boolean,\n default: false\n },\n\n rating: {\n type: Object,\n default: () => ({\n five: 0,\n four: 0,\n three: 0,\n two: 0,\n one: 0\n })\n },\n\n average: {\n type: Number,\n default: 0\n },\n\n totalRating: {\n type: Number,\n default: 0\n },\n\n recommended: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n currentActive: null\n }\n },\n\n computed: {\n totalRecommended() {\n if (this.recommended === 0) return null\n return `${Math.round(this.recommended)}% dos clientes recomendam este produto.`\n }\n },\n\n mounted() {\n this.addClickOutsideListener()\n },\n\n beforeDestroy() {\n this.removeClickOutsideListener()\n },\n\n watch: {\n visible(newValue) {\n if (newValue) {\n this.$nextTick(() => {\n this.addClickOutsideListener()\n })\n } else {\n this.removeClickOutsideListener()\n }\n }\n },\n\n methods: {\n selectRating(rating) {\n if (this.currentActive === rating) {\n this.currentActive = null\n this.$emit('rating-selected', null)\n } else {\n this.currentActive = rating\n this.$emit('rating-selected', rating)\n }\n },\n\n addClickOutsideListener() {\n document.addEventListener('click', this.handleClickOutside)\n },\n\n removeClickOutsideListener() {\n document.removeEventListener('click', this.handleClickOutside)\n },\n\n handleClickOutside(event) {\n if (!this.visible) return\n if (\n event.target &&\n (\n event.target.nodeName === 'svg' ||\n event.target.nodeName === 'SVG' ||\n (event.target.classList && (\n event.target.classList.contains('mrtn-dropdown-toggle') ||\n event.target.classList.contains('mrtn-reviews-count')\n ))\n )\n ) {\n return\n }\n if (this.$refs.ratingSummary && !this.$refs.ratingSummary.contains(event.target)) {\n this.$emit('close')\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-rating-summary {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n margin-top: 8px;\n padding: 24px 18px;\n min-width: 300px;\n}\n\n.mrtn-rating-summary__header {\n margin-bottom: 16px;\n text-align: center;\n}\n\n.mrtn-average-score {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.mrtn-average-score__number {\n font-size: 24px;\n font-weight: 700;\n color: #000000;\n}\n\n.mrtn-average-score__text {\n color: #666;\n font-size: 16px;\n font-weight: 100;\n}\n\n.mrtn-average-section {\n display: flex;\n justify-content: center;\n margin-bottom: 16px;\n}\n\n.mrtn-average-display {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.mrtn-stars-container {\n display: flex;\n align-items: center;\n\n @media (max-width: 580px) {\n display: none;\n }\n}\n\n.mrtn-average-badge {\n background: #ff6b35;\n color: white;\n padding: 8px 16px;\n border-radius: 20px;\n font-weight: 600;\n font-size: 14px;\n}\n\n.mrtn-rating-summary__footer {\n text-align: center;\n margin-top: 12px;\n}\n\n.mrtn-rating-summary__powered {\n font-size: 11px;\n color: #999999;\n}\n</style>\n","import { render, staticRenderFns } from \"./RatingSummary.vue?vue&type=template&id=b190791c&scoped=true\"\nimport script from \"./RatingSummary.vue?vue&type=script&lang=js\"\nexport * from \"./RatingSummary.vue?vue&type=script&lang=js\"\nimport style0 from \"./RatingSummary.vue?vue&type=style&index=0&id=b190791c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b190791c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{ref:\"ratingSummary\",staticClass:\"mrtn-rating-summary\"},[_c('div',{staticClass:\"mrtn-rating-summary__header\"},[_c('div',{staticClass:\"mrtn-average-section\"},[_c('div',{staticClass:\"mrtn-average-display\"},[_c('div',{staticClass:\"mrtn-average-badge\",style:({ backgroundColor: _vm.config.widget_review.star_color })},[_vm._v(\" \"+_vm._s(_vm.average.toFixed(1))+\" / 5 \")])])]),(_vm.totalRecommended)?_c('span',{staticClass:\"mrtn-average-score__text\"},[_vm._v(\" \"+_vm._s(_vm.totalRecommended)+\" \")]):_vm._e()]),_c('RatingBreakdown',{attrs:{\"config\":_vm.config,\"rating\":_vm.rating,\"total-rating\":_vm.totalRating,\"current-active\":_vm.currentActive},on:{\"rating-selected\":_vm.selectRating}}),_vm._m(0)],1):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-rating-summary__footer\"},[_c('span',{staticClass:\"mrtn-rating-summary__powered\"},[_vm._v(\"Powered by MARTAN.app\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Compact.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Compact.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mrtn-header--compact\">\n <div class=\"mrtn-header__rating\">\n <div class=\"mrtn-stars\">\n <Rating :rating=\"average\" :color=\"config.widget_review.star_color\" />\n </div>\n\n <div class=\"mrtn-header__info\">\n <span class=\"mrtn-reviews-count\" @click=\"toggleDropdown\">{{ formatReviewsCount }} Avaliações</span>\n <button class=\"mrtn-dropdown-toggle\" @click=\"toggleDropdown\"\n :class=\"{ 'mrtn-dropdown-toggle--active': showDropdown }\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M3 4.5L6 7.5L9 4.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n </button>\n\n <RatingSummary :config=\"config\" :visible=\"showDropdown\" :rating=\"rating\" :average=\"average\"\n :total-ratings=\"totalRating\" :recommended=\"recommended\" @rating-selected=\"onRatingSelected\"\n @close=\"showDropdown = false\" />\n </div>\n </div>\n\n <div class=\"mrtn-filter-container\">\n <button class=\"mrtn-filter-btn\" @click=\"toggleFilter\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2 4H14M4 8H12M6 12H10\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n <circle cx=\"4\" cy=\"4\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"12\" cy=\"8\" r=\"1.5\" fill=\"currentColor\" />\n <circle cx=\"8\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" />\n </svg>\n </button>\n\n <SortDropdown :visible=\"showFilter\" :current-sort=\"currentSort\" @sort-selected=\"onSortSelected\" @close=\"showFilter = false\" />\n </div>\n </div>\n</template>\n\n<script>\nimport RatingSummary from '../components/RatingSummary.vue'\nimport SortDropdown from '../components/SortDropdown.vue'\nimport Rating from '../components/Rating.vue';\n\nimport { configProp } from \"../../../utils/configProps\";\n\nexport default {\n name: 'Compact',\n\n components: {\n RatingSummary,\n SortDropdown,\n Rating\n },\n\n props: {\n ...configProp,\n rating: {\n type: Object,\n default: () => ({\n five: 0,\n four: 0,\n three: 0,\n two: 0,\n one: 0\n })\n },\n\n recommended: {\n type: Number,\n default: 0\n },\n\n average: {\n type: Number,\n default: 0\n },\n\n totalRating: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n showDropdown: false,\n showFilter: false,\n currentSort: 'most_recent'\n }\n },\n\n computed: {\n formatReviewsCount() {\n if (this.totalRating >= 1000) {\n return (this.totalRating / 1000).toFixed(1).replace('.0', '') + 'k'\n }\n return this.totalRating.toLocaleString()\n }\n },\n\n methods: {\n toggleDropdown() {\n this.showDropdown = !this.showDropdown\n },\n\n toggleFilter() {\n this.showFilter = !this.showFilter\n this.$emit('filter-toggle', this.showFilter)\n },\n\n onRatingSelected(rating) {\n this.$emit('rating-selected', rating)\n },\n\n onSortSelected(sortValue) {\n this.currentSort = sortValue\n this.showFilter = false\n this.$emit('sort-selected', sortValue)\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-header--compact {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 0;\n background: white;\n}\n\n.mrtn-header__rating {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.mrtn-stars {\n display: flex;\n gap: 2px;\n}\n\n.mrtn-star {\n font-size: 16px;\n color: #e5e5e5;\n transition: color 0.2s ease;\n\n &--filled {\n color: #000000;\n }\n}\n\n.mrtn-header__info {\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n}\n\n.mrtn-reviews-count {\n font-size: 14px;\n font-weight: 500;\n color: #000000;\n cursor: pointer;\n}\n\n.mrtn-dropdown-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n border: none;\n background: transparent;\n cursor: pointer;\n color: #000000;\n transition: transform 0.2s ease;\n\n &:hover {\n color: #666666;\n }\n\n &--active {\n transform: rotate(180deg);\n }\n\n svg {\n width: 12px;\n height: 12px;\n }\n}\n\n.mrtn-filter-container {\n position: relative;\n}\n\n.mrtn-filter-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 25px;\n height: 25px;\n border: 1px solid #e5e5e5;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n color: #000000;\n transition: all 0.2s ease;\n\n &:hover {\n border-color: #cccccc;\n background: #f8f8f8;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n svg {\n width: 16px;\n height: 16px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./Compact.vue?vue&type=template&id=4d4d0d6b&scoped=true\"\nimport script from \"./Compact.vue?vue&type=script&lang=js\"\nexport * from \"./Compact.vue?vue&type=script&lang=js\"\nimport style0 from \"./Compact.vue?vue&type=style&index=0&id=4d4d0d6b&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d4d0d6b\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[3],{68:function(e,a,t){var i=t(74);i.__esModule&&(i=i.default),"string"==typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);(0,t(5).default)("1e9d45a2",i,!0,{})},73:function(e,a,t){"use strict";t(68)},74:function(e,a,t){(a=t(4)(!1)).push([e.i,".mt-header--minimal .rating{align-items:center;border-bottom:1px solid #eee;display:flex;gap:15px;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.mt-header--minimal .average{color:#6c757d;font-size:26px}.mt-header--minimal .mt-rating__average__sort{width:100%}@media(max-width:580px){.mt-header--minimal .baseado{display:none}}",""]),e.exports=a},81:function(e,a,t){"use strict";t.r(a);var i=t(6),s=t(35),o={props:{starColor:{type:String,default:"#212529"},reviews:{type:Object,default:{list:[],orderRating:null,total:0,average:{one:0,two:0,three:0,four:0,five:0},averageTotal:0}}},name:"header-minimal",components:{Rating:i.a,Sort:s.a},computed:{i19basedOn$1Reviews:()=>"Baseado em $1 avaliações",i19basedOn$1Review:()=>"Baseado em $1 avaliação",i19noReview:()=>"Nenhuma avaliação"},methods:{updateOrderBy:({rating:e})=>(void 0).$emit("updateOrderByAverage",{rating:e}),onSort(e){this.$emit("onSort",e)}}},r=(t(73),t(2)),n=Object(r.a)(o,(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"mt-header--minimal"},[t("div",{staticClass:"rating"},[t("div",{staticStyle:{display:"flex","align-items":"center",gap:"10px"}},[t("rating",{attrs:{color:e.starColor,rating:e.reviews.averageTotal}}),e.reviews.averageTotal>0?t("span",{staticClass:"average"},[e._v(" "+e._s(e.reviews.averageTotal)+" "),t("span",{staticClass:"baseado",staticStyle:{"font-size":"10px",opacity:"0.8"}},[e._v("("+e._s(e.reviews.total>1?e.i19basedOn$1Reviews.replace("$1",e.reviews.total):e.i19basedOn$1Review.replace("$1",e.reviews.total))+")")])]):t("span",{staticClass:"average"},[e._v(" "+e._s(e.reviews.averageTotal)+" "),t("span",{staticClass:"baseado",staticStyle:{"font-size":"10px",opacity:"0.8"}},[e._v("("+e._s(e.i19noReview)+")")])])],1),t("Sort",{on:{onSort:e.onSort}})],1)])}),[],!1,null,null,null);a.default=n.exports}}]);
|
|
1
|
+
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[3],{29:function(t,e,r){var a=r(33);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("5a552598",a,!0,{})},30:function(t,e,r){"use strict";var a={name:"Rating",props:{rating:{type:Number,default:5},color:{type:String,default:"#000000"}},data:()=>({stars:Array(5).fill(0)}),mounted(){this.updateStars()},methods:{updateStars(){const t=Math.max(0,Math.min(5,this.rating));this.stars=Array(5).fill(0).map((e,r)=>t>=r+1?1:t>r?.5:0)},getStarClass:t=>1===t?"icon-tabler-star-filled":.5===t?"icon-tabler-star-half":"icon-tabler-star",getStarFill:(t,e)=>1===t?"currentColor":.5===t?`url(#gradient-${e})`:"none"},watch:{rating:"updateStars"}},o=(r(32),r(3)),n=Object(o.a)(a,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("span",{staticClass:"martan-rating"},t._l(t.stars,(function(e,a){return r("svg",{key:a,staticClass:"icon icon-tabler",class:t.getStarClass(e),style:{color:t.color},attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}},[.5===e?r("defs",[r("linearGradient",{attrs:{id:"gradient-"+a,x1:"0%",y1:"0%",x2:"100%",y2:"0%"}},[r("stop",{style:"stop-color:"+t.color+";stop-opacity:1",attrs:{offset:"50%"}}),r("stop",{style:"stop-color:"+t.color+";stop-opacity:0",attrs:{offset:"50%"}})],1)],1):t._e(),r("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),r("path",{attrs:{d:"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z",fill:t.getStarFill(e,a)}})])})),0)}),[],!1,null,null,null);e.a=n.exports},31:function(t,e,r){var a=r(39);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("8c4908ae",a,!0,{})},32:function(t,e,r){"use strict";r(29)},33:function(t,e,r){(e=r(8)(!1)).push([t.i,".martan-rating{display:flex;gap:4px}",""]),t.exports=e},38:function(t,e,r){"use strict";r(31)},39:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-rating-breakdown[data-v-121d360c]{display:flex;flex-direction:column;width:100%}.mrtn-rating-row[data-v-121d360c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;position:relative;transition:all .2s ease}.mrtn-rating-row--active[data-v-121d360c],.mrtn-rating-row[data-v-121d360c]:hover{background:var(--hover-color)}.mrtn-rating-row--active[data-v-121d360c]{box-shadow:0 0 0 2px var(--hover-color);transform:scale(1.02);z-index:10}.mrtn-rating-breakdown--has-active .mrtn-rating-row[data-v-121d360c]:not(.mrtn-rating-row--active){filter:grayscale(.8);opacity:.4}.mrtn-rating-stars[data-v-121d360c]{display:flex;gap:2px;min-width:80px}.mrtn-rating-star[data-v-121d360c]{color:#e5e5e5;font-size:14px}.mrtn-rating-star--filled[data-v-121d360c]{color:#000}.mrtn-rating-bar[data-v-121d360c]{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden;position:relative;transition:all .2s ease}.mrtn-rating-bar__fill[data-v-121d360c]{border-radius:4px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-121d360c]{color:#666;font-size:12px;min-width:40px;text-align:right}",""]),t.exports=e},40:function(t,e,r){var a=r(49);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("a1278eac",a,!0,{})},41:function(t,e,r){"use strict";var a=r(4),o=r(30),n=r(10),i={name:"RatingBreakdown",props:{...a.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},totalRating:{type:Number,default:0},average:{type:Number,default:0}},data:()=>({currentActive:null}),computed:{ratingBreakdown(){return{5:this.rating.five,4:this.rating.four,3:this.rating.three,2:this.rating.two,1:this.rating.one}},houverColor(){return this.config.widget_review.star_color?Object(n.a)(this.config.widget_review.star_color,.9):null}},methods:{lightenColor:n.a,getBarWidth(t){return 0===this.totalRating?0:t/this.totalRating*100},selectRating(t){this.currentActive===t?this.currentActive=null:this.currentActive=t,this.$emit("rating-selected",this.currentActive)}},components:{Rating:o.a}},s=(r(38),r(3)),l=Object(s.a)(i,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"mrtn-rating-breakdown",class:{"mrtn-rating-breakdown--has-active":null!==t.currentActive},style:"--hover-color: "+t.houverColor},t._l(t.ratingBreakdown,(function(e,a){return r("div",{key:a,staticClass:"mrtn-rating-row",class:{"mrtn-rating-row--active":t.currentActive===a},on:{click:function(e){return t.selectRating(a)}}},[r("div",{staticClass:"mrtn-rating-stars"},[r("Rating",{attrs:{rating:parseInt(a),color:t.config.widget_review.star_color}})],1),r("div",{staticClass:"mrtn-rating-bar"},[r("div",{staticClass:"mrtn-rating-bar__fill",style:{width:t.getBarWidth(e)+"%",backgroundColor:t.config.widget_review.star_color}})]),r("span",{staticClass:"mrtn-rating-count"},[t._v("("+t._s(e)+")")])])})),0)}),[],!1,null,"121d360c",null);e.a=l.exports},48:function(t,e,r){"use strict";r(40)},49:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-sort-dropdown[data-v-2b3eeb35]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-top:8px;min-width:200px;padding:16px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-sort-dropdown__header[data-v-2b3eeb35]{margin-bottom:12px}.mrtn-sort-dropdown__title[data-v-2b3eeb35]{color:#000;font-size:16px;font-weight:600;margin:0}.mrtn-sort-dropdown__options[data-v-2b3eeb35]{display:flex;flex-direction:column;gap:4px}.mrtn-sort-option[data-v-2b3eeb35]{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.mrtn-sort-option[data-v-2b3eeb35]:hover{background:#f8f8f8}.mrtn-sort-option--active[data-v-2b3eeb35]{background:#f0f0f0}.mrtn-sort-option__text[data-v-2b3eeb35]{color:#000;font-size:14px;font-weight:400}.mrtn-sort-option__check[data-v-2b3eeb35]{color:#000;flex-shrink:0}.mrtn-sort-dropdown__footer[data-v-2b3eeb35]{margin-top:12px;text-align:right}.mrtn-sort-dropdown__powered[data-v-2b3eeb35]{color:#999;font-size:11px}",""]),t.exports=e},50:function(t,e,r){"use strict";var a={name:"SortDropdown",props:{visible:{type:Boolean,default:!1},currentSort:{type:String,default:"most_recent"}},data:()=>({sortOptions:[{value:"most_recent",label:"Recentes"},{value:"most_voted",label:"Mais úteis"},{value:"most_positive",label:"Positivas"},{value:"most_negative",label:"Negativas"}]}),mounted(){this.addClickOutsideListener()},beforeDestroy(){this.removeClickOutsideListener()},watch:{visible(t){t?this.$nextTick(()=>{this.addClickOutsideListener()}):this.removeClickOutsideListener()}},methods:{selectSort(t){this.$emit("sort-selected",t)},addClickOutsideListener(){document.addEventListener("click",this.handleClickOutside)},removeClickOutsideListener(){document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(t){this.visible&&(t.target&&t.target.classList&&t.target.classList.contains("mrtn-filter-btn")&&"svg"!==t.target.nodeName&&"SVG"!==t.target.nodeName||this.$refs.dropdown&&!this.$refs.dropdown.contains(t.target)&&this.$emit("close"))}}},o=(r(48),r(3)),n=Object(o.a)(a,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return t.visible?r("div",{ref:"dropdown",staticClass:"mrtn-sort-dropdown"},[t._m(0),r("div",{staticClass:"mrtn-sort-dropdown__options"},t._l(t.sortOptions,(function(e){return r("div",{key:e.value,staticClass:"mrtn-sort-option",class:{"mrtn-sort-option--active":t.currentSort===e.value},on:{click:function(r){return t.selectSort(e.value)}}},[r("span",{staticClass:"mrtn-sort-option__text"},[t._v(t._s(e.label))]),t.currentSort===e.value?r("svg",{staticClass:"mrtn-sort-option__check",attrs:{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"}},[r("path",{attrs:{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})]):t._e()])})),0),t._m(1)]):t._e()}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"mrtn-sort-dropdown__header"},[e("h3",{staticClass:"mrtn-sort-dropdown__title"},[this._v("Ordenar por")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"mrtn-sort-dropdown__footer"},[e("span",{staticClass:"mrtn-sort-dropdown__powered"},[this._v("Powered by MARTAN.app")])])}],!1,null,"2b3eeb35",null);e.a=n.exports},56:function(t,e,r){var a=r(75);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("23c55671",a,!0,{})},57:function(t,e,r){var a=r(77);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);(0,r(9).default)("1bbba03d",a,!0,{})},74:function(t,e,r){"use strict";r(56)},75:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-header--center .mrtn-rating-breakdown{max-width:520px;width:100%}",""]),t.exports=e},76:function(t,e,r){"use strict";r(57)},77:function(t,e,r){(e=r(8)(!1)).push([t.i,".mrtn-filter-container[data-v-3eefd51d]{position:relative}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]{background:transparent;border:none;color:#000;cursor:pointer;transition:all .2s ease}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]:hover{color:#666}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]:active{transform:scale(.95)}.mrtn-header--center[data-v-3eefd51d]{align-items:center;background:#fff;display:flex;flex-direction:column;gap:12px;position:relative}.mrtn-header__main[data-v-3eefd51d]{align-items:center;display:flex;gap:16px;justify-content:center;max-width:320px;width:100%}.mrtn-average-section[data-v-3eefd51d]{align-items:center;display:flex;gap:12px}.mrtn-average-icon[data-v-3eefd51d]{align-items:center;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.mrtn-average-info[data-v-3eefd51d]{align-items:flex-start;display:flex;flex-direction:column}.mrtn-average-score[data-v-3eefd51d]{color:#000;font-size:32px;font-weight:700;line-height:1}.mrtn-total-reviews[data-v-3eefd51d]{color:#666;font-size:14px;margin-top:4px}.mrtn-dropdown-toggle[data-v-3eefd51d]{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#000;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.mrtn-dropdown-toggle[data-v-3eefd51d]:hover{background:#f8f8f8;border-color:#ccc}.mrtn-dropdown-toggle[data-v-3eefd51d]:active{transform:scale(.95)}.mrtn-dropdown-toggle svg[data-v-3eefd51d]{height:12px;width:12px}",""]),t.exports=e},93:function(t,e,r){"use strict";r.r(e);var a=r(41),o=r(50),n=r(4),i=r(10),s={name:"Center",components:{RatingBreakdown:a.a,SortDropdown:o.a},props:{...n.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},recommended:{type:Number,default:0},average:{type:Number,default:0},totalRating:{type:Number,default:0}},data:()=>({showDropdown:!0,showFilter:!1,currentSort:"most_recent",currentActive:null}),computed:{formatReviewsCount(){return this.totalRating>=1e3?(this.totalRating/1e3).toFixed(1).replace(".0","")+"k":this.totalRating.toLocaleString()}},methods:{lightenColor:i.a,toggleDropdown(){this.showDropdown=!this.showDropdown},onRatingSelected(t){this.currentActive===t?(this.currentActive=null,this.$emit("rating-selected",null)):(this.currentActive=t,this.$emit("rating-selected",t))},onSortSelected(t){this.currentSort=t,this.showFilter=!1,this.$emit("sort-selected",t)},toggleFilter(){this.showFilter=!this.showFilter,this.$emit("filter-toggle",this.showFilter)}}},l=(r(74),r(76),r(3)),d=Object(l.a)(s,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"mrtn-header--center"},[r("div",{staticClass:"mrtn-header__main"},[r("div",{staticClass:"mrtn-average-section"},[r("div",{staticClass:"mrtn-average-icon",style:{backgroundColor:t.lightenColor(t.config.widget_review.star_color,.8)}},[r("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",stroke:t.config.widget_review.star_color,fill:t.average>0?t.config.widget_review.star_color:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[r("defs",[r("linearGradient",{attrs:{id:"starGradient"+t.average}},[r("stop",{attrs:{offset:"0%","stop-color":t.config.widget_review.star_color}}),r("stop",{attrs:{offset:(t.average<5?t.average-1:t.average)/5*100+"%","stop-color":t.config.widget_review.star_color}}),r("stop",{attrs:{offset:(t.average<5?t.average-1:t.average)/5*100+"%","stop-color":"transparent"}}),r("stop",{attrs:{offset:"100%","stop-color":"transparent"}})],1)],1),r("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),r("path",{attrs:{d:"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z",fill:"url(#starGradient"+t.average+")"}})])]),r("div",{staticClass:"mrtn-average-info"},[r("span",{staticClass:"mrtn-average-score"},[t._v(t._s(t.average.toFixed(1)))]),r("span",{staticClass:"mrtn-total-reviews"},[t._v(t._s(t.formatReviewsCount)+" Avaliações")])])])]),r("RatingBreakdown",{attrs:{config:t.config,rating:t.rating,"total-rating":t.totalRating,"current-active":t.currentActive},on:{"rating-selected":t.onRatingSelected}}),r("div",{staticClass:"mrtn-filter-container"},[r("button",{staticClass:"mrtn-filter-btn",on:{click:t.toggleFilter}},[t._v(" Ordenar por ")]),r("SortDropdown",{attrs:{visible:t.showFilter,"current-sort":t.currentSort},on:{"sort-selected":t.onSortSelected,close:function(e){t.showFilter=!1}}})],1)],1)}),[],!1,null,"3eefd51d",null);e.default=d.exports}}]);
|
|
2
2
|
//# sourceMappingURL=widget-martan.3.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue?f619","webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue?eafd","webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue?6064","webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue?6108","webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue?e1c6","webpack://widgetMartan/src/widgets/reviews/HeaderMinimal.vue","webpack://widgetMartan/./src/widgets/reviews/HeaderMinimal.vue"],"names":["content","__esModule","default","module","i","locals","exports","add","___CSS_LOADER_API_IMPORT___","push","props","starColor","type","String","reviews","Object","list","orderRating","total","average","one","two","three","four","five","averageTotal","name","components","Rating","Sort","computed","i19basedOn$1Reviews","i19basedOn$1Review","i19noReview","methods","updateOrderBy","rating","$emit","onSort","value","component","_vm","this","_h","$createElement","_c","_self","staticClass","staticStyle","attrs","_v","_s","replace","on"],"mappings":"oGAGA,IAAIA,EAAU,EAAQ,IACnBA,EAAQC,aAAYD,EAAUA,EAAQE,SACnB,iBAAZF,IAAsBA,EAAU,CAAC,CAACG,EAAOC,EAAIJ,EAAS,MAC7DA,EAAQK,SAAQF,EAAOG,QAAUN,EAAQK,SAG/BE,EADH,EAAQ,GAAwEL,SACzE,WAAYF,GAAS,EAAM,K,gCCT5C,O,oBCEAM,EADkC,EAAQ,EAChCE,EAA4B,IAE9BC,KAAK,CAACN,EAAOC,EAAI,gWAAiW,KAE1XD,EAAOG,QAAUA,G,uCCNjB,I,eCA8M,ECiC/L,CACfI,MAAA,CACAC,UAAA,CACAC,KAAAC,OACAX,QAAA,WAGAY,QAAA,CACAF,KAAAG,OACAb,QAAA,CACAc,KAAA,GACAC,YAAA,KACAC,MAAA,EACAC,QAAA,CACAC,IAAA,EACAC,IAAA,EACAC,MAAA,EACAC,KAAA,EACAC,KAAA,GAEAC,aAAA,KAKAC,KAAA,iBAEAC,WAAA,CACAC,WACAC,UAGAC,SAAA,CACAC,wBAAA,2BACAC,uBAAA,0BACAC,gBAAA,qBAGAC,QAAA,CACAC,gBAAAC,kBACA,GAAAC,MAAA,wBAAAD,WAEAE,OAAAC,GACA,KAAAF,MAAA,SAAAE,M,eCpEIC,EAAY,YACd,GHTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACG,YAAY,CAAC,QAAU,OAAO,cAAc,SAAS,IAAM,SAAS,CAACH,EAAG,SAAS,CAACI,MAAM,CAAC,MAAQR,EAAI9B,UAAU,OAAS8B,EAAI3B,QAAQW,gBAAiBgB,EAAI3B,QAAQW,aAAe,EAAGoB,EAAG,OAAO,CAACE,YAAY,WAAW,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI3B,QAAQW,cAAc,KAAKoB,EAAG,OAAO,CAACE,YAAY,UAAUC,YAAY,CAAC,YAAY,OAAO,QAAU,QAAQ,CAACP,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI3B,QAAQI,MAAQ,EAAIuB,EAAIV,oBAAoBqB,QAAQ,KAAMX,EAAI3B,QAAQI,OAASuB,EAAIT,mBAAmBoB,QAAQ,KAAMX,EAAI3B,QAAQI,QAAQ,SAAS2B,EAAG,OAAO,CAACE,YAAY,WAAW,CAACN,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAI3B,QAAQW,cAAc,KAAKoB,EAAG,OAAO,CAACE,YAAY,UAAUC,YAAY,CAAC,YAAY,OAAO,QAAU,QAAQ,CAACP,EAAIS,GAAG,IAAIT,EAAIU,GAAGV,EAAIR,aAAa,UAAU,GAAGY,EAAG,OAAO,CAACQ,GAAG,CAAC,OAASZ,EAAIH,WAAW,OACn6B,IGWpB,EACA,KACA,KACA,MAIa,UAAAE,E","file":"widget-martan.3.min.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMinimal.vue?vue&type=style&index=0&id=184fe94f&prod&lang=scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1e9d45a2\", content, true, {});","export * from \"-!../../../../../node_modules/vue-style-loader/index.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMinimal.vue?vue&type=style&index=0&id=184fe94f&prod&lang=scss\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mt-header--minimal .rating{align-items:center;border-bottom:1px solid #eee;display:flex;gap:15px;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.mt-header--minimal .average{color:#6c757d;font-size:26px}.mt-header--minimal .mt-rating__average__sort{width:100%}@media(max-width:580px){.mt-header--minimal .baseado{display:none}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mt-header--minimal\"},[_c('div',{staticClass:\"rating\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"gap\":\"10px\"}},[_c('rating',{attrs:{\"color\":_vm.starColor,\"rating\":_vm.reviews.averageTotal}}),(_vm.reviews.averageTotal > 0)?_c('span',{staticClass:\"average\"},[_vm._v(\" \"+_vm._s(_vm.reviews.averageTotal)+\" \"),_c('span',{staticClass:\"baseado\",staticStyle:{\"font-size\":\"10px\",\"opacity\":\"0.8\"}},[_vm._v(\"(\"+_vm._s(_vm.reviews.total > 1 ? _vm.i19basedOn$1Reviews.replace(\"$1\", _vm.reviews.total) : _vm.i19basedOn$1Review.replace(\"$1\", _vm.reviews.total))+\")\")])]):_c('span',{staticClass:\"average\"},[_vm._v(\" \"+_vm._s(_vm.reviews.averageTotal)+\" \"),_c('span',{staticClass:\"baseado\",staticStyle:{\"font-size\":\"10px\",\"opacity\":\"0.8\"}},[_vm._v(\"(\"+_vm._s(_vm.i19noReview)+\")\")])])],1),_c('Sort',{on:{\"onSort\":_vm.onSort}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMinimal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMinimal.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mt-header--minimal\">\n <div class=\"rating\">\n <div style=\"display: flex; align-items: center; gap: 10px\">\n <rating :color=\"starColor\" :rating=\"reviews.averageTotal\" />\n\n <span class=\"average\" v-if=\"reviews.averageTotal > 0\">\n {{ reviews.averageTotal }}\n <span class=\"baseado\" style=\"font-size: 10px; opacity: 0.8\"\n >({{\n reviews.total > 1\n ? i19basedOn$1Reviews.replace(\"$1\", reviews.total)\n : i19basedOn$1Review.replace(\"$1\", reviews.total)\n }})</span\n ></span\n >\n <span class=\"average\" v-else>\n {{ reviews.averageTotal }}\n <span class=\"baseado\" style=\"font-size: 10px; opacity: 0.8\"\n >({{ i19noReview }})</span\n ></span\n >\n </div>\n\n <Sort @onSort=\"onSort\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Rating from \"../snippets/Rating.vue\";\nimport Sort from \"./Sort.vue\";\n\nexport default {\n props: {\n starColor: {\n type: String,\n default: \"#212529\",\n },\n\n reviews: {\n type: Object,\n default: {\n list: [],\n orderRating: null,\n total: 0,\n average: {\n one: 0,\n two: 0,\n three: 0,\n four: 0,\n five: 0,\n },\n averageTotal: 0,\n },\n },\n },\n\n name: \"header-minimal\",\n\n components: {\n Rating,\n Sort,\n },\n\n computed: {\n i19basedOn$1Reviews: () => \"Baseado em $1 avaliações\",\n i19basedOn$1Review: () => \"Baseado em $1 avaliação\",\n i19noReview: () => \"Nenhuma avaliação\",\n },\n\n methods: {\n updateOrderBy: ({ rating }) =>\n this.$emit(\"updateOrderByAverage\", { rating }),\n\n onSort(value) {\n this.$emit(\"onSort\", value);\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n.mt-header--minimal {\n .rating {\n display: flex;\n align-items: center;\n gap: 15px;\n border-bottom: 1px solid #eee;\n justify-content: space-between;\n margin-bottom: 10px;\n padding-bottom: 10px;\n }\n\n .average {\n font-size: 26px;\n color: #6c757d;\n }\n\n .mt-rating__average__sort {\n width: 100%;\n }\n\n .baseado {\n @media (max-width: 580px) {\n display: none;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./HeaderMinimal.vue?vue&type=template&id=184fe94f\"\nimport script from \"./HeaderMinimal.vue?vue&type=script&lang=js\"\nexport * from \"./HeaderMinimal.vue?vue&type=script&lang=js\"\nimport style0 from \"./HeaderMinimal.vue?vue&type=style&index=0&id=184fe94f&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?c507","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?ab9f","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?03a2","webpack://widgetMartan/src/widgets/reviews/components/Rating.vue","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?c0f1","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?2ff4","webpack://widgetMartan/./src/widgets/reviews/components/Rating.vue?0e4b","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?b1e0","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?0822","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?bccc","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?e347","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue?1232","webpack://widgetMartan/src/widgets/reviews/components/RatingBreakdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/RatingBreakdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?c1e6","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?3dca","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?a8fb","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue?3555","webpack://widgetMartan/src/widgets/reviews/components/SortDropdown.vue","webpack://widgetMartan/./src/widgets/reviews/components/SortDropdown.vue","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?4334","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?467d","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?16bb","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?da56","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?845e","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?eb34","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?d97b","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue?8b8b","webpack://widgetMartan/src/widgets/reviews/headers/Center.vue","webpack://widgetMartan/./src/widgets/reviews/headers/Center.vue"],"names":["content","__esModule","default","module","i","locals","exports","add","name","props","rating","type","Number","color","String","data","stars","Array","fill","mounted","updateStars","methods","Math","max","min","map","_","index","getStarClass","star","getStarFill","watch","component","_vm","this","_h","$createElement","_c","_self","staticClass","_l","key","class","style","attrs","_e","___CSS_LOADER_API_IMPORT___","push","configProp","Object","five","four","three","two","one","totalRating","average","currentActive","computed","ratingBreakdown","houverColor","config","widget_review","star_color","lightenColor","getBarWidth","count","selectRating","$emit","components","Rating","on","$event","parseInt","width","backgroundColor","_v","_s","visible","Boolean","currentSort","sortOptions","value","label","addClickOutsideListener","beforeDestroy","removeClickOutsideListener","newValue","$nextTick","selectSort","sortValue","document","addEventListener","handleClickOutside","removeEventListener","event","target","classList","contains","nodeName","$refs","dropdown","ref","_m","option","RatingBreakdown","SortDropdown","recommended","showDropdown","showFilter","formatReviewsCount","toFixed","replace","toLocaleString","toggleDropdown","onRatingSelected","onSortSelected","toggleFilter"],"mappings":"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","file":"widget-martan.3.min.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5a552598\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"martan-rating\"},_vm._l((_vm.stars),function(star,index){return _c('svg',{key:index,staticClass:\"icon icon-tabler\",class:_vm.getStarClass(star),style:({ color: _vm.color }),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"14\",\"height\":\"14\",\"viewBox\":\"0 0 24 24\",\"stroke-width\":\"2\",\"stroke\":\"currentColor\",\"fill\":\"none\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[(star === 0.5)?_c('defs',[_c('linearGradient',{attrs:{\"id\":(\"gradient-\" + index),\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":\"100%\",\"y2\":\"0%\"}},[_c('stop',{style:((\"stop-color:\" + _vm.color + \";stop-opacity:1\")),attrs:{\"offset\":\"50%\"}}),_c('stop',{style:((\"stop-color:\" + _vm.color + \";stop-opacity:0\")),attrs:{\"offset\":\"50%\"}})],1)],1):_vm._e(),_c('path',{attrs:{\"stroke\":\"none\",\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\",\"fill\":_vm.getStarFill(star, index)}})])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=script&lang=js\"","<template>\n <span class=\"martan-rating\">\n <svg\n v-for=\"(star, index) in stars\"\n :key=\"index\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"icon icon-tabler\"\n :class=\"getStarClass(star)\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n fill=\"none\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n :style=\"{ color }\"\n >\n <defs v-if=\"star === 0.5\">\n <linearGradient :id=\"`gradient-${index}`\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"50%\" :style=\"`stop-color:${color};stop-opacity:1`\" />\n <stop offset=\"50%\" :style=\"`stop-color:${color};stop-opacity:0`\" />\n </linearGradient>\n </defs>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\"\n :fill=\"getStarFill(star, index)\" />\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'Rating',\n\n props: {\n rating: {\n type: Number,\n default: 5\n },\n\n color: {\n type: String,\n default: \"#000000\"\n },\n },\n\n data() {\n return {\n stars: Array(5).fill(0)\n };\n },\n\n mounted() {\n this.updateStars();\n },\n\n methods: {\n updateStars() {\n const rating = Math.max(0, Math.min(5, this.rating));\n this.stars = Array(5).fill(0).map((_, index) => {\n const starPosition = index + 1;\n if (rating >= starPosition) {\n return 1;\n } else if (rating > index) {\n return 0.5;\n } else {\n return 0;\n }\n });\n },\n\n getStarClass(star) {\n if (star === 1) {\n return 'icon-tabler-star-filled';\n } else if (star === 0.5) {\n return 'icon-tabler-star-half';\n } else {\n return 'icon-tabler-star';\n }\n },\n\n getStarFill(star, index) {\n if (star === 1) {\n return 'currentColor';\n } else if (star === 0.5) {\n return `url(#gradient-${index})`;\n } else {\n return 'none';\n }\n }\n },\n\n watch: {\n rating: 'updateStars'\n }\n};\n</script>\n\n<style lang=\"css\">\n.martan-rating {\n display: flex;\n gap: 4px;\n}\n</style>\n","import { render, staticRenderFns } from \"./Rating.vue?vue&type=template&id=39af319e\"\nimport script from \"./Rating.vue?vue&type=script&lang=js\"\nexport * from \"./Rating.vue?vue&type=script&lang=js\"\nimport style0 from \"./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"8c4908ae\", content, true, {});","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rating.vue?vue&type=style&index=0&id=39af319e&prod&lang=css\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".martan-rating{display:flex;gap:4px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-rating-breakdown[data-v-121d360c]{display:flex;flex-direction:column;width:100%}.mrtn-rating-row[data-v-121d360c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;position:relative;transition:all .2s ease}.mrtn-rating-row--active[data-v-121d360c],.mrtn-rating-row[data-v-121d360c]:hover{background:var(--hover-color)}.mrtn-rating-row--active[data-v-121d360c]{box-shadow:0 0 0 2px var(--hover-color);transform:scale(1.02);z-index:10}.mrtn-rating-breakdown--has-active .mrtn-rating-row[data-v-121d360c]:not(.mrtn-rating-row--active){filter:grayscale(.8);opacity:.4}.mrtn-rating-stars[data-v-121d360c]{display:flex;gap:2px;min-width:80px}.mrtn-rating-star[data-v-121d360c]{color:#e5e5e5;font-size:14px}.mrtn-rating-star--filled[data-v-121d360c]{color:#000}.mrtn-rating-bar[data-v-121d360c]{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden;position:relative;transition:all .2s ease}.mrtn-rating-bar__fill[data-v-121d360c]{border-radius:4px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-121d360c]{color:#666;font-size:12px;min-width:40px;text-align:right}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"a1278eac\", content, true, {});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-rating-breakdown\",class:{ 'mrtn-rating-breakdown--has-active': _vm.currentActive !== null },style:('--hover-color: ' + _vm.houverColor)},_vm._l((_vm.ratingBreakdown),function(count,stars){return _c('div',{key:stars,staticClass:\"mrtn-rating-row\",class:{ 'mrtn-rating-row--active': _vm.currentActive === stars },on:{\"click\":function($event){return _vm.selectRating(stars)}}},[_c('div',{staticClass:\"mrtn-rating-stars\"},[_c('Rating',{attrs:{\"rating\":parseInt(stars),\"color\":_vm.config.widget_review.star_color}})],1),_c('div',{staticClass:\"mrtn-rating-bar\"},[_c('div',{staticClass:\"mrtn-rating-bar__fill\",style:({\n width: _vm.getBarWidth(count) + '%',\n backgroundColor: _vm.config.widget_review.star_color\n })})]),_c('span',{staticClass:\"mrtn-rating-count\"},[_vm._v(\"(\"+_vm._s(count)+\")\")])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RatingBreakdown.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mrtn-rating-breakdown\" :style=\"'--hover-color: ' + houverColor\" :class=\"{ 'mrtn-rating-breakdown--has-active': currentActive !== null }\">\n <div v-for=\"(count, stars) in ratingBreakdown\" :key=\"stars\" class=\"mrtn-rating-row\"\n :class=\"{ 'mrtn-rating-row--active': currentActive === stars }\" @click=\"selectRating(stars)\">\n <div class=\"mrtn-rating-stars\">\n <Rating :rating=\"parseInt(stars)\" :color=\"config.widget_review.star_color\" />\n </div>\n\n <div class=\"mrtn-rating-bar\">\n <div class=\"mrtn-rating-bar__fill\" :style=\"{\n width: getBarWidth(count) + '%',\n backgroundColor: config.widget_review.star_color\n }\"></div>\n </div>\n\n <span class=\"mrtn-rating-count\">({{ count }})</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { configProp } from \"../../../utils/configProps\";\nimport Rating from \"./Rating.vue\";\nimport { lightenColor } from \"../../../utils/lighten-color\";\n\nexport default {\n name: 'RatingBreakdown',\n\n props: {\n ...configProp,\n rating: {\n type: Object,\n default: () => ({\n five: 0,\n four: 0,\n three: 0,\n two: 0,\n one: 0\n })\n },\n\n totalRating: {\n type: Number,\n default: 0\n },\n\n\n average: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n currentActive: null\n }\n },\n\n computed: {\n ratingBreakdown() {\n return {\n 5: this.rating.five,\n 4: this.rating.four,\n 3: this.rating.three,\n 2: this.rating.two,\n 1: this.rating.one\n }\n },\n\n houverColor() {\n if (!this.config.widget_review.star_color) return null\n return lightenColor(this.config.widget_review.star_color, 0.9)\n }\n },\n\n methods: {\n lightenColor,\n getBarWidth(count) {\n if (this.totalRating === 0) return 0\n return (count / this.totalRating) * 100\n },\n\n selectRating(rating) {\n if (this.currentActive === rating) {\n this.currentActive = null\n } else {\n this.currentActive = rating\n }\n this.$emit('rating-selected', this.currentActive)\n }\n },\n\n components: {\n Rating\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-rating-breakdown {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.mrtn-rating-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s ease;\n position: relative;\n\n &:hover {\n background: var(--hover-color);\n }\n\n &--active {\n background: var(--hover-color);\n box-shadow: 0 0 0 2px var(--hover-color);\n transform: scale(1.02);\n z-index: 10;\n }\n}\n\n.mrtn-rating-breakdown--has-active .mrtn-rating-row:not(.mrtn-rating-row--active) {\n opacity: 0.4;\n filter: grayscale(0.8);\n}\n\n.mrtn-rating-stars {\n display: flex;\n gap: 2px;\n min-width: 80px;\n}\n\n.mrtn-rating-star {\n font-size: 14px;\n color: #e5e5e5;\n\n &--filled {\n color: #000000;\n }\n}\n\n.mrtn-rating-bar {\n flex: 1;\n height: 8px;\n background: #f0f0f0;\n border-radius: 4px;\n overflow: hidden;\n position: relative;\n transition: all 0.2s ease;\n}\n\n.mrtn-rating-bar__fill {\n height: 100%;\n border-radius: 4px;\n transition: width 0.3s ease;\n}\n\n.mrtn-rating-count {\n font-size: 12px;\n color: #666666;\n min-width: 40px;\n text-align: right;\n}\n</style>\n","import { render, staticRenderFns } from \"./RatingBreakdown.vue?vue&type=template&id=121d360c&scoped=true\"\nimport script from \"./RatingBreakdown.vue?vue&type=script&lang=js\"\nexport * from \"./RatingBreakdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./RatingBreakdown.vue?vue&type=style&index=0&id=121d360c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121d360c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-sort-dropdown[data-v-2b3eeb35]{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-top:8px;min-width:200px;padding:16px;position:absolute;right:0;top:100%;z-index:1000}.mrtn-sort-dropdown__header[data-v-2b3eeb35]{margin-bottom:12px}.mrtn-sort-dropdown__title[data-v-2b3eeb35]{color:#000;font-size:16px;font-weight:600;margin:0}.mrtn-sort-dropdown__options[data-v-2b3eeb35]{display:flex;flex-direction:column;gap:4px}.mrtn-sort-option[data-v-2b3eeb35]{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:background-color .2s ease}.mrtn-sort-option[data-v-2b3eeb35]:hover{background:#f8f8f8}.mrtn-sort-option--active[data-v-2b3eeb35]{background:#f0f0f0}.mrtn-sort-option__text[data-v-2b3eeb35]{color:#000;font-size:14px;font-weight:400}.mrtn-sort-option__check[data-v-2b3eeb35]{color:#000;flex-shrink:0}.mrtn-sort-dropdown__footer[data-v-2b3eeb35]{margin-top:12px;text-align:right}.mrtn-sort-dropdown__powered[data-v-2b3eeb35]{color:#999;font-size:11px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{ref:\"dropdown\",staticClass:\"mrtn-sort-dropdown\"},[_vm._m(0),_c('div',{staticClass:\"mrtn-sort-dropdown__options\"},_vm._l((_vm.sortOptions),function(option){return _c('div',{key:option.value,staticClass:\"mrtn-sort-option\",class:{ 'mrtn-sort-option--active': _vm.currentSort === option.value },on:{\"click\":function($event){return _vm.selectSort(option.value)}}},[_c('span',{staticClass:\"mrtn-sort-option__text\"},[_vm._v(_vm._s(option.label))]),(_vm.currentSort === option.value)?_c('svg',{staticClass:\"mrtn-sort-option__check\",attrs:{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M13.5 4.5L6 12L2.5 8.5\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}})]):_vm._e()])}),0),_vm._m(1)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-sort-dropdown__header\"},[_c('h3',{staticClass:\"mrtn-sort-dropdown__title\"},[_vm._v(\"Ordenar por\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-sort-dropdown__footer\"},[_c('span',{staticClass:\"mrtn-sort-dropdown__powered\"},[_vm._v(\"Powered by MARTAN.app\")])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortDropdown.vue?vue&type=script&lang=js\"","<template>\n <div v-if=\"visible\" ref=\"dropdown\" class=\"mrtn-sort-dropdown\">\n <div class=\"mrtn-sort-dropdown__header\">\n <h3 class=\"mrtn-sort-dropdown__title\">Ordenar por</h3>\n </div>\n\n <div class=\"mrtn-sort-dropdown__options\">\n <div\n v-for=\"option in sortOptions\"\n :key=\"option.value\"\n class=\"mrtn-sort-option\"\n :class=\"{ 'mrtn-sort-option--active': currentSort === option.value }\"\n @click=\"selectSort(option.value)\"\n >\n <span class=\"mrtn-sort-option__text\">{{ option.label }}</span>\n <svg\n v-if=\"currentSort === option.value\"\n class=\"mrtn-sort-option__check\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path d=\"M13.5 4.5L6 12L2.5 8.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </div>\n\n <div class=\"mrtn-sort-dropdown__footer\">\n <span class=\"mrtn-sort-dropdown__powered\">Powered by MARTAN.app</span>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'SortDropdown',\n\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n\n currentSort: {\n type: String,\n default: 'most_recent'\n }\n },\n\n data() {\n return {\n sortOptions: [\n { value: 'most_recent', label: 'Recentes' },\n { value: 'most_voted', label: 'Mais úteis' },\n { value: 'most_positive', label: 'Positivas' },\n { value: 'most_negative', label: 'Negativas' }\n ]\n }\n },\n\n mounted() {\n this.addClickOutsideListener()\n },\n\n beforeDestroy() {\n this.removeClickOutsideListener()\n },\n\n watch: {\n visible(newValue) {\n if (newValue) {\n this.$nextTick(() => {\n this.addClickOutsideListener()\n })\n } else {\n this.removeClickOutsideListener()\n }\n }\n },\n\n methods: {\n selectSort(sortValue) {\n this.$emit('sort-selected', sortValue)\n },\n\n addClickOutsideListener() {\n document.addEventListener('click', this.handleClickOutside)\n },\n\n removeClickOutsideListener() {\n document.removeEventListener('click', this.handleClickOutside)\n },\n\n handleClickOutside(event) {\n if (!this.visible) return\n if (\n event.target &&\n event.target.classList &&\n event.target.classList.contains('mrtn-filter-btn') &&\n event.target.nodeName !== 'svg' &&\n event.target.nodeName !== 'SVG'\n ) {\n return\n }\n if (this.$refs.dropdown && !this.$refs.dropdown.contains(event.target)) {\n this.$emit('close')\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mrtn-sort-dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n background: white;\n border: 1px solid #e5e5e5;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n margin-top: 8px;\n padding: 16px;\n min-width: 200px;\n}\n\n.mrtn-sort-dropdown__header {\n margin-bottom: 12px;\n}\n\n.mrtn-sort-dropdown__title {\n font-size: 16px;\n font-weight: 600;\n color: #000000;\n margin: 0;\n}\n\n.mrtn-sort-dropdown__options {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mrtn-sort-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n &:hover {\n background: #f8f8f8;\n }\n\n &--active {\n background: #f0f0f0;\n }\n}\n\n.mrtn-sort-option__text {\n font-size: 14px;\n color: #000000;\n font-weight: 400;\n}\n\n.mrtn-sort-option__check {\n color: #000000;\n flex-shrink: 0;\n}\n\n.mrtn-sort-dropdown__footer {\n margin-top: 12px;\n text-align: right;\n}\n\n.mrtn-sort-dropdown__powered {\n font-size: 11px;\n color: #999999;\n}\n</style>\n","import { render, staticRenderFns } from \"./SortDropdown.vue?vue&type=template&id=2b3eeb35&scoped=true\"\nimport script from \"./SortDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./SortDropdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./SortDropdown.vue?vue&type=style&index=0&id=2b3eeb35&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b3eeb35\",\n null\n \n)\n\nexport default component.exports","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=style&index=0&id=3eefd51d&prod&lang=scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"23c55671\", content, true, {});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=style&index=1&id=3eefd51d&prod&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1bbba03d\", content, true, {});","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=style&index=0&id=3eefd51d&prod&lang=scss\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-header--center .mrtn-rating-breakdown{max-width:520px;width:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../../../node_modules/vue-style-loader/index.js!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??ref--2-2!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=style&index=1&id=3eefd51d&prod&lang=scss&scoped=true\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mrtn-filter-container[data-v-3eefd51d]{position:relative}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]{background:transparent;border:none;color:#000;cursor:pointer;transition:all .2s ease}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]:hover{color:#666}.mrtn-filter-container .mrtn-filter-btn[data-v-3eefd51d]:active{transform:scale(.95)}.mrtn-header--center[data-v-3eefd51d]{align-items:center;background:#fff;display:flex;flex-direction:column;gap:12px;position:relative}.mrtn-header__main[data-v-3eefd51d]{align-items:center;display:flex;gap:16px;justify-content:center;max-width:320px;width:100%}.mrtn-average-section[data-v-3eefd51d]{align-items:center;display:flex;gap:12px}.mrtn-average-icon[data-v-3eefd51d]{align-items:center;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.mrtn-average-info[data-v-3eefd51d]{align-items:flex-start;display:flex;flex-direction:column}.mrtn-average-score[data-v-3eefd51d]{color:#000;font-size:32px;font-weight:700;line-height:1}.mrtn-total-reviews[data-v-3eefd51d]{color:#666;font-size:14px;margin-top:4px}.mrtn-dropdown-toggle[data-v-3eefd51d]{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#000;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.mrtn-dropdown-toggle[data-v-3eefd51d]:hover{background:#f8f8f8;border-color:#ccc}.mrtn-dropdown-toggle[data-v-3eefd51d]:active{transform:scale(.95)}.mrtn-dropdown-toggle svg[data-v-3eefd51d]{height:12px;width:12px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mrtn-header--center\"},[_c('div',{staticClass:\"mrtn-header__main\"},[_c('div',{staticClass:\"mrtn-average-section\"},[_c('div',{staticClass:\"mrtn-average-icon\",style:({ backgroundColor: _vm.lightenColor(_vm.config.widget_review.star_color, 0.8) })},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 24 24\",\"stroke\":_vm.config.widget_review.star_color,\"fill\":_vm.average > 0 ? _vm.config.widget_review.star_color : 'none',\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},[_c('defs',[_c('linearGradient',{attrs:{\"id\":'starGradient' + _vm.average}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.config.widget_review.star_color}}),_c('stop',{attrs:{\"offset\":((_vm.average < 5 ? _vm.average - 1 : _vm.average) / 5) *\n 100 +\n '%',\"stop-color\":_vm.config.widget_review.star_color}}),_c('stop',{attrs:{\"offset\":((_vm.average < 5 ? _vm.average - 1 : _vm.average) / 5) *\n 100 +\n '%',\"stop-color\":\"transparent\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"transparent\"}})],1)],1),_c('path',{attrs:{\"stroke\":\"none\",\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\"}}),_c('path',{attrs:{\"d\":\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\",\"fill\":(\"url(#starGradient\" + _vm.average + \")\")}})])]),_c('div',{staticClass:\"mrtn-average-info\"},[_c('span',{staticClass:\"mrtn-average-score\"},[_vm._v(_vm._s(_vm.average.toFixed(1)))]),_c('span',{staticClass:\"mrtn-total-reviews\"},[_vm._v(_vm._s(_vm.formatReviewsCount)+\" Avaliações\")])])])]),_c('RatingBreakdown',{attrs:{\"config\":_vm.config,\"rating\":_vm.rating,\"total-rating\":_vm.totalRating,\"current-active\":_vm.currentActive},on:{\"rating-selected\":_vm.onRatingSelected}}),_c('div',{staticClass:\"mrtn-filter-container\"},[_c('button',{staticClass:\"mrtn-filter-btn\",on:{\"click\":_vm.toggleFilter}},[_vm._v(\" Ordenar por \")]),_c('SortDropdown',{attrs:{\"visible\":_vm.showFilter,\"current-sort\":_vm.currentSort},on:{\"sort-selected\":_vm.onSortSelected,\"close\":function($event){_vm.showFilter = false}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Center.vue?vue&type=script&lang=js\"","<template>\n <div class=\"mrtn-header--center\">\n <div class=\"mrtn-header__main\">\n <div class=\"mrtn-average-section\">\n <div class=\"mrtn-average-icon\" :style=\"{ backgroundColor: lightenColor(config.widget_review.star_color, 0.8) }\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" :stroke=\"config.widget_review.star_color\"\n :fill=\"average > 0 ? config.widget_review.star_color : 'none'\" stroke-width=\"2\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <defs>\n <linearGradient :id=\"'starGradient' + average\">\n <stop offset=\"0%\" :stop-color=\"config.widget_review.star_color\" />\n <stop :offset=\"((average < 5 ? average - 1 : average) / 5) *\n 100 +\n '%'\n \" :stop-color=\"config.widget_review.star_color\" />\n <stop :offset=\"((average < 5 ? average - 1 : average) / 5) *\n 100 +\n '%'\n \" stop-color=\"transparent\" />\n <stop offset=\"100%\" stop-color=\"transparent\" />\n </linearGradient>\n </defs>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z\"\n :fill=\"`url(#starGradient${average})`\" />\n </svg>\n </div>\n <div class=\"mrtn-average-info\">\n <span class=\"mrtn-average-score\">{{ average.toFixed(1) }}</span>\n <span class=\"mrtn-total-reviews\">{{ formatReviewsCount }} Avaliações</span>\n </div>\n </div>\n </div>\n\n <RatingBreakdown :config=\"config\" :rating=\"rating\" :total-rating=\"totalRating\" :current-active=\"currentActive\"\n @rating-selected=\"onRatingSelected\" />\n\n <div class=\"mrtn-filter-container\">\n <button class=\"mrtn-filter-btn\" @click=\"toggleFilter\">\n Ordenar por\n </button>\n\n <SortDropdown :visible=\"showFilter\" :current-sort=\"currentSort\" @sort-selected=\"onSortSelected\" @close=\"showFilter = false\" />\n </div>\n </div>\n</template>\n\n<script>\nimport RatingBreakdown from '../components/RatingBreakdown.vue'\nimport SortDropdown from '../components/SortDropdown.vue'\nimport { configProp } from \"../../../utils/configProps\";\nimport { lightenColor } from \"../../../utils/lighten-color\";\n\nexport default {\n name: 'Center',\n\n components: {\n RatingBreakdown,\n SortDropdown\n },\n\n props: {\n ...configProp,\n\n rating: {\n type: Object,\n default: () => ({\n five: 0,\n four: 0,\n three: 0,\n two: 0,\n one: 0\n })\n },\n\n recommended: {\n type: Number,\n default: 0\n },\n\n average: {\n type: Number,\n default: 0\n },\n\n totalRating: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n showDropdown: true,\n showFilter: false,\n currentSort: 'most_recent',\n currentActive: null\n }\n },\n\n computed: {\n formatReviewsCount() {\n if (this.totalRating >= 1000) {\n return (this.totalRating / 1000).toFixed(1).replace('.0', '') + 'k'\n }\n return this.totalRating.toLocaleString()\n }\n },\n\n methods: {\n lightenColor,\n toggleDropdown() {\n this.showDropdown = !this.showDropdown\n },\n\n onRatingSelected(rating) {\n if (this.currentActive === rating) {\n this.currentActive = null\n this.$emit('rating-selected', null)\n } else {\n this.currentActive = rating\n this.$emit('rating-selected', rating)\n }\n },\n\n onSortSelected(sortValue) {\n this.currentSort = sortValue\n this.showFilter = false\n this.$emit('sort-selected', sortValue)\n },\n\n toggleFilter() {\n this.showFilter = !this.showFilter\n this.$emit('filter-toggle', this.showFilter)\n },\n }\n}\n</script>\n\n<style lang=\"scss\">\n.mrtn-header--center .mrtn-rating-breakdown {\n max-width: 520px;\n width: 100%;\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.mrtn-filter-container {\n position: relative;\n\n .mrtn-filter-btn {\n border: none;\n background: transparent;\n cursor: pointer;\n color: #000000;\n transition: all 0.2s ease;\n\n &:hover {\n color: #666666;\n }\n\n &:active {\n transform: scale(0.95);\n }\n }\n}\n\n.mrtn-header--center {\n display: flex;\n flex-direction: column;\n align-items: center;\n background: white;\n position: relative;\n gap: 12px;\n}\n\n.mrtn-header__main {\n display: flex;\n align-items: center;\n gap: 16px;\n max-width: 320px;\n width: 100%;\n justify-content: center;\n}\n\n.mrtn-average-section {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.mrtn-average-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 8px;\n}\n\n.mrtn-average-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n.mrtn-average-score {\n font-size: 32px;\n font-weight: 700;\n color: #000000;\n line-height: 1;\n}\n\n.mrtn-total-reviews {\n font-size: 14px;\n color: #666666;\n margin-top: 4px;\n}\n\n.mrtn-dropdown-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: 1px solid #e5e5e5;\n border-radius: 6px;\n background: white;\n cursor: pointer;\n color: #000000;\n transition: all 0.2s ease;\n\n &:hover {\n border-color: #cccccc;\n background: #f8f8f8;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n svg {\n width: 12px;\n height: 12px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./Center.vue?vue&type=template&id=3eefd51d&scoped=true\"\nimport script from \"./Center.vue?vue&type=script&lang=js\"\nexport * from \"./Center.vue?vue&type=script&lang=js\"\nimport style0 from \"./Center.vue?vue&type=style&index=0&id=3eefd51d&prod&lang=scss\"\nimport style1 from \"./Center.vue?vue&type=style&index=1&id=3eefd51d&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3eefd51d\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[4],{
|
|
1
|
+
(window.webpackJsonpwidgetMartan=window.webpackJsonpwidgetMartan||[]).push([[4],{29:function(t,a,r){var e=r(33);e.__esModule&&(e=e.default),"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,r(9).default)("5a552598",e,!0,{})},30:function(t,a,r){"use strict";var e={name:"Rating",props:{rating:{type:Number,default:5},color:{type:String,default:"#000000"}},data:()=>({stars:Array(5).fill(0)}),mounted(){this.updateStars()},methods:{updateStars(){const t=Math.max(0,Math.min(5,this.rating));this.stars=Array(5).fill(0).map((a,r)=>t>=r+1?1:t>r?.5:0)},getStarClass:t=>1===t?"icon-tabler-star-filled":.5===t?"icon-tabler-star-half":"icon-tabler-star",getStarFill:(t,a)=>1===t?"currentColor":.5===t?`url(#gradient-${a})`:"none"},watch:{rating:"updateStars"}},i=(r(32),r(3)),n=Object(i.a)(e,(function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("span",{staticClass:"martan-rating"},t._l(t.stars,(function(a,e){return r("svg",{key:e,staticClass:"icon icon-tabler",class:t.getStarClass(a),style:{color:t.color},attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}},[.5===a?r("defs",[r("linearGradient",{attrs:{id:"gradient-"+e,x1:"0%",y1:"0%",x2:"100%",y2:"0%"}},[r("stop",{style:"stop-color:"+t.color+";stop-opacity:1",attrs:{offset:"50%"}}),r("stop",{style:"stop-color:"+t.color+";stop-opacity:0",attrs:{offset:"50%"}})],1)],1):t._e(),r("path",{attrs:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}}),r("path",{attrs:{d:"M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z",fill:t.getStarFill(a,e)}})])})),0)}),[],!1,null,null,null);a.a=n.exports},31:function(t,a,r){var e=r(39);e.__esModule&&(e=e.default),"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,r(9).default)("8c4908ae",e,!0,{})},32:function(t,a,r){"use strict";r(29)},33:function(t,a,r){(a=r(8)(!1)).push([t.i,".martan-rating{display:flex;gap:4px}",""]),t.exports=a},38:function(t,a,r){"use strict";r(31)},39:function(t,a,r){(a=r(8)(!1)).push([t.i,".mrtn-rating-breakdown[data-v-121d360c]{display:flex;flex-direction:column;width:100%}.mrtn-rating-row[data-v-121d360c]{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;position:relative;transition:all .2s ease}.mrtn-rating-row--active[data-v-121d360c],.mrtn-rating-row[data-v-121d360c]:hover{background:var(--hover-color)}.mrtn-rating-row--active[data-v-121d360c]{box-shadow:0 0 0 2px var(--hover-color);transform:scale(1.02);z-index:10}.mrtn-rating-breakdown--has-active .mrtn-rating-row[data-v-121d360c]:not(.mrtn-rating-row--active){filter:grayscale(.8);opacity:.4}.mrtn-rating-stars[data-v-121d360c]{display:flex;gap:2px;min-width:80px}.mrtn-rating-star[data-v-121d360c]{color:#e5e5e5;font-size:14px}.mrtn-rating-star--filled[data-v-121d360c]{color:#000}.mrtn-rating-bar[data-v-121d360c]{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden;position:relative;transition:all .2s ease}.mrtn-rating-bar__fill[data-v-121d360c]{border-radius:4px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-121d360c]{color:#666;font-size:12px;min-width:40px;text-align:right}",""]),t.exports=a},41:function(t,a,r){"use strict";var e=r(4),i=r(30),n=r(10),o={name:"RatingBreakdown",props:{...e.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},totalRating:{type:Number,default:0},average:{type:Number,default:0}},data:()=>({currentActive:null}),computed:{ratingBreakdown(){return{5:this.rating.five,4:this.rating.four,3:this.rating.three,2:this.rating.two,1:this.rating.one}},houverColor(){return this.config.widget_review.star_color?Object(n.a)(this.config.widget_review.star_color,.9):null}},methods:{lightenColor:n.a,getBarWidth(t){return 0===this.totalRating?0:t/this.totalRating*100},selectRating(t){this.currentActive===t?this.currentActive=null:this.currentActive=t,this.$emit("rating-selected",this.currentActive)}},components:{Rating:i.a}},s=(r(38),r(3)),l=Object(s.a)(o,(function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("div",{staticClass:"mrtn-rating-breakdown",class:{"mrtn-rating-breakdown--has-active":null!==t.currentActive},style:"--hover-color: "+t.houverColor},t._l(t.ratingBreakdown,(function(a,e){return r("div",{key:e,staticClass:"mrtn-rating-row",class:{"mrtn-rating-row--active":t.currentActive===e},on:{click:function(a){return t.selectRating(e)}}},[r("div",{staticClass:"mrtn-rating-stars"},[r("Rating",{attrs:{rating:parseInt(e),color:t.config.widget_review.star_color}})],1),r("div",{staticClass:"mrtn-rating-bar"},[r("div",{staticClass:"mrtn-rating-bar__fill",style:{width:t.getBarWidth(a)+"%",backgroundColor:t.config.widget_review.star_color}})]),r("span",{staticClass:"mrtn-rating-count"},[t._v("("+t._s(a)+")")])])})),0)}),[],!1,null,"121d360c",null);a.a=l.exports},58:function(t,a,r){var e=r(79);e.__esModule&&(e=e.default),"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,r(9).default)("1bbb3a2b",e,!0,{})},78:function(t,a,r){"use strict";r(58)},79:function(t,a,r){(a=r(8)(!1)).push([t.i,".mrtn-summary-container[data-v-a03cf414]{align-items:center;display:flex;justify-content:space-between;margin-top:1rem}.mrtn-summary-title[data-v-a03cf414]{margin-bottom:20px}.mrtn-summary-title .mrtn-title[data-v-a03cf414]{color:#000;font-size:24px;font-weight:700;margin:0 0 8px}.mrtn-summary-title .mrtn-total-responses[data-v-a03cf414]{color:#333;font-size:20px;font-weight:300}.mrtn-recommendation[data-v-a03cf414]{color:#666;font-size:16px;font-weight:100}@media(max-width:580px){.mrtn-recommendation[data-v-a03cf414]{font-size:12px}}.mrtn-average-section[data-v-a03cf414]{display:flex;justify-content:center;margin-bottom:16px}.mrtn-average-display[data-v-a03cf414]{gap:12px}.mrtn-average-display[data-v-a03cf414],.mrtn-stars-container[data-v-a03cf414]{align-items:center;display:flex}@media(max-width:580px){.mrtn-stars-container[data-v-a03cf414]{display:none}}.mrtn-average-badge[data-v-a03cf414]{background:#ff6b35;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.mrtn-rating-breakdown[data-v-a03cf414]{display:flex;flex-direction:column;gap:8px}.mrtn-rating-row[data-v-a03cf414]{align-items:center;display:flex;gap:12px;padding:4px 0}.mrtn-rating-label[data-v-a03cf414]{color:#666;font-size:12px;min-width:70px;text-align:left}.mrtn-rating-bar[data-v-a03cf414]{background:#f0f0f0;border-radius:6px;flex:1;height:12px;overflow:hidden;position:relative}.mrtn-rating-bar__fill[data-v-a03cf414]{border-radius:6px;height:100%;transition:width .3s ease}.mrtn-rating-count[data-v-a03cf414]{color:#666;font-size:12px;font-weight:500;min-width:40px;text-align:right}",""]),t.exports=a},94:function(t,a,r){"use strict";r.r(a);var e=r(30),i=r(41),n=r(4),o={name:"Summary",components:{Rating:e.a,RatingBreakdown:i.a},props:{...n.a,rating:{type:Object,default:()=>({five:0,four:0,three:0,two:0,one:0})},recommended:{type:Number,default:0},average:{type:Number,default:0},totalRating:{type:Number,default:0}},data:()=>({currentActive:null}),computed:{ratingBreakdown(){return{5:this.rating.five,4:this.rating.four,3:this.rating.three,2:this.rating.two,1:this.rating.one}},formatReviewsCount(){return this.totalRating>=1e3?(this.totalRating/1e3).toFixed(1).replace(".0","")+"k":this.totalRating.toLocaleString()}},methods:{getBarWidth(t){return 0===this.totalRating?0:t/this.totalRating*100},onRatingSelected(t){this.currentActive=t,this.$emit("rating-selected",t)}}},s=(r(78),r(3)),l=Object(s.a)(o,(function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("div",{staticClass:"mrtn-header--summary"},[r("RatingBreakdown",{attrs:{config:t.config,rating:t.rating,"total-rating":t.totalRating,"current-active":t.currentActive},on:{"rating-selected":t.onRatingSelected}}),r("div",{staticClass:"mrtn-summary-container"},[r("div",{staticClass:"mrtn-summary-title"},[r("div",{staticClass:"mrtn-total-responses"},[t._v(t._s(t.formatReviewsCount)+" "+t._s(this.totalRating>1?"Avaliações":"Avaliação"))]),t.recommended>0?r("div",{staticClass:"mrtn-recommendation"},[t._v(" "+t._s(Math.round(t.recommended))+"% dos clientes recomendam esse produto ")]):t._e()]),r("div",{staticClass:"mrtn-average-section"},[r("div",{staticClass:"mrtn-average-display"},[r("div",{staticClass:"mrtn-stars-container"},[r("Rating",{attrs:{rating:t.average,color:t.config.widget_review.star_color}})],1),r("div",{staticClass:"mrtn-average-badge",style:{backgroundColor:t.config.widget_review.star_color}},[t._v(" "+t._s(t.average.toFixed(1))+" / 5 ")])])])])],1)}),[],!1,null,"a03cf414",null);a.default=l.exports}}]);
|
|
2
2
|
//# sourceMappingURL=widget-martan.4.min.js.map
|