1 |
- {"version":3,"file":"37013.js","mappings":"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","sources":["webpack://quran.com/./public/icons/star.svg","webpack://quran.com/./public/icons/star_filled.svg","webpack://quran.com/./src/components/FormBuilder/FormBuilder.module.scss","webpack://quran.com/./src/components/dls/Forms/StarRating/Root.module.scss","webpack://quran.com/./src/components/dls/Forms/StarRating/Star.module.scss","webpack://quran.com/./src/components/dls/Forms/TextArea/TextArea.module.scss","webpack://quran.com/./src/components/FormBuilder/FormBuilder.tsx","webpack://quran.com/./src/components/FormBuilder/buildReactHookFormRules.ts","webpack://quran.com/./src/components/dls/Forms/StarRating/Root.tsx","webpack://quran.com/./src/components/dls/Forms/StarRating/Star.tsx","webpack://quran.com/./src/components/dls/Forms/StarRating/index.tsx","webpack://quran.com/./src/components/dls/Forms/TextArea/index.tsx","webpack://quran.com/./types/FieldRule.ts","webpack://quran.com/./types/FormField.ts"],"sourcesContent":["var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgStar = function SvgStar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6.98 1.252-.022.05L5.588 4.6a.3.3 0 0 1-.253.184l-3.561.286-.055.004-.331.027-.3.024a.3.3 0 0 0-.172.527l.23.196.252.216.041.036 2.713 2.324a.3.3 0 0 1 .097.297l-.83 3.475-.012.053-.077.323-.07.294a.3.3 0 0 0 .448.326l.258-.158.284-.173.046-.028 3.049-1.863a.3.3 0 0 1 .312 0l3.049 1.863.046.028.284.173.258.158a.3.3 0 0 0 .448-.326l-.07-.293-.077-.324-.013-.053-.829-3.475a.3.3 0 0 1 .097-.297L13.562 6.1l.041-.036.253-.216.23-.196a.3.3 0 0 0-.172-.527l-.3-.024-.332-.027-.055-.004-3.56-.286a.3.3 0 0 1-.254-.184L8.042 1.302l-.021-.05-.128-.307-.116-.279a.3.3 0 0 0-.554 0l-.116.279-.128.307Zm.52 1.352-.99 2.38a1.3 1.3 0 0 1-1.096.797l-2.57.206 1.958 1.677a1.3 1.3 0 0 1 .418 1.29l-.598 2.507 2.2-1.344a1.3 1.3 0 0 1 1.356 0l2.2 1.344-.598-2.508a1.3 1.3 0 0 1 .418-1.289l1.958-1.677-2.57-.206a1.3 1.3 0 0 1-1.096-.797l-.99-2.38Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgStar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgStarFilled = function SvgStarFilled(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.223.666a.3.3 0 0 1 .554 0L9.413 4.6a.3.3 0 0 0 .253.184l4.248.34a.3.3 0 0 1 .171.528L10.85 8.424a.3.3 0 0 0-.097.297l.99 4.145a.3.3 0 0 1-.45.326L7.657 10.97a.3.3 0 0 0-.312 0l-3.637 2.222a.3.3 0 0 1-.448-.326l.989-4.145a.3.3 0 0 0-.097-.297L.915 5.652a.3.3 0 0 1 .171-.527l4.248-.34a.3.3 0 0 0 .253-.185L7.223.666Z\",\n fill: \"currentColor\"\n })));\n};\nexport default SvgStarFilled;","// Exports\nmodule.exports = {\n\t\"container\": \"FormBuilder_container__7H_38\",\n\t\"inputContainer\": \"FormBuilder_inputContainer__v4ceB\",\n\t\"errorText\": \"FormBuilder_errorText__1uSsu\",\n\t\"submitButton\": \"FormBuilder_submitButton__4Wo4u\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Root_container__CQEHR\"\n};\n","// Exports\nmodule.exports = {\n\t\"starButton\": \"Star_starButton__UeMsd\",\n\t\"selected\": \"Star_selected__M87yb\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"TextArea_container__7anjD\",\n\t\"disabled\": \"TextArea_disabled__hBW2r\",\n\t\"error\": \"TextArea_error__JceFQ\",\n\t\"success\": \"TextArea_success__cfxk5\",\n\t\"warning\": \"TextArea_warning__fUWyl\",\n\t\"main\": \"TextArea_main__KBxzB\",\n\t\"input\": \"TextArea_input__SDMp4\",\n\t\"label\": \"TextArea_label__VLY9r\"\n};\n","import classNames from 'classnames';\nimport { Controller, useForm } from 'react-hook-form';\n\nimport buildReactHookFormRules from './buildReactHookFormRules';\nimport styles from './FormBuilder.module.scss';\nimport { FormBuilderFormField } from './FormBuilderTypes';\n\nimport Button, { ButtonProps } from '@/dls/Button/Button';\nimport Checkbox from '@/dls/Forms/Checkbox/Checkbox';\nimport Input from '@/dls/Forms/Input';\nimport StarRating from '@/dls/Forms/StarRating';\nimport TextArea from '@/dls/Forms/TextArea';\nimport { FormFieldType } from '@/types/FormField';\n\nexport type SubmissionResult<T> = Promise<void | { errors: { [key in keyof T]: string } }>;\ntype FormBuilderProps<T> = {\n formFields: FormBuilderFormField[];\n onSubmit: (data: T) => void | SubmissionResult<T>;\n isSubmitting?: boolean;\n actionText?: string;\n actionProps?: ButtonProps;\n renderAction?: (props: ButtonProps) => React.ReactNode;\n};\n\n/**\n * {@see https://legacy.reactjs.org/docs/jsx-in-depth.html#choosing-the-type-at-runtime}\n */\nconst FormFieldTypeToComponentMap = {\n [FormFieldType.TextArea]: TextArea,\n [FormFieldType.Text]: Input,\n [FormFieldType.Password]: Input,\n [FormFieldType.Phone]: Input,\n [FormFieldType.Number]: Input,\n [FormFieldType.Checkbox]: Checkbox,\n [FormFieldType.StarRating]: StarRating,\n};\n\nconst isFieldTextInput = (type: FormFieldType) => {\n return [\n FormFieldType.Text,\n FormFieldType.Password,\n FormFieldType.Phone,\n FormFieldType.Number,\n ].includes(type);\n};\n\nconst FormBuilder = <T,>({\n formFields,\n onSubmit,\n actionText,\n actionProps = {},\n isSubmitting,\n renderAction,\n}: FormBuilderProps<T>) => {\n const { handleSubmit, control, setError } = useForm({ mode: 'onBlur' });\n\n const internalOnSubmit = (data: T) => {\n const onSubmitPromise = onSubmit(data);\n if (onSubmitPromise) {\n onSubmitPromise.then((errorData) => {\n if (errorData && errorData?.errors) {\n Object.entries(errorData.errors).forEach(([field, errorMessage]) => {\n setError(field, { type: 'manual', message: errorMessage as string });\n });\n }\n });\n }\n };\n\n return (\n <form className={styles.container} onSubmit={handleSubmit(internalOnSubmit)}>\n {formFields?.map((formField) => {\n return (\n <Controller\n key={formField.field}\n control={control}\n defaultValue={formField.defaultValue}\n rules={buildReactHookFormRules(formField)}\n name={formField.field}\n render={({ field, fieldState: { error } }) => {\n const inputFieldProps = {\n key: formField.field,\n value: field.value,\n id: formField.field,\n name: formField.field,\n containerClassName: formField.containerClassName,\n fieldSetLegend: formField.fieldSetLegend,\n label: formField.label,\n placeholder: formField.placeholder,\n onChange: (val) => {\n field.onChange(val);\n if (formField?.onChange) {\n formField.onChange(val);\n }\n },\n ...(isFieldTextInput(formField.type) && {\n htmlType: formField.type,\n fixedWidth: false,\n }),\n ...(formField.type === FormFieldType.Checkbox &&\n typeof formField.checked !== 'undefined' && {\n checked: formField.checked,\n }),\n };\n const InputField = FormFieldTypeToComponentMap[formField.type];\n return (\n <div className={classNames(styles.inputContainer, formField.containerClassName)}>\n <InputField {...inputFieldProps} />\n {error && <span className={styles.errorText}>{error.message}</span>}\n {formField.extraSection && <div>{formField.extraSection}</div>}\n </div>\n );\n }}\n />\n );\n })}\n {renderAction ? (\n renderAction({\n htmlType: 'submit',\n isLoading: isSubmitting,\n onClick: (e) => {\n e.stopPropagation();\n },\n })\n ) : (\n <Button\n {...actionProps}\n htmlType=\"submit\"\n isLoading={isSubmitting}\n onClick={(e) => {\n e.stopPropagation();\n }}\n className={classNames(styles.submitButton, actionProps.className)}\n >\n {actionText}\n </Button>\n )}\n </form>\n );\n};\n\nexport default FormBuilder;\n","/* eslint-disable react-func/max-lines-per-function */\nimport { UseControllerProps } from 'react-hook-form';\n\nimport { FormBuilderFormField } from './FormBuilderTypes';\n\nimport { RuleType } from 'types/FieldRule';\n\n/**\n * 1) Check if the formField contains a `required` rule. If so, add a `required` rule to the React Hook Form rules\n * 2) Check if the formField contains `regex` rule. If so, try to test the regex against the `value` one by one\n * if one of test regex test fails, return the error message\n *\n * Note: The error message returned by this function is already translated using `t(validation.$errorId)`\n *\n * @param {FormField} formField\n * @returns {UseControllerProps['rules']} rules\n */\nconst buildReactHookFormRules = (formField: FormBuilderFormField) => {\n const rules: UseControllerProps['rules'] = {};\n\n const requiredRule = formField.rules?.find(\n (rule) => rule.type === RuleType.Required && rule.value === true,\n );\n\n // if contains a rule with type `required`\n if (requiredRule) {\n rules.required = {\n message: requiredRule.errorMessage,\n value: true,\n };\n }\n\n const maximumLengthRule = formField.rules?.find((rule) => rule.type === RuleType.MaximumLength);\n if (maximumLengthRule) {\n rules.maxLength = {\n message: maximumLengthRule.errorMessage,\n value: maximumLengthRule.value as number,\n };\n }\n\n const minimumLength = formField.rules?.find((rule) => rule.type === RuleType.MinimumLength);\n if (minimumLength) {\n rules.minLength = {\n message: minimumLength.errorMessage,\n value: minimumLength.value as number,\n };\n }\n\n const regexValidations = formField.rules?.filter((rule) => rule.type === RuleType.Regex);\n\n // if contains a rule with type `regex`\n if (regexValidations && regexValidations.length > 0) {\n rules.validate = {\n regex: (value) => {\n const failedRule = regexValidations.find((rule) => {\n const regex = new RegExp(rule.value as string);\n const isTestSucceed = regex.test(value);\n return !isTestSucceed;\n });\n\n if (failedRule) return failedRule.errorMessage;\n\n return null;\n },\n };\n }\n\n return rules;\n};\n\nexport default buildReactHookFormRules;\n","import React from 'react';\n\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport classNames from 'classnames';\n\nimport styles from './Root.module.scss';\n\nimport useDirection from '@/hooks/useDirection';\nimport { Direction } from '@/utils/locale';\n\nexport enum RadioRootOrientation {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n\nexport interface Props {\n label?: string | JSX.Element;\n defaultValue?: string;\n onChange?: (value: string) => void;\n value?: string;\n name?: string;\n required?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nconst Root: React.FC<Props> = ({\n className,\n onChange,\n defaultValue,\n value,\n name,\n required,\n children,\n}) => {\n const direction = useDirection();\n\n return (\n <RadioGroupPrimitive.Root\n className={classNames(styles.container, className)}\n dir={direction as Direction}\n {...(onChange && { onValueChange: onChange })}\n {...(defaultValue && { defaultValue })}\n {...(value && { value })}\n {...(name && { name })}\n {...(required && { required })}\n >\n {children}\n </RadioGroupPrimitive.Root>\n );\n};\n\nexport default Root;\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport classNames from 'classnames';\n\nimport styles from './Star.module.scss';\n\nimport StarIcon from '@/icons/star.svg';\nimport StarFilledIcon from '@/icons/star_filled.svg';\n\ninterface Props extends RadioGroupPrimitive.RadioGroupItemProps {\n currentValue: string;\n}\n\nconst Star: React.FC<Props> = ({ className, ...props }) => {\n const { value, currentValue } = props;\n const starValue = Number(value);\n const isCurrentStarSelected = starValue <= Number(currentValue);\n return (\n <RadioGroupPrimitive.Item\n className={classNames(styles.starButton, className, {\n [styles.selected]: isCurrentStarSelected,\n })}\n {...props}\n >\n <VisuallyHidden>{`${starValue} ${starValue === 1 ? 'star' : 'stars'}`}</VisuallyHidden>\n {isCurrentStarSelected ? (\n <StarFilledIcon width=\"30\" height=\"30\" />\n ) : (\n <StarIcon width=\"30\" height=\"30\" />\n )}\n </RadioGroupPrimitive.Item>\n );\n};\n\nexport default Star;\n","import React from 'react';\n\nimport Root, { Props as RootProps } from './Root';\nimport Star from './Star';\n\ninterface Props extends RootProps {\n disabled?: boolean;\n maximumRating?: number;\n}\n\nconst StarRating: React.FC<Props> = ({\n maximumRating = 5,\n disabled = false,\n defaultValue = '1',\n value,\n ...props\n}) => {\n return (\n <Root defaultValue={defaultValue} {...props}>\n {/* eslint-disable-next-line @typescript-eslint/naming-convention */}\n {Array.from({ length: maximumRating }, (_, index) => {\n const starValue = index + 1;\n const starValueString = `${starValue}`;\n\n return (\n <Star\n currentValue={value}\n key={starValueString}\n // @ts-ignore\n value={starValue}\n id={starValueString}\n disabled={disabled === true}\n />\n );\n })}\n </Root>\n );\n};\n\nexport default StarRating;\n","import React, { useState, useEffect, ChangeEvent, RefObject } from 'react';\n\nimport classNames from 'classnames';\n\nimport styles from './TextArea.module.scss';\n\nexport enum TextAreaSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\nconst SIZE_TO_COLS = {\n [TextAreaSize.Small]: 5,\n [TextAreaSize.Medium]: 10,\n [TextAreaSize.Large]: 25,\n};\n\nexport enum TextAreaType {\n Error = 'error',\n Warning = 'warning',\n Success = 'success',\n}\n\nexport enum TextAreaVariant {\n Default = 'default',\n Main = 'main',\n}\ninterface Props {\n id: string;\n name?: string;\n placeholder?: string;\n fieldSetLegend?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n value?: string;\n label?: string | JSX.Element;\n type?: TextAreaType;\n size?: TextAreaSize;\n shouldFlipOnRTL?: boolean;\n variant?: TextAreaVariant;\n containerClassName?: string;\n isRequired?: boolean;\n inputRef?: RefObject<HTMLTextAreaElement>;\n}\n\nconst TextArea: React.FC<Props> = ({\n id,\n name,\n label,\n placeholder,\n disabled = false,\n type,\n variant,\n onChange,\n value = '',\n shouldFlipOnRTL = true,\n containerClassName,\n isRequired,\n inputRef,\n size = TextAreaSize.Medium,\n fieldSetLegend = null,\n}) => {\n const [inputValue, setTextAreaValue] = useState(value);\n // listen to any change in value in-case the value gets populated after an API call.\n useEffect(() => {\n setTextAreaValue(value);\n }, [value]);\n\n const onValueChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = event.target.value;\n setTextAreaValue(newValue);\n if (onChange) {\n onChange(newValue);\n }\n };\n\n const content = (\n <>\n {label && <p className={styles.label}>{label}</p>}\n <div\n className={classNames(styles.container, containerClassName, {\n [styles.disabled]: disabled,\n [styles.error]: type === TextAreaType.Error,\n [styles.success]: type === TextAreaType.Success,\n [styles.warning]: type === TextAreaType.Warning,\n [styles.main]: variant === TextAreaVariant.Main,\n })}\n >\n <textarea\n className={classNames(styles.input, {\n [styles.error]: type === TextAreaType.Error,\n [styles.success]: type === TextAreaType.Success,\n [styles.warning]: type === TextAreaType.Warning,\n [styles.rtlTextArea]: shouldFlipOnRTL,\n })}\n required={isRequired}\n dir=\"auto\"\n id={id}\n rows={SIZE_TO_COLS[size]}\n ref={inputRef}\n disabled={disabled}\n onChange={onValueChange}\n value={inputValue}\n {...(placeholder && { placeholder })}\n {...(name && { name })}\n />\n </div>\n </>\n );\n\n if (fieldSetLegend) {\n return (\n <fieldset>\n <legend> {fieldSetLegend} </legend>\n {content}\n </fieldset>\n );\n }\n\n return content;\n};\n\nexport default TextArea;\n","import ErrorMessageId from './ErrorMessageId';\n\nexport enum RuleType {\n Required = 'required',\n Regex = 'regex',\n MaximumLength = 'maxLength',\n MinimumLength = 'minLength',\n}\n\ntype RuleValue = string | boolean | number;\ntype FieldRule = {\n type: RuleType;\n value: RuleValue;\n errorId?: ErrorMessageId;\n errorMessage?: string;\n errorExtraParams?: Record<string, unknown>;\n};\n\nexport default FieldRule;\n","import FieldRule from './FieldRule';\n\nexport enum FormFieldType {\n Text = 'text',\n Password = 'password',\n Phone = 'phone',\n Number = 'number',\n TextArea = 'textarea',\n Checkbox = 'checkbox',\n StarRating = 'starRating',\n}\n\ntype FormField = {\n field: string;\n placeholder?: string;\n label?: string | JSX.Element;\n rules?: FieldRule[];\n type: FormFieldType;\n defaultValue?: unknown;\n};\n\nexport default FormField;\n"],"names":["classNames","Controller","useForm","buildReactHookFormRules","styles","Button","Checkbox","Input","StarRating","TextArea","FormFieldType","FormFieldTypeToComponentMap","Text","Password","Phone","Number","isFieldTextInput","type","includes","FormBuilder","formFields","onSubmit","actionText","actionProps","isSubmitting","renderAction","handleSubmit","control","setError","mode","internalOnSubmit","data","onSubmitPromise","then","errorData","errors","Object","entries","forEach","field","errorMessage","message","form","className","container","map","formField","defaultValue","rules","name","render","fieldState","error","inputFieldProps","key","value","id","containerClassName","fieldSetLegend","label","placeholder","onChange","val","htmlType","fixedWidth","checked","InputField","div","inputContainer","span","errorText","extraSection","isLoading","onClick","e","stopPropagation","submitButton","RuleType","requiredRule","find","rule","Required","required","maximumLengthRule","MaximumLength","maxLength","minimumLength","MinimumLength","minLength","regexValidations","filter","Regex","length","validate","regex","failedRule","RegExp","isTestSucceed","test","React","RadioGroupPrimitive","useDirection","RadioRootOrientation","Horizontal","Vertical","Root","children","direction","dir","onValueChange","VisuallyHidden","StarIcon","StarFilledIcon","Star","props","currentValue","starValue","isCurrentStarSelected","Item","starButton","selected","width","height","maximumRating","disabled","Array","from","_","index","starValueString","useState","useEffect","TextAreaSize","Small","Medium","Large","SIZE_TO_COLS","TextAreaType","Error","Warning","Success","TextAreaVariant","Default","Main","variant","shouldFlipOnRTL","isRequired","inputRef","size","inputValue","setTextAreaValue","event","newValue","target","content","p","success","warning","main","textarea","input","rtlTextArea","rows","ref","fieldset","legend"],"sourceRoot":""}
|