{"version":3,"file":"RatingItem.cjs","sources":["../../../../src/components/Rating/RatingItem/RatingItem.tsx"],"sourcesContent":["import { Box, BoxProps, ElementProps, useDirection } from '../../../core';\nimport { useRatingContext } from '../Rating.context';\nimport { StarSymbol } from '../StarSymbol/StarSymbol';\n\nexport interface RatingItemProps extends BoxProps, ElementProps<'input', 'value' | 'size'> {\n  getSymbolLabel: ((value: number) => string) | undefined;\n  emptyIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n  fullIcon?: React.ReactNode | ((value: number) => React.ReactNode);\n  full: boolean;\n  active: boolean;\n  fractionValue: number;\n  value: number;\n  id: string;\n  onChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n  onInputChange: (event: React.ChangeEvent<HTMLInputElement> | number) => void;\n}\n\nexport function RatingItem({\n  getSymbolLabel,\n  emptyIcon,\n  fullIcon,\n  full,\n  active,\n  value,\n  readOnly,\n  fractionValue,\n  color,\n  id,\n  onBlur,\n  onChange,\n  onInputChange,\n  style,\n  ...others\n}: RatingItemProps) {\n  const ctx = useRatingContext();\n  const _fullIcon = typeof fullIcon === 'function' ? fullIcon(value) : fullIcon;\n  const _emptyIcon = typeof emptyIcon === 'function' ? emptyIcon(value) : emptyIcon;\n  const { dir } = useDirection();\n\n  return (\n    <>\n      {!readOnly && (\n        <input\n          {...ctx.getStyles('input')}\n          onKeyDown={(event) => event.key === ' ' && onChange(value)}\n          id={id}\n          type=\"radio\"\n          data-active={active || undefined}\n          aria-label={getSymbolLabel?.(value)}\n          value={value}\n          onBlur={onBlur}\n          onChange={onInputChange}\n          {...others}\n        />\n      )}\n\n      <Box\n        component={readOnly ? 'div' : 'label'}\n        {...ctx.getStyles('label')}\n        data-read-only={readOnly || undefined}\n        htmlFor={id}\n        onClick={() => onChange(value)}\n        __vars={{\n          '--rating-item-z-index': (fractionValue === 1 ? undefined : active ? 2 : 0)?.toString(),\n        }}\n      >\n        <Box\n          {...ctx.getStyles('symbolBody')}\n          __vars={{\n            '--rating-symbol-clip-path':\n              fractionValue === 1\n                ? undefined\n                : dir === 'ltr'\n                  ? `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)`\n                  : `inset(0 0 0 ${active ? 100 - fractionValue * 100 : 100}% )`,\n          }}\n        >\n          {full\n            ? _fullIcon || <StarSymbol type=\"full\" />\n            : _emptyIcon || <StarSymbol type=\"empty\" />}\n        </Box>\n      </Box>\n    </>\n  );\n}\n\nRatingItem.displayName = '@raikou/core/RatingItem';\n"],"names":["useRatingContext","useDirection","jsxs","Fragment","jsx","Box","StarSymbol"],"mappings":";;;;;;;;;;;;;AAiBO,SAAS,UAAW,CAAA;AAAA,EACzB,cAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAoB,EAAA;AAClB,EAAA,MAAM,MAAMA,+BAAiB,EAAA;AAC7B,EAAA,MAAM,YAAY,OAAO,QAAA,KAAa,UAAa,GAAA,QAAA,CAAS,KAAK,CAAI,GAAA,QAAA;AACrE,EAAA,MAAM,aAAa,OAAO,SAAA,KAAc,UAAa,GAAA,SAAA,CAAU,KAAK,CAAI,GAAA,SAAA;AACxE,EAAM,MAAA,EAAE,GAAI,EAAA,GAAIC,8BAAa,EAAA;AAE7B,EAAA,uBAEKC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,QACA,oBAAAC,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACE,GAAG,GAAI,CAAA,SAAA,CAAU,OAAO,CAAA;AAAA,QACzB,WAAW,CAAC,KAAA,KAAU,MAAM,GAAQ,KAAA,GAAA,IAAO,SAAS,KAAK,CAAA;AAAA,QACzD,EAAA;AAAA,QACA,IAAK,EAAA,OAAA;AAAA,QACL,eAAa,MAAU,IAAA,KAAA,CAAA;AAAA,QACvB,YAAA,EAAY,iBAAiB,KAAK,CAAA;AAAA,QAClC,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAU,EAAA,aAAA;AAAA,QACT,GAAG;AAAA;AAAA,KACN;AAAA,oBAGFA,cAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,WAAW,KAAQ,GAAA,OAAA;AAAA,QAC7B,GAAG,GAAI,CAAA,SAAA,CAAU,OAAO,CAAA;AAAA,QACzB,kBAAgB,QAAY,IAAA,KAAA,CAAA;AAAA,QAC5B,OAAS,EAAA,EAAA;AAAA,QACT,OAAA,EAAS,MAAM,QAAA,CAAS,KAAK,CAAA;AAAA,QAC7B,MAAQ,EAAA;AAAA,UACN,0BAA0B,aAAkB,KAAA,CAAA,GAAI,SAAY,MAAS,GAAA,CAAA,GAAI,IAAI,QAAS;AAAA,SACxF;AAAA,QAEA,QAAA,kBAAAD,cAAA;AAAA,UAACC,OAAA;AAAA,UAAA;AAAA,YACE,GAAG,GAAI,CAAA,SAAA,CAAU,YAAY,CAAA;AAAA,YAC9B,MAAQ,EAAA;AAAA,cACN,6BACE,aAAkB,KAAA,CAAA,GACd,SACA,GAAQ,KAAA,KAAA,GACN,WAAW,MAAS,GAAA,GAAA,GAAM,aAAgB,GAAA,GAAA,GAAM,GAAG,CACnD,MAAA,CAAA,GAAA,CAAA,YAAA,EAAe,SAAS,GAAM,GAAA,aAAA,GAAgB,MAAM,GAAG,CAAA,GAAA;AAAA,aACjE;AAAA,YAEC,QAAA,EAAA,IAAA,GACG,SAAa,oBAAAD,cAAA,CAACE,qBAAW,EAAA,EAAA,IAAA,EAAK,MAAO,EAAA,CAAA,GACrC,UAAc,oBAAAF,cAAA,CAACE,qBAAW,EAAA,EAAA,IAAA,EAAK,OAAQ,EAAA;AAAA;AAAA;AAC7C;AAAA;AACF,GACF,EAAA,CAAA;AAEJ;AAEA,UAAA,CAAW,WAAc,GAAA,yBAAA;;;;"}