@semcore/feedback-form 16.2.0 → 17.0.0-prerelease.18

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/FeedbackForm.js +108 -120
  3. package/lib/cjs/FeedbackForm.js.map +1 -1
  4. package/lib/cjs/component/checkbox-button/CheckboxButton.js +48 -45
  5. package/lib/cjs/component/checkbox-button/CheckboxButton.js.map +1 -1
  6. package/lib/cjs/component/feedback-item/FeedbackItem.js +33 -35
  7. package/lib/cjs/component/feedback-item/FeedbackItem.js.map +1 -1
  8. package/lib/cjs/component/feedback-rating/FeedbackRating.js +240 -274
  9. package/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
  10. package/lib/cjs/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  11. package/lib/cjs/component/slider-rating/SliderRating.js +146 -147
  12. package/lib/cjs/component/slider-rating/SliderRating.js.map +1 -1
  13. package/lib/cjs/component/submit-button/SubmitButton.js +12 -9
  14. package/lib/cjs/component/submit-button/SubmitButton.js.map +1 -1
  15. package/lib/cjs/index.d.js +3 -3
  16. package/lib/cjs/index.d.js.map +1 -1
  17. package/lib/cjs/index.js +5 -5
  18. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +16 -16
  19. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  20. package/lib/es6/FeedbackForm.js +101 -113
  21. package/lib/es6/FeedbackForm.js.map +1 -1
  22. package/lib/es6/component/checkbox-button/CheckboxButton.js +44 -41
  23. package/lib/es6/component/checkbox-button/CheckboxButton.js.map +1 -1
  24. package/lib/es6/component/feedback-item/FeedbackItem.js +29 -31
  25. package/lib/es6/component/feedback-item/FeedbackItem.js.map +1 -1
  26. package/lib/es6/component/feedback-rating/FeedbackRating.js +220 -254
  27. package/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
  28. package/lib/es6/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  29. package/lib/es6/component/slider-rating/SliderRating.js +138 -139
  30. package/lib/es6/component/slider-rating/SliderRating.js.map +1 -1
  31. package/lib/es6/component/submit-button/SubmitButton.js +11 -8
  32. package/lib/es6/component/submit-button/SubmitButton.js.map +1 -1
  33. package/lib/es6/index.d.js +0 -3
  34. package/lib/es6/index.d.js.map +1 -1
  35. package/lib/es6/translations/__intergalactic-dynamic-locales.js +15 -15
  36. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  37. package/lib/esm/FeedbackForm.mjs +101 -101
  38. package/lib/esm/component/checkbox-button/CheckboxButton.mjs +47 -39
  39. package/lib/esm/component/feedback-item/FeedbackItem.mjs +29 -23
  40. package/lib/esm/component/feedback-rating/FeedbackRating.mjs +223 -234
  41. package/lib/esm/component/slider-rating/SliderRating.mjs +139 -129
  42. package/lib/esm/component/submit-button/SubmitButton.mjs +11 -8
  43. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  44. package/lib/types/component/checkbox-button/CheckboxButton.d.ts +1 -3
  45. package/lib/types/component/feedback-rating/FeedbackRating.d.ts +11 -189
  46. package/lib/types/component/feedback-rating/FeedbackRating.type.d.ts +7 -9
  47. package/lib/types/component/slider-rating/SliderRating.d.ts +1 -1
  48. package/lib/types/index.d.ts +1 -3
  49. package/package.json +17 -16
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRating.js","names":["_core","require","_baseComponents","_i18nEnhance","_interopRequireDefault","_uniqueID","_m","_m2","_Feedback","_input","_link","_modal","_notice","_noticeBubble","_spinContainer","_textarea","_typography","_finalFormFocus","_react","_reactFinalForm","_intergalacticDynamicLocales","_CheckboxButton","_FeedbackItem","_SliderRating","_SubmitButton","_excluded","style","sstyled","insert","FeedbackRatingRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","error","NoticeBubbleManager","createFocusDecorator","rating","asProps","onVisibleChange","fn","_value","e","config","index","initialValue","props","initialValues","key","createElement","Field","name","type","_ref7","input","FeedbackRating","Checkbox","_extends2","id","label","onChange","_checked","focused","_config$description","Text","mb","size","isDescriptionReactFragment","description","React","Fragment","Flex","direction","tag","mt","htmlFor","Item","validate","placement","flip","fallbackPlacements","undefined","_ref8","h","handleChange","autoComplete","state","Value","Box","color","_inherits2","_createClass2","get","uid","value","getHeaderProps","headerId","getItemProps","validateOnBlur","getNoticeTextId","componentDidUpdate","prevProps","_this2","_this$asProps","status","getI18nText","setState","setTimeout","manager","add","icon","children","initialAnimation","duration","render","_ref","_ref2","_ref4","_this3","_this$asProps2","header","submitText","formConfig","notificationText","notificationTitle","learnMoreLink","_Children","Children","styles","forwardRef","theme","background","visible","_onVisibleChange","notificationVisible","onNotificationClose","errorFeedbackEmail","modalWidth","Illustration","NoticeComponent","Notice","other","_objectWithoutProperties2","SFeedbackRating","Modal","checkboxFields","filter","item","textFields","notificationId","assignProps","cn","Label","mr","Content","Title","gap","alignItems","Actions","handleChangeRating","Close","onClick","_objectSpread2","handelCloseModal","Form","focusDecorator","api","_ref5","submitting","Header","handleSubmit","_ref9","map","formConfigItem","renderCheckbox","renderTextField","email","Submit","loading","NoticeBubbleContainer","Component","i18nEnhance","localizedMessages","uniqueIDEnhancement","onSubmit","i18n","locale","FeedbackIllustration","SemcoreNotice","words","split","symbols","join","Boolean","test","String","toLowerCase","_ref3","arguments[0]","_ref6","SHeader","createComponent","FeedbackItem","CheckboxButton","SubmitButton","_default","exports"],"sources":["../../../../src/component/feedback-rating/FeedbackRating.tsx"],"sourcesContent":["import { Box, Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport CheckM from '@semcore/icon/Check/m';\nimport WarnM from '@semcore/icon/Warning/m';\nimport FeedbackIllustration from '@semcore/illustration/Feedback';\nimport Input from '@semcore/input';\nimport Link from '@semcore/link';\nimport Modal from '@semcore/modal';\nimport { default as SemcoreNotice } from '@semcore/notice';\nimport { NoticeBubbleContainer, NoticeBubbleManager } from '@semcore/notice-bubble';\nimport SpinContainer from '@semcore/spin-container';\nimport Textarea from '@semcore/textarea';\nimport { Text } from '@semcore/typography';\nimport createFocusDecorator from 'final-form-focus';\nimport React, { type ReactElement } from 'react';\nimport { Field, Form } from 'react-final-form';\n\nimport type { FeedbackRatingProps, FeedbackRatingType, FormConfigItem } from './FeedbackRating.type';\nimport style from '../../style/feedback-rating.shadow.css';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport CheckboxButton from '../checkbox-button/CheckboxButton';\nimport { FeedbackItem } from '../feedback-item/FeedbackItem';\nimport SliderRating from '../slider-rating/SliderRating';\nimport { SubmitButton } from '../submit-button/SubmitButton';\n\ntype State = {\n error: boolean;\n};\n\nclass FeedbackRatingRoot extends Component<\n FeedbackRatingProps,\n {},\n State,\n typeof FeedbackRatingRoot.enhance,\n typeof FeedbackRatingRoot.defaultProps\n> {\n static displayName = 'FeedbackRatingForm';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n static defaultProps = {\n onSubmit: () => {},\n i18n: localizedMessages,\n locale: 'en',\n Illustration: FeedbackIllustration,\n Notice: SemcoreNotice,\n };\n\n static validate = {\n description: (error: Error | string) => (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (Boolean(value) && (symbols.length < 10 || words.length < 3)) {\n return error;\n }\n },\n email: (error: Error | string) => (value = '') => {\n if (Boolean(value) && !/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n state: State = {\n error: false,\n };\n\n manager = new NoticeBubbleManager();\n\n private focusDecorator = createFocusDecorator<Record<string, any>>();\n\n get headerId() {\n const { uid } = this.asProps;\n\n return `${uid}-feedback-rating-header`;\n }\n\n getHeaderProps() {\n return {\n id: this.headerId,\n };\n }\n\n getItemProps() {\n const { validateOnBlur } = this.asProps;\n\n return {\n validateOnBlur,\n };\n }\n\n getNoticeTextId() {\n const { uid } = this.asProps;\n return `${uid}-feedback-rating-notice`;\n }\n\n handleChangeRating = (rating: number) => {\n if (rating > 0) {\n this.asProps.onVisibleChange(true, rating);\n }\n };\n\n handelCloseModal = () => {\n this.asProps.onVisibleChange(false, this.asProps.rating);\n };\n\n handleChange =\n (fn: (e: React.SyntheticEvent) => void) => (_value: any, e: React.SyntheticEvent) => {\n fn(e);\n };\n\n componentDidUpdate(prevProps: Readonly<FeedbackRatingProps>) {\n const { status, getI18nText } = this.asProps;\n\n if (prevProps.status !== status) {\n this.setState({ error: false });\n\n if (status === 'success') {\n // showing notice with delay for SR, less than 100ms is not enough\n setTimeout(() => {\n this.manager.add({\n icon: <CheckM color='green-400' />,\n children: getI18nText('successMessage'),\n initialAnimation: true,\n duration: 5000,\n });\n }, 300);\n } else if (status === 'error') {\n this.setState({ error: true });\n }\n }\n }\n\n renderCheckbox = (config: FormConfigItem, index: number) => {\n const initialValue = this.props.initialValues[config.key];\n\n return (\n <Field name={config.key} initialValue={initialValue} type='checkbox' key={config.key}>\n {({ input }) => (\n <FeedbackRating.Checkbox\n {...input}\n id={config.key}\n label={config.label}\n onChange={(_checked, e) => input.onChange(e)}\n focused={index === 0}\n />\n )}\n </Field>\n );\n };\n\n renderTextField = (config: FormConfigItem) => {\n const initialValue = this.props.initialValues[config.key];\n\n const label =\n typeof config.label === 'string'\n ? (\n <Text mb={2} size={200}>\n {config.label}\n </Text>\n )\n : (\n (config.label as unknown as JSX.Element)\n );\n\n const isDescriptionReactFragment =\n (config.description as ReactElement)?.type === React.Fragment;\n\n return (\n <Flex direction='column'>\n <Flex tag='label' mt={4} htmlFor={config.key} key={config.key}>\n {label}\n </Flex>\n\n <FeedbackRating.Item\n name={config.key}\n validate={config.validate}\n initialValue={initialValue}\n placement='left-start'\n flip={{\n fallbackPlacements: ['right-start', 'bottom'],\n }}\n aria-describedby={config.description ? config.key + '-description' : undefined}\n >\n {/* @ts-ignore */}\n {({ input }) => {\n if (config.type === 'textarea') {\n return (\n <Textarea\n {...input}\n h={80}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n );\n }\n if (config.type === 'input' || config.type === 'email') {\n if (config.type === 'email') {\n input.autoComplete = 'email';\n input.type = 'email';\n }\n\n return (\n <Input state={input.state}>\n <Input.Value\n {...input}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n </Input>\n );\n }\n return null;\n }}\n </FeedbackRating.Item>\n {config.description && (\n <Box mt={2}>\n {typeof config.description === 'string' || isDescriptionReactFragment\n ? (\n <Text size={200} color='text-secondary' id={config.key + '-description'}>\n {config.description}\n </Text>\n )\n : (\n config.description\n )}\n </Box>\n )}\n </Flex>\n );\n };\n\n render() {\n const {\n header,\n submitText,\n formConfig,\n notificationText,\n notificationTitle,\n learnMoreLink,\n Children: _Children,\n styles,\n forwardRef,\n status,\n theme,\n background,\n rating,\n visible,\n onVisibleChange: _onVisibleChange,\n notificationVisible,\n onNotificationClose,\n getI18nText,\n errorFeedbackEmail,\n modalWidth,\n Illustration,\n Notice: NoticeComponent,\n ...other\n } = this.asProps;\n\n const SFeedbackRating = Root;\n const checkboxFields = formConfig.filter((item) => item.type === 'checkbox');\n const textFields = formConfig.filter(\n (item) => item.type === 'textarea' || item.type === 'input' || item.type === 'email',\n );\n const notificationId = this.getNoticeTextId();\n\n return sstyled(styles)(\n <Root render={Box}>\n <NoticeComponent\n visible={notificationVisible}\n aria-label={getI18nText('leaveFeedback')}\n tag={Flex}\n alignItems={notificationTitle ? 'flex-start' : 'center'}\n >\n <NoticeComponent.Label mr={3} aria-hidden={true}>\n <Illustration />\n </NoticeComponent.Label>\n <NoticeComponent.Content>\n {notificationTitle ? <NoticeComponent.Title>{notificationTitle}</NoticeComponent.Title> : null}\n <NoticeComponent.Text gap={3} tag={Flex} alignItems={notificationTitle ? 'flex-start' : 'center'}>\n <Text id={notificationId}>\n {notificationText}\n </Text>\n <NoticeComponent.Actions mt={0}>\n <SliderRating\n value={rating}\n onChange={this.handleChangeRating}\n aria-labelledby={notificationId}\n />\n </NoticeComponent.Actions>\n {learnMoreLink && (\n <Link href={learnMoreLink}>\n {getI18nText('learnMore')}\n </Link>\n )}\n </NoticeComponent.Text>\n </NoticeComponent.Content>\n <NoticeComponent.Close onClick={onNotificationClose} />\n </NoticeComponent>\n\n <SFeedbackRating\n render={Modal}\n visible={visible}\n onClose={this.handelCloseModal}\n p={0}\n use:w={modalWidth ?? 440}\n aria-labelledby={this.headerId}\n >\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer\n background={background}\n theme={theme}\n size='xl'\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n p={1}\n m={9}\n >\n <Flex justifyContent='center'>\n <SliderRating value={rating} readonly={true} />\n </Flex>\n\n {(header as ReactElement)?.type === FeedbackRating.Header\n ? (\n header\n )\n : (\n <FeedbackRating.Header>{header}</FeedbackRating.Header>\n )}\n\n <Box\n tag='form'\n noValidate\n method='POST'\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n >\n <Field name='rating' initialValue={rating}>\n {({ input }) => <input {...input} type='hidden' />}\n </Field>\n\n <div role='group' aria-labelledby={this.headerId}>\n {checkboxFields.map((formConfigItem, index) =>\n this.renderCheckbox(formConfigItem, index),\n )}\n </div>\n\n {textFields.map((formConfigItem) => this.renderTextField(formConfigItem))}\n\n {this.state.error && (\n <SemcoreNotice theme='warning' mt={4} mb={4}>\n <SemcoreNotice.Label>\n <WarnM />\n </SemcoreNotice.Label>\n <SemcoreNotice.Content>\n {getI18nText('errorMessage', {\n // todo: Brauer Ilia - think how to fix type\n // @ts-ignore\n email: (\n <Link href={`mailto:${errorFeedbackEmail}`}>\n {errorFeedbackEmail}\n </Link>\n ),\n })}\n </SemcoreNotice.Content>\n </SemcoreNotice>\n )}\n\n <Flex mt={4} justifyContent='center'>\n <FeedbackRating.Submit\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n size='l'\n >\n {submitText ?? getI18nText('submitButton')}\n </FeedbackRating.Submit>\n </Flex>\n </Box>\n </SpinContainer>,\n )}\n </Form>\n </SFeedbackRating>\n\n <NoticeBubbleContainer manager={this.manager} />\n </Root>,\n );\n }\n}\n\nfunction Header(props: any) {\n const { styles } = props;\n const SHeader = Root;\n return sstyled(styles)(\n <SHeader render={Modal.Title} />,\n );\n}\n\nconst FeedbackRating: typeof FeedbackRatingType & { validate: typeof FeedbackRatingRoot.validate } =\n createComponent(FeedbackRatingRoot, {\n Header,\n Item: FeedbackItem,\n Checkbox: CheckboxButton,\n Submit: SubmitButton,\n });\n\nexport default FeedbackRating;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FeedbackRating.js","names":["_core","require","_baseComponents","_i18nEnhance","_interopRequireDefault","_uniqueID","_m","_m2","_Feedback","_input","_link","_modal","_notice","_noticeBubble","_spinContainer","_textarea","_typography","_finalFormFocus","_react","_reactFinalForm","_intergalacticDynamicLocales","_CheckboxButton","_FeedbackItem","_SliderRating","_SubmitButton","style","sstyled","insert","FeedbackRatingRoot","Component","constructor","args","_defineProperty2","default","error","NoticeBubbleManager","createFocusDecorator","rating","asProps","onVisibleChange","fn","_value","e","config","index","initialValue","props","initialValues","key","createElement","Field","name","type","input","FeedbackRating","Checkbox","_extends2","id","label","onChange","_checked","focused","Text","mb","size","isDescriptionReactFragment","description","React","Fragment","Flex","direction","tag","mt","htmlFor","Item","validate","placement","flip","fallbackPlacements","undefined","h","handleChange","autoComplete","state","Value","Box","color","headerId","uid","getHeaderProps","getItemProps","validateOnBlur","getNoticeTextId","componentDidUpdate","prevProps","status","getI18nText","setState","setTimeout","manager","add","icon","children","initialAnimation","duration","render","_ref","_ref2","_ref4","header","submitText","formConfig","notificationText","notificationTitle","learnMoreLink","Children","_Children","styles","forwardRef","theme","background","visible","_onVisibleChange","notificationVisible","onNotificationClose","errorFeedbackEmail","modalWidth","Illustration","Notice","NoticeComponent","other","SFeedbackRating","Modal","checkboxFields","filter","item","textFields","notificationId","assignProps","cn","Label","mr","Content","Title","gap","alignItems","Actions","handleChangeRating","Close","onClick","handelCloseModal","Form","focusDecorator","api","_ref5","submitting","Header","handleSubmit","map","formConfigItem","renderCheckbox","renderTextField","email","Submit","loading","NoticeBubbleContainer","i18nEnhance","localizedMessages","uniqueIDEnhancement","onSubmit","i18n","locale","FeedbackIllustration","SemcoreNotice","value","words","split","symbols","join","Boolean","length","test","String","toLowerCase","_ref3","arguments[0]","_ref6","SHeader","createComponent","FeedbackItem","CheckboxButton","SubmitButton","_default","exports"],"sources":["../../../../src/component/feedback-rating/FeedbackRating.tsx"],"sourcesContent":["import { Box, Flex } from '@semcore/base-components';\nimport type Button from '@semcore/button';\nimport type Checkbox from '@semcore/checkbox';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport type { Intergalactic } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport CheckM from '@semcore/icon/Check/m';\nimport WarnM from '@semcore/icon/Warning/m';\nimport FeedbackIllustration from '@semcore/illustration/Feedback';\nimport Input from '@semcore/input';\nimport Link from '@semcore/link';\nimport Modal from '@semcore/modal';\nimport { default as SemcoreNotice } from '@semcore/notice';\nimport { NoticeBubbleContainer, NoticeBubbleManager } from '@semcore/notice-bubble';\nimport SpinContainer from '@semcore/spin-container';\nimport Textarea from '@semcore/textarea';\nimport { Text } from '@semcore/typography';\nimport createFocusDecorator from 'final-form-focus';\nimport React, { type ReactElement } from 'react';\nimport { Field, Form } from 'react-final-form';\n\nimport type {\n FeedbackRatingCheckboxProps,\n FeedbackRatingItemProps,\n FeedbackRatingProps,\n FormConfigItem,\n FeedbackRatingDefaultProps,\n} from './FeedbackRating.type';\nimport style from '../../style/feedback-rating.shadow.css';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport CheckboxButton from '../checkbox-button/CheckboxButton';\nimport { FeedbackItem } from '../feedback-item/FeedbackItem';\nimport SliderRating from '../slider-rating/SliderRating';\nimport { SubmitButton } from '../submit-button/SubmitButton';\n\ntype State = {\n error: boolean;\n};\n\nclass FeedbackRatingRoot extends Component<\n FeedbackRatingProps,\n typeof FeedbackRatingRoot.enhance,\n {},\n FeedbackRatingDefaultProps,\n State\n> {\n static displayName = 'FeedbackRatingForm';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n static defaultProps: FeedbackRatingDefaultProps = {\n onSubmit: () => {},\n i18n: localizedMessages,\n locale: 'en',\n Illustration: FeedbackIllustration,\n Notice: SemcoreNotice,\n };\n\n static validate = {\n description: (error: Error | string) => (value = '') => {\n const words = value.split(/\\s+/);\n const symbols = words.join(' ');\n if (Boolean(value) && (symbols.length < 10 || words.length < 3)) {\n return error;\n }\n },\n email: (error: Error | string) => (value = '') => {\n if (Boolean(value) && !/.+@.+\\..+/i.test(String(value).toLowerCase())) {\n return error;\n }\n },\n };\n\n state: State = {\n error: false,\n };\n\n manager = new NoticeBubbleManager();\n\n private focusDecorator = createFocusDecorator<Record<string, any>>();\n\n get headerId() {\n const { uid } = this.asProps;\n\n return `${uid}-feedback-rating-header`;\n }\n\n getHeaderProps() {\n return {\n id: this.headerId,\n };\n }\n\n getItemProps() {\n const { validateOnBlur } = this.asProps;\n\n return {\n validateOnBlur,\n };\n }\n\n getNoticeTextId() {\n const { uid } = this.asProps;\n return `${uid}-feedback-rating-notice`;\n }\n\n handleChangeRating = (rating: number) => {\n if (rating > 0) {\n this.asProps.onVisibleChange(true, rating);\n }\n };\n\n handelCloseModal = () => {\n this.asProps.onVisibleChange(false, this.asProps.rating);\n };\n\n handleChange =\n (fn: (e: React.SyntheticEvent) => void) => (_value: any, e: React.SyntheticEvent) => {\n fn(e);\n };\n\n componentDidUpdate(prevProps: Readonly<FeedbackRatingProps>) {\n const { status, getI18nText } = this.asProps;\n\n if (prevProps.status !== status) {\n this.setState({ error: false });\n\n if (status === 'success') {\n // showing notice with delay for SR, less than 100ms is not enough\n setTimeout(() => {\n this.manager.add({\n icon: <CheckM color='green-400' />,\n children: getI18nText('successMessage'),\n initialAnimation: true,\n duration: 5000,\n });\n }, 300);\n } else if (status === 'error') {\n this.setState({ error: true });\n }\n }\n }\n\n renderCheckbox = (config: FormConfigItem, index: number) => {\n const initialValue = this.props.initialValues[config.key];\n\n return (\n <Field name={config.key} initialValue={initialValue} type='checkbox' key={config.key}>\n {({ input }) => (\n <FeedbackRating.Checkbox\n {...input}\n id={config.key}\n label={config.label}\n onChange={(_checked, e) => input.onChange(e)}\n focused={index === 0}\n />\n )}\n </Field>\n );\n };\n\n renderTextField = (config: FormConfigItem) => {\n const initialValue = this.props.initialValues[config.key];\n\n const label =\n typeof config.label === 'string'\n ? (\n <Text mb={2} size={200}>\n {config.label}\n </Text>\n )\n : (\n (config.label as unknown as JSX.Element)\n );\n\n const isDescriptionReactFragment =\n (config.description as ReactElement)?.type === React.Fragment;\n\n return (\n <Flex direction='column'>\n <Flex tag='label' mt={4} htmlFor={config.key} key={config.key}>\n {label}\n </Flex>\n\n <FeedbackRating.Item\n name={config.key}\n validate={config.validate}\n initialValue={initialValue}\n placement='left-start'\n flip={{\n fallbackPlacements: ['right-start', 'bottom'],\n }}\n aria-describedby={config.description ? config.key + '-description' : undefined}\n >\n {/* @ts-ignore */}\n {({ input }) => {\n if (config.type === 'textarea') {\n return (\n <Textarea\n {...input}\n h={80}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n );\n }\n if (config.type === 'input' || config.type === 'email') {\n if (config.type === 'email') {\n input.autoComplete = 'email';\n input.type = 'email';\n }\n\n return (\n <Input state={input.state}>\n <Input.Value\n {...input}\n onChange={this.handleChange(input.onChange)}\n id={config.key}\n />\n </Input>\n );\n }\n return null;\n }}\n </FeedbackRating.Item>\n {config.description && (\n <Box mt={2}>\n {typeof config.description === 'string' || isDescriptionReactFragment\n ? (\n <Text size={200} color='text-secondary' id={config.key + '-description'}>\n {config.description}\n </Text>\n )\n : (\n config.description\n )}\n </Box>\n )}\n </Flex>\n );\n };\n\n render() {\n const {\n header,\n submitText,\n formConfig,\n notificationText,\n notificationTitle,\n learnMoreLink,\n Children: _Children,\n styles,\n forwardRef,\n status,\n theme,\n background,\n rating,\n visible,\n onVisibleChange: _onVisibleChange,\n notificationVisible,\n onNotificationClose,\n getI18nText,\n errorFeedbackEmail,\n modalWidth,\n Illustration,\n Notice: NoticeComponent,\n ...other\n } = this.asProps;\n\n const SFeedbackRating = Root;\n const checkboxFields = formConfig.filter((item) => item.type === 'checkbox');\n const textFields = formConfig.filter(\n (item) => item.type === 'textarea' || item.type === 'input' || item.type === 'email',\n );\n const notificationId = this.getNoticeTextId();\n\n return sstyled(styles)(\n <Root render={Box}>\n <NoticeComponent\n visible={notificationVisible}\n aria-label={getI18nText('leaveFeedback')}\n tag={Flex}\n alignItems={notificationTitle ? 'flex-start' : 'center'}\n >\n <NoticeComponent.Label mr={3} aria-hidden={true}>\n <Illustration />\n </NoticeComponent.Label>\n <NoticeComponent.Content>\n {notificationTitle ? <NoticeComponent.Title>{notificationTitle}</NoticeComponent.Title> : null}\n <NoticeComponent.Text gap={3} tag={Flex} alignItems={notificationTitle ? 'flex-start' : 'center'}>\n <Text id={notificationId}>\n {notificationText}\n </Text>\n <NoticeComponent.Actions mt={0}>\n <SliderRating\n value={rating}\n onChange={this.handleChangeRating}\n aria-labelledby={notificationId}\n />\n </NoticeComponent.Actions>\n {learnMoreLink && (\n <Link href={learnMoreLink}>\n {getI18nText('learnMore')}\n </Link>\n )}\n </NoticeComponent.Text>\n </NoticeComponent.Content>\n <NoticeComponent.Close onClick={onNotificationClose} />\n </NoticeComponent>\n\n <SFeedbackRating\n render={Modal}\n visible={visible}\n onClose={this.handelCloseModal}\n p={0}\n use:w={modalWidth ?? 440}\n aria-labelledby={this.headerId}\n >\n <Form decorators={[this.focusDecorator]} {...other}>\n {(api) =>\n sstyled(styles)(\n <SpinContainer\n background={background}\n theme={theme}\n size='xl'\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n p={1}\n m={9}\n >\n <Flex justifyContent='center'>\n <SliderRating value={rating} readonly={true} />\n </Flex>\n\n {(header as ReactElement)?.type === FeedbackRating.Header\n ? (\n header\n )\n : (\n <FeedbackRating.Header>{header}</FeedbackRating.Header>\n )}\n\n <Box\n tag='form'\n noValidate\n method='POST'\n ref={forwardRef}\n {...other}\n onSubmit={api.handleSubmit}\n >\n <Field name='rating' initialValue={rating}>\n {({ input }) => <input {...input} type='hidden' />}\n </Field>\n\n <div role='group' aria-labelledby={this.headerId}>\n {checkboxFields.map((formConfigItem, index) =>\n this.renderCheckbox(formConfigItem, index),\n )}\n </div>\n\n {textFields.map((formConfigItem) => this.renderTextField(formConfigItem))}\n\n {this.state.error && (\n <SemcoreNotice theme='warning' mt={4} mb={4}>\n <SemcoreNotice.Label>\n <WarnM />\n </SemcoreNotice.Label>\n <SemcoreNotice.Content>\n {getI18nText('errorMessage', {\n // todo: Brauer Ilia - think how to fix type\n // @ts-ignore\n email: (\n <Link href={`mailto:${errorFeedbackEmail}`}>\n {errorFeedbackEmail}\n </Link>\n ),\n })}\n </SemcoreNotice.Content>\n </SemcoreNotice>\n )}\n\n <Flex mt={4} justifyContent='center'>\n <FeedbackRating.Submit\n loading={status !== 'loading' ? api.submitting : status === 'loading'}\n size='l'\n >\n {submitText ?? getI18nText('submitButton')}\n </FeedbackRating.Submit>\n </Flex>\n </Box>\n </SpinContainer>,\n )}\n </Form>\n </SFeedbackRating>\n\n <NoticeBubbleContainer manager={this.manager} />\n </Root>,\n );\n }\n}\n\nfunction Header(props: any) {\n const { styles } = props;\n const SHeader = Root;\n return sstyled(styles)(\n <SHeader render={Modal.Title} />,\n );\n}\n\nconst FeedbackRating = createComponent<'form', FeedbackRatingProps, {}, typeof FeedbackRatingRoot.enhance>(FeedbackRatingRoot, {\n Header,\n Item: FeedbackItem,\n Checkbox: CheckboxButton,\n Submit: SubmitButton,\n}) as Intergalactic.Component<'form', FeedbackRatingProps, {}, typeof FeedbackRatingRoot.enhance> & {\n validate: typeof FeedbackRatingRoot.validate;\n Item: Intergalactic.Component<'div', FeedbackRatingItemProps>;\n Submit: typeof Button;\n Checkbox: Intergalactic.Component<typeof Checkbox, FeedbackRatingCheckboxProps>;\n Header: typeof Text;\n};\n\nexport default FeedbackRating;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackRating.type.js","names":[],"sources":["../../../../src/component/feedback-rating/FeedbackRating.type.ts"],"sourcesContent":["import type Button from '@semcore/button';\nimport type Checkbox from '@semcore/checkbox';\nimport type { CheckboxProps } from '@semcore/checkbox';\nimport type { Intergalactic } from '@semcore/core';\nimport type { IllustrationProps } from '@semcore/illustration';\nimport type Notice from '@semcore/notice';\nimport type { Text } from '@semcore/typography';\nimport type React from 'react';\nimport type { FieldProps } from 'react-final-form';\n\nimport type { FeedbackFormProps } from '../../index';\n\nexport type FormConfigItem = {\n key: string;\n label: React.ReactNode;\n type: 'input' | 'checkbox' | 'textarea' | 'email';\n description?: React.ReactNode;\n validate?: (value: any) => Error | string | undefined;\n};\n\nexport type FeedbackRatingProps = Intergalactic.InternalTypings.EfficientOmit<\n FeedbackFormProps,\n 'initialValues' | 'loading'\n> & {\n /** Status of form */\n status: 'default' | 'success' | 'error' | 'loading';\n\n /** Flag for show/hide notification */\n notificationVisible: boolean;\n /** Notification close callback */\n onNotificationClose: () => void;\n /** Text in notification panel */\n notificationText: string;\n /** Title in notification panel */\n notificationTitle?: string;\n /** Optional link in notification panel */\n learnMoreLink?: string;\n /** Rating value */\n rating: number;\n /** Visible modal form flag */\n visible: boolean;\n /** Visibility changes callback */\n onVisibleChange: (visible: boolean, rating: number) => void;\n\n /** Width for modal with form */\n modalWidth?: number | string;\n\n /** Header of modal with form */\n header: React.ReactNode;\n /** Text for submit button of form */\n submitText?: string;\n /** Config for form fields */\n formConfig: FormConfigItem[];\n\n /** Initial form values including rating */\n initialValues: Record<string, any> & { rating: number };\n /** Email address shown in error messages */\n errorFeedbackEmail: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /** Illustration element */\n Illustration?: Intergalactic.Component<'svg', IllustrationProps>;\n /** Notice component */\n Notice?: typeof Notice;\n};\n\nexport type FeedbackRatingItemProps = FieldProps<any, any> & {\n /**\n * Allows to override which passed props will be passed to the Tooltip component.\n */\n tooltipProps?: string[];\n};\n\nexport type FeedbackRatingCheckboxProps = Omit<CheckboxProps, 'label'> & {\n focused: boolean;\n label: React.ReactNode;\n};\n\ndeclare const FeedbackRatingType: Intergalactic.Component<'form', FeedbackRatingProps> & {\n Item: Intergalactic.Component<'div', FeedbackRatingItemProps>;\n Submit: typeof Button;\n Checkbox: Intergalactic.Component<typeof Checkbox, FeedbackRatingCheckboxProps>;\n Header: typeof Text;\n};\n\nexport { FeedbackRatingType };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"FeedbackRating.type.js","names":[],"sources":["../../../../src/component/feedback-rating/FeedbackRating.type.ts"],"sourcesContent":["import type { CheckboxProps } from '@semcore/checkbox';\nimport type { Intergalactic } from '@semcore/core';\nimport type { IllustrationProps } from '@semcore/illustration';\nimport type Notice from '@semcore/notice';\nimport type React from 'react';\nimport type { FieldProps } from 'react-final-form';\n\nimport type { FeedbackFormProps } from '../../index';\nimport type { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nexport type FormConfigItem = {\n key: string;\n label: React.ReactNode;\n type: 'input' | 'checkbox' | 'textarea' | 'email';\n description?: React.ReactNode;\n validate?: (value: any) => Error | string | undefined;\n};\n\nexport type FeedbackRatingProps = Intergalactic.InternalTypings.EfficientOmit<\n FeedbackFormProps,\n 'initialValues' | 'loading'\n> & {\n /** Status of form */\n status: 'default' | 'success' | 'error' | 'loading';\n\n /** Flag for show/hide notification */\n notificationVisible: boolean;\n /** Notification close callback */\n onNotificationClose: () => void;\n /** Text in notification panel */\n notificationText: string;\n /** Title in notification panel */\n notificationTitle?: string;\n /** Optional link in notification panel */\n learnMoreLink?: string;\n /** Rating value */\n rating: number;\n /** Visible modal form flag */\n visible: boolean;\n /** Visibility changes callback */\n onVisibleChange: (visible: boolean, rating: number) => void;\n\n /** Width for modal with form */\n modalWidth?: number | string;\n\n /** Header of modal with form */\n header: React.ReactNode;\n /** Text for submit button of form */\n submitText?: string;\n /** Config for form fields */\n formConfig: FormConfigItem[];\n\n /** Initial form values including rating */\n initialValues: Record<string, any> & { rating: number };\n /** Email address shown in error messages */\n errorFeedbackEmail: string;\n /** Specifies the locale for i18n support */\n locale?: string;\n /** Illustration element */\n Illustration?: Intergalactic.Component<'svg', IllustrationProps>;\n /** Notice component */\n Notice?: typeof Notice;\n};\n\nexport type FeedbackRatingItemProps = FieldProps<any, any> & {\n /**\n * Allows to override which passed props will be passed to the Tooltip component.\n */\n tooltipProps?: string[];\n};\n\nexport type FeedbackRatingCheckboxProps = Omit<CheckboxProps, 'label'> & {\n focused: boolean;\n label: React.ReactNode;\n};\n\nexport type FeedbackRatingDefaultProps = {\n onSubmit: () => void;\n i18n: typeof localizedMessages;\n locale: 'en';\n Illustration: Intergalactic.Component<'svg', IllustrationProps>;\n Notice: typeof Notice;\n};\n"],"mappings":"","ignoreList":[]}
@@ -1,174 +1,171 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
7
+ exports.default = void 0;
13
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
9
  var _core = require("@semcore/core");
10
+ var _baseComponents = require("@semcore/base-components");
15
11
  var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
16
12
  var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
17
- var _flexBox = require("@semcore/flex-box");
18
13
  var _react = _interopRequireDefault(require("react"));
19
14
  var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
20
15
  /*!__reshadow-styles__:"../../style/slider-rating.shadow.css"*/
21
- var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SSliderRating_10obr_gg_ .___SStar_10obr_gg_{transition:all calc(var(--intergalactic-duration-control, 200)*1ms) ease-out}.___SSliderRating_10obr_gg_:focus-visible .___SStar_10obr_gg_.__hovered_10obr_gg_{cursor:pointer;transform:scale(1.3)}@media (hover:hover){.___SSliderRating_10obr_gg_ .___SStar_10obr_gg_:hover{cursor:pointer;transform:scale(1.3)}.___SSliderRating_10obr_gg_.__readonly_10obr_gg_ .___SStar_10obr_gg_:hover{cursor:default;transform:none;transition:none}}.___SStar_10obr_gg_.__filled_10obr_gg_:active{animation:wobble .8s ease-in-out}.___SStar_10obr_gg_ path{fill:var(--intergalactic-slider-rating-normal, #a9abb6)}.___SStar_10obr_gg_.__filled_10obr_gg_ path{stroke-width:0;fill:var(--intergalactic-slider-rating-hover-active, #fdc23c)}", /*__inner_css_end__*/"10obr_gg_"),
16
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SSliderRating_wx4t1_gg_ .___SStar_wx4t1_gg_{transition:all calc(var(--intergalactic-duration-control, 200)*1ms) ease-out}.___SSliderRating_wx4t1_gg_:focus-visible .___SStar_wx4t1_gg_.__hovered_wx4t1_gg_{cursor:pointer;transform:scale(1.3)}@media (hover:hover){.___SSliderRating_wx4t1_gg_ .___SStar_wx4t1_gg_:hover{cursor:pointer;transform:scale(1.3)}.___SSliderRating_wx4t1_gg_.__readonly_wx4t1_gg_ .___SStar_wx4t1_gg_:hover{cursor:default;transform:none;transition:none}}.___SStar_wx4t1_gg_.__filled_wx4t1_gg_:active{animation:wobble .8s ease-in-out}.___SStar_wx4t1_gg_ path{fill:var(--intergalactic-slider-rating-normal, #a9abb6)}.___SStar_wx4t1_gg_.__filled_wx4t1_gg_ path{stroke-width:0;fill:var(--intergalactic-slider-rating-hover-active, #fdc23c)}", /*__inner_css_end__*/"wx4t1_gg_"),
22
17
  /*__reshadow_css_end__*/
23
18
  {
24
- "__SSliderRating": "___SSliderRating_10obr_gg_",
25
- "__SStar": "___SStar_10obr_gg_",
26
- "_hovered": "__hovered_10obr_gg_",
27
- "_readonly": "__readonly_10obr_gg_",
28
- "_filled": "__filled_10obr_gg_"
19
+ "__SSliderRating": "___SSliderRating_wx4t1_gg_",
20
+ "__SStar": "___SStar_wx4t1_gg_",
21
+ "_hovered": "__hovered_wx4t1_gg_",
22
+ "_readonly": "__readonly_wx4t1_gg_",
23
+ "_filled": "__filled_wx4t1_gg_"
29
24
  });
30
- var MIN = 1;
31
- var MAX = 5;
32
- var SliderRatingRoot = /*#__PURE__*/function (_Component) {
33
- function SliderRatingRoot() {
34
- var _this;
35
- (0, _classCallCheck2["default"])(this, SliderRatingRoot);
36
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
- args[_key] = arguments[_key];
38
- }
39
- _this = (0, _callSuper2["default"])(this, SliderRatingRoot, [].concat(args));
40
- (0, _defineProperty2["default"])(_this, "state", {
25
+ const MIN = 1;
26
+ const MAX = 5;
27
+ class SliderRatingRoot extends _core.Component {
28
+ constructor(...args) {
29
+ super(...args);
30
+ (0, _defineProperty2.default)(this, "state", {
41
31
  hoveredIndex: -1,
42
32
  clickedIndex: -1
43
33
  });
44
- (0, _defineProperty2["default"])(_this, "handleClick", function (newValue) {
45
- return function (_e) {
46
- var readonly = _this.asProps.readonly;
47
- if (!readonly) {
48
- _this.setValue(newValue);
49
- }
50
- };
34
+ (0, _defineProperty2.default)(this, "handleClick", newValue => _e => {
35
+ const {
36
+ readonly
37
+ } = this.asProps;
38
+ if (!readonly) {
39
+ this.setValue(newValue);
40
+ }
51
41
  });
52
- (0, _defineProperty2["default"])(_this, "handleMouseEnder", function (index) {
53
- return function () {
54
- _this.setState({
55
- hoveredIndex: index
56
- });
57
- };
42
+ (0, _defineProperty2.default)(this, "handleMouseEnder", index => () => {
43
+ this.setState({
44
+ hoveredIndex: index
45
+ });
58
46
  });
59
- (0, _defineProperty2["default"])(_this, "handleMouseLeave", function () {
60
- _this.setState({
47
+ (0, _defineProperty2.default)(this, "handleMouseLeave", () => {
48
+ this.setState({
61
49
  hoveredIndex: -1
62
50
  });
63
51
  });
64
- (0, _defineProperty2["default"])(_this, "setValue", function (newValue) {
65
- var _this$asProps = _this.asProps,
66
- onChange = _this$asProps.onChange,
67
- value = _this$asProps.value;
52
+ (0, _defineProperty2.default)(this, "setValue", newValue => {
53
+ const {
54
+ onChange,
55
+ value
56
+ } = this.asProps;
68
57
  if (onChange) {
69
58
  onChange(newValue);
70
59
  }
71
60
  if (newValue <= value) {
72
- _this.setState({
61
+ this.setState({
73
62
  clickedIndex: newValue,
74
63
  hoveredIndex: -1
75
64
  });
76
65
  } else {
77
- _this.setState({
66
+ this.setState({
78
67
  clickedIndex: -1,
79
68
  hoveredIndex: -1
80
69
  });
81
70
  }
82
71
  });
83
- (0, _defineProperty2["default"])(_this, "handleKeyDown", function (event) {
72
+ (0, _defineProperty2.default)(this, "handleKeyDown", event => {
84
73
  if (!['ArrowLeft', 'ArrowRight', 'Enter'].includes(event.key)) return;
85
74
  event.preventDefault();
86
75
  if (event.key === 'Enter') {
87
- var hoveredIndex = _this.state.hoveredIndex;
88
- _this.setValue(hoveredIndex + 1);
76
+ const {
77
+ hoveredIndex
78
+ } = this.state;
79
+ this.setValue(hoveredIndex + 1);
89
80
  } else {
90
- var value = _this.asProps.value;
91
- var _hoveredIndex = _this.state.hoveredIndex;
92
- var direction = event.key === 'ArrowLeft' ? -1 : 1;
93
- var newValue = _hoveredIndex === -1 ? value + direction : _hoveredIndex + 1 + direction;
81
+ const {
82
+ value
83
+ } = this.asProps;
84
+ const {
85
+ hoveredIndex
86
+ } = this.state;
87
+ const direction = event.key === 'ArrowLeft' ? -1 : 1;
88
+ let newValue = hoveredIndex === -1 ? value + direction : hoveredIndex + 1 + direction;
94
89
  if (newValue > MAX) newValue = MAX;
95
90
  if (newValue < MIN) newValue = MIN;
96
- _this.setState({
91
+ this.setState({
97
92
  hoveredIndex: newValue - 1
98
93
  });
99
94
  }
100
95
  });
101
- return _this;
102
96
  }
103
- (0, _inherits2["default"])(SliderRatingRoot, _Component);
104
- return (0, _createClass2["default"])(SliderRatingRoot, [{
105
- key: "getStarProps",
106
- value: function getStarProps(_, index) {
107
- var _this$asProps2 = this.asProps,
108
- value = _this$asProps2.value,
109
- readonly = _this$asProps2.readonly;
110
- var hoveredIndex = this.state.hoveredIndex;
111
- return {
112
- filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,
113
- onClick: this.handleClick(index + 1),
114
- onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),
115
- hovered: hoveredIndex === index
116
- };
97
+ getStarProps(_, index) {
98
+ const {
99
+ value,
100
+ readonly
101
+ } = this.asProps;
102
+ const {
103
+ hoveredIndex
104
+ } = this.state;
105
+ return {
106
+ filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,
107
+ onClick: this.handleClick(index + 1),
108
+ onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),
109
+ hovered: hoveredIndex === index
110
+ };
111
+ }
112
+ getLabelText() {
113
+ const {
114
+ hoveredIndex
115
+ } = this.state;
116
+ const {
117
+ readonly,
118
+ value,
119
+ getI18nText
120
+ } = this.asProps;
121
+ if (readonly) {
122
+ return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {
123
+ selectedRating: value,
124
+ max: MAX
125
+ });
117
126
  }
118
- }, {
119
- key: "getLabelText",
120
- value: function getLabelText() {
121
- var hoveredIndex = this.state.hoveredIndex;
122
- var _this$asProps3 = this.asProps,
123
- readonly = _this$asProps3.readonly,
124
- value = _this$asProps3.value,
125
- getI18nText = _this$asProps3.getI18nText;
126
- if (readonly) {
127
- return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {
128
- selectedRating: value,
129
- max: MAX
130
- });
131
- }
132
- if (value) {
133
- var selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;
134
- return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
135
- selectedRating: selectedRating,
136
- max: MAX
137
- });
138
- }
139
- return hoveredIndex === -1 ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty') : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
140
- selectedRating: hoveredIndex + 1,
127
+ if (value) {
128
+ const selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;
129
+ return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
130
+ selectedRating: selectedRating,
141
131
  max: MAX
142
132
  });
143
133
  }
144
- }, {
145
- key: "render",
146
- value: function render() {
147
- var _ref = this.asProps,
148
- _ref3;
149
- var _this$asProps4 = this.asProps,
150
- styles = _this$asProps4.styles,
151
- readonly = _this$asProps4.readonly,
152
- getI18nText = _this$asProps4.getI18nText,
153
- value = _this$asProps4.value;
154
- var hoveredIndex = this.state.hoveredIndex;
155
- var SSliderRating = _flexBox.Flex;
156
- var label = this.getLabelText();
157
- if (readonly) {
158
- return /*#__PURE__*/_react["default"].createElement(SSliderRating, (0, _core.assignProps)({
159
- "gap": 1,
160
- "role": 'img',
161
- "aria-label": label
162
- }, _ref), new Array(MAX).fill(null).map(function (_, index) {
163
- return /*#__PURE__*/_react["default"].createElement(_flexBox.Box, {
164
- key: index,
165
- position: "relative"
166
- }, /*#__PURE__*/_react["default"].createElement(SliderRating.Star, null));
167
- }));
168
- }
169
- var hoverValue = hoveredIndex + 1;
170
- var editModeLabel = hoverValue > 0 || value ? "".concat(label, ". ").concat(getI18nText('FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber'), ".") : label;
171
- return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSliderRating, _ref3.cn("SSliderRating", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
134
+ return hoveredIndex === -1 ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty') : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {
135
+ selectedRating: hoveredIndex + 1,
136
+ max: MAX
137
+ });
138
+ }
139
+ render() {
140
+ var _ref = this.asProps,
141
+ _ref3;
142
+ const {
143
+ styles,
144
+ readonly,
145
+ getI18nText,
146
+ value
147
+ } = this.asProps;
148
+ const {
149
+ hoveredIndex
150
+ } = this.state;
151
+ const SSliderRating = _baseComponents.Flex;
152
+ const label = this.getLabelText();
153
+ if (readonly) {
154
+ return /*#__PURE__*/_react.default.createElement(SSliderRating, (0, _core.assignProps)({
155
+ "gap": 1,
156
+ "role": 'img',
157
+ "aria-label": label
158
+ }, _ref), new Array(MAX).fill(null).map((_, index) => {
159
+ return /*#__PURE__*/_react.default.createElement(_baseComponents.Box, {
160
+ key: index,
161
+ position: "relative"
162
+ }, /*#__PURE__*/_react.default.createElement(SliderRating.Star, null));
163
+ }));
164
+ }
165
+ const hoverValue = hoveredIndex + 1;
166
+ const editModeLabel = hoverValue > 0 || value ? `${label}. ${getI18nText('FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber')}.` : label;
167
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SSliderRating, _ref3.cn("SSliderRating", {
168
+ ...(0, _core.assignProps)({
172
169
  "gap": 1,
173
170
  "tabIndex": 0,
174
171
  "onMouseLeave": this.handleMouseLeave,
@@ -179,45 +176,47 @@ var SliderRatingRoot = /*#__PURE__*/function (_Component) {
179
176
  "aria-valuemax": MAX,
180
177
  "aria-valuetext": editModeLabel,
181
178
  "aria-valuenow": hoverValue
182
- }, _ref))), new Array(MAX).fill(null).map(function (_, index) {
183
- return /*#__PURE__*/_react["default"].createElement(_flexBox.Box, {
184
- key: index,
185
- position: "relative"
186
- }, /*#__PURE__*/_react["default"].createElement(SliderRating.Star, null));
187
- }));
188
- }
189
- }]);
190
- }(_core.Component);
191
- (0, _defineProperty2["default"])(SliderRatingRoot, "displayName", 'SliderRating');
192
- (0, _defineProperty2["default"])(SliderRatingRoot, "style", style);
193
- (0, _defineProperty2["default"])(SliderRatingRoot, "enhance", [(0, _uniqueID["default"])(), (0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
194
- (0, _defineProperty2["default"])(SliderRatingRoot, "defaultProps", {
179
+ }, _ref)
180
+ }), new Array(MAX).fill(null).map((_, index) => {
181
+ return /*#__PURE__*/_react.default.createElement(_baseComponents.Box, {
182
+ key: index,
183
+ position: "relative"
184
+ }, /*#__PURE__*/_react.default.createElement(SliderRating.Star, null));
185
+ }));
186
+ }
187
+ }
188
+ (0, _defineProperty2.default)(SliderRatingRoot, "displayName", 'SliderRating');
189
+ (0, _defineProperty2.default)(SliderRatingRoot, "style", style);
190
+ (0, _defineProperty2.default)(SliderRatingRoot, "enhance", [(0, _uniqueID.default)(), (0, _i18nEnhance.default)(_intergalacticDynamicLocales.localizedMessages)]);
191
+ (0, _defineProperty2.default)(SliderRatingRoot, "defaultProps", {
195
192
  i18n: _intergalacticDynamicLocales.localizedMessages,
196
193
  locale: 'en'
197
194
  });
198
195
  function Star(props) {
199
196
  var _ref2 = arguments[0],
200
197
  _ref4;
201
- var SStar = _flexBox.Box;
202
- return _ref4 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SStar, _ref4.cn("SStar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
203
- "tag": 'svg',
204
- "role": 'none',
205
- "width": '24',
206
- "height": '24',
207
- "viewBox": '0 0 24 24',
208
- "fill": 'none',
209
- "xmlns": 'http://www.w3.org/2000/svg'
210
- }, _ref2))), props.filled ? /*#__PURE__*/_react["default"].createElement("path", _ref4.cn("path", {
198
+ const SStar = _baseComponents.Box;
199
+ return _ref4 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react.default.createElement(SStar, _ref4.cn("SStar", {
200
+ ...(0, _core.assignProps)({
201
+ "tag": 'svg',
202
+ "role": 'none',
203
+ "width": '24',
204
+ "height": '24',
205
+ "viewBox": '0 0 24 24',
206
+ "fill": 'none',
207
+ "xmlns": 'http://www.w3.org/2000/svg'
208
+ }, _ref2)
209
+ }), props.filled ? /*#__PURE__*/_react.default.createElement("path", _ref4.cn("path", {
211
210
  "d": 'M11.646 1.214a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214a.4.4 0 0 1 .219.673l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293Z'
212
- })) : /*#__PURE__*/_react["default"].createElement("path", _ref4.cn("path", {
211
+ })) : /*#__PURE__*/_react.default.createElement("path", _ref4.cn("path", {
213
212
  "d": 'M14.358 9.31 12 4.834 9.642 9.31l-4.985.864 3.526 3.634-.72 5.014L12 16.588l4.537 2.235-.72-5.014 3.526-3.634-4.985-.864Zm8.31-.59a.4.4 0 0 1 .219.674l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214Z',
214
213
  "fillRule": 'evenodd',
215
214
  "clipRule": 'evenodd'
216
215
  })));
217
216
  }
218
217
  Star.displayName = 'Star';
219
- var SliderRating = (0, _core.createComponent)(SliderRatingRoot, {
220
- Star: Star
218
+ const SliderRating = (0, _core.createComponent)(SliderRatingRoot, {
219
+ Star
221
220
  });
222
- var _default = exports["default"] = SliderRating;
221
+ var _default = exports.default = SliderRating;
223
222
  //# sourceMappingURL=SliderRating.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderRating.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_uniqueID","_flexBox","_react","_intergalacticDynamicLocales","style","sstyled","insert","MIN","MAX","SliderRatingRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","hoveredIndex","clickedIndex","newValue","_e","readonly","asProps","setValue","index","setState","_this$asProps","onChange","value","event","includes","key","preventDefault","state","direction","_inherits2","_createClass2","getStarProps","_","_this$asProps2","filled","onClick","handleClick","onMouseEnter","undefined","handleMouseEnder","hovered","getLabelText","_this$asProps3","getI18nText","selectedRating","max","render","_ref","_ref3","_this$asProps4","styles","SSliderRating","Flex","label","createElement","assignProps","fill","map","Box","position","SliderRating","Star","hoverValue","editModeLabel","cn","_objectSpread2","handleMouseLeave","handleKeyDown","Component","uniqueIDEnhancement","i18nEnhance","localizedMessages","i18n","locale","props","_ref2","arguments[0]","_ref4","SStar","displayName","createComponent","_default","exports"],"sources":["../../../../src/component/slider-rating/SliderRating.tsx"],"sourcesContent":["import { createComponent, Component, Root, sstyled, type Intergalactic } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Flex, Box, type BoxProps } from '@semcore/flex-box';\nimport React from 'react';\n\nimport style from '../../style/slider-rating.shadow.css';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\ntype SliderRatingProps = {\n value: number;\n onChange?: (value: number) => void;\n readonly?: boolean;\n};\n\ntype State = {\n hoveredIndex: number;\n clickedIndex: number;\n};\n\ntype StarProps = BoxProps & {\n filled?: boolean;\n};\n\nconst MIN = 1;\nconst MAX = 5;\n\nclass SliderRatingRoot extends Component<\n SliderRatingProps,\n {},\n State,\n typeof SliderRatingRoot.enhance\n> {\n static displayName = 'SliderRating';\n static style = style;\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\n\n state: State = {\n hoveredIndex: -1,\n clickedIndex: -1,\n };\n\n static defaultProps = {\n i18n: localizedMessages,\n locale: 'en',\n };\n\n handleClick = (newValue: number) => (_e: React.SyntheticEvent<SVGElement>) => {\n const { readonly } = this.asProps;\n\n if (!readonly) {\n this.setValue(newValue);\n }\n };\n\n handleMouseEnder = (index: number) => () => {\n this.setState({ hoveredIndex: index });\n };\n\n handleMouseLeave = () => {\n this.setState({ hoveredIndex: -1 });\n };\n\n getStarProps(_: any, index: number) {\n const { value, readonly } = this.asProps;\n const { hoveredIndex } = this.state;\n\n return {\n filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,\n onClick: this.handleClick(index + 1),\n onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),\n hovered: hoveredIndex === index,\n };\n }\n\n setValue = (newValue: number) => {\n const { onChange, value } = this.asProps;\n\n if (onChange) {\n onChange(newValue);\n }\n\n if (newValue <= value) {\n this.setState({ clickedIndex: newValue, hoveredIndex: -1 });\n } else {\n this.setState({ clickedIndex: -1, hoveredIndex: -1 });\n }\n };\n\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (!['ArrowLeft', 'ArrowRight', 'Enter'].includes(event.key)) return;\n event.preventDefault();\n\n if (event.key === 'Enter') {\n const { hoveredIndex } = this.state;\n\n this.setValue(hoveredIndex + 1);\n } else {\n const { value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const direction = event.key === 'ArrowLeft' ? -1 : 1;\n let newValue = hoveredIndex === -1 ? value + direction : hoveredIndex + 1 + direction;\n\n if (newValue > MAX) newValue = MAX;\n if (newValue < MIN) newValue = MIN;\n\n this.setState({ hoveredIndex: newValue - 1 });\n }\n };\n\n getLabelText() {\n const { hoveredIndex } = this.state;\n const { readonly, value, getI18nText } = this.asProps;\n\n if (readonly) {\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {\n selectedRating: value,\n max: MAX,\n });\n }\n\n if (value) {\n const selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: selectedRating,\n max: MAX,\n });\n }\n\n return hoveredIndex === -1\n ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty')\n : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: hoveredIndex + 1,\n max: MAX,\n });\n }\n\n render() {\n const { styles, readonly, getI18nText, value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const SSliderRating = Root;\n const label = this.getLabelText();\n\n if (readonly) {\n return (\n <SSliderRating render={Flex} gap={1} role='img' aria-label={label}>\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position='relative'>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>\n );\n }\n\n const hoverValue = hoveredIndex + 1;\n\n const editModeLabel =\n hoverValue > 0 || value\n ? `${label}. ${getI18nText(\n 'FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber',\n )}.`\n : label;\n\n return sstyled(styles)(\n <SSliderRating\n render={Flex}\n gap={1}\n tabIndex={0}\n onMouseLeave={this.handleMouseLeave}\n onKeyDown={this.handleKeyDown}\n role='slider'\n aria-orientation='horizontal'\n aria-valuemin={MIN}\n aria-valuemax={MAX}\n aria-valuetext={editModeLabel}\n aria-valuenow={hoverValue}\n >\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position='relative'>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>,\n );\n }\n}\n\nfunction Star(props: StarProps) {\n const SStar = Root;\n return sstyled(props.styles)(\n <SStar\n render={Box}\n tag='svg'\n role='none'\n width='24'\n height='24'\n viewBox='0 0 24 24'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n {props.filled\n ? (\n <path d='M11.646 1.214a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214a.4.4 0 0 1 .219.673l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293Z' />\n )\n : (\n <path\n d='M14.358 9.31 12 4.834 9.642 9.31l-4.985.864 3.526 3.634-.72 5.014L12 16.588l4.537 2.235-.72-5.014 3.526-3.634-4.985-.864Zm8.31-.59a.4.4 0 0 1 .219.674l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214Z'\n fillRule='evenodd'\n clipRule='evenodd'\n />\n )}\n </SStar>,\n );\n}\nStar.displayName = 'Star';\n\nconst SliderRating = createComponent(SliderRatingRoot, {\n Star,\n}) as Intergalactic.Component<typeof Flex, SliderRatingProps> & {\n Star: Intergalactic.Component<typeof Box, StarProps>;\n};\n\nexport default SliderRating;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SliderRating.js","names":["_core","require","_baseComponents","_i18nEnhance","_interopRequireDefault","_uniqueID","_react","_intergalacticDynamicLocales","style","sstyled","insert","MIN","MAX","SliderRatingRoot","Component","constructor","args","_defineProperty2","default","hoveredIndex","clickedIndex","newValue","_e","readonly","asProps","setValue","index","setState","onChange","value","event","includes","key","preventDefault","state","direction","getStarProps","_","filled","onClick","handleClick","onMouseEnter","undefined","handleMouseEnder","hovered","getLabelText","getI18nText","selectedRating","max","render","_ref","_ref3","styles","SSliderRating","Flex","label","createElement","assignProps","Array","fill","map","Box","position","SliderRating","Star","hoverValue","editModeLabel","cn","handleMouseLeave","handleKeyDown","uniqueIDEnhancement","i18nEnhance","localizedMessages","i18n","locale","props","_ref2","arguments[0]","_ref4","SStar","displayName","createComponent","_default","exports"],"sources":["../../../../src/component/slider-rating/SliderRating.tsx"],"sourcesContent":["import { Flex, Box, type BoxProps } from '@semcore/base-components';\nimport { createComponent, Component, Root, sstyled, type Intergalactic } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport React from 'react';\n\nimport style from '../../style/slider-rating.shadow.css';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\ntype SliderRatingProps = {\n value: number;\n onChange?: (value: number) => void;\n readonly?: boolean;\n};\n\ntype State = {\n hoveredIndex: number;\n clickedIndex: number;\n};\n\ntype StarProps = BoxProps & {\n filled?: boolean;\n};\n\nconst MIN = 1;\nconst MAX = 5;\n\nclass SliderRatingRoot extends Component<\n SliderRatingProps,\n typeof SliderRatingRoot.enhance,\n {},\n {},\n State\n> {\n static displayName = 'SliderRating';\n static style = style;\n\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages)] as const;\n\n state: State = {\n hoveredIndex: -1,\n clickedIndex: -1,\n };\n\n static defaultProps = {\n i18n: localizedMessages,\n locale: 'en',\n };\n\n handleClick = (newValue: number) => (_e: React.SyntheticEvent<SVGElement>) => {\n const { readonly } = this.asProps;\n\n if (!readonly) {\n this.setValue(newValue);\n }\n };\n\n handleMouseEnder = (index: number) => () => {\n this.setState({ hoveredIndex: index });\n };\n\n handleMouseLeave = () => {\n this.setState({ hoveredIndex: -1 });\n };\n\n getStarProps(_: any, index: number) {\n const { value, readonly } = this.asProps;\n const { hoveredIndex } = this.state;\n\n return {\n filled: value ? index + 1 <= value || index <= hoveredIndex : index <= hoveredIndex,\n onClick: this.handleClick(index + 1),\n onMouseEnter: readonly ? undefined : this.handleMouseEnder(index),\n hovered: hoveredIndex === index,\n };\n }\n\n setValue = (newValue: number) => {\n const { onChange, value } = this.asProps;\n\n if (onChange) {\n onChange(newValue);\n }\n\n if (newValue <= value) {\n this.setState({ clickedIndex: newValue, hoveredIndex: -1 });\n } else {\n this.setState({ clickedIndex: -1, hoveredIndex: -1 });\n }\n };\n\n handleKeyDown = (event: React.KeyboardEvent) => {\n if (!['ArrowLeft', 'ArrowRight', 'Enter'].includes(event.key)) return;\n event.preventDefault();\n\n if (event.key === 'Enter') {\n const { hoveredIndex } = this.state;\n\n this.setValue(hoveredIndex + 1);\n } else {\n const { value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const direction = event.key === 'ArrowLeft' ? -1 : 1;\n let newValue = hoveredIndex === -1 ? value + direction : hoveredIndex + 1 + direction;\n\n if (newValue > MAX) newValue = MAX;\n if (newValue < MIN) newValue = MIN;\n\n this.setState({ hoveredIndex: newValue - 1 });\n }\n };\n\n getLabelText() {\n const { hoveredIndex } = this.state;\n const { readonly, value, getI18nText } = this.asProps;\n\n if (readonly) {\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext.readonly', {\n selectedRating: value,\n max: MAX,\n });\n }\n\n if (value) {\n const selectedRating = hoveredIndex > -1 ? hoveredIndex + 1 : value;\n return getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: selectedRating,\n max: MAX,\n });\n }\n\n return hoveredIndex === -1\n ? getI18nText('FeedbackRating.SliderRating.aria-valuetext.empty')\n : getI18nText('FeedbackRating.SliderRating.aria-valuetext', {\n selectedRating: hoveredIndex + 1,\n max: MAX,\n });\n }\n\n render() {\n const { styles, readonly, getI18nText, value } = this.asProps;\n const { hoveredIndex } = this.state;\n\n const SSliderRating = Root;\n const label = this.getLabelText();\n\n if (readonly) {\n return (\n <SSliderRating render={Flex} gap={1} role='img' aria-label={label}>\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position='relative'>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>\n );\n }\n\n const hoverValue = hoveredIndex + 1;\n\n const editModeLabel =\n hoverValue > 0 || value\n ? `${label}. ${getI18nText(\n 'FeedbackRating.SliderRating.ScreenReaderOnly.sliderDescriber',\n )}.`\n : label;\n\n return sstyled(styles)(\n <SSliderRating\n render={Flex}\n gap={1}\n tabIndex={0}\n onMouseLeave={this.handleMouseLeave}\n onKeyDown={this.handleKeyDown}\n role='slider'\n aria-orientation='horizontal'\n aria-valuemin={MIN}\n aria-valuemax={MAX}\n aria-valuetext={editModeLabel}\n aria-valuenow={hoverValue}\n >\n {new Array(MAX).fill(null).map((_, index) => {\n return (\n <Box key={index} position='relative'>\n <SliderRating.Star />\n </Box>\n );\n })}\n </SSliderRating>,\n );\n }\n}\n\nfunction Star(props: StarProps) {\n const SStar = Root;\n return sstyled(props.styles)(\n <SStar\n render={Box}\n tag='svg'\n role='none'\n width='24'\n height='24'\n viewBox='0 0 24 24'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n {props.filled\n ? (\n <path d='M11.646 1.214a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214a.4.4 0 0 1 .219.673l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293Z' />\n )\n : (\n <path\n d='M14.358 9.31 12 4.834 9.642 9.31l-4.985.864 3.526 3.634-.72 5.014L12 16.588l4.537 2.235-.72-5.014 3.526-3.634-4.985-.864Zm8.31-.59a.4.4 0 0 1 .219.674l-4.952 5.104 1.012 7.044a.4.4 0 0 1-.573.416L12 18.818l-6.374 3.14a.4.4 0 0 1-.572-.416l1.01-7.044-4.95-5.104a.4.4 0 0 1 .218-.673l7-1.214 3.314-6.293a.4.4 0 0 1 .708 0l3.314 6.293 7 1.214Z'\n fillRule='evenodd'\n clipRule='evenodd'\n />\n )}\n </SStar>,\n );\n}\nStar.displayName = 'Star';\n\nconst SliderRating = createComponent(SliderRatingRoot, {\n Star,\n}) as Intergalactic.Component<typeof Flex, SliderRatingProps> & {\n Star: Intergalactic.Component<typeof Box, StarProps>;\n};\n\nexport default SliderRating;\n"],"mappings":"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","ignoreList":[]}