{"version":3,"sources":["webpack:///../jarvis/app/assets/javascripts/site/VControllers/components/Rating/components/RatingStar/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VControllers/components/Rating/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VControllers/Products/HeaderInfo/constants.ts","webpack:///../jarvis/app/assets/javascripts/site/VControllers/Products/HeaderInfo/components/Details/index.tsx"],"names":["RatingStar","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","key","value","_this$props","this","props","_this$props$star","star","fc","firstColor","sc","secondColor","gradientId","concat","uuidV4","offset","h","viewBox","fill","xmlns","id","d","Component","Rating","reviewsCount","_this$props$size","size","_this$props$className","className","_this$props$starsClas","starsClassName","fullStars","Math","floor","emptyStars","partStar","htmlClassNames","_toConsumableArray","Array","map","toFixed","preferredDetails","createScope","Details","_this","handleShowPreview","_ref","state","detail","setState","_objectSpread","shouldRender","onShowPreview","handleHidePreview","onHidePreview","document","addEventListener","buildEventName","SHOW_PREVIEW_EVENT","HIDE_PREVIEW_EVENT","removeEventListener","event","viewType","_this$state","details","innerSku","label","isOurChoiceBadge","isNewBadge","averageRating","humanReviewsCountText","formatAmount","showBadgeList","Object","assign","itemprop","filter","includes","name","_ref2","join","getScopedClass"],"mappings":"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","file":"chunk.61.a907ca281b853653d524.23290a0a.js","sourcesContent":["import { h, Component } from 'preact';\nimport { uuidV4 } from 'core/utils/uuid';\nexport class RatingStar extends Component {\n render() {\n const { star = 1, firstColor: fc, secondColor: sc } = this.props;\n const gradientId = `rating_star_fill_${uuidV4()}`;\n const offset = star != 0 ? star * 100 : (1 - star) * 100;\n const secondColor = sc !== null && sc !== void 0 ? sc : '#E6E6E6';\n const firstColor = star != 0 ? fc !== null && fc !== void 0 ? fc : '#000' : secondColor;\n return (h(\"svg\", { viewBox: '0 0 22 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },\n h(\"defs\", null,\n h(\"linearGradient\", { id: gradientId },\n h(\"stop\", { offset: `${offset}%`, \"stop-color\": firstColor, \"stop-opacity\": '1' }),\n star != 1 && (h(\"stop\", { offset: '0%', \"stop-color\": secondColor, \"stop-opacity\": '1' })))),\n h(\"path\", { d: 'M11.0247 16.5836L4.54454 20L5.78214 12.7639L0.539587 7.63932L7.78462 6.58359L11.0247 0L14.2648 6.58359L21.5098 7.63932L16.2673 12.7639L17.5049 20L11.0247 16.5836Z', fill: `url(#${gradientId})` })));\n }\n}\n","import { h, Component } from 'preact';\nimport htmlClassNames from 'core/utils/htmlClassNames';\nimport { RatingStar } from './components/RatingStar';\nexport class Rating extends Component {\n render() {\n const { value, reviewsCount, size = 'm', className = '', starsClassName = '', firstColor, secondColor } = this.props;\n const fullStars = Math.floor(value);\n const emptyStars = 4 - fullStars;\n const partStar = value - fullStars;\n return (h(\"div\", { className: htmlClassNames(['b-StarRatingV3', `__size_${size}`, className]) },\n h(\"div\", { className: htmlClassNames(['b-StarRatingV3_stars', starsClassName]), \"data-count\": value },\n fullStars > 0 && [...Array(fullStars)].map(() => (h(\"div\", { className: 'b-StarRatingV3_item' },\n h(RatingStar, { firstColor: firstColor, secondColor: secondColor })))),\n fullStars < 5 && (h(\"div\", { className: 'b-StarRatingV3_item' },\n h(RatingStar, { star: partStar, firstColor: firstColor, secondColor: secondColor }))),\n emptyStars > 0 && [...Array(emptyStars)].map(() => (h(\"div\", { className: 'b-StarRatingV3_item' },\n h(RatingStar, { star: 0, firstColor: firstColor, secondColor: secondColor }))))),\n h(\"div\", { className: 'b-StarRatingV3_value' }, value.toFixed(1)),\n reviewsCount && (h(\"div\", { className: 'b-StarRatingV3_name' }, reviewsCount))));\n }\n}\n","export const preferredDetails = ['Цвет', 'Размер', 'Материал'];\n","import { Component } from 'preact';\nimport { buildEventName, HIDE_PREVIEW_EVENT, SHOW_PREVIEW_EVENT } from 'site/VControllers/Products/ProductVariants';\nimport { formatAmount } from 'core/utils/humanize';\nimport { createScope, getScopedClass } from 'core/services/VDOM';\nimport { Rating } from 'site/VControllers/components/Rating';\nimport { preferredDetails } from '../../constants';\nconst scopeName = 'ProductCard';\nconst h = createScope('ProductCard');\nexport class Details extends Component {\n constructor() {\n super(...arguments);\n this.handleShowPreview = ({ detail: state }) => {\n this.setState({ ...state, shouldRender: true });\n this.props.onShowPreview();\n };\n this.handleHidePreview = () => {\n this.setState({ shouldRender: false });\n this.props.onHidePreview();\n };\n }\n componentWillMount() {\n document.addEventListener(this.buildEventName(SHOW_PREVIEW_EVENT), this.handleShowPreview);\n document.addEventListener(this.buildEventName(HIDE_PREVIEW_EVENT), this.handleHidePreview);\n }\n componentWillUnmount() {\n document.removeEventListener(this.buildEventName(SHOW_PREVIEW_EVENT), this.handleShowPreview);\n document.removeEventListener(this.buildEventName(HIDE_PREVIEW_EVENT), this.handleHidePreview);\n }\n buildEventName(event) {\n return buildEventName(event, this.props.viewType);\n }\n // = render 'products/show/versions/v3/_header_info.slim'\n render() {\n const { details, innerSku, label, isOurChoiceBadge, isNewBadge, averageRating, reviewsCount, shouldRender } = this.state;\n const humanReviewsCountText = formatAmount(reviewsCount, ['отзыв', 'отзыва', 'отзывов']);\n if (!shouldRender)\n return null;\n const showBadgeList = averageRating > 0 || isNewBadge || isOurChoiceBadge;\n return (h(\"div\", { className: 'sb-HeaderInfo_details __variantDetails' },\n h(\"h1\", Object.assign({ className: 'sb-Title' }, { itemprop: 'name' }), label),\n h(\"div\", { className: 'sb-Info __horizontal' },\n h(\"div\", { className: 'sb-Info_item' }, details\n .filter(detail => preferredDetails.includes(detail.name))\n .map(({ value }) => value).join(',')),\n h(\"div\", { className: 'sb-Info_item __sku' },\n h(\"em\", null, \"\\u0410\\u0440\\u0442\\u0438\\u043A\\u0443\\u043B:\"),\n h(\"span\", Object.assign({}, { itemprop: 'sku' }), innerSku))),\n showBadgeList && (h(\"div\", { className: 'sb-BadgeList' },\n isOurChoiceBadge && (h(\"div\", { className: 'b-BadgesOurChoice' })),\n averageRating > 0 && (h(Rating, { value: averageRating, reviewsCount: humanReviewsCountText, className: getScopedClass(scopeName, 'sb-Rating'), firstColor: '#000', secondColor: '#ccc' })),\n isNewBadge && (h(\"div\", { className: 'b-BadgesNew' }))))));\n }\n}\n"],"sourceRoot":""}