{"version":3,"sources":["webpack:///./Avensia.Common/Features/Product/ProductDetails/AverageRating.tsx"],"names":["Spacing","Size","props","floatPart","Number","average","Math","trunc","toFixed","parsedFloat","parseFloat","starStyles","size","spacing","height","width","marginLeft","Micro","Tiny","Normal","Large","Huge","Medium","Wide","getStyles","Base","css","compose","map","rating","key","ceil","div","whiteSpace"],"mappings":"0FAAA,wEAKYA,EAMAC,EAXZ,uCAKA,SAAYD,GACV,uBACA,uBACA,mBAHF,CAAYA,MAAO,KAMnB,SAAYC,GACV,qBACA,mBACA,uBACA,qBACA,mBALF,CAAYA,MAAI,KAgED,iBAAO,SAACC,GACrB,IACMC,EAAYC,OAAOF,EAAMG,QAAUC,KAAKC,MAAML,EAAMG,UAAUG,QAAQ,GACtEC,EAAcC,WAAWP,GACzBQ,EAtDR,SAAmBC,EAAYC,GAC7B,IAAIC,EACAC,EACAC,EACJ,OAAQJ,GACN,KAAKX,EAAKgB,MACRH,EAAS,aAAa,IACtBC,EAAQ,aAAa,IACrB,MACF,KAAKd,EAAKiB,KACRJ,EAAS,aAAa,MACtBC,EAAQ,aAAa,MACrB,MACF,KAAKd,EAAKkB,OACRL,EAAS,aAAa,IACtBC,EAAQ,aAAa,IACrB,MACF,KAAKd,EAAKmB,MACRN,EAAS,aAAa,IACtBC,EAAQ,aAAa,IACrB,MACF,KAAKd,EAAKoB,KACRP,EAAS,aAAa,IACtBC,EAAQ,aAAa,IAKzB,OAAQF,GACN,KAAKb,EAAQmB,OACXH,EAAa,aAAa,GAC1B,MACF,KAAKhB,EAAQsB,OACXN,EAAa,aAAa,IAC1B,MACF,KAAKhB,EAAQuB,KACXP,EAAa,aAAa,IAK9B,MAAO,CACLF,OAAM,EACNC,MAAK,EACL,qBAAsB,CACpBC,WAAU,IASKQ,CAAUtB,EAAMU,KAAMV,EAAMW,SAC/C,OACE,kBAACY,EAAI,CAACC,IAAKxB,EAAMyB,WALH,CAAC,EAAG,EAAG,EAAG,EAAG,GAMhBC,KAAI,SAACC,GACZ,OAAIA,GAAU3B,EAAMG,QACX,kBAAC,IAAI,CAACyB,IAAKD,EAAQH,IAAKf,IACtBkB,GAAUvB,KAAKyB,KAAK7B,EAAMG,SAC/BI,EAAc,GACT,kBAAC,IAAW,CAACqB,IAAKD,EAAQH,IAAKf,IAC7BF,EAAc,GAChB,kBAAC,IAAQ,CAACqB,IAAKD,EAAQH,IAAKf,IAE5B,kBAAC,IAAI,CAACmB,IAAKD,EAAQH,IAAKf,IAG1B,kBAAC,IAAW,CAACmB,IAAKD,EAAQH,IAAKf,WAOhD,IAAMc,EAAO,IAAOO,IAAI,CACtBC,WAAY","file":"assets/0.chunk.e4ead5a2b8cf79c23f9b.js","sourcesContent":["import React from 'react';\r\nimport { styled, StyledProps } from '@glitz/react';\r\nimport { pixelsToUnit } from 'Shared/Style';\r\nimport { Star, StarOutline, HalfStar } from 'Shared/Icon/Star';\r\n\r\nexport enum Spacing {\r\n Normal,\r\n Medium,\r\n Wide,\r\n}\r\n\r\nexport enum Size {\r\n Micro,\r\n Tiny,\r\n Normal,\r\n Large,\r\n Huge,\r\n}\r\n\r\ntype PropType = {\r\n average: number;\r\n spacing: Spacing;\r\n size: Size;\r\n} & StyledProps;\r\n\r\nfunction getStyles(size: Size, spacing: Spacing) {\r\n let height;\r\n let width;\r\n let marginLeft;\r\n switch (size) {\r\n case Size.Micro:\r\n height = pixelsToUnit(10);\r\n width = pixelsToUnit(10);\r\n break;\r\n case Size.Tiny:\r\n height = pixelsToUnit(12.8);\r\n width = pixelsToUnit(13.8);\r\n break;\r\n case Size.Normal:\r\n height = pixelsToUnit(15);\r\n width = pixelsToUnit(15);\r\n break;\r\n case Size.Large:\r\n height = pixelsToUnit(20);\r\n width = pixelsToUnit(20);\r\n break;\r\n case Size.Huge:\r\n height = pixelsToUnit(24);\r\n width = pixelsToUnit(24);\r\n break;\r\n default:\r\n break;\r\n }\r\n switch (spacing) {\r\n case Spacing.Normal:\r\n marginLeft = pixelsToUnit(5);\r\n break;\r\n case Spacing.Medium:\r\n marginLeft = pixelsToUnit(10);\r\n break;\r\n case Spacing.Wide:\r\n marginLeft = pixelsToUnit(15);\r\n break;\r\n default:\r\n break;\r\n }\r\n return {\r\n height,\r\n width,\r\n ':not(:first-child)': {\r\n marginLeft,\r\n },\r\n };\r\n}\r\n\r\nexport default styled((props: PropType) => {\r\n const RATINGS = [1, 2, 3, 4, 5];\r\n const floatPart = Number(props.average - Math.trunc(props.average)).toFixed(1);\r\n const parsedFloat = parseFloat(floatPart);\r\n const starStyles = getStyles(props.size, props.spacing);\r\n return (\r\n \r\n {RATINGS.map((rating) => {\r\n if (rating <= props.average) {\r\n return ;\r\n } else if (rating <= Math.ceil(props.average)) {\r\n if (parsedFloat < 0.4) {\r\n return ;\r\n } else if (parsedFloat < 0.8) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n } else {\r\n return ;\r\n }\r\n })}\r\n \r\n );\r\n});\r\n\r\nconst Base = styled.div({\r\n whiteSpace: 'nowrap',\r\n});\r\n"],"sourceRoot":""}