UNPKG

@yamada-ui/rating

Version:

Yamada UI rating component

1 lines 2.72 kB
{"version":3,"sources":["../src/rating-group.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport { motion, motionForwardRef } from \"@yamada-ui/motion\"\nimport { cx, runIfFunc } from \"@yamada-ui/utils\"\nimport { useRatingContext } from \"./rating-context\"\nimport { RatingItem } from \"./rating-item\"\nimport { getRoundedValue } from \"./rating-utils\"\n\ninterface RatingGroupOptions {\n items: number\n value: number\n}\n\nexport interface RatingGroupProps extends MotionProps, RatingGroupOptions {}\n\nexport const RatingGroup = motionForwardRef<RatingGroupProps, \"div\">(\n ({ className, color, items, value: groupValue, ...rest }, ref) => {\n const { decimal, styles, getGroupProps, groupProps } = useRatingContext()\n const computedGroupProps = runIfFunc(groupProps, groupValue)\n const css: CSSUIObject = { ...styles.group }\n\n return (\n <motion.div\n className={cx(\"ui-rating__group\", className)}\n __css={css}\n {...getGroupProps(\n { value: groupValue, ...computedGroupProps, ...rest },\n ref,\n )}\n >\n {Array(items)\n .fill(0)\n .map((_, index) => {\n const fractionValue =\n decimal * (groupValue === 1 ? index : index + 1)\n const value = getRoundedValue(\n groupValue - 1 + fractionValue,\n decimal,\n )\n\n return (\n <RatingItem\n key={`${groupValue}-${fractionValue}`}\n color={color}\n fractionValue={fractionValue}\n groupValue={groupValue}\n value={value}\n />\n )\n })}\n </motion.div>\n )\n },\n)\n\nRatingGroup.displayName = \"RatingGroup\"\nRatingGroup.__ui__ = \"RatingGroup\"\n"],"mappings":";;;;;;;;;;;;AAEA,SAAS,QAAQ,wBAAwB;AACzC,SAAS,IAAI,iBAAiB;AAsChB;AA1BP,IAAM,cAAc;AAAA,EACzB,CAAC,EAAE,WAAW,OAAO,OAAO,OAAO,YAAY,GAAG,KAAK,GAAG,QAAQ;AAChE,UAAM,EAAE,SAAS,QAAQ,eAAe,WAAW,IAAI,iBAAiB;AACxE,UAAM,qBAAqB,UAAU,YAAY,UAAU;AAC3D,UAAM,MAAmB,EAAE,GAAG,OAAO,MAAM;AAE3C,WACE;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACC,WAAW,GAAG,oBAAoB,SAAS;AAAA,QAC3C,OAAO;AAAA,QACN,GAAG;AAAA,UACF,EAAE,OAAO,YAAY,GAAG,oBAAoB,GAAG,KAAK;AAAA,UACpD;AAAA,QACF;AAAA,QAEC,gBAAM,KAAK,EACT,KAAK,CAAC,EACN,IAAI,CAAC,GAAG,UAAU;AACjB,gBAAM,gBACJ,WAAW,eAAe,IAAI,QAAQ,QAAQ;AAChD,gBAAM,QAAQ;AAAA,YACZ,aAAa,IAAI;AAAA,YACjB;AAAA,UACF;AAEA,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,YAJK,GAAG,UAAU,IAAI,aAAa;AAAA,UAKrC;AAAA,QAEJ,CAAC;AAAA;AAAA,IACL;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;AAC1B,YAAY,SAAS;","names":[]}