{"version":3,"file":"js/162-796e3aae1ead4e25f2c6.js","mappings":"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","sources":["webpack://avala/./app/javascript/alerts.js","webpack://avala/./app/javascript/components/BlockForm/components/Disclaimer/style.js","webpack://avala/./app/javascript/components/BlockForm/components/Disclaimer/index.js","webpack://avala/./app/javascript/components/BlockForm/components/TitleSection/components/LinksButton/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BlockTypeSelect/index.js","webpack://avala/./app/javascript/components/BlockForm/components/CssStyleHiddenInputs/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BlockLabelInput/components/HiddenInputs/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/IconBox/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/BorderSides/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/BorderWidth/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/BorderStyle/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/BoxShadow/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/BorderRadius/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/ColorPopover/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/utils.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/Color/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/Spacing/components/InputWithAdornments/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/components/Spacing/index.js","webpack://avala/./app/javascript/components/CustomizeToolbar/reducer.js","webpack://avala/./app/javascript/components/CustomizeToolbar/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BlockLabelInput/index.js","webpack://avala/./app/javascript/components/BlockForm/components/FreeResponseSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/CurrencySelector/style.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/CurrencySelector/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldsSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/MultipleChoiceSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/MultipleChoiceSection/components/OptionInput/index.js","webpack://avala/./app/javascript/components/BlockForm/components/MultipleChoiceSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/style.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/components/InputWithDatePicker/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/components/DefaultSelectInput/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/components/DefaultValue/index.js","webpack://avala/./app/javascript/components/BlockForm/components/RadioButtonGroup/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/components/ShowFieldSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldEditForm/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataField/style.js","webpack://avala/./app/javascript/components/BlockForm/components/DataField/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DragAndDropDataFields/index.js","webpack://avala/./app/javascript/components/BlockForm/components/DataFieldsSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/AmountInput/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/DefaultFrequencySection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/DefaultFrequencySection/index.js","webpack://avala/./app/javascript/components/modals/PaymentOptionFeeModal/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/FeeSection/HiddenInputs.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/FeeSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/PaymentOptionsSection/ErrorMessage.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/PaymentOptionsSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PaymentSection/index.js","webpack://avala/./app/javascript/components/slider/index.js","webpack://avala/./app/javascript/components/BlockForm/components/ContentSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BlockDetails/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/HiddenInputs/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/utils.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/SingleButtonSettings/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/InputWithTooltip/style.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/InputWithTooltip/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/PaymentButtonsSettings/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmissionButtonSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/FontSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/GoalSection/components/SubmissionAmountForm/index.js","webpack://avala/./app/javascript/components/BlockForm/components/GoalSection/components/RaiseAmountForm/index.js","webpack://avala/./app/javascript/components/BlockForm/components/GoalSection/components/OtherAmountForm/index.js","webpack://avala/./app/javascript/components/BlockForm/components/GoalSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/MetricSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/MetricSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/GoalAndMetricSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/TitleSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/TitleSection/components/ButtonsContainer/index.js","webpack://avala/./app/javascript/components/BlockForm/components/TitleSection/components/HiddenInputs/index.js","webpack://avala/./app/javascript/components/BlockForm/components/TitleSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundLayout/style.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundLayout/components/BackgroundColor/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundLayout/components/MediaOptions/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundLayout/index.js","webpack://avala/./app/javascript/components/BlockForm/components/InputSlider/style.js","webpack://avala/./app/javascript/components/BlockForm/components/InputSlider/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/components/UploadForm/style.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/components/UploadForm/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/components/Preview/style.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/components/Preview/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/style.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/components/BackgroundContent/index.js","webpack://avala/./app/javascript/components/BlockForm/components/BackgroundSettings/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmitButton/style.js","webpack://avala/./app/javascript/components/BlockForm/components/SubmitButton/index.js","webpack://avala/./app/javascript/components/BlockForm/components/SkippableBlockSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/NavigationButtonsSection/components/ButtonHiddenInputs/index.js","webpack://avala/./app/javascript/components/BlockForm/components/NavigationButtonsSection/components/CheckboxWithToolbar/index.js","webpack://avala/./app/javascript/components/BlockForm/components/NavigationButtonsSection/components/DestroyHiddenInputs/index.js","webpack://avala/./app/javascript/components/BlockForm/components/NavigationButtonsSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PromptSettingsSection/style.js","webpack://avala/./app/javascript/components/BlockForm/components/PromptSettingsSection/FontSizeSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/PromptSettingsSection/index.js","webpack://avala/./app/javascript/components/BlockForm/components/ContentLayoutSection/index.js","webpack://avala/./app/javascript/components/BlockForm/index.js","webpack://avala/./app/javascript/components/DropdownMenu/index.js","webpack://avala/./app/javascript/components/FormulaPicker/index.js","webpack://avala/./app/javascript/components/MentionTitle/index.js","webpack://avala/./app/javascript/components/MentionsInput/OptionsList/style.js","webpack://avala/./app/javascript/components/MentionsInput/OptionsList/usePreparedList.js","webpack://avala/./app/javascript/components/MentionsInput/OptionsList/index.js","webpack://avala/./app/javascript/components/MentionsInput/index.js","webpack://avala/./app/javascript/components/MentionsInput/withPopper.js","webpack://avala/./app/javascript/components/MentionsInput/keyboardNavigation.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableMentionsElement/index.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableMentionsInput/index.js","webpack://avala/./app/javascript/components/SlateElements/components/HoveringToolbar/index.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableMentionsTextarea/style.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableMentionsTextarea/index.js","webpack://avala/./app/javascript/components/SlateElements/components/DraggableInput/index.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableDraggableMentionsInput/index.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableReadOnlyMentionsInput/style.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableReadOnlyMentionsInput/utils.js","webpack://avala/./app/javascript/components/SlateElements/components/EditableReadOnlyMentionsInput/index.js","webpack://avala/./app/javascript/components/api-client.js","webpack://avala/./app/javascript/components/checkbox/index.js","webpack://avala/./app/javascript/components/expansionPanel/style.js","webpack://avala/./app/javascript/components/expansionPanel/index.js","webpack://avala/./app/javascript/components/experiences/events/EditActionForm/style.js","webpack://avala/./app/javascript/components/experiences/events/EditActionForm/utils.js","webpack://avala/./app/javascript/components/experiences/transitions/ConditionalTransitionForm/components/Condition/utils.js","webpack://avala/./app/javascript/components/experiences/transitions/ConditionalTransitionForm/components/Condition/index.js","webpack://avala/./app/javascript/components/experiences/transitions/ConditionalTransitionForm/components/DatePicker/index.js","webpack://avala/./app/javascript/components/experiences/transitions/Select/index.js","webpack://avala/./app/javascript/components/globals/index.js","webpack://avala/./app/javascript/components/hooks/useBuildMentionsSteps.js","webpack://avala/./app/javascript/components/BlockForm/components/ReactColorPicker/components/ColorOpacityPicker/index.js","webpack://avala/./app/javascript/components/inputs/ColorPickerInput/index.js","webpack://avala/./app/javascript/components/modal/index.js","webpack://avala/./app/javascript/components/modal/style.js","webpack://avala/./app/javascript/components/select/index.js","webpack://avala/./app/javascript/components/shared/Icon/index.js","webpack://avala/./app/javascript/components/switch/style.js","webpack://avala/./app/javascript/components/switch/index.js","webpack://avala/./app/javascript/components/tilesSelector/style.js","webpack://avala/./app/javascript/components/tilesSelector/index.js","webpack://avala/./app/javascript/contexts/GoalAndMetricContext.js","webpack://avala/./app/javascript/i18n.js"],"sourcesContent":["import _isEmpty from 'lodash/isEmpty';\n\nexport const showErrorAlert = (enqueueSnackbar, err) => {\n let errorMessage = 'Something went wrong. Try again later.';\n\n try {\n const { detail } = JSON.parse(err.message).errors[0];\n errorMessage = detail;\n } catch (_error) {\n if (err) {\n if (err.message === 'Failed to fetch') {\n errorMessage =\n 'Please check your internet connection or try again later.';\n } else if (typeof err.message === 'string' && !_isEmpty(err.message)) {\n errorMessage = err.message;\n }\n }\n }\n\n enqueueSnackbar(errorMessage, {\n variant: 'error',\n autoHideDuration: 3000,\n });\n};\n","import styled from 'styled-components';\n\nexport const PreviewContainer = styled.div`\n border-radius: 0.5rem;\n padding: 0.25rem 1rem;\n margin: 0.5rem 0 1rem 0;\n font-size: 13px;\n\n span {\n font-size: 13px;\n }\n\n a {\n color: var(--font-color-primary);\n }\n`;\n","import React, { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n FormSubsection,\n FormSectionDescription,\n Textarea,\n ErrorMessageFloat,\n Label,\n} from '../../../globals';\nimport Checkbox from '../../../checkbox';\nimport { Input } from '../../../inputs/Input';\nimport { PreviewContainer } from './style';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nconst prepareUrl = (url) => {\n const urlPattern = /^((http)|(\\/\\/))/;\n\n if (url.match(urlPattern)) {\n return url;\n } else {\n return `//${url}`;\n }\n};\n\nexport const generateDisclaimerPreviewText = (text, url) => {\n const textWithUrl = text.replace(\n /\\[(.+?)\\]/g,\n `$1`,\n );\n\n if (url === '') {\n return text;\n } else {\n return
;\n }\n};\n\nfunction Disclaimer({\n isChecked: defaultChecked,\n text: defaultText,\n link: defaultLink,\n errors,\n}) {\n const [checked, setChecked] = useState(defaultChecked);\n const [text, setText] = useState(\n defaultText || 'I agree to the [Terms and Conditions]',\n );\n const [link, setLink] = useState(defaultLink || '');\n const [, setBlockState] = useContext(BlockContext);\n\n const updateDisclaimer = (property, value) => {\n setBlockState((prevState) => ({\n ...prevState,\n disclaimer: {\n ...prevState.disclaimer,\n [property]: value,\n },\n }));\n };\n\n useEffect(() => {\n setBlockState((prevState) => ({\n ...prevState,\n disclaimer: {\n ...prevState.disclaimer,\n tocLabel: text,\n url: link,\n },\n }));\n }, [checked]);\n\n const handleChange = (e) => {\n const value = e.target.checked;\n\n setChecked(value);\n setBlockState((prevState) => ({\n ...prevState,\n disclaimerChecked: value,\n }));\n };\n\n const handleTextChange = (e) => {\n const value = e.target.value;\n\n setText(value);\n updateDisclaimer('tocLabel', value);\n };\n\n const handleLinkChange = (e) => {\n const value = e.target.value;\n\n setLink(value);\n updateDisclaimer('url', value);\n };\n\n return (\n
\n \n {checked && (\n \n {errors['disclaimer.toc_label'] && (\n \n {errors['disclaimer.toc_label'][0]}\n \n )}\n \n \n \n Put optional linked text in [ ]\n \n \n \n \n \n \n \n \n )}\n
\n );\n}\n\nDisclaimer.propTypes = {\n isChecked: PropTypes.bool.isRequired,\n text: PropTypes.string,\n link: PropTypes.string,\n errors: PropTypes.object.isRequired,\n};\n\nexport default Disclaimer;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\n\nimport Popover from '@mui/material/Popover';\nimport { useSlate } from 'slate-react';\nimport {\n getExperiencesList,\n getBlocksList,\n getMergeFields,\n} from '../../../../../api';\n\nimport { ExperienceIdContext } from '../../../../index';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\nimport LinkIcon from '@mui/icons-material/Link';\nimport Button from '../ChangeButton';\nimport {\n Label,\n Container,\n ButtonGroup,\n PrimaryActionButton,\n ActionButton,\n InputWrapper,\n} from './style';\nimport { isUrl, insertLink, activeLink, unwrapLink } from './utils';\n\nconst mentionSteps = [\n {\n type: 'experiences',\n title: 'Experiences',\n referencePrefix: 'experience_',\n loadList: getExperiencesList,\n },\n {\n type: 'blocks',\n title: 'Blocks',\n referencePrefix: 'block_',\n loadList: getBlocksList,\n },\n {\n type: 'merge_fields',\n title: 'Block merge fields',\n referencePrefix: '',\n loadList: getMergeFields,\n },\n];\n\nfunction LinksButton({ buttonRef, onPopover }) {\n const editor = useSlate();\n const [selection, setSelection] = useState(null);\n const [anchoreEl, setAnchoreEl] = useState(null);\n const [inputValue, setInputValue] = useState('');\n const [error, setError] = useState(null);\n const experienceId = useContext(ExperienceIdContext);\n\n const handleOpen = useCallback(\n (e) => {\n if (onPopover) {\n onPopover(true);\n }\n const link = activeLink(editor);\n\n if (link) {\n setInputValue(link[0].url);\n }\n\n setAnchoreEl(e.currentTarget);\n setSelection(editor.selection);\n },\n [editor],\n );\n const handleClose = () => {\n if (onPopover) {\n onPopover(false);\n }\n setAnchoreEl(null);\n setInputValue('');\n setSelection(null);\n };\n const handleInputChange = (value) => {\n setInputValue(value);\n };\n const handleUnlink = useCallback(\n (e) => {\n e.preventDefault();\n editor.selection = selection;\n if (activeLink(editor)) {\n unwrapLink(editor);\n }\n handleClose();\n },\n [selection],\n );\n const handleLink = useCallback(\n (e) => {\n e.preventDefault();\n editor.selection = selection;\n\n if (!error) {\n insertLink(editor, inputValue);\n handleClose();\n }\n },\n [inputValue, error, selection],\n );\n\n useEffect(() => {\n if (inputValue !== '' && !isUrl(inputValue)) {\n setError('is not valid');\n } else {\n setError(null);\n }\n }, [inputValue]);\n\n const open = Boolean(anchoreEl);\n const id = open ? 'simple-popover' : undefined;\n const isActive = activeLink(editor);\n const iconColor = isActive ? '#FFF' : '#333';\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n Unlink\n \n \n Link\n \n \n \n \n \n );\n}\n\nexport default LinksButton;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport SimpleSelect from '../../../select';\nimport { setValueToStore } from '../../../../sharedStore';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nconst options = [\n { value: 'free_response', label: 'Free Response' },\n { value: 'donation', label: 'Payment or Donation' },\n { value: 'multiple_choice', label: 'Multiple Choice' },\n { value: 'quick_answer', label: 'Yes / No' },\n { value: 'data_only', label: 'Data Fields' },\n { value: 'content', label: 'Content (no response)' },\n];\n\nfunction BlockTypeSelect({ blockType, updateBlockAttributes, disabled }) {\n const [, setBlockState] = useContext(BlockContext);\n const currentOption = options.find((type) => type.value === blockType);\n\n const handleTypeChange = (e) => {\n setValueToStore('blockFormChanged', true);\n\n const value = e.value;\n updateBlockAttributes({ type: value });\n // Update Context\n setBlockState((prevState) => ({ ...prevState, type: value }));\n };\n\n return (\n \n );\n}\n\nBlockTypeSelect.propTypes = {\n blockType: PropTypes.string.isRequired,\n updateBlockAttributes: PropTypes.func.isRequired,\n};\n\nexport default BlockTypeSelect;\n","import React from 'react';\nimport _camelCase from 'lodash/camelCase';\n\nconst styleNames = [\n 'background_color',\n 'color',\n 'border_color',\n 'border_width',\n 'border_style',\n 'border_radius',\n 'box_shadow',\n 'border_top',\n 'border_right',\n 'border_bottom',\n 'border_left',\n 'margin_top',\n 'margin_right',\n 'margin_bottom',\n 'margin_left',\n 'padding_top',\n 'padding_right',\n 'padding_bottom',\n 'padding_left',\n];\n\nexport default function CssStyleHiddenInputs({ cssStyle, attributesName }) {\n const styles = cssStyle || {};\n return (\n <>\n {styles.id && (\n \n )}\n {styleNames.map((styleName) => (\n \n ))}\n \n );\n}\n","import React from 'react';\nimport CssStyleHiddenInputs from '../../../CssStyleHiddenInputs';\n\nexport default function HiddenInputs({ askLabel }) {\n const { richText, id } = askLabel;\n return (\n <>\n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Box from '@mui/material/Box';\nimport Tooltip from '../../../tooltip';\n\nfunction IconBox({ children, isOpen, tooltipTitle }) {\n return (\n \n {tooltipTitle ? (\n \n {children}\n \n ) : (\n <>{children}\n )}\n \n );\n}\n\nIconBox.propTypes = {\n children: PropTypes.node.isRequired,\n isOpen: PropTypes.bool.isRequired,\n};\n\nexport default IconBox;\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport BorderOuterIcon from '@mui/icons-material/BorderOuter';\nimport BorderBottomIcon from '@mui/icons-material/BorderBottom';\nimport DoDisturbIcon from '@mui/icons-material/DoDisturb';\nimport Typography from '@mui/material/Typography';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\nimport _isEqual from 'lodash/isEqual';\n\nconst borderSides = [\n {\n label: 'All sides',\n Icon: ,\n styles: { borderTop: '', borderRight: '', borderBottom: '', borderLeft: '' },\n },\n {\n label: 'Bottom',\n Icon: ,\n styles: { borderTop: 'none', borderRight: 'none', borderBottom: '', borderLeft: 'none' },\n },\n {\n label: 'None',\n Icon: ,\n styles: { borderTop: 'none', borderRight: 'none', borderBottom: 'none', borderLeft: 'none' },\n },\n];\n\nfunction BorderSides({ initialStyles, handleSetBorderSides }) {\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/BorderSides',\n );\n\n const handleItemClick = (styles) => () => {\n handleSetBorderSides(styles);\n handleClose();\n };\n\n return (\n <>\n \n \n \n \n {borderSides.map(({ label, Icon, styles }) => (\n \n {Icon}\n {label}\n \n ))}\n \n \n );\n}\n\nexport default BorderSides;\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport Typography from '@mui/material/Typography';\nimport LineWeightIcon from '@mui/icons-material/LineWeight';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\n\nconst borderWidth = [\n '0px',\n '1px',\n '2px',\n '3px',\n '4px',\n '8px',\n '12px',\n '16px',\n '24px',\n];\n\nfunction BorderWidth({ initialWidth, handleSetBorderWidth }) {\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/BorderWidth',\n );\n\n const handleItemClick = (event) => {\n handleSetBorderWidth(event.target.innerText);\n handleClose();\n };\n\n return (\n <>\n \n \n \n \n {borderWidth.map((width, index) => (\n \n {width}\n \n ))}\n \n \n );\n}\n\nexport default BorderWidth;\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport LineStyleIcon from '@mui/icons-material/LineStyle';\nimport Typography from '@mui/material/Typography';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\n\nconst borderStyles = ['solid', 'dashed', 'dotted'];\n\nfunction BorderStyle({ initialStyle, handleSetBorderStyle }) {\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/BorderStyle',\n );\n\n const handleItemClick = (style) => () => {\n handleSetBorderStyle(style);\n handleClose();\n };\n\n return (\n <>\n \n \n \n \n {borderStyles.map((borderStyle) => (\n \n \n \n ))}\n \n \n );\n}\n\nexport default BorderStyle;\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport TonalityIcon from '@mui/icons-material/Tonality';\nimport BlockIcon from '@mui/icons-material/Block';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\n\nconst shadows = [\n '0px 0px 1px rgba(0, 0, 0, 0.3), 0px 0px 8px rgba(0, 0, 0, 0.06), 0px 0px 8px rgba(0, 0, 0, 0.12)',\n '0px 3px 12px rgba(0, 0, 0, 0.08), 0px 0px 1px rgba(0, 0, 0, 0.2), 2px 1px 14px rgba(0, 0, 0, 0.12)',\n '0px 0px 1px rgba(0, 0, 0, 0.3), 2px 3px 0px rgba(0, 0, 0, 0.5)',\n];\n\nconst roundElementStyle = {\n display: 'inline-block',\n width: '20px',\n height: '20px',\n margin: '0',\n borderRadius: '100%',\n cursor: 'pointer',\n};\n\nfunction RoundElement({ shadow, style, onClick }) {\n return (\n \n );\n}\n\nfunction BoxShadow({ initialShadow, handleSetBoxShadow }) {\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/BoxShadow',\n );\n\n const handleItemClick = (shadow) => () => {\n handleSetBoxShadow(shadow);\n handleClose();\n };\n\n return (\n <>\n \n \n \n \n {shadows.map((shadow, index) => (\n \n \n \n ))}\n \n \n \n \n \n \n );\n}\n\nexport default BoxShadow;\n","import React from 'react';\nimport Typography from '@mui/material/Typography';\nimport Popover from '@mui/material/Popover';\nimport PanoramaFishEyeIcon from '@mui/icons-material/PanoramaFishEye';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\n\nfunction ElementIcon({ style }) {\n return (\n \n );\n}\n\nfunction BorderRadius({\n initialRadius,\n handleSetBorderRadius,\n roundedCornersValue,\n}) {\n const radiusValues = {\n ROUNDED_CORNERS: roundedCornersValue,\n SQUARED_CORNERS: '0px',\n };\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/BorderRadius',\n );\n\n const handleItemClick = (radius) => () => {\n handleSetBorderRadius(radius);\n handleClose();\n };\n\n return (\n <>\n \n \n \n \n \n \n Rounded corners\n \n \n \n Squared corners\n \n \n \n );\n}\n\nexport default BorderRadius;\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport ReactColorPicker from '../../../BlockForm/components/ReactColorPicker';\n\nexport default function ColorPopover({\n id,\n open,\n anchorEl,\n handleClose,\n color,\n handleChange,\n handleChangeComplete,\n handleColorPick,\n paletteColors,\n}) {\n const handleResetColor = () => {\n handleChange('');\n handleChangeComplete('');\n };\n\n return (\n \n \n \n );\n}\n","export const getInitialColor = (color, paletteColors) => {\n if (color.includes('var(--')) {\n return paletteColors.find((c) => c.name === color)?.color;\n } else {\n return color;\n }\n};\n","import React from 'react';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\nimport { rgbaObjToString } from '../../../../utils';\nimport ColorPopover from '../ColorPopover';\nimport { getInitialColor } from '../../utils';\n\nexport default function Color({ title, Icon, initialColor, onChangeComplete, paletteColors }) {\n const [color, setColor] = React.useState(getInitialColor(initialColor, paletteColors));\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'simple-popover',\n );\n\n const handleChange = (value) => {\n setColor(rgbaObjToString(value));\n };\n\n const handleChangeComplete = (value) => {\n const rgbaString = rgbaObjToString(value);\n setColor(rgbaString);\n onChangeComplete(rgbaString);\n };\n\n const handleColorPick = (colorObj) => {\n setColor(colorObj.color);\n onChangeComplete(colorObj.name);\n };\n\n return (\n <>\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport ExpandIcon from '@mui/icons-material/Expand';\nimport TextField from '@mui/material/TextField';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\n\nconst valuesMapper = {\n vertical: {\n focus: true,\n rotate: 'rotate(0deg)',\n },\n horizontal: {\n focus: false,\n rotate: 'rotate(90deg)',\n },\n};\n\nexport default function InputWithAdornments({\n inputValue,\n unitValue,\n onChange,\n orientation,\n}) {\n const handleInputChange = (e) => {\n onChange(e.target.value, orientation, unitValue);\n };\n\n const handleUnitChange = (e) => {\n onChange(inputValue, orientation, e.target.value);\n };\n\n return (\n \n \n ),\n endAdornment: (\n \n \n px\n %\n \n \n ),\n }}\n variant=\"outlined\"\n hiddenLabel\n />\n \n );\n}\n","import React from 'react';\nimport Popover from '@mui/material/Popover';\nimport Stack from '@mui/material/Stack';\nimport Box from '@mui/material/Box';\nimport IconBox from '../IconBox';\nimport { useMuiPopover } from '../../../hooks';\nimport InputWithAdornments from './components/InputWithAdornments';\nimport { Label } from '../../../globals';\nimport _isEmpty from 'lodash/isEmpty';\n\nconst getNumber = (value) => value.replace(/[^0-9.-]+/g, '');\nconst getUnit = (value) => {\n const unit = value.replace(/[0-9.-]+/g, '');\n return unit ? unit : 'px';\n};\n\nexport default function Spacing({ type, Icon, values, onChange }) {\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n `CustomToolbar/${type}`,\n );\n\n const handleChange = (value, orientation, unit) => {\n const valueWithUnit = _isEmpty(value) ? '' : `${value}${unit}`;\n const values = orientation === 'vertical' ? {\n [`${type}Top`]: valueWithUnit,\n [`${type}Bottom`]: valueWithUnit,\n } : {\n [`${type}Right`]: valueWithUnit,\n [`${type}Left`]: valueWithUnit,\n };\n onChange(values);\n };\n\n const inputs = [\n {\n orientation: 'vertical',\n inputValue: getNumber(values.vertical),\n unitValue: getUnit(values.vertical),\n },\n {\n orientation: 'horizontal',\n inputValue: getNumber(values.horizontal),\n unitValue: getUnit(values.horizontal),\n },\n ];\n\n return (\n <>\n \n \n \n \n \n \n \n \n {inputs.map(({ inputValue, unitValue, orientation }) => (\n \n ))}\n \n \n \n );\n}\n","export const SET_BACKGROUND_COLOR = 'setBackgroundColor';\nexport const SET_COLOR = 'setColor';\nexport const SET_BORDER_COLOR = 'setBorderColor';\nexport const SET_BORDER_SIDES = 'setBorderSides';\nexport const SET_BORDER_WIDTH = 'setBorderWidth';\nexport const SET_BORDER_STYLE = 'setBorderStyle';\nexport const SET_BOX_SHADOW = 'setBoxShadow';\nexport const SET_BORDER_RADIUS = 'setBorderRadius';\nexport const SET_SPACING = 'setSpacing';\nexport const SET_STYLES = 'setStyles';\nexport const SET_TYPE = 'setType';\n\nconst dataFieldInitialState = {\n backgroundColor: 'rgba(255,255,255,1)',\n borderColor: 'rgba(255,255,255,1)',\n borderWidth: '0px',\n borderStyle: 'solid',\n boxShadow: 'rgb(0 0 0 / 8%) 0px 2px 4px',\n borderRadius: '8px',\n};\n\nconst paymentOptionInitialState = {\n backgroundColor: 'rgba(0, 0, 0, 0.2)',\n borderColor: 'rgba(255, 255, 255, 0.4)',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderRadius: '8px',\n boxShadow: 'none',\n};\n\nconst multipleChoiceInitialState = {\n backgroundColor: 'rgba(255,255,255,0.8)',\n borderColor: 'rgba(255,255,255,0)',\n borderWidth: '0px',\n borderStyle: 'solid',\n boxShadow: 'none',\n borderRadius: '2rem',\n};\n\nexport const initialState = {\n dataField: dataFieldInitialState,\n paymentOption: paymentOptionInitialState,\n multipleChoice: multipleChoiceInitialState,\n multipleChoice_withMultiSelection: {\n ...multipleChoiceInitialState,\n borderRadius: '8px',\n },\n submissionButton: {},\n blockPrompt: {},\n feeDisclaimer: {},\n askLabel: {},\n backButton: {\n borderRadius: '50%',\n },\n forwardButton: {\n borderRadius: '50%',\n },\n};\n\nfunction reducer(state, action) {\n switch (action.type) {\n case SET_STYLES: {\n return {\n ...state,\n ...action.payload.styles,\n };\n }\n case SET_BACKGROUND_COLOR: {\n return {\n ...state,\n backgroundColor: action.payload.color,\n };\n }\n case SET_COLOR: {\n return {\n ...state,\n color: action.payload.color,\n };\n }\n case SET_BORDER_COLOR: {\n return {\n ...state,\n borderColor: action.payload.color,\n };\n }\n case SET_BORDER_SIDES: {\n return {\n ...state,\n ...action.payload.styles,\n };\n }\n case SET_BORDER_WIDTH: {\n return {\n ...state,\n borderWidth: action.payload.width,\n };\n }\n case SET_BORDER_STYLE: {\n return {\n ...state,\n borderStyle: action.payload.style,\n };\n }\n case SET_BORDER_RADIUS: {\n return {\n ...state,\n borderRadius: action.payload.radius,\n };\n }\n case SET_BOX_SHADOW: {\n return {\n ...state,\n boxShadow: action.payload.shadow,\n };\n }\n case SET_SPACING: {\n return {\n ...state,\n ...action.payload.styles,\n };\n }\n default:\n return {};\n }\n}\n\nexport default reducer;\n","import React, { useReducer, useEffect, useMemo, useContext } from 'react';\nimport Box from '@mui/material/Box';\nimport Popover from '@mui/material/Popover';\nimport Divider from '@mui/material/Divider';\nimport FormatPaintOutlinedIcon from '@mui/icons-material/FormatPaintOutlined';\nimport FormatColorTextIcon from '@mui/icons-material/FormatColorText';\nimport FormatColorFillIcon from '@mui/icons-material/FormatColorFill';\nimport BorderColorOutlinedIcon from '@mui/icons-material/BorderColorOutlined';\nimport MarginIcon from '@mui/icons-material/Margin';\nimport ExpandIcon from '@mui/icons-material/Expand';\nimport difference from 'lodash/xor';\nimport IconBox from './components/IconBox';\nimport BorderSides from './components/BorderSides';\nimport BorderWidth from './components/BorderWidth';\nimport BorderStyle from './components/BorderStyle';\nimport BoxShadow from './components/BoxShadow';\nimport BorderRadius from './components/BorderRadius';\nimport Color from './components/Color';\nimport Spacing from './components/Spacing';\nimport { useMuiPopover } from '../hooks';\nimport BlockContext from '../../contexts/BlockContext';\nimport reducer, {\n initialState,\n SET_STYLES,\n SET_BACKGROUND_COLOR,\n SET_COLOR,\n SET_BORDER_COLOR,\n SET_BORDER_SIDES,\n SET_BORDER_WIDTH,\n SET_BORDER_STYLE,\n SET_BOX_SHADOW,\n SET_BORDER_RADIUS,\n SET_SPACING,\n} from './reducer';\n\nfunction CustomizeToolbar({ cssStyle, isHover, handleSave, index, type, sx }) {\n const [{ paletteColors }] = useContext(BlockContext);\n const [state, dispatch] = useReducer(reducer, {});\n const { id, open, anchorEl, handleOpen, handleClose } = useMuiPopover(\n 'CustomToolbar/Container',\n );\n\n const stylesDifference = useMemo(\n () => difference(Object.values(state), Object.values(initialState[type])),\n [state],\n );\n\n useEffect(() => {\n if (cssStyle) {\n dispatch({\n type: SET_STYLES,\n payload: { styles: cssStyle, type },\n });\n }\n }, []);\n\n useEffect(() => {\n if (stylesDifference.length) {\n handleSave({ cssStyle: state }, index);\n }\n }, [state]);\n\n const handleSetBackgroundColor = (color) => {\n dispatch({\n type: SET_BACKGROUND_COLOR,\n payload: { color },\n });\n };\n\n const handleSetColor = (color) => {\n dispatch({\n type: SET_COLOR,\n payload: { color },\n });\n };\n\n const handleSetBorderColor = (color) => {\n dispatch({\n type: SET_BORDER_COLOR,\n payload: { color },\n });\n };\n\n const handleSetBorderSides = (styles) => {\n dispatch({\n type: SET_BORDER_SIDES,\n payload: { styles },\n });\n };\n\n const handleSetBorderWidth = (width) => {\n dispatch({\n type: SET_BORDER_WIDTH,\n payload: { width },\n });\n };\n\n const handleSetBorderStyle = (style) => {\n dispatch({\n type: SET_BORDER_STYLE,\n payload: { style },\n });\n };\n\n const handleSetBoxShadow = (shadow) => {\n dispatch({\n type: SET_BOX_SHADOW,\n payload: { shadow },\n });\n };\n\n const handleSetBorderRadius = (radius) => {\n dispatch({\n type: SET_BORDER_RADIUS,\n payload: { radius },\n });\n };\n\n const handleSetSpacing = (styles) => {\n dispatch({\n type: SET_SPACING,\n payload: { styles },\n });\n };\n\n return (\n \n {(isHover || open) && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n );\n}\n\nexport default CustomizeToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Label } from '../../../globals';\nimport { EditableMentionsInput } from '../../../SlateElements';\nimport useBuildMentionsSteps from '../../../hooks/useBuildMentionsSteps';\nimport { ExperienceIdContext } from '../../index';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport { slateToHtml } from '../TitleSection/utils';\nimport Box from '@mui/material/Box';\nimport HiddenInputs from './components/HiddenInputs';\nimport { DEFAULT_ASK_LABELS } from '../../../../constants';\nimport { useHover } from 'use-events';\nimport CustomizeToolbar from '../../../CustomizeToolbar';\n\nfunction BlockLabelInput({ hidden, blockType, multiIsChecked }) {\n if (hidden) {\n return null;\n }\n\n const [blockState, setBlockState] = React.useContext(BlockContext);\n const experienceId = React.useContext(ExperienceIdContext);\n const { askLabel, initialValues } = blockState;\n const [isHover, bind] = useHover();\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'MentionsInput',\n });\n\n const handleLabelChange = (value, elements) => {\n setBlockState((prevState) => ({\n ...prevState,\n askLabel: {\n ...askLabel,\n richText: {\n id: askLabel.richText.id,\n title: value,\n titleElements: JSON.stringify(elements),\n titleHtml: slateToHtml(elements),\n },\n },\n }));\n };\n\n const handleStylesChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n askLabel: {\n ...askLabel,\n cssStyle: value.cssStyle,\n },\n }));\n };\n\n const initialValue = React.useMemo(() => {\n if (blockType === initialValues.blockType) {\n return JSON.parse(initialValues.askLabel.richText.titleElements);\n } else {\n const type = blockType === 'multiple_choice' && multiIsChecked\n ? 'multiple_choice_multi'\n : blockType;\n return JSON.parse(DEFAULT_ASK_LABELS[type].titleElements);\n }\n }, [blockType, multiIsChecked]);\n\n const valueToInsert = React.useMemo(() => {\n if (blockType === 'multiple_choice' && blockType !== initialValues.blockType) {\n return initialValue;\n }\n }, [blockType, multiIsChecked]);\n\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nBlockLabelInput.propTypes = {\n hidden: PropTypes.bool,\n blockType: PropTypes.string.isRequired,\n};\n\nexport default BlockLabelInput;\n","import React, { useCallback, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Checkbox from '../../../checkbox';\nimport { ErrorMessageFloat, Label, FormSection } from '../../../globals';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport BlockLabelInput from '../BlockLabelInput';\n\nconst DEFAULT_UGC_TYPES = [\n {\n label: 'Video',\n value: 'video',\n testId: 'FreeResponseSection/CheckboxVideo',\n },\n {\n label: 'Text',\n value: 'text',\n testId: 'FreeResponseSection/CheckboxText',\n },\n {\n label: 'File upload',\n value: 'upload',\n testId: 'FreeResponseSection/CheckboxUpload',\n },\n];\n\nfunction FreeResponseSection({ errors, ugcTypes, updateBlockAttributes }) {\n const [, setBlockState] = useContext(BlockContext);\n const typeIsPresent = (type) => {\n return ugcTypes.includes(type);\n };\n\n const updateUgcTypes = useCallback(\n (e) => {\n const newUgcTypes = e.target.checked ?\n [...ugcTypes, e.target.value] :\n ugcTypes.filter((type) => type !== e.target.value);\n\n updateBlockAttributes({ ugcTypes: newUgcTypes });\n // Update Context\n setBlockState((prevState) => ({ ...prevState, ugcTypes: newUgcTypes }));\n },\n [ugcTypes, updateBlockAttributes],\n );\n\n return (\n \n \n \n {errors.ugc_types && (\n {errors.ugc_types}\n )}\n {DEFAULT_UGC_TYPES.map((item) => (\n \n ))}\n \n \n );\n}\n\nFreeResponseSection.propTypes = {\n ugcTypes: PropTypes.arrayOf(PropTypes.string).isRequired,\n updateBlockAttributes: PropTypes.func.isRequired,\n errors: PropTypes.object.isRequired,\n};\nexport default FreeResponseSection;\n","import styled from 'styled-components';\n\nexport const StyledDisabledSelect = styled.span`\n width: 60px;\n font-size: 12px;\n border: none;\n border-radius: 4px;\n float: right;\n background-color: var(--disabled-input-background);\n color: var(--disabled-input-color);\n border: 1px solid var(--border-color-primary);\n padding: 2px 10px;\n margin: 0 40px 6px 0;\n text-transform: uppercase;\n`;\n\nexport const StyledSelect = styled.select`\n width: 80px;\n font-size: 12px;\n border: none;\n border-radius: 4px;\n float: right;\n border: 1px solid var(--border-color-primary);\n color: var(--font-color-secondary);\n padding: 5px 10px;\n\n margin: 0 40px 6px 0;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--new-item-button-background);\n cursor: pointer;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { StyledDisabledSelect, StyledSelect } from './style';\nimport { CURRENCY_SIGN_MAP } from '../../../../../constants';\n\nfunction CurrencySelector({ currency, disabled, onChange }) {\n if (disabled) {\n return (\n \n {`${CURRENCY_SIGN_MAP[currency]} ${currency}`}\n \n );\n } else {\n return (\n \n \n \n \n );\n }\n}\n\nCurrencySelector.propTypes = {\n currency: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nexport default CurrencySelector;\n","import styled from 'styled-components';\n\nexport const DonationInputWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-bottom: 5px;\n`;\n\nexport const RightButtonWrapper = styled.div`\n width: 45px;\n justify-content: flex-end;\n display: flex;\n height: 48px;\n`;\n\nexport const InputsWrapper = styled.div`\n margin-bottom: 1rem;\n`;\n\nexport const LeftPadding = styled.div`\n padding: ${(props) => (props.inline ? '0 0 0 1.5rem' : '0')};\n margin-top: ${(props) => (props.inline ? '-15px' : '0px')};\n`;\n\nexport const ErrorMessage = styled.span`\n border-radius: 5px;\n text-align: center;\n background-color: var(--error);\n color: var(--white);\n font-size: 12px;\n padding: 5px 12px;\n position: relative;\n float: right;\n z-index: 5;\n`;\n\nexport const TooltipIconWrapper = styled.div`\n margin-left: 8px;\n`;\n\nexport const CheckboxTooltipIconWrapper = styled.div`\n margin-left: -4px;\n display: flex;\n`;\n","import styled from 'styled-components';\n\nexport const ErrorWrapper = styled.div`\n position: absolute;\n right: 5px;\n transform: translateY(-50%);\n`;\n\nexport const CheckboxContainer = styled.div`\n display: block;\n background-color: var(--surface-background);\n border: 1px solid var(--border-color-primary);\n border-radius: 8px;\n padding: 4px 12px;\n margin-bottom: 4px;\n margin-top: 4px;\n`;\n","import styled from 'styled-components';\n\nexport const DonationInputWrapper = styled.div`\n position: relative;\n width: calc(100% - 45px);\n margin-bottom: 5px;\n`;\n\nexport const RightButtonWrapper = styled.div`\n position: absolute;\n right: -62px;\n top: 2px;\n width: 45px;\n height: 48px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useHover } from 'use-events';\nimport Box from '@mui/material/Box';\nimport _isEmpty from 'lodash/isEmpty';\nimport { SmallDeleteButton } from '../../../../../Button';\nimport { DonationInputWrapper, RightButtonWrapper } from '../../style';\nimport { EditableDraggableMentionsInput } from '../../../../../SlateElements';\nimport CustomizeToolbar from '../../../../../CustomizeToolbar';\nimport useBuildMentionsSteps from '../../../../../hooks/useBuildMentionsSteps';\nimport CssStyleHiddenInputs from '../../../CssStyleHiddenInputs';\n\nfunction OptionInput({\n option,\n index,\n position,\n multiIsChecked,\n onChange,\n onStylesChange,\n addOptionItem,\n onDelete,\n withDeleteButton,\n withoutInputNames,\n error,\n dataTarget,\n isDraggingOver,\n}) {\n const [isHover, bind] = useHover();\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'MultipleChoiceSection',\n });\n const isNewRecord = option.id === '' || option.id === null;\n\n const { cssStyle, richText } = option;\n\n const handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n addOptionItem();\n }\n };\n\n const handleValueChange = (textValue, elementsValue, htmlValue) => {\n if (textValue[textValue.length - 1] !== '[') {\n onChange(textValue, elementsValue, htmlValue);\n }\n };\n\n const handleStylesChange = (updatedItem, index) => {\n onStylesChange(updatedItem, index);\n };\n\n return (\n \n {!option.deleted && (\n <>\n \n \n \n \n \n {withDeleteButton && (\n \n –\n \n )}\n \n \n )}\n\n {!withoutInputNames && (\n <>\n \n \n {!isNewRecord && (\n <>\n \n \n \n )}\n \n )}\n \n );\n}\n\nOptionInput.propTypes = {\n option: PropTypes.object,\n index: PropTypes.number.isRequired,\n position: PropTypes.number,\n onChange: PropTypes.func,\n addOptionItem: PropTypes.func,\n onDelete: PropTypes.func,\n withDeleteButton: PropTypes.bool,\n error: PropTypes.string,\n dataTarget: PropTypes.string,\n};\n\nexport default OptionInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport { nanoid } from 'nanoid';\nimport Box from '@mui/material/Box';\nimport Checkbox from '../../../checkbox';\nimport { NewItemButton } from '../../../Button';\nimport { DonationInputWrapper, RightButtonWrapper } from './style';\nimport { Label, FormSection, Hint } from '../../../globals';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport OptionInput from './components/OptionInput';\nimport BlockLabelInput from '../BlockLabelInput';\n\nconst MAX_OPTION_ITEMS_COUNT = 100;\nconst MIN_OPTION_ITEMS_COUNT = 1;\n\n// Transform options array before updating Context\nconst transformOptions = (options) =>\n options.filter((option) => !option.deleted);\n\nfunction MultipleChoiceSection({\n hint,\n optionsList,\n otherIsChecked,\n multiIsChecked,\n withoutMultiSelect,\n withoutCheckboxes,\n withoutInputNames,\n updateBlockAttributes,\n onOptionsChange,\n}) {\n const [, setBlockState] = React.useContext(BlockContext);\n\n const initOption = {\n id: '',\n title: '',\n deleted: false,\n error: null,\n richText: { title: '', titleHtml: '', titleElements: '' },\n draggableId: nanoid(),\n };\n\n const currentOptions = () => {\n const optionsByAsk = optionsList.map((option) => {\n let error = '';\n const { errors } = option;\n if (errors) {\n error = errors['rich_text.title'] || errors.name;\n }\n return {\n id: option.id,\n richText: option.richText,\n cssStyle: option.cssStyle,\n deleted: false,\n error: error && error[0],\n draggableId: nanoid(),\n };\n });\n\n return optionsByAsk.length === 0 ? [initOption] : optionsByAsk;\n };\n\n const [optionItems, setOptionItems] = React.useState(currentOptions());\n const addOptionItem = () => {\n if (MAX_OPTION_ITEMS_COUNT > optionItems.length) {\n const lastItem = optionItems[optionItems.length - 1];\n const newOptionItem = initOption;\n\n if (lastItem && lastItem.cssStyle) {\n delete lastItem.cssStyle.id;\n\n newOptionItem.cssStyle = lastItem.cssStyle;\n }\n\n setOptionItems([...optionItems, newOptionItem]);\n }\n };\n\n const addNewInput = (e) => {\n e.preventDefault();\n\n addOptionItem();\n };\n\n const handleOptionsChange = (items) => {\n if (onOptionsChange) {\n onOptionsChange(items);\n }\n\n setOptionItems(items);\n setBlockState((prevState) => ({\n ...prevState,\n multipleChoiceOptions: transformOptions(items),\n }));\n };\n\n const removeInput = (indexForDelete, e) => {\n e.preventDefault();\n\n let newItems = [...optionItems];\n const currentItem = newItems[indexForDelete];\n // If item is new then id is null\n //\n if (currentItem.id) {\n newItems[indexForDelete].deleted = true;\n } else {\n newItems = newItems.filter((_item, index) => {\n return indexForDelete !== index;\n });\n }\n\n handleOptionsChange(newItems);\n };\n\n const updateOptionField = (index) => (\n textValue,\n elementsValue,\n htmlValue,\n ) => {\n const newItems = [...optionItems];\n newItems[index].richText.title = textValue;\n newItems[index].richText.titleElements = elementsValue;\n newItems[index].richText.titleHtml = htmlValue;\n\n handleOptionsChange(newItems);\n };\n\n const updateOptionFieldStyles = ({ cssStyle }, index) => {\n const newItems = [...optionItems];\n newItems[index] = {\n ...newItems[index],\n cssStyle: cssStyle ? cssStyle : {},\n };\n\n handleOptionsChange(newItems);\n };\n\n const handleChoiceOther = (e) => {\n const checked = e.target.checked;\n updateBlockAttributes({ multipleChoiceOther: checked });\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n multipleChoiceOther: checked,\n }));\n };\n\n const handleChoiceMultiSelect = (e) => {\n const checked = e.target.checked;\n updateBlockAttributes({\n multipleChoiceMultiSelect: checked,\n });\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n multipleChoiceMultiSelect: checked,\n }));\n };\n\n const notDeletedOptionItems = () => {\n return optionItems.filter((item) => {\n return !item.deleted;\n });\n };\n\n const renderNewItemButton = () => {\n if (MAX_OPTION_ITEMS_COUNT > optionItems.length) {\n return (\n \n \n + Add Option\n \n \n \n );\n }\n };\n\n // draggable\n\n const reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n };\n\n const onDragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const newItems = reorder(\n optionItems,\n result.source.index,\n result.destination.index,\n );\n\n handleOptionsChange(newItems);\n };\n\n return (\n <>\n \n
\n )}\n \n \n\n {renderNewItemButton()}\n \n\n {!withoutCheckboxes && (\n <>\n \n \n \n )}\n \n \n );\n}\n\nMultipleChoiceSection.propTypes = {\n optionsList: PropTypes.array.isRequired,\n multiIsChecked: PropTypes.bool,\n otherIsChecked: PropTypes.bool,\n withoutMultiSelect: PropTypes.bool,\n updateBlockAttributes: PropTypes.func,\n hint: PropTypes.string,\n withoutCheckboxes: PropTypes.bool,\n};\n\nexport default MultipleChoiceSection;\n","import styled from 'styled-components';\nimport { StyledButton } from '../../../modal/style';\n\nexport const ButtonsWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n overflow: hidden;\n border-radius: 0 0 8px 8px;\n`;\n\nexport const ActionButton = styled(StyledButton)`\n height: 58px;\n align-items: center;\n color: ${(props) => (props.primary ? 'var(--white)' : 'var(--font-color-secondary)')};\n\n &&:hover {\n color: ${(props) => (props.primary ? 'var(--white)' : 'var(--font-color-secondary)')};\n }\n`;\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport DatePicker from '../../../../../experiences/transitions/ConditionalTransitionForm/components/DatePicker';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\n\nexport default function InputWithDatePicker({\n experienceId,\n onChange,\n defaultValue,\n mentionSteps,\n dataTestId,\n}) {\n const [selectedDate, setSelectedDate] = React.useState(defaultValue || '');\n const handleDatePick = (date) => {\n const dateString = date.toLocaleDateString('en-US');\n onChange(date);\n setSelectedDate(dateString);\n };\n\n return (\n \n \n \n \n );\n}\n","import React from 'react';\nimport SimpleSelect from '../../../../../select';\nimport Box from '@mui/material/Box';\nimport MentionTitle from '../../../../../MentionTitle';\nimport { COUNTRIES_FOR_SELECT } from '../../../../../../constants';\n\nconst buildOptions = (type, multipleChoiceOptions) => {\n const noneOption = { value: '', label: 'None' };\n switch (type) {\n case 'multiple_choice':\n const preparedMcOptions = multipleChoiceOptions.map(\n ({ richText: { title } }) => ({\n value: title,\n label: ,\n }),\n );\n return [noneOption, ...preparedMcOptions];\n case 'country':\n const countries = COUNTRIES_FOR_SELECT.map((o) => ({\n value: o.value,\n label: o.name,\n }));\n return [noneOption, ...countries];\n case 'currently_employed':\n return [\n noneOption,\n { value: 'true', label: 'Yes, I am currently employed' },\n { value: 'false', label: 'No, I am not currently employed' },\n ];\n\n default:\n return [];\n }\n};\n\nexport default function DefaultSelectInput({\n type,\n onChange,\n defaultValue,\n multipleChoiceOptions,\n}) {\n const [options, setOptions] = React.useState(buildOptions(type, multipleChoiceOptions));\n\n React.useEffect(() => {\n setOptions(buildOptions(type, multipleChoiceOptions));\n }, [type, multipleChoiceOptions]);\n\n const handleTypeChange = (option) => {\n onChange({ defaultValue: option.value });\n };\n\n return (\n \n o.value === defaultValue) || options[0]}\n placeholder=\"Choose value or press “[“\"\n classNamePrefix=\"react-select__default-value\"\n onChange={(option) => handleTypeChange(option)}\n />\n \n );\n}\n","import React from 'react';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\nimport InputWithDatePicker from '../InputWithDatePicker';\nimport DefaultSelectInput from '../DefaultSelectInput';\nimport { SwitchWithTitle } from '../../../../../switch';\nimport { getBooleanFromString } from '../../../../../inputs/utils';\n\nconst selectTypes = ['country', 'multiple_choice', 'currently_employed'];\n\nexport default function DefaultValue({\n type,\n experienceId,\n onChange,\n mentionSteps,\n multipleChoiceOptions,\n defaultValue,\n defaultValueSwitcherDisabled,\n}) {\n if (type === 'date_of_birth') {\n return (\n onChange({ defaultValue: value })}\n defaultValue={defaultValue}\n mentionSteps={mentionSteps}\n dataTestId=\"DataFieldEditForm/DefaultValueInput\"\n />\n );\n }\n\n if (selectTypes.includes(type)) {\n return (\n \n );\n }\n\n if (type === 'checkbox') {\n return (\n onChange({ defaultValue: e.target.checked.toString() })}\n title=\"Checked by default\"\n data-testid=\"DataFieldEditForm/DefaultCheckedSwitcher\"\n noborder=\"true\"\n checked={getBooleanFromString(defaultValue)}\n disabled={defaultValueSwitcherDisabled}\n />\n );\n }\n\n return (\n onChange({ defaultValue: value })}\n noTrailingSpace\n />\n );\n}\n","import React from 'react';\nimport Radio from '@mui/material/Radio';\nimport Stack from '@mui/material/Stack';\n\nfunction StyledRadioButton({ sizeSmall, ...props }) {\n return (\n \n );\n}\n\nexport default function RadioButtonGroup({\n selectedValue,\n onChange,\n buttons,\n sizeSmall,\n}) {\n return (\n \n {buttons.map(({ value, Icon, ariaLabel }) => (\n onChange(value)}\n value={value}\n icon={Icon}\n checkedIcon={Icon}\n inputProps={{ 'aria-label': ariaLabel }}\n sizeSmall={sizeSmall}\n />\n ))}\n \n );\n}\n","import React from 'react';\nimport _isEmpty from 'lodash/isEmpty';\nimport CheckIcon from '@mui/icons-material/Check';\nimport CloseIcon from '@mui/icons-material/Close';\nimport RouteOutlinedIcon from '@mui/icons-material/RouteOutlined';\nimport RadioButtonGroup from '../../../RadioButtonGroup';\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport { nanoid } from 'nanoid';\nimport Condition from '../../../../../experiences/transitions/ConditionalTransitionForm/components/Condition';\nimport { NewItemButton } from '../../../../../Button';\n\nconst radioButtons = [\n {\n value: false,\n Icon: ,\n ariaLabel: 'show field',\n },\n {\n value: true,\n Icon: ,\n ariaLabel: 'hide field',\n },\n {\n value: 'condition',\n Icon: ,\n ariaLabel: 'show condition',\n },\n];\n\nconst emptyCondition = [\n {\n first_value: '',\n second_value: '',\n operator: 'equals',\n data_type: 'string',\n nanoid: nanoid(),\n },\n];\n\nexport default function ShowFieldSection({\n selectedValue,\n onChange,\n mentionSteps,\n experienceId,\n showConditions,\n errors = {},\n}) {\n const [conditions, setConditions] = React.useState([\n {\n conditions_attributes: _isEmpty(showConditions) ? emptyCondition : showConditions,\n },\n ]);\n\n React.useEffect(() => {\n if (selectedValue === 'condition') {\n onChange({\n showConditions: conditions[0].conditions_attributes,\n });\n }\n }, [selectedValue, conditions]);\n\n const handleAddCondition = () => {\n const newCondition = { ...emptyCondition[0], nanoid: nanoid() };\n setConditions((prev) => [\n {\n conditions_attributes: [\n ...prev[0].conditions_attributes,\n newCondition,\n ],\n },\n ]);\n };\n\n const handleChange = (value) => {\n if (value === 'condition') {\n onChange({\n hidden: null,\n showConditions: conditions[0].conditions_attributes,\n });\n } else {\n const conditionsWithId = conditions[0].conditions_attributes.filter((c) => c.id);\n\n onChange({\n hidden: value,\n showConditions: conditionsWithId.map((c) => ({ ...c, _destroy: true })),\n });\n }\n };\n\n return (\n <>\n \n Show Field\n \n \n \n \n {selectedValue === 'condition' && (\n \n {conditions[0].conditions_attributes.map((condition, i) => (\n \n ))}\n \n + Add condition\n \n \n )}\n \n );\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport _isNull from 'lodash/isNull';\nimport { EditableMentionsInput } from '../../../SlateElements';\nimport { FormSection, Label } from '../../../globals';\nimport SimpleSelect from '../../../select';\nimport MultipleChoiceSection from '../MultipleChoiceSection';\nimport { ButtonsWrapper, ActionButton } from './style';\nimport {\n AlignLeft,\n User,\n Mail,\n MapPin,\n Phone,\n Calendar,\n Briefcase,\n List,\n} from 'react-feather';\nimport PaymentsOutlinedIcon from '@mui/icons-material/PaymentsOutlined';\nimport LooksOneOutlinedIcon from '@mui/icons-material/LooksOneOutlined';\nimport CheckBoxOutlinedIcon from '@mui/icons-material/CheckBoxOutlined';\nimport UploadFileIcon from '@mui/icons-material/UploadFile';\nimport DrawOutlinedIcon from '@mui/icons-material/DrawOutlined';\nimport Box from '@mui/material/Box';\nimport { SwitchWithTitle } from '../../../switch';\nimport { ExperienceIdContext } from '../..';\nimport useBuildMentionsSteps from '../../../hooks/useBuildMentionsSteps';\nimport DefaultValue from './components/DefaultValue';\nimport { slateToHtml } from '../TitleSection/utils';\nimport { buildDefaultRichObject } from '../../../../utils';\nimport ShowFieldSection from './components/ShowFieldSection';\n\nconst options = [\n { value: 'text', label: 'Text (Default)', icon: },\n { value: 'paragraph_text', label: 'Paragraph text', icon: },\n { value: 'first_name', label: 'First name', icon: },\n { value: 'last_name', label: 'Last name', icon: },\n { value: 'full_name', label: 'Full name', icon: },\n { value: 'address', label: 'Street address', icon: },\n { value: 'city', label: 'City', icon: },\n { value: 'state', label: 'State', icon: },\n { value: 'zip_code', label: 'Zip', icon: },\n { value: 'country', label: 'Country', icon: },\n { value: 'phone', label: 'Phone', icon: },\n { value: 'email', label: 'Email', icon: },\n { value: 'date_of_birth', label: 'Date', icon: },\n { value: 'multiple_choice', label: 'Multiple choice', icon: },\n {\n value: 'money',\n label: 'Currency',\n icon: ,\n currency: 'usd',\n },\n {\n value: 'currently_employed',\n label: 'Currently employed',\n icon: ,\n },\n { value: 'integer', label: 'Number', icon: },\n { value: 'company', label: 'Company', icon: },\n { value: 'occupation', label: 'Occupation', icon: },\n { value: 'checkbox', label: 'Checkbox', icon: },\n { value: 'rich_text', label: 'Rich text', icon: },\n { value: 'upload', label: 'Upload', icon: },\n { value: 'signature', label: 'Signature', icon: },\n];\n\nconst currencyOptions = [\n { value: 'usd', label: '$ USD' },\n { value: 'gbp', label: '£ GBP' },\n];\n\nconst defaultDataField = {\n type: 'text',\n required: false,\n deleted: false,\n hidden: false,\n checkboxHidden: false,\n multipleChoiceOptions: [],\n richText: { title: '', titleHtml: '', titleElements: '' },\n};\n\nconst filterDeletedMultipleChoiceOptions = (items) =>\n items.filter((item) => !item.deleted);\n\nfunction DataFieldEditForm({\n isActive,\n setIsActive,\n onSave,\n initialDataField,\n errors,\n}) {\n const [dataField, setDataField] = useState(\n initialDataField || defaultDataField,\n );\n const [error, setError] = useState(null);\n const [multipleChoiceOptions, setMultipleChoiceOptions] = useState(\n dataField.multipleChoiceOptions,\n );\n const experienceId = React.useContext(ExperienceIdContext);\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'TitleSection',\n });\n\n const handleChange = (value, elements) => {\n setDataField({\n ...dataField,\n richText: {\n title: value,\n titleElements: JSON.stringify(elements),\n titleHtml: slateToHtml(elements),\n },\n });\n };\n\n const handleDataFieldChange = (values) => {\n setDataField({ ...dataField, ...values });\n };\n\n const handleTypeChange = (value) => {\n const option = options.find((option) => option.value === value);\n const optionsWithoutDefaultValue = ['text', 'paragraph_text'];\n\n if (optionsWithoutDefaultValue.includes(option.value)) {\n setDataField({\n ...dataField,\n type: value,\n currency: option.currency,\n });\n } else {\n setDataField({\n ...dataField,\n type: value,\n currency: option.currency,\n richText: buildDefaultRichObject(option.label),\n });\n }\n };\n\n const setSelectDefaultValue = () => {\n const filteredOptions = options.filter(\n (option) => option.value === dataField.type,\n );\n return filteredOptions[0];\n };\n\n const handleFormSave = (e) => {\n e.preventDefault();\n const trimmedTitle = dataField.richText.title.trim();\n\n if (_isEmpty(trimmedTitle)) {\n setError(\"Can't be empty\");\n } else if (dataField.required && dataField.hidden) {\n setError(\"Can't be required and hidden\");\n } else {\n const newDataField = {\n ...dataField,\n richText: {\n ...dataField.richText,\n title: trimmedTitle,\n },\n multipleChoiceOptions,\n };\n\n onSave(newDataField);\n }\n };\n\n const handleHideCheckbox = (e) => {\n const checked = e.target.checked;\n handleDataFieldChange({\n defaultValue: checked.toString(),\n checkboxHidden: checked,\n });\n };\n\n if (!isActive) {\n return null;\n }\n\n return (\n \n \n \n handleTypeChange(value)}\n />\n \n \n \n \n {dataField.type === 'money' && (\n \n o.value === dataField.currency)\n : currencyOptions[0]\n }\n classNamePrefix=\"react-select__data-field-currency\"\n onChange={({ value }) =>\n handleDataFieldChange({ currency: value })\n }\n noMargin\n isDisabled={dataField.id}\n />\n \n )}\n \n {dataField.type === 'multiple_choice' && (\n
\n \n
\n )}\n \n {(dataField.type !== 'upload' || dataField.type !== 'signature') && (\n <>\n {dataField.type !== 'checkbox' && }\n \n \n )}\n \n \n \n handleDataFieldChange({ required: e.target.checked })\n }\n title=\"Required Field\"\n data-testid=\"DataFieldEditForm/RequiredSwitcher\"\n noborder=\"true\"\n checked={dataField.required}\n />\n {dataField.type === 'checkbox' && (\n \n )}\n \n \n \n setIsActive(false)}\n >\n Cancel\n \n \n Save Field\n \n \n \n );\n}\n\nDataFieldEditForm.propTypes = {\n isActive: PropTypes.bool.isRequired,\n setIsActive: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n initialDataField: PropTypes.shape({\n name: PropTypes.string,\n required: PropTypes.bool,\n hidden: PropTypes.bool,\n }),\n};\n\nexport default DataFieldEditForm;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 44px;\n display: grid;\n grid-template-columns: 32px 38px auto 32px 32px;\n align-items: center;\n padding-right: 12px;\n padding-left: 4px;\n margin-bottom: 4px;\n margin-top: 4px;\n color: var(--font-color-primary);\n background-color: var(--surface-background--dark);\n border: 1px solid var(--border-color-primary);\n border-radius: 8px;\n cursor: pointer;\n`;\n\nexport const LabelWrapper = styled.p`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n margin: 0;\n opacity: ${props => props.isHidden ? 0.5 : 1};\n`;\n\nexport const Circle = styled.span`\n display: inline-block;\n height: 4px;\n width: 4px;\n transform: translate(2px, -8px);\n background: var(--error);\n border-radius: 50%;\n`;\n\nexport const DropdownWrapper = styled.div`\n .MuiIconButton-root {\n padding: 0;\n color: var(--font-color-secondary--light);\n transition: color 0.2s;\n\n &:hover {\n background-color: transparent;\n color: var(--font-color-primary);\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useHover } from 'use-events';\nimport DragIcon from '../../../icons/DragIcon';\nimport DataFieldEditForm from '../DataFieldEditForm';\nimport {\n MoreHorizontal,\n AlignLeft,\n User,\n MapPin,\n Mail,\n Phone,\n Calendar,\n Briefcase,\n List,\n} from 'react-feather';\nimport LooksOneOutlinedIcon from '@mui/icons-material/LooksOneOutlined';\nimport PaymentsOutlinedIcon from '@mui/icons-material/PaymentsOutlined';\nimport CheckBoxOutlinedIcon from '@mui/icons-material/CheckBoxOutlined';\nimport UploadFileIcon from '@mui/icons-material/UploadFile';\nimport DrawOutlinedIcon from '@mui/icons-material/DrawOutlined';\nimport { DropdownMenu } from '../../../DropdownMenu';\nimport MentionsTitle from '../../../MentionTitle';\nimport { Container, DropdownWrapper, Circle, LabelWrapper } from './style';\nimport { FlexRow } from '../../../globals';\nimport Modal from '../../../modal';\nimport CustomizeToolbar from '../../../CustomizeToolbar';\nimport VisibilityOffOutlinedIcon from '@mui/icons-material/VisibilityOffOutlined';\n\nconst menuItems = [\n {\n title: 'Edit',\n value: 'edit',\n },\n {\n title: 'Delete',\n value: 'delete',\n },\n];\n\nconst renderIcon = (type) => {\n switch (type) {\n case 'text':\n return ;\n case 'paragraph_text':\n case 'rich_text':\n return ;\n case 'first_name':\n case 'last_name':\n case 'full_name':\n return ;\n case 'address':\n case 'city':\n case 'state':\n case 'zip_code':\n case 'country':\n return ;\n case 'email':\n return ;\n case 'phone':\n return ;\n case 'date_of_birth':\n return ;\n case 'multiple_choice':\n return ;\n case 'integer':\n return ;\n case 'money':\n return ;\n case 'company':\n case 'occupation':\n case 'currently_employed':\n return ;\n case 'checkbox':\n return ;\n case 'upload':\n return ;\n case 'signature':\n return ;\n }\n};\n\nconst labelDataTestid = 'DataField/Label';\n\nexport const DataField = ({\n id,\n index,\n type,\n currency,\n hidden,\n showConditions,\n checkboxHidden,\n richText,\n required,\n cssStyle,\n multipleChoiceOptions,\n defaultValue,\n dragHandleProps,\n onChange,\n onSave,\n errors,\n}) => {\n const [creationFormIsActive, setCreationFormIsActive] = React.useState(!!errors?.show_condition?.conditions);\n const [modalIsOpen, setModalIsOpen] = React.useState(false);\n const [isHover, bind] = useHover();\n\n const openCreationForm = (e) => {\n if (e.target.dataset.testid === labelDataTestid) {\n setCreationFormIsActive(true);\n }\n };\n\n const saveDataField = (newDataField) => {\n onSave(newDataField, index);\n setCreationFormIsActive(false);\n };\n\n const handleDropdownSelect = (value) => {\n switch (value) {\n case 'edit':\n setCreationFormIsActive(true);\n break;\n case 'delete':\n setModalIsOpen(true);\n break;\n }\n };\n\n const hideModal = () => {\n setModalIsOpen(false);\n };\n\n const handleDeleteField = (e) => {\n e.stopPropagation();\n onChange(index, 'delete');\n\n hideModal();\n };\n\n const modalButtons = [\n { title: 'Cancel', onClick: hideModal },\n { title: 'Delete', onClick: handleDeleteField, primary: true },\n ];\n\n return (\n <>\n {creationFormIsActive ? (\n <>\n \n \n \n ) : (\n \n \n \n \n {renderIcon(type)}\n \n \n {required && }\n {hidden && (\n \n )}\n \n \n \n }\n onSelection={handleDropdownSelect}\n disablePortal\n />\n \n \n )}\n {modalIsOpen && (\n \n )}\n \n );\n};\n\nDataField.propTypes = {\n index: PropTypes.number.isRequired,\n type: PropTypes.string.isRequired,\n required: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n};\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport _isNull from 'lodash/isNull';\nimport { DataField } from '../DataField';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport CssStyleHiddenInputs from '../CssStyleHiddenInputs';\n\nconst renderHiddenFields = (\n id,\n type,\n richText,\n required,\n deleted,\n cssStyle,\n dataFieldIndex,\n multipleChoiceOptions,\n currency,\n hidden,\n showConditions,\n checkboxHidden,\n defaultValue,\n) => {\n const conditionSelected = _isNull(hidden);\n\n return (\n <>\n \n {id && (\n \n )}\n \n \n \n \n \n \n \n \n {!_isEmpty(richText) && (\n <>\n \n \n \n \n )}\n {multipleChoiceOptions && (\n <>\n {multipleChoiceOptions.map(\n ({ id, richText, deleted }, multipleChoiceIndex) => (\n \n {id && (\n \n )}\n {richText.id && (\n \n )}\n \n \n \n \n ),\n )}\n \n )}\n {showConditions ? (\n conditionSelected ? (\n <>\n {showConditions.map((condition, index) => {\n return (\n \n \n \n \n \n \n \n \n );\n })}\n \n ) : (\n \n )\n ) : null}\n \n );\n};\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const DragAndDropDataFields = ({\n dataFields,\n setDataFields,\n errors,\n}) => {\n const onDragEnd = (result) => {\n // dropped outside the list\n if (!result.destination) {\n return;\n }\n\n const items = reorder(\n dataFields,\n result.source.index,\n result.destination.index,\n );\n\n setDataFields(items);\n };\n\n const updateDataField = (newDataField, index) => {\n const newDataFields = dataFields.map((field, i) => {\n if (index === i) {\n return { ...field, ...newDataField };\n } else {\n return { ...field };\n }\n });\n\n setDataFields(newDataFields);\n };\n\n const deleteDataField = (index) => {\n const newDataFields = dataFields.map((field, i) => {\n if (index === i) {\n return { ...field, deleted: true };\n } else {\n return { ...field };\n }\n });\n\n setDataFields(newDataFields);\n };\n\n return (\n \n \n {(provided) => (\n
\n {dataFields.map(\n (\n {\n id,\n type,\n richText,\n disabled,\n required,\n deleted,\n cssStyle,\n multipleChoiceOptions,\n currency,\n hidden,\n showConditions,\n checkboxHidden,\n defaultValue,\n },\n index,\n ) => (\n \n {(provided) => (\n \n <>\n {renderHiddenFields(\n id,\n type,\n richText,\n required,\n deleted,\n cssStyle,\n index,\n multipleChoiceOptions,\n currency,\n hidden,\n showConditions,\n checkboxHidden,\n defaultValue,\n )}\n {!deleted && (\n
\n )}\n \n ),\n )}\n {provided.placeholder}\n \n )}\n
\n
\n );\n};\n\nDragAndDropDataFields.propTypes = {\n dataFields: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string,\n type: PropTypes.string,\n required: PropTypes.bool,\n }),\n ).isRequired,\n setDataFields: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ErrorMessageFloat, Label } from '../../../globals';\nimport Disclaimer from '../Disclaimer';\nimport { ErrorWrapper, CheckboxContainer } from './style';\nimport DataFieldEditForm from '../DataFieldEditForm';\nimport { NewItemButton } from '../../../Button';\nimport { DragAndDropDataFields } from '../DragAndDropDataFields';\nimport BlockLabelInput from '../BlockLabelInput';\n\nfunction DataFieldsSection({\n dataFields,\n blockType,\n setDataFields,\n errors,\n serializedErrors,\n disclaimer,\n disclaimerChecked,\n}) {\n const [creationFormIsActive, setCreationFormIsActive] = React.useState(false);\n\n const saveDataField = (dataField) => {\n const lastDataField = dataFields[dataFields.length - 1];\n const newDataField = dataField;\n\n if (lastDataField && lastDataField.cssStyle) {\n delete lastDataField.cssStyle.id;\n\n newDataField.cssStyle = lastDataField.cssStyle;\n }\n\n setDataFields([...dataFields, { ...newDataField }]);\n setCreationFormIsActive(false);\n };\n\n return (\n \n {blockType === 'data_only' && (\n <>\n \n \n \n )}\n {errors.data_fields && blockType === 'donation' && (\n \n {errors.data_fields}\n \n )}\n \n {disclaimer && (\n \n \n \n )}\n {creationFormIsActive ? (\n \n ) : (\n setCreationFormIsActive(true)}\n data-testid=\"DataFieldsSection/AddDataFieldButton\"\n >\n + Add Data Field\n \n )}\n \n );\n}\n\nDataFieldsSection.propTypes = {\n dataFields: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n disabled: PropTypes.bool,\n type: PropTypes.string,\n required: PropTypes.bool,\n }),\n ).isRequired,\n blockType: PropTypes.string,\n setDataFields: PropTypes.func.isRequired,\n errors: PropTypes.object.isRequired,\n disclaimerChecked: PropTypes.bool,\n};\n\nexport default DataFieldsSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useHover } from 'use-events';\nimport _isEmpty from 'lodash/isEmpty';\n\nimport { CURRENCY_SIGN_MAP } from '../../../../../constants';\nimport { SmallDeleteButton } from '../../../../Button';\nimport { DonationInputWrapper, RightButtonWrapper } from '../style';\nimport CustomizeToolbar from '../../../../CustomizeToolbar';\nimport EditableMentionsInput from '../../../../SlateElements/components/EditableMentionsInput';\nimport { ExperienceIdContext } from '../../../index';\nimport CssStyleHiddenInputs from '../../CssStyleHiddenInputs';\n\nfunction AmountInput({\n index,\n value,\n payment_option_id,\n destroy,\n onChange,\n onSaveStyles,\n onKeyPress,\n onDelete,\n currency,\n cssStyle,\n error,\n mentionSteps,\n}) {\n const [isHover, bind] = useHover();\n const experienceId = React.useContext(ExperienceIdContext);\n\n return (\n <>\n \n \n \n {!destroy && (\n \n \n \n \n \n –\n \n \n \n )}\n \n );\n}\n\nAmountInput.propTypes = {\n index: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n payment_option_id: PropTypes.number,\n destroy: PropTypes.bool,\n currency: PropTypes.string,\n error: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n onKeyPress: PropTypes.func,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n};\n\nexport default AmountInput;\n","import styled from 'styled-components';\n\nexport const IconWrapper = styled.div`\n margin-left: 8px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport SimpleSelect from '../../../../select';\nimport Tooltip from '../../../../tooltip';\nimport { Label, FlexRow } from '../../../../globals';\nimport { Info } from 'react-feather';\nimport { IconWrapper } from './style';\n\nconst defaultDonationOptions = [\n { value: 'recurring', label: 'Monthly Recurring' },\n { value: 'one_time', label: 'One-Time' },\n];\n\nconst defaultDonationTooltipTitle =\n 'If more than one frequency option is shown, choose which option is selected by default.';\n\nfunction DefaultFrequencySection({\n updateDefaultDonationType,\n defaultFrequency,\n disabled,\n}) {\n const defaultDonationType = defaultDonationOptions.find(\n (option) => option.value === defaultFrequency,\n );\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n {disabled && (\n \n )}\n \n );\n}\n\nDefaultFrequencySection.propTypes = {\n defaultFrequency: PropTypes.string,\n updateDefaultDonationType: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n};\n\nexport default DefaultFrequencySection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Label, HLine } from '../../globals';\nimport { Input } from '../../inputs/Input';\nimport Stack from '@mui/material/Stack';\nimport Box from '@mui/material/Box';\nimport Modal from '@mui/material/Modal';\nimport { StyledButton } from '../../modal/style';\nimport { SwitchWithTitle } from '../../switch';\nimport useBuildMentionsSteps from '../../hooks/useBuildMentionsSteps';\nimport { EditableMentionsInput } from '../../SlateElements';\nimport { slateToHtml } from '../../BlockForm/components/TitleSection/utils';\nimport { useHover } from 'use-events';\nimport CustomizeToolbar from '../../CustomizeToolbar';\nimport Checkbox from '../../checkbox';\n\nfunction PaymentOptionFeeModal({\n kind,\n title,\n index,\n errors,\n isOpen,\n hideModal,\n setValues,\n defaultValues,\n experienceId,\n}) {\n if (!isOpen) {\n return null;\n }\n\n const [percentageValue, setPercentageValue] = React.useState(\n defaultValues.percentageValue,\n );\n const [minValue, setMinValue] = React.useState(defaultValues.minValue);\n const [maxValue, setMaxValue] = React.useState(defaultValues.maxValue);\n const [supportsCreditCardFees, setSupportsCreditCardFees] = React.useState(\n defaultValues.supportsCreditCardFees,\n );\n const [supportsDebitCardFees, setSupportsDebitCardFees] = React.useState(\n defaultValues.supportsDebitCardFees,\n );\n const [supportsPrepaidCardFees, setSupportsPrepaidCardFees] = React.useState(\n defaultValues.supportsPrepaidCardFees,\n );\n const [supportsUnknownCardFees, setSupportsUnknownCardFees] = React.useState(\n defaultValues.supportsUnknownCardFees,\n );\n const [feesEnabled, setFeesEnabled] = React.useState(\n defaultValues.feesEnabled,\n );\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'PaymentSection',\n });\n const [disclaimerText, setDisclaimerText] = React.useState(\n defaultValues.disclaimerText,\n );\n const [isHover, bind] = useHover();\n\n const handleSave = () => {\n setValues({\n percentageValue,\n minValue,\n maxValue,\n feesEnabled,\n disclaimerText,\n supportsCreditCardFees,\n supportsDebitCardFees,\n supportsPrepaidCardFees,\n supportsUnknownCardFees,\n });\n hideModal();\n };\n\n const handleDisclaimerTextChange = (value, elements) => {\n setDisclaimerText((prev) => ({\n ...prev,\n richText: {\n title: value,\n titleElements: JSON.stringify(elements),\n titleHtml: slateToHtml(elements),\n },\n }));\n };\n\n const handleDisclaimerStyleChange = (value) => {\n setDisclaimerText((prev) => ({ ...prev, cssStyle: value.cssStyle }));\n };\n\n return (\n \n \n \n {title}\n \n \n \n setFeesEnabled(e.target.checked)}\n title=\"Charge Fee\"\n data-testid=\"PaymentOptionFeeModal/FeesSwitcher\"\n noborder=\"true\"\n />\n \n \n \n \n setPercentageValue(e.target.value)}\n type=\"number\"\n error={errors[`payment_methods[${index}].fee_percentage`]}\n autoFocus\n />\n \n \n \n setMinValue(e.target.value)}\n type=\"number\"\n error={errors[`payment_methods[${index}].fee_min`]}\n />\n \n \n \n setMaxValue(e.target.value)}\n type=\"number\"\n error={errors[`payment_methods[${index}].fee_max`]}\n />\n \n \n {kind === 'card' && (\n \n \n setSupportsCreditCardFees(e.target.checked)}\n label=\"Credit\"\n />\n setSupportsDebitCardFees(e.target.checked)}\n label=\"Debit\"\n />\n setSupportsPrepaidCardFees(e.target.checked)}\n label=\"Prepaid\"\n />\n setSupportsUnknownCardFees(e.target.checked)}\n label=\"Unknown\"\n />\n \n )}\n \n \n \n \n \n \n \n \n \n \n Cancel\n \n Save\n \n \n \n \n );\n}\n\nPaymentOptionFeeModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n hideModal: PropTypes.func.isRequired,\n};\n\nexport default PaymentOptionFeeModal;\n","import React from 'react';\nimport CssStyleHiddenInputs from '../../CssStyleHiddenInputs';\n\nexport default function HiddenInputs({\n id,\n kind,\n index,\n values,\n methodIsEnabled,\n}) {\n const {\n percentageValue,\n minValue,\n maxValue,\n supportsCreditCardFees,\n supportsDebitCardFees,\n supportsPrepaidCardFees,\n supportsUnknownCardFees,\n feesEnabled,\n disclaimerText,\n } = values;\n\n if (!feesEnabled || !methodIsEnabled) {\n if (id) {\n return (\n <>\n \n \n \n );\n } else {\n return null;\n }\n }\n\n return (\n <>\n \n \n \n \n \n {kind === 'card' && (\n <>\n \n \n \n \n \n )}\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport _isNumber from 'lodash/isNumber';\nimport _isEmpty from 'lodash/isEmpty';\nimport PaymentOptionFeeModal from '../../../../modals/PaymentOptionFeeModal';\nimport HiddenInputs from './HiddenInputs';\nimport { ExperienceIdContext } from '../../..';\n\nconst getDefaultValue = (values, attr) =>\n values && _isNumber(values[attr]) ? values[attr] / 100 : '';\n\nconst defaultDisclaimerRichText = (experienceId, blockId) => ({\n titleElements: JSON.stringify([\n {\n type: 'paragraph',\n children: [\n { text: \"You'll be charged a \" },\n {\n children: [{ text: '' }],\n reference: `{{experience_${experienceId}.block_${blockId}.data.payment_method_fee}}`,\n type: 'mention',\n },\n {\n text:\n ' fee in addition to your payment amount to cover processing fees.',\n },\n ],\n },\n ]),\n});\n\nconst defaultCardTypeFees = (paymentMethod, kind) => {\n if (paymentMethod && kind === 'card') {\n return {\n supportsCreditCardFees: paymentMethod.supportsCreditCardFees,\n supportsDebitCardFees: paymentMethod.supportsDebitCardFees,\n supportsPrepaidCardFees: paymentMethod.supportsPrepaidCardFees,\n supportsUnknownCardFees: paymentMethod.supportsUnknownCardFees,\n };\n } else {\n return {\n supportsCreditCardFees: true,\n supportsDebitCardFees: false,\n supportsPrepaidCardFees: false,\n supportsUnknownCardFees: false,\n };\n }\n};\n\nfunction FeeSection({\n kind,\n title,\n index,\n errors,\n blockId,\n paymentMethod,\n methodIsEnabled,\n modalIsOpen,\n hideModal,\n}) {\n const experienceId = React.useContext(ExperienceIdContext);\n const [values, setValues] = React.useState({\n percentageValue: paymentMethod ? paymentMethod.feePercentage : 0,\n minValue: getDefaultValue(paymentMethod, 'feeMinCents'),\n maxValue: getDefaultValue(paymentMethod, 'feeMaxCents'),\n ...defaultCardTypeFees(paymentMethod, kind),\n feesEnabled: !_isEmpty(paymentMethod),\n disclaimerText: {\n richText:\n paymentMethod?.disclaimer.richText ||\n defaultDisclaimerRichText(experienceId, blockId),\n cssStyle: paymentMethod?.disclaimer.cssStyle || {},\n },\n });\n\n return (\n <>\n \n \n \n );\n}\n\nFeeSection.propTypes = {\n index: PropTypes.number.isRequired,\n kind: PropTypes.string.isRequired,\n methodIsEnabled: PropTypes.bool,\n paymentMethod: PropTypes.object,\n errors: PropTypes.object.isRequired,\n};\n\nexport default FeeSection;\n","import React from 'react';\nimport _isEmpty from 'lodash/isEmpty';\nimport { ErrorMessage as StyledError } from '../../../../globals';\n\nexport default function ErrorMessage({ errors, index }) {\n if (_isEmpty(errors)) {\n return null;\n }\n\n if (\n Object.keys(errors).find((e) => e.includes('payment_methods') && errors.payment_methods.length > 0 && index === 0)\n ) {\n return {errors.payment_methods[0]};\n } else {\n return null;\n }\n\n}\n","import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport { Input } from '../../../../inputs/Input';\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined';\nimport {\n Label,\n FormSectionDescription,\n FormSubsection,\n FlexSpaceBetween,\n} from '../../../../globals';\nimport FeeSection from '../FeeSection';\nimport Checkbox from '../../../../checkbox';\nimport { useModal } from '../../../../hooks';\nimport ErrorMessage from './ErrorMessage';\n\nexport default function PaymentOptionsSection({\n t,\n block,\n errors,\n achDisabled,\n}) {\n const {\n isOpen: cardModalIsOpen,\n hideModal: hideCardModal,\n showModal: showCardModal,\n } = useModal();\n const {\n isOpen: achModalIsOpen,\n hideModal: hideAchModal,\n showModal: showAchModal,\n } = useModal();\n const [paypalEnabled, setPaypalEnabled] = React.useState(block.paypalEnabled);\n const [achEnabled, setAchEnabled] = React.useState(block.achEnabled);\n const [cardEnabled, setCardEnabled] = React.useState(block.cardEnabled);\n const [paypalEmail, setPaypalEmail] = React.useState(block.paypalEmail);\n\n return (\n <>\n \n \n setCardEnabled(e.target.checked)}\n label=\"Credit card\"\n withInput\n />\n \n \n \n \n \n m.kind === 'card')}\n modalIsOpen={cardModalIsOpen}\n hideModal={hideCardModal}\n />\n \n setAchEnabled(e.target.checked)}\n label=\"ACH\"\n disabled={achDisabled}\n withInput\n />\n \n \n \n \n \n m.kind === 'us_bank_account',\n )}\n modalIsOpen={achModalIsOpen}\n hideModal={hideAchModal}\n />\n setPaypalEnabled(e.target.checked)}\n label=\"PayPal\"\n />\n \n {paypalEnabled && (\n \n {t('description')}\n setPaypalEmail(e.target.value)}\n error={errors.paypal_email && errors.paypal_email[0]}\n autoFocus\n />\n \n )}\n \n );\n}\n","import React, { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { parse, parseISO, isValid, format, formatISO } from 'date-fns';\n\nimport {\n DEFAULT_DONATION_DATA_FIELDS,\n DISABLED_POLITICAL_DATA_FIELDS_TYPES,\n DEFAULT_POLITICAL_DATA_FIELDS,\n} from '../../../../constants';\n\nimport {\n getExperiencesList,\n getBlocksList,\n getDataFieldsByType,\n} from '../../../api';\n\nimport Checkbox from '../../../checkbox';\nimport { NewItemButton } from '../../../Button';\nimport {\n Label,\n FormSection,\n HLine,\n Fieldset,\n Legend,\n FlexRow,\n Hint,\n} from '../../../globals';\nimport CurrencySelector from './CurrencySelector';\nimport {\n InputsWrapper,\n DonationInputWrapper,\n RightButtonWrapper,\n LeftPadding,\n ErrorMessage,\n TooltipIconWrapper,\n CheckboxTooltipIconWrapper,\n} from './style';\nimport DataFieldsSection from '../DataFieldsSection';\nimport _isEmpty from 'lodash/isEmpty';\nimport { Info } from 'react-feather';\nimport AmountInput from './AmountInput';\nimport DefaultFrequencySection from './DefaultFrequencySection';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport Tooltip from '../../../tooltip';\nimport { useTranslation } from '../../../../i18n';\nimport BlockLabelInput from '../BlockLabelInput';\nimport PaymentOptionsSection from './PaymentOptionsSection';\nimport useBuildMentionsSteps from '../../../hooks/useBuildMentionsSteps';\nimport { Box } from '@mui/material';\nimport { EditableMentionsInput } from '../../../SlateElements';\nimport DatePicker from '../../../experiences/transitions/ConditionalTransitionForm/components/DatePicker';\n\nconst setInitialDateInputValue = (dateString) => {\n if (!dateString) {\n return '';\n }\n const date = parseISO(dateString);\n\n if (isValid(date)) {\n return format(date, 'MM/dd/yyyy');\n } else {\n return '';\n }\n};\n\nconst buildMentionSteps = (t) => [\n {\n type: 'experiences',\n title: t('mentions.expTitle'),\n referencePrefix: 'experience_',\n loadList: getExperiencesList,\n },\n {\n type: 'blocks',\n title: 'Blocks',\n referencePrefix: 'block_',\n loadList: getBlocksList,\n },\n {\n type: 'merge_fields',\n title: 'Block merge fields',\n referencePrefix: '',\n loadList: (blockId) => getDataFieldsByType(blockId, 'money'),\n },\n];\n\nconst MAX_AMOUNT_ITEMS_COUNT = 4;\n\nconst addStyleToOption = (options, cssStyle, index) => {\n return options\n .filter((option) => option.deleted !== true)\n .map((option, currentIndex) =>\n currentIndex === index ? { ...option, cssStyle } : option,\n );\n};\n// Transform options array before updating Context\nconst transformOptions = (options) =>\n options\n .filter((option) => option.deleted !== true)\n .map((option) => ({ amount: option.value, cssStyle: option.cssStyle }));\n\nfunction PaymentSection({\n block,\n errors,\n serializedErrors,\n updateBlockAttributes,\n isEditPage,\n dataFields,\n setDataFields,\n}) {\n const { t } = useTranslation('translation', {\n keyPrefix: 'PaymentSection',\n });\n const stepsWithMoneyMergeFields = React.useMemo(() => buildMentionSteps(t), [\n t,\n ]);\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'PaymentSection',\n });\n const [blockState, setBlockState] = useContext(BlockContext);\n const currentAmounts = () => {\n const initAmounts = [{ value: '' }];\n\n if (block.paymentOptions.length === 0) {\n return initAmounts;\n }\n\n const donationsByAsk = block.paymentOptions.map((amount) => {\n return {\n value: amount === null ? '' : amount.amount,\n key: amount === null ? '' : amount.id,\n cssStyle: amount.cssStyle,\n deleted: false,\n };\n });\n\n return donationsByAsk;\n };\n\n const [amountItems, setAmountItems] = useState(currentAmounts());\n const [recurringPayment, setRecurringPayment] = useState(\n block.donationType === 'recurring' || block.donationType === 'both',\n );\n const [oneTimePayment, setOneTimePayment] = useState(\n block.donationType === 'one_time' || block.donationType === 'both',\n );\n const [donationType, setDonationType] = useState(block.donationType);\n const [isPoliticalDonation, setIsPoliticalDonation] = useState(\n block.politicalDonation,\n );\n const [customDonation, setCustomDonation] = useState(block.customDonation);\n const [subscriptionStartDate, setSubscriptionStartDate] = useState(\n block.subscriptionStartDate,\n );\n const [startDateInputValue, setStartDateInputValue] = useState(\n setInitialDateInputValue(block.subscriptionStartDate),\n );\n\n const handleSubscriptionStartDatePick = (date) => {\n setSubscriptionStartDate(formatISO(date));\n setStartDateInputValue(format(date, 'MM/dd/yyyy'));\n };\n\n const handleStartDateInputChange = (value) => {\n try {\n let date = parse(value, 'MM/dd/yyyy', new Date());\n\n // Support 2-digit year\n if (!isValid(date)) {\n date = parse(value, 'MM/dd/yy', new Date());\n }\n if (isValid(date)) {\n setSubscriptionStartDate(formatISO(date));\n } else {\n setSubscriptionStartDate('');\n }\n } catch (error) {\n setSubscriptionStartDate('');\n }\n };\n\n const activeItems = () => {\n return amountItems.filter((item) => !item.deleted);\n };\n\n const updateCurrency = (e) => {\n const value = e.target.value;\n updateBlockAttributes({ currency: e.target.value });\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n currency: value,\n }));\n };\n\n const addAmountItem = () => {\n const items = activeItems();\n const lastItem = items[items.length - 1];\n\n if (MAX_AMOUNT_ITEMS_COUNT > items.length) {\n const newAmountItem = { value: '' };\n\n if (lastItem && lastItem.cssStyle) {\n delete lastItem.cssStyle.id;\n\n newAmountItem.cssStyle = lastItem.cssStyle;\n }\n\n const newFields = [...amountItems, newAmountItem];\n setAmountItems(newFields);\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n paymentOptions: transformOptions(newFields),\n }));\n }\n };\n\n const addNewInput = (e) => {\n e.preventDefault();\n\n addAmountItem();\n };\n\n const removeInput = (indexForDelete, e) => {\n e.preventDefault();\n\n const newFields = amountItems.map((item, index) => {\n if (indexForDelete === index) {\n return { ...item, deleted: true };\n } else {\n return { ...item };\n }\n });\n\n setAmountItems(newFields);\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n paymentOptions: transformOptions(newFields),\n }));\n };\n\n const handleKeyPress = (e) => {\n if (e.key === 'Enter' && !e.target.innerText?.includes('[')) {\n addAmountItem();\n }\n };\n\n const updateDonationStyles = (style, index) => {\n if (!style || _isEmpty(style)) {\n return;\n }\n const { cssStyle } = style;\n if (_isEmpty(cssStyle)) {\n return;\n }\n\n setAmountItems(addStyleToOption(amountItems, cssStyle, index));\n setBlockState((prevState) => {\n if (!prevState || !prevState.paymentOptions) {\n return prevState;\n }\n return {\n ...prevState,\n paymentOptions: addStyleToOption(\n prevState.paymentOptions,\n cssStyle,\n index,\n ),\n };\n });\n };\n\n const updateDonationField = (value, indexForUpdate) => {\n const newFields = amountItems.map((item, index) => {\n if (indexForUpdate === index) {\n return { ...item, value };\n } else {\n return { ...item };\n }\n });\n\n setAmountItems(newFields);\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n paymentOptions: transformOptions(newFields),\n }));\n };\n\n const renderNewItemButton = () => {\n if (MAX_AMOUNT_ITEMS_COUNT > activeItems().length) {\n return (\n \n \n + Add Option\n \n \n \n );\n }\n };\n\n const updateRecurringPayment = (e) => {\n setRecurringPayment(e.target.checked);\n\n updateDonationType(oneTimePayment, e.target.checked);\n };\n\n const updateOneTimePayment = (e) => {\n setOneTimePayment(e.target.checked);\n\n updateDonationType(e.target.checked, recurringPayment);\n };\n\n const updateDefaultDonationType = (option) => {\n const defaultDonationType = option.value;\n\n updateBlockAttributes({ defaultDonationType });\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n defaultDonationType,\n }));\n };\n\n const updateDonationType = (oneTimePayment, recurringPayment) => {\n let donationType = '';\n\n if (recurringPayment && oneTimePayment) {\n donationType = 'both';\n } else if (recurringPayment) {\n donationType = 'recurring';\n } else if (oneTimePayment) {\n donationType = 'one_time';\n }\n\n updateDefaultDonationType({ value: donationType });\n setDonationType(donationType);\n\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n donationType,\n }));\n };\n\n useEffect(() => {\n if (isPoliticalDonation) {\n disableRequiredPoliticalDonationFields();\n }\n }, [isPoliticalDonation]);\n\n const disableRequiredPoliticalDonationFields = () => {\n const newDataFields = dataFields.map((field) => {\n if (\n !field.id &&\n DISABLED_POLITICAL_DATA_FIELDS_TYPES.includes(field.type)\n ) {\n return {\n ...field,\n required: true,\n };\n } else {\n return { ...field };\n }\n });\n\n setDataFields(newDataFields);\n };\n\n const toggleRequiredDataFields = (isPolitical) => {\n if (_isEmpty(block.dataFields)) {\n if (isPolitical) {\n setDataFields(\n DEFAULT_DONATION_DATA_FIELDS.concat(DEFAULT_POLITICAL_DATA_FIELDS),\n );\n } else {\n setDataFields(DEFAULT_DONATION_DATA_FIELDS);\n }\n } else {\n if (isPolitical) {\n setDataFields(block.dataFields.concat(DEFAULT_POLITICAL_DATA_FIELDS));\n } else {\n setDataFields(block.dataFields);\n }\n }\n };\n\n const updatePoliticalDonation = (e) => {\n setIsPoliticalDonation(e.target.checked);\n\n toggleRequiredDataFields(e.target.checked);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n {amountItems.map((field, index) => {\n return (\n updateDonationField(value, index)}\n onSaveStyles={updateDonationStyles}\n onKeyPress={handleKeyPress}\n onDelete={(e) => removeInput(index, e)}\n mentionSteps={stepsWithMoneyMergeFields}\n />\n );\n })}\n {renderNewItemButton()}\n \n \n {\n const checked = e.target.checked;\n setCustomDonation(checked);\n // Update Context\n setBlockState((prevState) => ({\n ...prevState,\n customDonation: checked,\n }));\n }}\n />\n \n \n \n \n \n \n\n \n\n \n\n \n\n \n {errors.donation_type && (\n {errors.donation_type[0]}\n )}\n \n \n \n \n\n \n\n \n \n You can backdate a subscription to bill customers for time that has\n already elapsed.\n \n \n \n \n \n \n\n \n\n \n \n \n \n
\n Data to collect\n \n
\n \n );\n}\n\nPaymentSection.propTypes = {\n block: PropTypes.shape({\n contentTimeout: PropTypes.number,\n ctaButtonContent: PropTypes.string,\n ctaButtonSettingsChecked: PropTypes.bool,\n currency: PropTypes.string,\n customDonation: PropTypes.bool,\n dataFields: PropTypes.arrayOf(\n PropTypes.shape({\n checked: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string,\n }),\n ),\n paymentOptions: PropTypes.arrayOf(\n PropTypes.shape({\n amount: PropTypes.string,\n }),\n ),\n donationType: PropTypes.string,\n defaultDonationType: PropTypes.string,\n disclaimerChecked: PropTypes.bool,\n disclaimer: PropTypes.object,\n metricsChecked: PropTypes.bool,\n multipleChoiceMultiSelect: PropTypes.bool,\n multipleChoiceOptions: PropTypes.array,\n multipleChoiceOther: PropTypes.bool,\n paypalEmail: PropTypes.string,\n paypalEnabled: PropTypes.bool,\n politicalDonation: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.string,\n ugcTypes: PropTypes.arrayOf(PropTypes.string),\n }).isRequired,\n dataFields: PropTypes.arrayOf(\n PropTypes.shape({\n checked: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string,\n }),\n ),\n setDataFields: PropTypes.func,\n updateBlockAttributes: PropTypes.func.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default PaymentSection;\n","import React from 'react';\nimport MUISlider, { sliderClasses } from '@mui/material/Slider';\nimport {\n APP_SETTINGS_PRIMARY_COLOR,\n APP_SETTINGS_PRIMARY_COLOR_TRANSPARENTIZED,\n} from '../../constants';\n\nexport default function Slider(props) {\n return (\n \n );\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Label, FormSectionDescription, FormSection } from '../../../globals';\nimport Checkbox from '../../../checkbox';\nimport Slider from '../../../slider';\nimport BlockLabelInput from '../BlockLabelInput';\n\nconst marks = [\n {\n value: 1,\n label: '1',\n },\n {\n value: 10,\n label: '10',\n },\n {\n value: 20,\n label: '20',\n },\n];\n\nfunction ContentSection({ defaultTimeout }) {\n const timeout = defaultTimeout;\n const [checked, setChecked] = useState(timeout !== null);\n\n const handleChange = () => {\n setChecked(!checked);\n };\n\n return (\n <>\n \n \n \n \n Great for blocks that don't require a response. Choose background\n content on the next page.\n \n \n {checked && (\n <>\n \n \n Choose how many seconds you want this block to be shown for. Time\n limit will not affect blocks with buttons.\n \n \n \n )}\n {!checked && }\n \n \n );\n}\n\nContentSection.propTypes = {\n defaultTimeout: PropTypes.number,\n};\n\nexport default ContentSection;\n","import React, { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport { usePrevious } from '../../../hooks';\nimport { FieldsetContainer, Legend, FormSection } from '../../../globals';\nimport FreeResponseSection from '../FreeResponseSection';\nimport PaymentSection from '../PaymentSection';\nimport MultipleChoiceSection from '../MultipleChoiceSection';\nimport DataFieldsSection from '../DataFieldsSection';\nimport ContentSection from '../ContentSection';\nimport { DEFAULT_DONATION_DATA_FIELDS } from '../../../../constants';\nimport BlockLabelInput from '../BlockLabelInput';\nimport { buildInitialConditions } from '../../../experiences/events/EditActionForm/utils';\n\nconst initialDataFields = (fields) => {\n return fields.map((f) => {\n if (f.showCondition && !_isEmpty(f.showCondition.conditions.data)) {\n return {\n ...f,\n showConditions: buildInitialConditions(f.showCondition.conditions),\n hidden: null,\n };\n } else {\n return {\n ...f,\n showConditions: null,\n };\n }\n });\n};\n\nfunction BlockDetails({ block, updateBlockAttributes, isEditPage, errors, serializedErrors }) {\n const [dataFields, setDataFields] = useState(initialDataFields(block.dataFields));\n const prevBlockType = usePrevious(block.type);\n const [, setBlockState] = useContext(BlockContext);\n\n const updateDataFields = (newDataFields) => {\n setDataFields(newDataFields);\n\n setBlockState((prevState) => ({\n ...prevState,\n dataFields: newDataFields.filter((field) => !field.deleted),\n }));\n };\n\n useEffect(() => {\n // Render Name and Email fields when there's no data field and we're changing block type\n if (_isEmpty(block.dataFields)) {\n if (\n prevBlockType &&\n prevBlockType !== block.type &&\n block.type === 'donation'\n ) {\n updateDataFields(DEFAULT_DONATION_DATA_FIELDS);\n } else {\n updateDataFields([]);\n }\n }\n }, [block.type]);\n\n const renderSection = () => {\n switch (block.type) {\n case 'free_response':\n return (\n \n );\n case 'donation':\n return (\n \n );\n case 'multiple_choice':\n return (\n \n );\n case 'data_only':\n return (\n \n );\n case 'quick_answer':\n return ;\n case 'content':\n return ;\n default:\n return null;\n }\n };\n\n return (\n \n Details\n\n {renderSection()}\n \n );\n}\n\nBlockDetails.propTypes = {\n block: PropTypes.shape({\n contentTimeout: PropTypes.number,\n ctaButtonContent: PropTypes.string,\n ctaButtonSettingsChecked: PropTypes.bool,\n currency: PropTypes.string,\n customDonation: PropTypes.bool,\n dataFields: PropTypes.arrayOf(\n PropTypes.shape({\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string,\n }),\n ),\n paymentOptions: PropTypes.arrayOf(\n PropTypes.shape({\n amount: PropTypes.string,\n }),\n ),\n donationType: PropTypes.string,\n metricsChecked: PropTypes.bool,\n multipleChoiceMultiSelect: PropTypes.bool,\n multipleChoiceOptions: PropTypes.array,\n multipleChoiceOther: PropTypes.bool,\n paypalEmail: PropTypes.string,\n paypalEnabled: PropTypes.bool,\n politicalDonation: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.string,\n ugcTypes: PropTypes.arrayOf(PropTypes.string),\n }).isRequired,\n updateBlockAttributes: PropTypes.func.isRequired,\n isEditPage: PropTypes.bool.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default BlockDetails;\n","import React from 'react';\nimport CssStyleHiddenInputs from '../../CssStyleHiddenInputs';\n\nfunction HiddenInputs({ index, buttonId, cssStyle, richText, kind }) {\n return (\n <>\n \n {buttonId && (\n \n )}\n \n {richText.id && (\n \n )}\n \n \n \n \n );\n}\n\nexport default HiddenInputs;\n","import { slateToHtml } from '../TitleSection/utils';\n\nexport const handleCtaButtonChange = (value, elements, index, setBlockState) => {\n const richText = {\n title: value,\n titleElements: JSON.stringify(elements),\n titleHtml: slateToHtml(elements),\n };\n setBlockState((prevState) => {\n return {\n ...prevState,\n ctaButtons: prevState.ctaButtons.map((button, i) => {\n if (i === index) {\n return {\n ...button,\n richText: {\n id: button.richText.id,\n ...richText,\n },\n };\n } else {\n return button;\n }\n }),\n };\n });\n};\n","import React, { useContext, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useHover } from 'use-events';\nimport Box from '@mui/material/Box';\nimport { Fieldset, Legend, FormSection, Label } from '../../../../globals';\nimport { ExperienceIdContext } from '../../../index';\nimport BlockContext from '../../../../../contexts/BlockContext';\nimport { EditableMentionsInput } from '../../../../SlateElements';\nimport CustomizeToolbar from '../../../../CustomizeToolbar';\nimport HiddenInputs from '../HiddenInputs';\nimport useBuildMentionsSteps from '../../../../hooks/useBuildMentionsSteps';\nimport { handleCtaButtonChange } from '../utils';\n\nfunction SingleButtonSettings({ legend, errors, primaryColor }) {\n const [blockState, setBlockState] = useContext(BlockContext);\n const experienceId = useContext(ExperienceIdContext);\n const [cssStyle, setCssStyle] = useState(null);\n const [isHover, bind] = useHover();\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'TitleSection',\n });\n const { ctaButtonStyle, ctaButtons } = blockState;\n const ctaButton = ctaButtons[0];\n\n const handleStylesChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n ctaButtonStyle: value.cssStyle,\n }));\n };\n\n useEffect(() => {\n if (ctaButtonStyle === null) {\n setCssStyle({ backgroundColor: primaryColor });\n return;\n }\n if (ctaButtonStyle !== undefined) {\n setCssStyle(blockState.ctaButtonStyle || {});\n }\n }, [ctaButtonStyle]);\n\n return (\n
\n {legend}\n \n \n \n \n handleCtaButtonChange(value, elements, 0, setBlockState)\n }\n customizable\n />\n {cssStyle && (\n \n )}\n \n \n \n
\n );\n}\n\nSingleButtonSettings.propTypes = {\n legend: PropTypes.string.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default SingleButtonSettings;\n","import styled from 'styled-components';\n\nexport const IconWrapper = styled.div`\n margin-left: 8px;\n`;\n","import React, { useContext, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Box from '@mui/material/Box';\nimport { useHover } from 'use-events';\nimport { FlexRow, Label } from '../../../../globals';\nimport { Info } from 'react-feather';\nimport Tooltip from '../../../../tooltip';\nimport { IconWrapper } from './style';\nimport { EditableMentionsInput } from '../../../../SlateElements';\nimport { ExperienceIdContext } from '../../../index';\nimport { handleCtaButtonChange } from '../utils';\nimport CustomizeToolbar from '../../../../CustomizeToolbar';\nimport HiddenInputs from '../HiddenInputs';\nimport BlockContext from '../../../../../contexts/BlockContext';\nimport useBuildMentionsSteps from '../../../../hooks/useBuildMentionsSteps';\n\nconst InputWithTooltip = ({\n name,\n label,\n errors,\n index,\n tooltipTitle,\n primaryColor,\n}) => {\n const buttonIndex = index + 1;\n const [{ ctaButtonStyle, ctaButtons }, setBlockState] = useContext(\n BlockContext,\n );\n const ctaButton = ctaButtons[buttonIndex];\n const experienceId = useContext(ExperienceIdContext);\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'MentionsInput',\n });\n const [isHover, bind] = useHover();\n const [cssStyle, setCssStyle] = useState(null);\n\n useEffect(() => {\n if (ctaButtonStyle === null) {\n setCssStyle({ backgroundColor: primaryColor });\n return;\n }\n if (ctaButtonStyle !== undefined) {\n setCssStyle(ctaButtonStyle || {});\n }\n }, [ctaButtonStyle]);\n\n const handleStylesSave = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n ctaButtonStyle: {\n ...prevState.ctaButtonStyle,\n ...value.cssStyle,\n },\n }));\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n handleCtaButtonChange(value, elements, buttonIndex, setBlockState)\n }\n customizable\n />\n {cssStyle && (\n \n )}\n \n \n \n );\n};\n\nInputWithTooltip.propTypes = {\n label: PropTypes.string.isRequired,\n tooltipTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n .isRequired,\n name: PropTypes.string.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default InputWithTooltip;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport { Fieldset, Label, FormSection, Code } from '../../../../globals';\nimport InputWithTooltip from '../InputWithTooltip';\nimport _camelCase from 'lodash/camelCase';\n\nfunction PaymentButtonsSettings({ primaryColor, errors }) {\n const textInputs = [\n {\n name: 'cta_donation_first_button',\n label: 'Payment amounts button',\n tooltipTitle: (\n <>\n Responders are first asked to select or enter an amount. This button\n will be shown with the amount choices. You may use merge fields{' '}\n [ to show the selected amount or frequency in this\n button.\n \n ),\n },\n {\n name: 'cta_donation_second_button',\n label: 'Data collection button',\n tooltipTitle:\n 'Payment blocks with 5 or more data fields will have a page exclusively for data collection. This page will appear second in the payment flow.',\n },\n {\n name: 'cta_donation_third_button',\n label: 'Payment checkout button',\n tooltipTitle:\n 'This is the last page responders see before submitting their payment. This page includes the payment method and may include data fields if fewer than 4 data fields are selected.',\n },\n ];\n\n return (\n
\n \n Submission button settings\n \n \n {textInputs.map(({ label, tooltipTitle, name}, index) => {\n return (\n \n );\n })}\n \n
\n );\n};\n\nPaymentButtonsSettings.propTypes = {\n primaryColor: PropTypes.string.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default PaymentButtonsSettings;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport { SwitchWithTitle } from '../../../switch';\nimport { SUBMISSION_BUTTON_SETTINGS } from '../../../../constants';\nimport { useEffect, useState } from 'react';\nimport SingleButtonSettings from './SingleButtonSettings';\nimport PaymentButtonsSettings from './PaymentButtonsSettings';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nfunction SubmissionButtonSection({\n errors,\n blockType,\n isChecked,\n primaryColor,\n}) {\n const settings = SUBMISSION_BUTTON_SETTINGS[blockType];\n const [, setBlockState] = useContext(BlockContext);\n const [show, setShow] = useState(settings.showSection);\n const [noSwitcher, setNoSwitcher] = useState(settings.noSwitcher);\n const [legend, setLegend] = useState(settings.legend);\n const [title, setTitle] = useState(settings.title);\n const [checked, setChecked] = useState(isChecked);\n\n useEffect(() => {\n setShow(settings.showSection);\n setNoSwitcher(settings.noSwitcher);\n setTitle(settings.title);\n setLegend(settings.legend);\n }, [blockType]);\n\n if (!show) {\n return null;\n }\n\n if (noSwitcher) {\n return (\n
\n \n {blockType === 'donation' ? (\n \n ) : (\n \n )}\n
\n );\n }\n\n return (\n
\n \n {\n const checked = e.target.checked;\n setChecked(checked);\n setBlockState((prevState) => ({\n ...prevState,\n ctaButtonSettingsChecked: checked,\n }));\n }}\n >\n \n \n
\n );\n}\n\nSubmissionButtonSection.propTypes = {\n isChecked: PropTypes.bool.isRequired,\n blockType: PropTypes.string.isRequired,\n errors: PropTypes.object.isRequired,\n};\n\nexport default SubmissionButtonSection;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Label } from '../../../globals';\nimport SimpleSelect from '../../../select';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nfunction FontSection({ currentFont }) {\n const [blockState, setBlockState] = useContext(BlockContext);\n\n const selectedValue = () => {\n return blockState.fontsSelectItems.find((font) => font.value === currentFont);\n };\n\n const updateFont = ({ value }) => {\n setBlockState((prevState) => ({\n ...prevState,\n fontFamily: value,\n }));\n };\n\n return (\n
\n \n \n
\n );\n}\n\nFontSection.propTypes = {\n currentFont: PropTypes.string.isRequired,\n};\n\nexport default FontSection;\n","import React, { useContext } from 'react';\nimport useBuildMentionsSteps from '../../../../../hooks/useBuildMentionsSteps';\nimport { ExperienceIdContext } from '../../../../index';\nimport { Label, FormSection } from '../../../../../globals';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\n\nfunction SubmissionAmountForm({ errors, goalState, updateGoalState }) {\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'GoalSection.SubmissionAmountForm',\n });\n const experienceId = useContext(ExperienceIdContext);\n\n const handleValueChange = (value, attribute) => {\n if (value[value.length - 1] !== '[') {\n updateGoalState(attribute, value);\n }\n };\n\n return (\n \n \n handleValueChange(value, 'submissionGoal')}\n inputStyles={{ marginBottom: '1rem' }}\n withHiddenInput\n />\n \n handleValueChange(value, 'submissionGoalName')}\n withHiddenInput\n autoFocus\n />\n \n );\n}\n\nexport default SubmissionAmountForm;\n","import React, { useState, useContext } from 'react';\nimport SimpleSelect from '../../../../../select';\nimport { useTranslation } from '../../../../../../i18n';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\nimport { ExperienceIdContext } from '../../../../index';\nimport {\n Label,\n FormSection,\n FormField,\n FormSectionDescription,\n} from '../../../../../globals';\nimport useBuildMentionsSteps from '../../../../../hooks/useBuildMentionsSteps';\n\nfunction RaiseAmountForm({\n isDonation,\n errors,\n goalState,\n updateGoalState,\n raiseGoalType,\n handleRaiseGoalTypeChange,\n currencySymbol,\n}) {\n const { t } = useTranslation('translation', {\n keyPrefix: 'GoalSection.RaiseAmountForm',\n });\n const [showErrors, setShowErrors] = useState(true);\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'GoalSection.RaiseAmountForm',\n });\n const experienceId = useContext(ExperienceIdContext);\n\n const handleSelectChange = (option) => {\n handleRaiseGoalTypeChange(option);\n setShowErrors(false);\n };\n\n const options = [\n { value: 'by_experience', label: t('goalOptions.experienceLabel') },\n { value: 'by_asker', label: t('goalOptions.askerLabel') },\n { value: 'by_variant', label: t('goalOptions.variantLabel') },\n ];\n\n if (isDonation) {\n options.unshift({ value: 'by_block', label: t('goalOptions.blockLabel') });\n }\n\n const handleValueChange = (value, attribute) => {\n if (value[value.length - 1] !== '[') {\n updateGoalState(attribute, value);\n }\n };\n\n // NOTE: `||` for case when raiseGoalType is by_block and block type switched to NOT donation\n const selectedType = options.find((option) => option.value == raiseGoalType) || options[0];\n\n return (\n \n \n {t('descriptionText')}\n \n \n \n \n handleValueChange(value, 'raiseGoal')}\n inputStyles={{ marginBottom: '1rem' }}\n withHiddenInput\n />\n \n handleValueChange(value, 'raiseGoalName')}\n withHiddenInput\n autoFocus\n />\n \n );\n}\n\nexport default RaiseAmountForm;\n","import React, { useContext } from 'react';\nimport { Input } from '../../../../../inputs/Input';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\nimport { ExperienceIdContext } from '../../../../index';\nimport useBuildMentionsSteps from '../../../../../hooks/useBuildMentionsSteps';\nimport {\n Label,\n FormSection,\n FormSectionDescription,\n} from '../../../../../globals';\n\nfunction OtherAmountForm({ errors, goalState, updateGoalState }) {\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'GoalSection.OtherAmountForm',\n });\n const experienceId = useContext(ExperienceIdContext);\n\n const handleValueChange = (value, attribute) => {\n if (value[value.length - 1] !== '[') {\n updateGoalState(attribute, value);\n }\n };\n\n return (\n \n \n If you have a goal that we don't automatically track, enter it here and\n then manually update it as your results come in.\n \n \n handleValueChange(value, 'otherGoal')}\n inputStyles={{ marginBottom: '1rem' }}\n withHiddenInput\n />\n \n {\n updateGoalState('otherGoalAmount', e.target.value);\n }}\n />\n \n\n handleValueChange(value, 'otherGoalName')}\n withHiddenInput\n autoFocus\n />\n \n );\n}\n\nexport default OtherAmountForm;\n","import React, { useState } from 'react';\nimport SimpleSelect from '../../../select';\nimport SubmissionAmountForm from './components/SubmissionAmountForm';\nimport RaiseAmountForm from './components/RaiseAmountForm';\nimport OtherAmountForm from './components/OtherAmountForm';\n\nconst OPTION_LABELS = {\n submission_amount: 'Number of submissions',\n raise_amount: 'Amount raised',\n other_amount: 'Other',\n none: 'No goal',\n};\n\nfunction GoalSection({\n goals,\n goalState,\n errors,\n updateGoalState,\n currencySymbol,\n isDonation,\n raiseGoalType,\n handleRaiseGoalTypeChange,\n}) {\n const [selectedGoal, setSelectedGoal] = useState(goalState.goal);\n\n const options = goals.map((goal) => {\n return { value: goal, label: OPTION_LABELS[goal] };\n });\n\n const handleSelectGoal = (selectedOption) => {\n setSelectedGoal(selectedOption.value);\n updateGoalState('goal', selectedOption.value);\n };\n\n return (\n <>\n option.value == selectedGoal)}\n onChange={(value) => handleSelectGoal(value)}\n isSearchable={false}\n name=\"ask[ask_metric_attributes][goal]\"\n classNamePrefix=\"react-select__goals\"\n />\n {selectedGoal === 'submission_amount' && (\n \n )}\n {selectedGoal === 'raise_amount' && (\n \n )}\n {selectedGoal === 'other_amount' && (\n \n )}\n \n );\n}\n\nexport default GoalSection;\n","import styled from 'styled-components';\n\nexport const MetricItemWrapper = styled.div`\n background-color: var(--surface-background);\n padding: 5px 15px;\n padding-bottom: ${(props) => (props.isChecked ? '10px' : '5px')};\n border: 1px solid var(--border-color-primary);\n border-radius: 8px;\n margin-bottom: 1rem;\n text-align: left;\n`;\n\nexport const CheckboxLabel = styled.label`\n margin 0;\n letter-spacing: inherit;\n`;\n\nexport const InputCheckbox = styled.input`\n position: relative;\n outline: none;\n margin-right: 10px;\n\n &:focus {\n outline: none;\n }\n`;\n\nexport const Label = styled.label`\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.125em;\n font-size: 0.8rem;\n`;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MetricItemWrapper } from './style';\nimport { Input } from '../../../inputs/Input';\nimport { EditableMentionsInput } from '../../../SlateElements';\nimport { ExperienceIdContext } from '../../index';\n\nimport {\n Label,\n FormSubsection,\n FormSectionDescription,\n} from '../../../globals';\nimport Checkbox from '../../../checkbox';\nimport { useTranslation } from '../../../../i18n';\nimport useBuildMentionsSteps from '../../../hooks/useBuildMentionsSteps';\n\nfunction MetricItem({\n label,\n checked,\n checkboxName,\n inputName,\n defaultInputValue,\n inputError,\n updateMetricState,\n stateCheckboxKey,\n stateInputKey,\n placeholder,\n}) {\n const [isChecked, setIsChecked] = useState(checked);\n const mentionSteps = useBuildMentionsSteps({ translationsKeyPrefix: 'MetricSection.MetricItem' });\n const experienceId = useContext(ExperienceIdContext);\n\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n updateMetricState(stateCheckboxKey, event.target.checked);\n };\n\n const renderContent = () => {\n if (isChecked) {\n return (\n \n \n {\n updateMetricState(stateInputKey, value);\n }}\n />\n \n );\n }\n };\n\n return (\n \n \n {renderContent()}\n \n );\n}\n\nfunction MetricItemOther({ metricState, updateMetricState, errors }) {\n const [isChecked, setIsChecked] = useState(metricState.otherMetric);\n const mentionSteps = useBuildMentionsSteps({ translationsKeyPrefix: 'MetricSection.MetricItemOther' });\n const experienceId = useContext(ExperienceIdContext);\n\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n updateMetricState('otherMetric', event.target.checked);\n };\n\n const renderContent = () => {\n if (isChecked) {\n return (\n \n \n If you have information you want to display that we don't\n automatically track, enter it here and then manually update it.\n Fields are not required.\n \n \n {\n updateMetricState('otherMetricAmount', e.target.value);\n }}\n />\n \n {\n updateMetricState('otherMetricName', value);\n }}\n listStyle={{ left: '12px' }}\n autoFocus\n withHiddenInput\n withGutter\n />\n \n );\n }\n };\n\n return (\n \n \n {renderContent()}\n \n );\n}\n\nfunction MetricSection({ metricState, updateMetricState, errors, isDonation }) {\n const { t } = useTranslation('translation', {\n keyPrefix: 'MetricSection',\n });\n\n return (\n <>\n {isDonation && (\n \n )}\n \n \n \n \n \n \n );\n}\n\nMetricSection.propTypes = {\n metricState: PropTypes.shape({\n amountRaisedByAskerMetric: PropTypes.bool,\n amountRaisedByAskerMetricName: PropTypes.string,\n amountRaisedByExperienceMetric: PropTypes.bool,\n amountRaisedByExperienceMetricName: PropTypes.string,\n amountRaisedMetric: PropTypes.bool,\n amountRaisedMetricName: PropTypes.string,\n otherMetric: PropTypes.bool,\n otherMetricAmount: PropTypes.string,\n otherMetricName: PropTypes.string,\n submissionsMetric: PropTypes.bool,\n submissionsMetricName: PropTypes.string,\n }).isRequired,\n updateMetricState: PropTypes.func.isRequired,\n errors: PropTypes.object.isRequired,\n isDonation: PropTypes.bool.isRequired,\n};\n\nexport default MetricSection;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport _camelCase from 'lodash/camelCase';\n\nimport {\n CURRENCY_SIGN_MAP,\n GOAL_AND_METRICS_DEFAULT_VALUES,\n} from '../../../../constants';\n\nimport GoalSection from '../GoalSection';\nimport MetricSection from '../MetricSection';\n\nimport { SwitchWithTitle } from '../../../switch';\nimport { Legend, Fieldset } from '../../../globals';\n\nimport BlockContext from '../../../../contexts/BlockContext';\nimport GoalAndMetricContext from '../../../../contexts/GoalAndMetricContext';\n\nfunction GoalAndMetricSection({\n goals,\n blockType,\n currency,\n isChecked,\n askMetric,\n errors,\n updateBlockAttributes,\n}) {\n const [, setBlockState] = useContext(BlockContext);\n const [, setMetricsState] = useContext(GoalAndMetricContext);\n\n const handleIsChecked = (e) => {\n const checked = e.target.checked;\n updateBlockAttributes({ metricsChecked: checked });\n setBlockState((prevState) => ({ ...prevState, metricsChecked: checked }));\n };\n\n const setValueFor = (keyName) => {\n if (errors[`ask_metric.${keyName}`]) {\n return askMetric[keyName];\n } else {\n return (\n askMetric[keyName] ||\n GOAL_AND_METRICS_DEFAULT_VALUES[_camelCase(keyName)]\n );\n }\n };\n\n const [goalState, setGoalState] = useState({\n goal: askMetric.goal || goals[0],\n submissionGoal: setValueFor('submission_goal'),\n submissionGoalName: setValueFor('submission_goal_name'),\n raiseGoal: setValueFor('raise_goal'),\n raiseGoalName: setValueFor('raise_goal_name'),\n otherGoal: setValueFor('other_goal'),\n otherGoalAmount: setValueFor('other_goal_amount'),\n otherGoalName: setValueFor('other_goal_name'),\n });\n\n const [metricState, setMetricState] = useState({\n amountRaisedMetric: setValueFor('amount_raised_metric'),\n amountRaisedMetricName: setValueFor('amount_raised_metric_name'),\n amountRaisedByExperienceMetric: setValueFor(\n 'amount_raised_by_experience_metric',\n ),\n amountRaisedByExperienceMetricName: setValueFor(\n 'amount_raised_by_experience_metric_name',\n ),\n amountRaisedByVariantMetric: setValueFor('amount_raised_by_variant_metric'),\n amountRaisedByVariantMetricName: setValueFor(\n 'amount_raised_by_variant_metric_name',\n ),\n amountRaisedByAskerMetric: setValueFor('amount_raised_by_asker_metric'),\n amountRaisedByAskerMetricName: setValueFor(\n 'amount_raised_by_asker_metric_name',\n ),\n submissionsMetric: setValueFor('submissions_metric'),\n submissionsMetricName: setValueFor('submissions_metric_name'),\n otherMetric: setValueFor('other_metric'),\n otherMetricAmount: setValueFor('other_metric_amount'),\n otherMetricName: setValueFor('other_metric_name'),\n });\n\n const setGoalType = useCallback(() => {\n if (askMetric.raise_goal_type) {\n return askMetric.raise_goal_type;\n }\n\n if (blockType === 'donation') {\n return 'by_block';\n } else {\n return 'by_experience';\n }\n }, [askMetric.raise_goal_type, blockType]);\n\n const [raiseGoalType, setRaiseGoalType] = useState('by_experience');\n\n useEffect(() => {\n setRaiseGoalType(setGoalType());\n }, [setGoalType]);\n\n const updateGoalState = (key, newValue) => {\n setGoalState({ ...goalState, ...{ [key]: newValue } });\n // Update Context\n setMetricsState((prevState) => ({ ...prevState, [key]: newValue }));\n };\n\n const updateMetricState = (key, newValue) => {\n setMetricState({ ...metricState, ...{ [key]: newValue } });\n // Update Context\n setMetricsState((prevState) => ({ ...prevState, [key]: newValue }));\n };\n\n const currencySymbol = () => {\n return CURRENCY_SIGN_MAP[currency];\n };\n\n const isDonation = () => {\n return blockType === 'donation';\n };\n\n const handleRaiseGoalTypeChange = (option) => {\n let raiseGoal, raiseGoalName;\n if (option.value === 'by_asker') {\n raiseGoal = GOAL_AND_METRICS_DEFAULT_VALUES.raiseGoalByAsker;\n raiseGoalName = GOAL_AND_METRICS_DEFAULT_VALUES.raiseGoalNameByAsker;\n } else {\n raiseGoal = GOAL_AND_METRICS_DEFAULT_VALUES.raiseGoal;\n raiseGoalName = GOAL_AND_METRICS_DEFAULT_VALUES.raiseGoalName;\n }\n setRaiseGoalType(option.value);\n setGoalState({\n ...goalState,\n ...{ raiseGoal, raiseGoalName },\n });\n // Update context\n setMetricsState((prevState) => ({ ...prevState, raiseGoal, raiseGoalName}));\n };\n\n return (\n
\n \n \n \n
\n Goal\n \n
\n
\n Metrics\n \n
\n \n
\n );\n}\n\nGoalAndMetricSection.propTypes = {\n goals: PropTypes.arrayOf(PropTypes.string).isRequired,\n currency: PropTypes.string.isRequired,\n isChecked: PropTypes.bool.isRequired,\n blockType: PropTypes.string.isRequired,\n askMetric: PropTypes.object.isRequired,\n errors: PropTypes.object.isRequired,\n updateBlockAttributes: PropTypes.func.isRequired,\n};\n\nexport default GoalAndMetricSection;\n","import styled from 'styled-components';\nimport { Editable } from 'slate-react';\n\nexport const Textarea = styled(Editable)`\n position: static !important;\n overflow: auto;\n resize: vertical;\n background-color: #fff;\n border-width: 0;\n margin: 0;\n min-height: 195px !important;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n border-radius: 8px 8px 0px 0px;\n border-top: 1px solid var(--border-color-primary);\n border-left: 1px solid var(--border-color-primary);\n border-right: 1px solid var(--border-color-primary);\n padding: 12px 16px;\n color: black;\n\n [data-slate-placeholder='true'] {\n width: auto !important;\n }\n\n &:focus {\n box-shadow: none;\n }\n\n &::placeholder {\n color: #bdbdbd;\n }\n\n p, h1, h2, h3, h4 {\n margin: 0;\n }\n\n h1, h2, h3, h4 {\n line-height: 1.4em;\n }\n\n small {\n display: block;\n }\n\n span.highlighted {\n padding-top: 2px;\n padding-bottom: 4px;\n -webkit-box-decoration-break: clone;\n box-decoration-break: clone;\n }\n\n span.withLineHeight {\n display: inline-block;\n }\n\n ul li span.withLineHeight,\n ol li span.withLineHeight {\n display: inline;\n }\n\n ul,\n ol {\n margin: 1em;\n padding: unset;\n }\n\n ul li span[data-slate-leaf=\"true\"],\n ol li span[data-slate-leaf=\"true\"] {\n color: black;\n }\n\n ul li a span[data-slate-leaf=\"true\"],\n ol li a span[data-slate-leaf=\"true\"] {\n color: var(--link-color);\n }\n\n ul {\n list-style-type: disc;\n }\n\n ol {\n list-style-type: decimal;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ColorPicker from '../ColorPicker';\nimport HighlightPicker from '../HighlightPicker';\nimport ParagraphButton from '../ParagraphButton';\nimport MarkButton from '../MarkButton';\nimport BlockButton from '../BlockButton';\nimport LinksButton from '../LinksButton';\nimport Select from '../Select';\nimport LetterSettings from '../LetterSettings';\nimport { Container, Divider } from './style';\nimport BlockContext, {\n FONT_WEIGHT_MENU_ITEMS,\n} from '../../../../../../contexts/BlockContext';\nimport useHorizontalScroll from '../../../../../hooks/useHorizontalScroll';\n\nconst ButtonsContainer = ({ linkButtonRef, defaultFont }) => {\n const [\n { fontsList, fontsSelectItems, fontWeightsSelectItems, paletteColors },\n setBlockState,\n ] = React.useContext(BlockContext);\n const {\n scrollContainerRef,\n handleScroll,\n isAtStart,\n isAtEnd,\n } = useHorizontalScroll();\n\n const handleFontFamilyChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n fontWeightsSelectItems: FONT_WEIGHT_MENU_ITEMS.map((item) => ({\n ...item,\n disabled: !fontsList\n .find((f) => f.font_family === value)\n ?.font_weights?.includes(item.value),\n })),\n }));\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nButtonsContainer.propTypes = {\n linkButtonRef: PropTypes.object,\n};\n\nexport default ButtonsContainer;\n","import React from 'react';\nimport CssStyleHiddenInputs from '../../../CssStyleHiddenInputs';\n\nexport default function HiddenInputs({\n elementsValue,\n htmlValue,\n textValue,\n cssStyle,\n}) {\n return (\n <>\n \n \n \n \n \n );\n}\n","import React, {\n useState,\n useContext,\n useMemo,\n useCallback,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isHotkey from 'is-hotkey';\nimport { createEditor } from 'slate';\nimport { Slate, withReact } from 'slate-react';\nimport { withHistory } from 'slate-history';\n\nimport useDebounce from '../../../hooks/useDebounce';\nimport { Legend } from '../../../globals';\nimport { ExperienceIdContext } from '../../index';\nimport { toggleMark, withDeleteEmptyMark } from './components/MarkButton';\nimport { withDeleteEmptyBlock } from './components/BlockButton';\nimport { withLinks } from './components/LinksButton/utils';\nimport { Textarea } from './style';\nimport { MentionsInput } from '../../../MentionsInput';\nimport { keyboardNavigation } from '../../../MentionsInput/keyboardNavigation';\nimport { slateToHtml, slateToText, slateToElements } from './utils';\nimport { setValueToStore } from '../../../../sharedStore';\nimport ButtonsContainer from './components/ButtonsContainer';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport {\n withMention,\n insertMention,\n Element,\n Leaf,\n} from '../../../SlateElements';\nimport useBuildMentionsSteps from '../../../hooks/useBuildMentionsSteps';\nimport Box from '@mui/material/Box';\nimport CustomizeToolbar from '../../../CustomizeToolbar';\nimport { useHover } from 'use-events';\nimport HiddenInputs from './components/HiddenInputs';\nimport FormulaPicker from '../../../FormulaPicker';\nimport { getAnchorElement, prevCharIs } from '../../../SlateElements/components/utils';\n\nconst INITIAL_VALUE = [\n {\n type: 'paragraph',\n children: [{ text: '' }],\n },\n];\n\nconst prepareInitValue = (defaultValue) =>\n (defaultValue && JSON.parse(defaultValue)) || INITIAL_VALUE;\n\nconst HOTKEYS = {\n 'mod+b': 'bold',\n 'mod+i': 'italic',\n 'mod+u': 'underline',\n 'mod+shift+s': 'strikethrough',\n};\n\nconst DEBOUNCE_DELAY = 500;\n\nfunction TitleSection({ defaultTitleElements, defaultFont }) {\n const editor = useMemo(\n () =>\n withLinks(\n withDeleteEmptyBlock(\n withDeleteEmptyMark(\n withMention(withHistory(withReact(createEditor()))),\n ),\n ),\n ),\n [],\n );\n const mentionSteps = useBuildMentionsSteps({\n translationsKeyPrefix: 'TitleSection',\n });\n const experienceId = useContext(ExperienceIdContext);\n const [blockState, setBlockState] = useContext(BlockContext);\n const [value, setValue] = useState(prepareInitValue(defaultTitleElements));\n const debouncedValue = useDebounce(value, DEBOUNCE_DELAY);\n const [mentionsIsOpen, setMentionsIsOpen] = useState(false);\n const [mentionsItemIndex, setMentionsItemIndex] = useState(0);\n const [mentionsAnchorEl, setMentionsAnchorEl] = React.useState(null);\n const [formulasAnchorEl, setFormulasAnchorEl] = React.useState(null);\n const [isHover, bind] = useHover();\n const renderElement = useCallback(\n (props) => ,\n [],\n );\n const renderLeaf = useCallback((props) => , []);\n const linkButtonRef = useRef(null);\n const mentionsItemRef = useRef(null);\n const mentionsListRef = useRef(null);\n\n const handleValueChange = (value) => {\n setValueToStore('blockFormChanged', true);\n\n if (editor.selection) {\n if (prevCharIs(editor, '[')) {\n const anchorEl = getAnchorElement(editor);\n setMentionsAnchorEl(anchorEl);\n setMentionsItemIndex(0);\n setMentionsIsOpen(true);\n } else if (prevCharIs(editor, '=')) {\n const anchorEl = getAnchorElement(editor);\n setFormulasAnchorEl(anchorEl);\n } else {\n setMentionsIsOpen(false);\n setFormulasAnchorEl(null);\n }\n }\n\n setValue(value);\n setBlockState((prevState) => ({\n ...prevState,\n titleHtml: slateToHtml(value),\n titleSetting: {\n ...prevState.titleSetting,\n titleElements: JSON.stringify(slateToElements(value)),\n },\n }));\n };\n\n const handleStylesChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n titleSetting: {\n ...prevState.titleSetting,\n cssStyle: value.cssStyle,\n },\n }));\n };\n\n const insertReference = async (reference, _type, available_types) => {\n insertMention(editor, reference, false, available_types);\n };\n\n const handleKeyDown = (event) => {\n for (const hotkey in HOTKEYS) {\n if (isHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = HOTKEYS[hotkey];\n toggleMark(editor, mark);\n }\n }\n\n if (isHotkey('mod+k', event) && linkButtonRef.current) {\n const mousedown = document.createEvent('MouseEvents');\n mousedown.initEvent('mousedown', true, true);\n linkButtonRef.current.dispatchEvent(mousedown);\n }\n\n keyboardNavigation(\n event,\n mentionsIsOpen,\n mentionsItemIndex,\n setMentionsItemIndex,\n mentionsItemRef,\n mentionsListRef,\n );\n };\n\n const htmlValue = useMemo(() => slateToHtml(debouncedValue), [\n debouncedValue,\n ]);\n const textValue = useMemo(() => slateToText(debouncedValue), [\n debouncedValue,\n ]);\n const elementsValue = useMemo(\n () => JSON.stringify(slateToElements(debouncedValue)),\n [debouncedValue],\n );\n\n return (\n
\n \n Prompt\n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nTitleSection.propTypes = {\n defaultTitleElements: PropTypes.string,\n};\n\nexport default TitleSection;\n","import styled from 'styled-components';\nimport { Label } from '../../../globals';\n\nexport const MergeMediaSubLabel = styled(Label)`\n margin: 27px 0 5px 0;\n`;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\nimport { Label } from '../../../../../globals';\nimport BlockContext from '../../../../../../contexts/BlockContext';\nimport ColorPickerInput from '../../../../../inputs/ColorPickerInput';\nimport { rgbaObjToString } from '../../../../../../utils';\nimport { getInitialColor } from '../../../../../CustomizeToolbar/utils';\n\nfunction BackgroundColor({\n label,\n defaultColor,\n blockStateAttribute,\n hiddenInputAttribute,\n}) {\n const [blockState, setBlockState] = useContext(BlockContext);\n const [color, setColor] = useState(getInitialColor(defaultColor, blockState.paletteColors));\n\n const updateBlockState = (colorValue) => {\n setBlockState((prevState) => ({\n ...prevState,\n backgroundSetting: {\n ...prevState.backgroundSetting,\n [blockStateAttribute]: colorValue,\n },\n }));\n };\n\n const updateColor = (value) => {\n const rgbaString = rgbaObjToString(value);\n setColor(rgbaString);\n updateBlockState(rgbaString);\n };\n\n const handleColorPick = (colorObj) => {\n setColor(colorObj.color);\n updateBlockState(colorObj.name);\n };\n\n return (\n <>\n \n \n \n \n );\n}\n\nBackgroundColor.propTypes = {\n defaultColor: PropTypes.string,\n};\n\nexport default BackgroundColor;\n","import React from 'react';\nimport { Label } from '../../../../../globals';\nimport { SwitchWithTitle } from '../../../../../switch';\nimport BlockContext from '../../../../../../contexts/BlockContext';\n\nexport default function MediaOptions({ mediaHiddenOnMobile }) {\n const [hiddenOnMobile, setHiddenOnMobile] = React.useState(\n mediaHiddenOnMobile || false,\n );\n const [, setBlockState] = React.useContext(BlockContext);\n\n const handleHideOnMobile = (e) => {\n const checked = e.target.checked;\n setHiddenOnMobile(checked);\n setBlockState((prevState) => ({\n ...prevState,\n backgroundSetting: {\n ...prevState.backgroundSetting,\n mediaHiddenOnMobile: checked,\n },\n }));\n };\n\n return (\n <>\n \n \n \n \n );\n}\n","import React, { useState, useContext, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from '../../../../i18n';\nimport TilesSelector from '../../../tilesSelector';\nimport { MergeMediaSubLabel } from './style';\nimport { Hint, Legend, FormSection, Label, Fieldset } from '../../../globals';\nimport { EditableReadOnlyMentionsInput } from '../../../SlateElements';\nimport FullScreenIcon from './images/background-layout--full-screen.png';\nimport FitToSizeIcon from './images/background-layout--fit-to-size.png';\nimport { ExperienceIdContext } from '../..';\nimport BackgroundColor from './components/BackgroundColor';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nimport {\n getExperiencesList,\n getBlocksList,\n getCustomMergeFields,\n} from '../../../api';\nimport MediaOptions from './components/MediaOptions';\n\nconst queryParams = { block_type: 'free_response' };\n\nconst buildMentionSteps = (t) => [\n {\n type: 'experiences',\n title: t('mentions.expTitle'),\n referencePrefix: 'experience_',\n loadList: () => getExperiencesList(queryParams),\n },\n {\n type: 'blocks',\n title: 'Blocks',\n referencePrefix: 'block_',\n loadList: (experienceId) => getBlocksList(experienceId, queryParams),\n },\n {\n type: 'merge_fields',\n title: 'Block merge fields',\n referencePrefix: '',\n loadList: () =>\n getCustomMergeFields([{ title: 'Media', value: 'data.media' }]),\n },\n];\n\nconst options = [\n {\n name: 'full_screen',\n value: 'full_screen',\n label: 'Full Screen',\n testId: 'BackgroundLayout/fullScreen',\n icon: FullScreenIcon,\n },\n {\n name: 'fit_to_size',\n value: 'fit_to_size',\n label: 'Fit-to-size',\n testId: 'BackgroundLayout/fitToSize',\n icon: FitToSizeIcon,\n },\n];\n\nfunction BackgroundLayout({\n layoutValue,\n referenceMergeMedia,\n backgroundSetting,\n}) {\n const { t } = useTranslation('translation', {\n keyPrefix: 'BackgroundLayout',\n });\n const [checkedValue, setCheckedValue] = useState(layoutValue);\n const experienceId = useContext(ExperienceIdContext);\n const [, setBlockState] = useContext(BlockContext);\n const { id, mediaColorOverlay, mediaHiddenOnMobile } = backgroundSetting;\n const mentionSteps = useMemo(() => buildMentionSteps(t), [t]);\n\n const updateMediaLayout = useCallback((value) => {\n setCheckedValue(value);\n\n setBlockState((prevState) => ({\n ...prevState,\n backgroundLayout: value,\n }));\n }, []);\n\n return (\n
\n Media style\n \n \n \n
\n \n
\n \n
\n Merge media\n {t('hint')}\n \n \n \n
\n );\n}\n\nBackgroundLayout.propTypes = {\n layoutValue: PropTypes.string.isRequired,\n referenceMergeMedia: PropTypes.string,\n backgroundSetting: PropTypes.shape({\n id: PropTypes.number,\n backgroundColorOverlay: PropTypes.string,\n backgroundMediaFileName: PropTypes.string,\n backgroundMediaImageUrl: PropTypes.string,\n backgroundMediaOpacity: PropTypes.string,\n backgroundMediaPreviewUrl: PropTypes.string,\n backgroundMediaVideoSources: PropTypes.arrayOf(PropTypes.string),\n mediaColorOverlay: PropTypes.string,\n }),\n errors: PropTypes.object.isRequired,\n};\n\nexport default BackgroundLayout;\n","import {\n APP_SETTINGS_PRIMARY_COLOR,\n APP_SETTINGS_PRIMARY_COLOR_TRANSPARENTIZED,\n} from '../../../../constants';\n\nexport const styles = {\n container: {\n width: '100%',\n '& .MuiSlider-root': {\n padding: '14px 0 12px',\n },\n '& .MuiSlider-rail': {\n height: 3,\n opacity: 1,\n color: '#bdbdbd',\n borderRadius: '27px',\n },\n '& .MuiSlider-track': {\n height: 3,\n opacity: 1,\n color: APP_SETTINGS_PRIMARY_COLOR,\n border: 0,\n borderRadius: '27px',\n },\n '& .MuiSlider-thumb': {\n width: '14px',\n height: '14px',\n backgroundColor: '#fff',\n border: '1px solid var(--border-color-primary)',\n },\n '& .MuiSlider-thumb.Mui-focusVisible, .MuiSlider-thumb:hover': {\n boxShadow: `0px 0px 0px 8px ${APP_SETTINGS_PRIMARY_COLOR_TRANSPARENTIZED}`,\n },\n },\n input: {\n position: 'relative',\n width: 65,\n height: 42,\n backgroundColor: 'var(--white)',\n border: '1px solid var(--border-color-primary)',\n borderRadius: '8px',\n p: '0px 0px 0px 12px',\n '&:hover': {\n borderColor: 'var(--border-color-primary--hover)',\n },\n '&:after': {\n content: '\"%\"',\n },\n '& .MuiInputBase-input:focus': {\n borderColor: 'var(--border-color-primary--active)',\n borderRadius: 0,\n boxShadow: 'none',\n },\n '& .MuiInputBase-input:invalid': {\n border: 'none',\n },\n '& .MuiInputBase-inputMarginDense': {\n padding: '0px 0px 0px 12px',\n },\n '& .MuiInputBase-input': {\n width: '28px',\n MozAppearance: 'textfield',\n },\n '& .MuiInputBase-input::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n '& .MuiInputBase-input::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n },\n};\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Grid from '@mui/material/Grid';\nimport Slider from '@mui/material/Slider';\nimport Input from '@mui/material/Input';\nimport Box from '@mui/material/Box';\nimport { styles } from './style';\n\nfunction InputSlider({ defaultValue, onChange }) {\n const [value, setValue] = React.useState(defaultValue);\n\n useEffect(() => {\n if (onChange) {\n onChange(value);\n }\n }, [value]);\n\n const handleSliderChange = (_event, newValue) => {\n setValue(newValue);\n };\n\n const handleInputChange = (event) => {\n setValue(event.target.value === '' ? '' : Number(event.target.value));\n };\n\n const handleBlur = () => {\n if (value < 0) {\n setValue(0);\n } else if (value > 100) {\n setValue(100);\n }\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nInputSlider.propTypes = {\n defaultValue: PropTypes.number,\n onChange: PropTypes.func,\n};\n\nexport default InputSlider;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n background-color: var(--background-secondary);\n margin-top: 8px;\n padding-left: 24px;\n padding-right: 24px;\n border: 1px dashed var(--border-color-primary);\n border-radius: 8px;\n`;\n\nexport const SubmitButtonWrapper = styled.div`\n width: 100%;\n max-width: 152px;\n margin-top: 50px;\n`;\n\nexport const HelperText = styled.p`\n font-size: 15px;\n color: #bdbdbd;\n text-align: center;\n margin-bottom: 45px;\n`;\n\nexport const ErrorWrapper = styled.div`\n position: absolute;\n top: -12px;\n right: 8px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DirectUpload } from '@rails/activestorage';\nimport {\n Container,\n SubmitButtonWrapper,\n HelperText,\n ErrorWrapper,\n} from './style';\nimport { ErrorMessage } from '../../../../../../../globals';\n\nconst UploadForm = ({\n attachMedia,\n mediaIsUploading,\n setMediaIsUploading,\n setCurrentMediaUrl,\n setContentType,\n setFilename,\n directUploadUrl,\n}) => {\n const [error, setError] = React.useState();\n const inputFileRef = React.useRef(null);\n\n const uploadMedia = (e) => {\n e.preventDefault();\n\n inputFileRef.current.click();\n };\n\n const handleUpload = (e) => {\n const file = e.target.files[0];\n\n // 20mb file size validation\n if (file.size > 20000000) {\n setError('file size must be less than or equal to 20 MB');\n return;\n }\n\n setCurrentMediaUrl(URL.createObjectURL(file));\n setMediaIsUploading(true);\n setError(null);\n\n const upload = new DirectUpload(file, directUploadUrl);\n\n upload.create((error, blob) => {\n if (error) {\n // Handle the error\n } else {\n setMediaIsUploading(false);\n attachMedia(blob.signed_id);\n setFilename(blob.filename);\n setContentType(blob.content_type);\n }\n });\n };\n\n return (\n \n \n \n Upload\n \n \n Works with png, svg, jpg, gif, and video\n \n {error && (\n \n \n {error}\n \n \n )}\n \n );\n};\n\nUploadForm.propTypes = {\n attachMedia: PropTypes.func.isRequired,\n setCurrentMediaUrl: PropTypes.func.isRequired,\n setContentType: PropTypes.func.isRequired,\n setFilename: PropTypes.func.isRequired,\n directUploadUrl: PropTypes.string,\n};\n\nexport default UploadForm;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n align-items: center;\n padding: 7px;\n border-radius: 8px;\n border: 1px solid var(--border-color-primary);\n`;\n\nexport const ImageWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n border-radius: 5px;\n opacity: 0.85;\n overflow: hidden;\n`;\n\nexport const Image = styled.img`\n width: 32px;\n height: 32px;\n object-fit: cover;\n`;\n\nexport const TextWrapper = styled.div`\n font-size: 1rem;\n font-weight: 500;\n color: var(--font-color-primary--light);\n margin-left: 8px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n margin-right: 6px;\n margin-left: auto;\n cursor: pointer;\n\n svg {\n color: #727278;\n transition: color 0.2s;\n }\n\n &:hover {\n svg {\n color: #dadada;\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Trash, Film } from 'react-feather';\nimport {\n Container,\n ImageWrapper,\n TextWrapper,\n IconWrapper,\n Image,\n} from './style';\n\nfunction Preview({ previewUrl, removeMedia, fileName, contentType }) {\n const isVideo = (type) => type && type.includes('video');\n\n return (\n \n \n {isVideo(contentType) ? (\n \n ) : (\n \n )}\n \n {fileName}\n \n \n \n \n );\n};\n\nPreview.propTypes = {\n previewUrl: PropTypes.string,\n fileName: PropTypes.string,\n contentType: PropTypes.string,\n removeMedia: PropTypes.func.isRequired,\n};\n\nexport default Preview;\n","import styled from 'styled-components';\n\nexport const SectionWrapper = styled.div`\n margin-bottom: 24px;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`;\n","import React, { useEffect, useContext, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { Label } from '../../../../../globals';\nimport InputSlider from '../../../InputSlider';\nimport UploadForm from './components/UploadForm';\nimport Preview from './components/Preview';\nimport BlockContext from '../../../../../../contexts/BlockContext';\nimport { SectionWrapper } from './style';\n\nconst BackgroundContent = ({\n directUploadUrl,\n defaultSignedId,\n fileName,\n previewUrl,\n mediaOpacity,\n errors,\n}) => {\n const [signedId, setSignedId] = React.useState(defaultSignedId);\n const [currentFilename, setCurrentFilename] = React.useState(fileName);\n const [currentMediaUrl, setCurrentMediaUrl] = React.useState(previewUrl);\n const [mediaAttached, setMediaAttached] = React.useState(previewUrl);\n const [contentType, setContentType] = React.useState(null);\n const [opacity, setOpacity] = React.useState(mediaOpacity);\n const [mediaIsUploading, setMediaIsUploading] = React.useState(false);\n const [, setBlockState] = useContext(BlockContext);\n\n useEffect(() => {\n const error =\n errors['background_setting.background_media'] &&\n errors['background_setting.background_media'][0];\n\n if (error) {\n setMediaAttached(false);\n }\n }, []);\n\n useEffect(() => {\n if (currentMediaUrl && contentType && !mediaIsUploading) {\n const backgroundIsImage = contentType.includes('image');\n const backgroundIsVideo = contentType.includes('video');\n const propertyToUpdate = backgroundIsImage ?\n 'backgroundMediaImageUrl' :\n 'backgroundMediaVideoSources';\n\n setBlockState((prevState) => ({\n ...prevState,\n backgroundSetting: {\n ...prevState.backgroundSetting,\n [propertyToUpdate]: [currentMediaUrl],\n backgroundMediaIsImage: backgroundIsImage,\n backgroundMediaIsVideo: backgroundIsVideo,\n },\n }));\n }\n }, [currentMediaUrl, contentType, mediaIsUploading]);\n\n const removeMedia = useCallback(() => {\n if (mediaAttached) {\n setSignedId('');\n } else {\n setSignedId(null);\n }\n\n setMediaAttached(false);\n\n setBlockState((prevState) => ({\n ...prevState,\n backgroundSetting: {\n ...prevState.backgroundSetting,\n backgroundMediaImageUrl: null,\n backgroundMediaVideoSources: null,\n backgroundMediaIsImage: false,\n backgroundMediaIsVideo: false,\n },\n }));\n }, [mediaAttached]);\n\n const attachMedia = useCallback((signedId) => {\n setSignedId(signedId);\n\n setMediaAttached(true);\n }, []);\n\n const updateOpacity = useCallback((value) => {\n const preparedValue = value / 100;\n\n setOpacity(preparedValue);\n setBlockState((prevState) => ({\n ...prevState,\n backgroundSetting: {\n ...prevState.backgroundSetting,\n backgroundMediaOpacity: preparedValue,\n },\n }));\n }, []);\n\n return (\n <>\n \n \n {mediaAttached ? (\n \n ) : (\n \n )}\n \n {signedId !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nBackgroundContent.propTypes = {\n directUploadUrl: PropTypes.string,\n defaultSignedId: PropTypes.string,\n fileName: PropTypes.string,\n previewUrl: PropTypes.string,\n mediaOpacity: PropTypes.string,\n errors: PropTypes.object.isRequired,\n};\n\nexport default BackgroundContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Legend, FormSection } from '../../../globals';\nimport BackgroundContent from './components/BackgroundContent';\nimport BackgroundColor from '../BackgroundLayout/components/BackgroundColor';\nimport { SectionWrapper } from './components/BackgroundContent/style';\n\nfunction BackgroundSettings({ backgroundSetting, directUploadUrl, errors }) {\n const {\n id,\n backgroundColorOverlay,\n backgroundMediaOpacity,\n backgroundMediaSignedId,\n backgroundMediaFileName,\n backgroundMediaPreviewUrl,\n } = backgroundSetting;\n\n return (\n
\n \n Background Style\n \n \n \n \n Background Content\n \n \n \n \n
\n );\n};\n\nBackgroundSettings.propTypes = {\n directUploadUrl: PropTypes.string,\n backgroundSetting: PropTypes.shape({\n id: PropTypes.number,\n backgroundColorOverlay: PropTypes.string,\n backgroundMediaFileName: PropTypes.string,\n backgroundMediaOpacity: PropTypes.string,\n backgroundMediaPreviewUrl: PropTypes.string,\n }),\n errors: PropTypes.object.isRequired,\n};\n\nexport default BackgroundSettings;\n","import styled from 'styled-components';\nimport { PrimaryButton } from '../../../Button';\nimport { APP_SETTINGS_PRIMARY_COLOR } from '../../../../constants';\n\nexport const StyledButton = styled(PrimaryButton).attrs((props) => ({\n style: {\n left: props.leftMargin ? props.leftMargin + 'px' : 0,\n width: props.width ? props.width + 'px' : '100%',\n },\n}))`\n position: fixed;\n background-color: ${APP_SETTINGS_PRIMARY_COLOR};\n border-radius: 0;\n margin: 0;\n z-index: 6;\n box-shadow: 0 -15px 10px 0 rgba(0, 0, 0, 0.15);\n`;\n","import React, { useState, useEffect } from 'react';\nimport { StyledButton } from './style';\nimport { useDebounce } from '../../../hooks';\n\nconst DEBOUNCE_DELAY = 100;\n\nconst SubmitButton = ({ children }) => {\n const [buttonWidth, setButtonWidth] = useState(null);\n const [leftMargin, setLeftMargin] = useState(null);\n const debouncedButtonWidth = useDebounce(buttonWidth, DEBOUNCE_DELAY);\n const debouncedLeftMargin = useDebounce(leftMargin, DEBOUNCE_DELAY);\n\n useEffect(() => {\n const settingsContainer = document.querySelector('#askEditSettings');\n const blockListContainer = document.querySelector('#askEditBlocks');\n\n if (settingsContainer) {\n setButtonWidth(settingsContainer.scrollWidth);\n }\n\n if (blockListContainer) {\n setLeftMargin(blockListContainer.offsetWidth);\n }\n\n const handleResize = () => {\n setButtonWidth(settingsContainer.scrollWidth);\n setLeftMargin(blockListContainer.offsetWidth);\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport default SubmitButton;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { SwitchWithTitle } from '../../../switch';\nimport BlockContext from '../../../../contexts/BlockContext';\n\nfunction SkippableBlockSection({ isChecked }) {\n const [checked, setChecked] = useState(isChecked || false);\n const [, setBlockState] = useContext(BlockContext);\n\n const handleSwitchChange = (e) => {\n const checked = e.target.checked;\n setChecked(checked);\n setBlockState((prevState) => ({ ...prevState, skippableChecked: checked }));\n };\n\n return (\n
\n \n \n
\n );\n}\n\nSkippableBlockSection.propTypes = {\n isChecked: PropTypes.bool,\n};\n\nexport default SkippableBlockSection;\n","import React from 'react';\nimport CssStyleHiddenInputs from '../../../CssStyleHiddenInputs';\n\nexport default function ButtonHiddenInputs(props) {\n const button = props.button || {};\n const attributesName = `ask[navigation_buttons_attributes][${props.index}]`;\n return (\n <>\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport Checkbox from '../../../../../checkbox';\nimport Box from '@mui/material/Box';\nimport { useHover } from 'use-events';\nimport CustomizeToolbar from '../../../../../CustomizeToolbar';\nimport BlockContext from '../../../../../../contexts/BlockContext';\nimport ButtonHiddenInputs from '../ButtonHiddenInputs';\n\nconst setNavigationButtons = (setBlockState, direction, attribute, value) => {\n setBlockState((prev) => ({\n ...prev,\n navigationButtons: prev.navigationButtons.map((b) => {\n if (b.direction === direction) {\n return {\n ...b,\n [attribute]: value,\n };\n } else {\n return b;\n }\n }),\n }));\n};\n\nexport default function CheckboxWithToolbar({ label, direction, index }) {\n const [isHover, bind] = useHover();\n const [blockState, setBlockState] = React.useContext(BlockContext);\n\n const button = blockState.navigationButtons.find(\n (b) => b.direction === direction,\n );\n const handleCheckboxChange = () => {\n setNavigationButtons(\n setBlockState,\n direction,\n 'enabled',\n event.target.checked,\n );\n };\n\n const handleStyleChange = (value) => {\n setNavigationButtons(setBlockState, direction, 'cssStyle', value.cssStyle);\n };\n\n return (\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport _isEmpty from 'lodash/isEmpty';\n\nexport default function DestroyHiddenInputs({ blockState }) {\n if (blockState.showNavigationButtons || _isEmpty(blockState.navigationButtons)) {\n return null;\n }\n\n return (\n <>\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { SwitchWithTitle } from '../../../switch';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport CheckboxWithToolbar from './components/CheckboxWithToolbar';\nimport DestroyHiddenInputs from './components/DestroyHiddenInputs';\nimport _isEmpty from 'lodash/isEmpty';\n\nconst checkboxes = [\n {\n label: 'Back button',\n direction: 'back',\n },\n {\n label: 'Forward button',\n direction: 'forward',\n },\n];\n\nconst initialButtons = [\n {\n direction: 'back',\n enabled: true,\n cssStyle: {},\n },\n {\n direction: 'forward',\n enabled: true,\n cssStyle: {},\n },\n];\n\nexport default function NavigationButtonsSection() {\n const [blockState, setBlockState] = React.useContext(BlockContext);\n const handleIsChecked = (e) => {\n const checked = e.target.checked;\n const navigationButtons =\n checked && _isEmpty(blockState.navigationButtons)\n ? initialButtons\n : blockState.navigationButtons;\n setBlockState((prevState) => ({\n ...prevState,\n showNavigationButtons: checked,\n navigationButtons,\n }));\n };\n\n return (\n
\n \n {checkboxes.map(({ label, direction }, index) => (\n \n ))}\n \n \n
\n );\n}\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n & input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n & input::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n & input[type=number] {\n -moz-appearance: textfield;\n }\n`;\n\nexport const GridContainer = styled.div`\n display: grid;\n margin: auto;\n grid-template-columns: repeat(3, minmax(80px, 124px));\n grid-template-rows: auto;\n grid-template-areas:\n '. top .'\n 'left center right'\n '. bottom .';\n`;\n\nexport const LabelWrapper = styled.div`\n position: absolute;\n top: 16px;\n left: 16px;\n`;\n\nexport const GridItem = styled.div`\n display: flex;\n grid-area: ${(props) => props.gridArea};\n justify-self: ${(props) => {\n switch (props.gridArea) {\n case 'right':\n return 'start';\n case 'top':\n case 'bottom':\n return 'center';\n case 'left':\n return 'end';\n }\n}};\n`;\n\nexport const InputWrapper = styled.div`\n width: 100%;\n max-width: 80px;\n margin: 0.5em 12px 0;\n align-self: center;\n\n & input {\n text-align: center;\n }\n\n & span {\n min-width: 110px;\n }\n`;\n\nexport const IconWrapper = styled.div`\n margin-left: 8px;\n`;\n\nexport const TBox = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n font-family: 'Times New Roman';\n font-size: 40px;\n font-style: italic;\n width: 124px;\n height: 124px;\n margin: auto;\n border: 2px dashed var(--border-color-primary);\n background-color: var(--background-primary);\n user-select: none;\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Input } from '../../../../inputs/Input';\nimport {\n Fieldset,\n Label,\n FormSection,\n FlexRowSpaceBetween,\n FlexCol,\n} from '../../../../globals';\n\nconst MAX_VALID_VALUE = 96;\nconst ERROR_MAX_VALUE_PROPERTY = 'title_setting.font_size_max';\nconst ERROR_MIN_VALUE_PROPERTY = 'title_setting.font_size_min';\nconst ERROR_MESSAGE = 'Must be between 1 and 96';\n\nconst errorKeysMapper = {\n fontSizeMin: ERROR_MIN_VALUE_PROPERTY,\n fontSizeMax: ERROR_MAX_VALUE_PROPERTY,\n};\n\nfunction FontSizeSection({ defaultValues, updateContext, defaultErrors }) {\n const [inputValues, setInputValues] = useState(defaultValues);\n const [errors, setErrors] = useState(defaultErrors);\n\n const clearError = (property) => {\n setErrors({ ...errors, [property]: [] });\n };\n\n const validate = (ctxProperty, value) => {\n const errorKey = errorKeysMapper[ctxProperty];\n\n if (value < 1 || value > MAX_VALID_VALUE) {\n setErrors({\n ...errors,\n [errorKey]: [ERROR_MESSAGE],\n });\n } else {\n updateContext(ctxProperty, value);\n }\n };\n\n const handleMaxValueChange = (value, ctxProperty) => {\n clearError(errorKeysMapper[ctxProperty]);\n validate(ctxProperty, value);\n setInputValues({\n ...inputValues,\n [ctxProperty]: value,\n });\n };\n\n return (\n
\n \n \n \n \n \n \n handleMaxValueChange(e.target.value, 'fontSizeMin')\n }\n />\n \n \n \n \n handleMaxValueChange(e.target.value, 'fontSizeMax')\n }\n />\n \n \n \n
\n );\n}\n\nFontSizeSection.propTypes = {\n defaultValues: PropTypes.shape({\n fontSizeMin: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n fontSizeMax: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n }),\n updateContext: PropTypes.func,\n defaultErrors: PropTypes.object,\n};\n\nexport default FontSizeSection;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Input } from '../../../inputs/Input';\nimport { Fieldset, Label, FormSection, FlexRow } from '../../../globals';\nimport {\n Container,\n GridContainer,\n GridItem,\n InputWrapper,\n TBox,\n LabelWrapper,\n IconWrapper,\n} from './style';\nimport Tooltip from '../../../tooltip';\nimport { Info } from 'react-feather';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport FontSizeSection from './FontSizeSection';\n\nconst tooltipTitle =\n 'This controls the relative position of your text box based on the viewport height (top and bottom) and width (left and right). Your numbers should typically range between 0-100.';\n\nfunction PromptSettingsSection({ titleSetting, errors }) {\n const {\n positionTop,\n positionRight,\n positionBottom,\n positionLeft,\n fontSizeMin,\n fontSizeMax,\n } = titleSetting;\n\n const [, setBlockState] = useContext(BlockContext);\n const updateContext = (attribute, value) => {\n // this code updates one field of titleSettings object of blockState at a time\n setBlockState((prevState) => ({\n ...prevState,\n titleSetting: { ...prevState.titleSetting, [attribute]: parseInt(value) },\n }));\n };\n\n return (\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateContext('positionTop', e.target.value)\n }\n />\n \n \n \n \n \n updateContext('positionRight', e.target.value)\n }\n />\n \n \n \n T\n \n \n \n \n updateContext('positionBottom', e.target.value)\n }\n />\n \n \n \n \n \n updateContext('positionLeft', e.target.value)\n }\n />\n \n \n \n \n \n
\n \n
\n );\n}\n\nPromptSettingsSection.propTypes = {\n titleSetting: PropTypes.shape({\n position_top: PropTypes.number,\n position_right: PropTypes.number,\n position_bottom: PropTypes.number,\n position_left: PropTypes.number,\n font_size_min: PropTypes.number,\n font_size_max: PropTypes.number,\n }).isRequired,\n errors: PropTypes.shape({\n 'title_setting.position_top': PropTypes.array,\n 'title_setting.position_right': PropTypes.array,\n 'title_setting.position_bottom': PropTypes.array,\n 'title_setting.position_left': PropTypes.array,\n 'title_setting.font_size_min': PropTypes.array,\n 'title_setting.font_size_max': PropTypes.array,\n }),\n};\n\nexport default PromptSettingsSection;\n","import React from 'react';\nimport { Fieldset, Legend, FormSection, Label } from '../../../globals';\nimport TilesSelector from '../../../tilesSelector';\nimport AutofitIcon from '../../../../../assets/images/content_layout--autofit.png';\nimport HugContentIcon from '../../../../../assets/images/content_layout--hug.png';\nimport BlockContext from '../../../../contexts/BlockContext';\nimport RadioButtonGroup from '../RadioButtonGroup';\nimport PromptSettingsSection from '../PromptSettingsSection';\nimport { Input } from '../../../inputs/Input';\nimport Stack from '@mui/material/Stack';\nimport StartIcon from '@mui/icons-material/VerticalAlignTop';\nimport CenteredIcon from '@mui/icons-material/VerticalAlignCenterOutlined';\nimport EndIcon from '@mui/icons-material/VerticalAlignBottom';\n\nconst options = [\n {\n name: 'autofit',\n value: 'autofit',\n label: 'Autofit',\n testId: 'ContentLayout/autofit',\n icon: AutofitIcon,\n },\n {\n name: 'hug_content',\n value: 'hug_content',\n label: 'Hug content',\n testId: 'ContentLayout/hugContent',\n icon: HugContentIcon,\n },\n];\n\nconst radioButtons = [\n {\n value: 'start',\n Icon: ,\n ariaLabel: 'start alignment',\n },\n {\n value: 'center',\n Icon: ,\n ariaLabel: 'center alignment',\n },\n {\n value: 'end',\n Icon: ,\n ariaLabel: 'end alignment',\n },\n];\n\nexport default function ContentLayoutSection({ titleSetting, errors }) {\n const [blockState, setBlockState] = React.useContext(BlockContext);\n\n const handleChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n contentLayout: value,\n }));\n };\n\n const handleFontSizeChange = (e) => {\n setBlockState((prevState) => ({\n ...prevState,\n hugContentFontSize: e.target.value,\n }));\n };\n\n const handleMaxWidthChange = (e) => {\n setBlockState((prevState) => ({\n ...prevState,\n hugContentMaxWidth: e.target.value,\n }));\n };\n\n const handleVerticalAlignmentChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n contentVerticalAlignment: value,\n }));\n };\n\n return (\n
\n Layout Settings\n \n \n
\n \n
\n {blockState.contentLayout === 'autofit' && (\n \n )}\n {blockState.contentLayout === 'hug_content' && (\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n )}\n
\n \n \n
\n );\n}\n","import React, { useState, useCallback, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport _isEmpty from 'lodash/isEmpty';\n\nimport BlockTypeSelect from './components/BlockTypeSelect';\nimport BlockDetails from './components/BlockDetails';\nimport SubmissionButtonSection from './components/SubmissionButtonSection';\nimport FontSection from './components/FontSection';\nimport GoalAndMetricSection from './components/GoalAndMetricSection';\nimport { Fieldset, Legend } from '../globals';\nimport ExpansionPanel from '../expansionPanel';\nimport TitleSection from './components/TitleSection';\nimport BackgroundLayout from './components/BackgroundLayout';\nimport Tooltip from '../tooltip';\nimport BackgroundSettings from './components/BackgroundSettings';\nimport SubmitButton from './components/SubmitButton';\nimport { subscribeTo } from '../../sharedStore';\nimport BlockContext from '../../contexts/BlockContext';\nimport { slateToHtml } from './components/TitleSection/utils';\nimport SkippableBlockSection from './components/SkippableBlockSection';\nimport NavigationButtonsSection from './components/NavigationButtonsSection';\nimport ContentLayoutSection from './components/ContentLayoutSection';\nimport { useSnackbar } from 'notistack';\n\nexport const ExperienceIdContext = React.createContext();\n\nfunction BlockForm({\n block,\n goals,\n errors,\n serializedErrors,\n askMetric,\n isEditPage,\n successMessage,\n experienceId,\n directUploadUrl,\n ask_uuid,\n experience_uuid,\n workspaceId,\n primaryColor,\n}) {\n const [blockAttributes, setBlockAttributes] = useState({\n blockId: block.block_id,\n blockTextColor: block.block_text_color,\n backgroundLayout: block.background_layout,\n referenceMergeMedia: block.reference_merge_media,\n type: block.type,\n ugcTypes: block.ugc_types,\n ctaButtonSettingsChecked: block.cta_button_settings_checked,\n multipleChoiceOther: block.multiple_choice_other,\n multipleChoiceMultiSelect: block.multiple_choice_multi_select,\n multipleChoiceOptions: block.multiple_choice_options,\n currency: block.currency,\n paymentOptions: block.payment_options,\n donationType: block.donation_type,\n defaultDonationType: block.default_donation_type,\n paypalEnabled: block.paypal_enabled,\n paypalEmail: block.paypal_email,\n customDonation: block.custom_donation,\n politicalDonation: block.political_donation,\n dataFields: block.data_fields,\n contentTimeout: block.content_timeout,\n metricsChecked: block.metrics_checked,\n disclaimerChecked: block.disclaimer_checked,\n skippableChecked: block.skippable_checked,\n disclaimer: block.disclaimer,\n backgroundSetting: block.background_setting,\n titleSetting: block.title_setting,\n paymentMethods: block.payment_methods,\n cardEnabled: block.card_enabled,\n achEnabled: block.ach_enabled,\n subscriptionStartDate: block.subscription_start_date,\n });\n const [, setBlockState] = useContext(BlockContext);\n const { enqueueSnackbar } = useSnackbar();\n const updateBlockStateContext = (value) => {\n if (value && !_isEmpty(errors)) {\n const { titleSetting, disclaimer } = blockAttributes;\n\n setBlockState((prevState) => ({\n ...prevState,\n ...blockAttributes,\n titleHtml: slateToHtml(JSON.parse(titleSetting.titleElements)),\n titleSetting: {\n fontSizeMax: titleSetting.fontSizeMax,\n fontSizeMin: titleSetting.fontSizeMin,\n positionBottom: titleSetting.positionBottom,\n positionLeft: titleSetting.positionLeft,\n positionRight: titleSetting.positionRight,\n positionTop: titleSetting.positionTop,\n titleElements: titleSetting.titleElements,\n cssStyle: titleSetting.cssStyle,\n },\n ctaButtons: block.cta_buttons,\n disclaimer: {\n tocLabel: disclaimer ? disclaimer.toc_label : '',\n url: disclaimer ? disclaimer.url : '',\n },\n askLabel: block.ask_label,\n navigationButtons: block.navigation_buttons,\n showNavigationButtons: !_isEmpty(block.navigation_buttons),\n }));\n }\n };\n useEffect(() => {\n // To prevent bug with wrong block settings on preview after invalid form save\n subscribeTo('updateBlockContext', updateBlockStateContext);\n }, []);\n\n const updateBlockAttributes = useCallback(\n (newAttributes) => {\n setBlockAttributes({ ...blockAttributes, ...newAttributes });\n },\n [blockAttributes],\n );\n\n useEffect(() => {\n if (errors.base) {\n enqueueSnackbar(errors.base[0], { variant: 'error', autoHideDuration: 3000 });\n }\n\n if (successMessage) {\n enqueueSnackbar(successMessage, { variant: 'success' });\n }\n }, []);\n\n return (\n <>\n \n \n \n \n
\n Type\n \n
\n \n
\n \n
\n \n {\n setBlockState((prevState) => ({\n ...prevState,\n ctaButtons: block.cta_buttons,\n }));\n }}\n >\n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n Save Changes\n \n
\n \n );\n}\n\nBlockForm.propTypes = {\n block: PropTypes.object.isRequired,\n goals: PropTypes.arrayOf(PropTypes.string).isRequired,\n errors: PropTypes.object.isRequired,\n askMetric: PropTypes.object.isRequired,\n isEditPage: PropTypes.bool.isRequired,\n successMessage: PropTypes.string,\n experienceId: PropTypes.number,\n directUploadUrl: PropTypes.string.isRequired,\n};\n\nexport default BlockForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from '@mui/material/IconButton';\nimport ClickAwayListener from '@mui/material/ClickAwayListener';\nimport Grow from '@mui/material/Grow';\nimport Paper from '@mui/material/Paper';\nimport Popper from '@mui/material/Popper';\nimport MenuItem from '@mui/material/MenuItem';\nimport MenuList from '@mui/material/MenuList';\nimport ListItemIcon from '@mui/material/ListItemIcon';\n\nexport const DropdownMenu = ({\n menuItems,\n triggerButton,\n onSelection,\n disabled,\n dataTestId,\n placement,\n disablePortal,\n styles,\n}) => {\n const [open, setOpen] = React.useState(false);\n const anchorRef = React.useRef(null);\n\n const handleToggle = () => {\n setOpen((prevOpen) => !prevOpen);\n };\n\n const handleClose = (event) => {\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\n return;\n }\n\n setOpen(false);\n };\n\n const onMenuItemSelect = (event, value) => {\n onSelection(value);\n handleClose(event);\n };\n\n function handleListKeyDown(event) {\n if (event.key === 'Tab') {\n event.preventDefault();\n setOpen(false);\n }\n }\n\n const prevOpen = React.useRef(open);\n React.useEffect(() => {\n if (prevOpen.current === true && open === false) {\n anchorRef.current.focus();\n }\n\n prevOpen.current = open;\n }, [open]);\n\n return (\n
\n \n {triggerButton}\n \n \n {({ TransitionProps, placement }) => (\n \n \n \n \n {menuItems.map(({ title, value, icon }) => (\n onMenuItemSelect(event, value)}\n value={value}\n >\n {icon && {icon}}\n {title}\n \n ))}\n \n \n \n \n )}\n \n
\n );\n};\n\nDropdownMenu.propTypes = {\n triggerButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element])\n .isRequired,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n value: PropTypes.string,\n }),\n ).isRequired,\n onSelection: PropTypes.func,\n disabled: PropTypes.bool,\n placement: PropTypes.string,\n disablePortal: PropTypes.bool,\n styles: PropTypes.object,\n};\n","import React from 'react';\nimport { Transforms } from 'slate';\nimport { ReactEditor } from 'slate-react';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\nimport Stack from '@mui/material/Stack';\n\nexport default function FormulaPicker({ anchorEl, setAnchorEl, editor }) {\n const [items, setItems] = React.useState([\n {\n label: 'calc',\n description: 'Arithmetic for numbers',\n value: 'calc',\n },\n ]);\n const open = Boolean(anchorEl);\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleSelect = (value) => {\n const mustaches = `{{#${value}}}{{/${value}}}`;\n const fragment = editor.getFragment();\n const fragmentStyles = fragment[0].children[0];\n const focusDistance = `{{/${value}}}`.length;\n\n editor.deleteBackward(1);\n Transforms.insertNodes(editor, { ...fragmentStyles, text: mustaches });\n Transforms.move(editor, { distance: focusDistance, reverse: true });\n ReactEditor.focus(editor);\n\n handleClose();\n };\n\n const handleKeyDown = (e) => {\n const key = e.key;\n if (key === 'Backspace' || key === 'Delete') {\n handleClose();\n }\n };\n\n return (\n \n {items.map(({ label, description, value }) => (\n handleSelect(value)}\n >\n \n {label}\n \n {description}\n \n \n \n ))}\n \n );\n}\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport MentionChip from '../MentionChip';\nimport Box from '@mui/material/Box';\n\nfunction MentionTitle({ title = '' }) {\n const formattedTitle = useMemo(() => {\n return title.split(/({{.*?}})/g).map((text, index) => {\n if (text.match(/{{(#|\\/).*}}/)) {\n return (\n \n {text.slice(3, -2)}\n \n );\n } else if (text.match(/{{.*}}/)) {\n return (\n \n );\n } else {\n return text;\n }\n });\n }, [title]);\n\n return <>{formattedTitle};\n}\n\nMentionTitle.propTypes = {\n title: PropTypes.string,\n};\n\nexport default MentionTitle;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: ${props => props.anchorEl ? 'static' : 'absolute'};\n width: 100%;\n min-width: 270px;\n height: 0px;\n left: 0;\n z-index: 10;\n\n ${(props) =>\n props.inputWithGutter &&\n `\n transform: translateY(-1rem);\n `}\n`;\n\nexport const InnerWrapper = styled.div`\n display: flex;\n color: #727278;\n flex-direction: column;\n align-items: center;\n padding-top: 35px;\n padding-bottom: 35px;\n`;\n\nexport const EmptyResultsText = styled.span`\n max-width: 150px;\n margin-top: 10px;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n text-align: center;\n`;\n","import { useState, useEffect } from 'react';\n\nimport { useTranslation } from '../../../i18n';\n\nexport const METADATA_TITLE = 'metadata.title';\nexport const METADATA_URL = 'url';\n\nconst BLOCKS_LIST_TYPE = 'blocks';\nconst experienceMetadataList = (t) => [\n {\n title: t('expTitle'),\n subTitle: t('expMeta'),\n value: METADATA_TITLE,\n dataTestId: 'OptionsList/MetadataListItem',\n experienceMetadata: true,\n },\n {\n title: t('expUrl'),\n subTitle: t('expMeta'),\n value: METADATA_URL,\n dataTestId: 'OptionsList/MetadataListItem',\n experienceMetadata: true,\n },\n];\n\nconst sortExperiencesList = (t, list, experienceId) => {\n list.some((item, index) => {\n if (item.value === experienceId) {\n item.subTitle = t('subtitle');\n list.splice(index, 1);\n list.unshift(item);\n return true;\n }\n });\n\n return list;\n};\n\nexport const usePreparedList = (\n onComplete,\n onMetadataSelect,\n steps,\n experienceId,\n) => {\n const { t } = useTranslation('translation', {\n keyPrefix: 'MentionsInput.OptionsList',\n });\n const [selectedItems, setSelectedItems] = useState([]);\n const [stepIndex, setStepIndex] = useState(0);\n const [currentList, setCurrentList] = useState([]);\n const [isLoaded, setIsLoaded] = useState(false);\n const [header, setHeader] = useState('');\n\n useEffect(() => {\n setHeader(steps[stepIndex].title);\n\n steps[stepIndex].loadList().then((data) => {\n const sortedList = sortExperiencesList(t, data, experienceId);\n\n setCurrentList(sortedList);\n setIsLoaded(true);\n });\n }, []);\n\n const handleNextStep = (value, nextStep) => {\n setHeader(`${header} / ${nextStep.title}`);\n\n nextStep.loadList(value).then((data) => {\n let options = data;\n\n if (nextStep.type === BLOCKS_LIST_TYPE) {\n options = options.concat(experienceMetadataList(t));\n }\n\n setCurrentList(options);\n setStepIndex(stepIndex + 1);\n setIsLoaded(true);\n });\n };\n\n const onSelect = (item) => {\n const { value, experienceMetadata, type, available_types } = item;\n if (experienceMetadata) {\n const selectedExperienceId = selectedItems[0];\n\n onMetadataSelect(selectedExperienceId, value);\n\n return;\n }\n\n const items = [...selectedItems, value];\n const nextStep = steps[stepIndex + 1];\n setSelectedItems(items);\n setIsLoaded(false);\n\n if (nextStep) {\n handleNextStep(value, nextStep);\n } else {\n onComplete(items, type, available_types);\n }\n };\n\n return {\n preparedList: currentList,\n onSelect,\n header,\n isLoaded,\n };\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Container, InnerWrapper, EmptyResultsText } from './style';\nimport { usePreparedList } from './usePreparedList';\nimport List from '@mui/material/List';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport _isEmpty from 'lodash/isEmpty';\nimport { Search } from 'react-feather';\nimport MentionTitle from '../../MentionTitle';\n\nconst listItemStyles = {\n color: '#333',\n borderTop: '1px solid #e0e0e0',\n '&.MuiListItem-root.Mui-selected': {\n backgroundColor: '#eee',\n },\n '&:hover': {\n backgroundColor: '#eee',\n },\n '& .MuiListItemText-primary': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n};\n\nexport const OptionsList = (props) => {\n const {\n steps,\n handleLastSelect,\n handleExperienceMetadataSelect,\n currentItemIndex,\n listRef,\n currentItemRef,\n setCurrentItemIndex,\n experienceId,\n listStyle,\n inputWithGutter,\n inputWidth,\n anchorEl,\n } = props;\n const { preparedList, onSelect, header, isLoaded } = usePreparedList(\n handleLastSelect,\n handleExperienceMetadataSelect,\n steps,\n experienceId,\n );\n\n const onHover = (index) => {\n setCurrentItemIndex(index);\n };\n\n return (\n \n \n \n {header}\n \n {isLoaded ? (\n <>\n {_isEmpty(preparedList) ? (\n \n \n \n Couldn't find any matching results.\n \n \n ) : (\n <>\n {preparedList.map((item, index) => {\n const itemIsSelected = currentItemIndex === index;\n return (\n onSelect(item)}\n onMouseEnter={() => onHover(index)}\n data-testid={item.dataTestId || 'OptionsList/ListItem'}\n disableRipple\n >\n \n \n \n \n );\n })}\n \n )}\n \n ) : (\n \n \n \n )}\n
\n \n );\n};\n\nOptionsList.propTypes = {\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n title: PropTypes.string,\n referencePrefix: PropTypes.string,\n loadList: PropTypes.func,\n }),\n ).isRequired,\n experienceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n handleLastSelect: PropTypes.func.isRequired,\n setCurrentItemIndex: PropTypes.func.isRequired,\n inputWidth: PropTypes.number.isRequired,\n inputWithGutter: PropTypes.bool,\n currentItemIndex: PropTypes.number.isRequired,\n listRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any }),\n ]),\n currentItemRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any }),\n ]),\n listStyle: PropTypes.object,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport _isNil from 'lodash/isNil';\nimport { OptionsList } from './OptionsList';\nimport { keyboardNavigation } from './keyboardNavigation';\nimport { METADATA_TITLE, METADATA_URL } from './OptionsList/usePreparedList';\nimport withPopper from './withPopper';\n\nconst Mentions = React.forwardRef((props, ref) => {\n const {\n name,\n defaultValue,\n placeholder,\n onValueChange,\n onInputChange,\n onReference,\n onInputKeyDown,\n onBlur,\n steps,\n readOnly,\n experienceId,\n inputStyle,\n listStyle,\n isOpen,\n autoFocus,\n noTrailingSpace,\n noAutocomplete,\n error,\n optionsListRef,\n listItemRef,\n listItemIndex,\n withGutter,\n onCloseDropdown,\n anchorEl,\n } = props;\n const [inputValue, setInputValue] = useState('');\n const [dropdownIsOpen, setDropdownIsOpen] = useState(false);\n const [currentItemIndex, setCurrentItemIndex] = useState(0);\n const [mentionSymbolPosition, setMentionSymbolPosition] = useState(0);\n const [currentReference, setCurrentReference] = useState('');\n const [newReferenceCreated, setNewReferenceCreated] = useState(false);\n const inputRef = ref || useRef(null);\n const currentItemRef = listItemRef || useRef(null);\n const listRef = optionsListRef || useRef(null);\n\n useEffect(() => {\n if (inputRef.current && autoFocus) {\n inputRef.current.focus();\n }\n setDropdownIsOpen(isOpen);\n }, [isOpen, autoFocus, inputRef.current]);\n\n useEffect(() => {\n if (!_isNil(listItemIndex)) {\n setCurrentItemIndex(listItemIndex);\n }\n }, [listItemIndex]);\n\n useEffect(() => {\n if (!_isNil(defaultValue)) {\n setInputValue(defaultValue);\n }\n }, [defaultValue]);\n\n useEffect(() => {\n if (onCloseDropdown && !dropdownIsOpen) {\n onCloseDropdown();\n }\n }, [dropdownIsOpen]);\n\n const handleInputChange = (e) => {\n const { value, selectionStart } = e.target;\n\n setInputValue(value);\n\n if (onInputChange) {\n onInputChange(e.target.value);\n }\n\n if (value[selectionStart - 1] === '[') {\n setCurrentItemIndex(0);\n setDropdownIsOpen(true);\n setMentionSymbolPosition(selectionStart - 1);\n } else {\n setDropdownIsOpen(false);\n }\n };\n\n const handleOutsideClick = (e) => {\n setCurrentItemIndex(0);\n if (listRef.current) {\n if (listRef.current.contains(e.target)) {\n return;\n }\n }\n\n setDropdownIsOpen(false);\n };\n\n const onClick = () => {\n setDropdownIsOpen(true);\n setCurrentItemIndex(0);\n };\n\n useEffect(() => {\n if (dropdownIsOpen) {\n window.addEventListener('mousedown', handleOutsideClick, false);\n }\n\n return () => {\n window.removeEventListener('mousedown', handleOutsideClick, false);\n };\n }, [dropdownIsOpen]);\n\n const setMergeField = (reference, type, available_types) => {\n setCurrentReference(reference);\n setNewReferenceCreated(true);\n\n if (onReference) {\n onReference(reference, type, available_types);\n }\n\n if (readOnly) {\n const value = reference.trim();\n\n if (onValueChange) {\n onValueChange(value);\n }\n\n setInputValue(value);\n } else {\n const valueWithReference = inputValue.slice(0, mentionSymbolPosition) +\n reference +\n inputValue.slice(mentionSymbolPosition + 1);\n\n if (onInputChange) {\n onInputChange(valueWithReference);\n }\n\n setInputValue(valueWithReference);\n }\n\n setDropdownIsOpen(false);\n setCurrentItemIndex(0);\n };\n\n const handleLastSelect = (items, type, available_types) => {\n if (/^{{.*}}$/.test(items[2])) {\n // NOTE: when reference was received from API\n setMergeField(items[2], type, available_types);\n } else {\n const referenceKeys = items\n .map((item, index) => {\n const currentStep = steps[index];\n return currentStep.skipFieldRender\n ? ''\n : `${currentStep.referencePrefix}${item}`;\n })\n .filter((item) => item.length > 0);\n const reference = `{{${referenceKeys.join('.')}}}${\n noTrailingSpace ? '' : ' '\n }`;\n\n setMergeField(reference, type, available_types);\n }\n };\n\n const buildMetadataReference = (value, id) => {\n switch (value) {\n case METADATA_TITLE:\n return `{{experience_${id}.${value}}} `;\n case METADATA_URL:\n return `{{experience_${value}_${id}}} `;\n }\n };\n\n const handleExperienceMetadataSelect = (\n selectedExperienceId,\n mergeString,\n ) => {\n let reference = buildMetadataReference(mergeString, selectedExperienceId);\n if (noTrailingSpace) {\n reference = reference.trim();\n }\n\n setMergeField(reference);\n };\n\n const setCursorPosition = (referenceLength) => {\n if (inputRef.current && newReferenceCreated) {\n inputRef.current.focus();\n inputRef.current.setSelectionRange(\n mentionSymbolPosition + referenceLength,\n mentionSymbolPosition + referenceLength,\n );\n }\n };\n\n useEffect(() => {\n setCursorPosition(currentReference.length);\n setNewReferenceCreated(false);\n }, [currentReference, newReferenceCreated]);\n\n const inputProps = {\n name,\n placeholder,\n error,\n noMargin: !withGutter,\n inputStyle,\n value: inputValue,\n onChange: handleInputChange,\n onKeyDown: (event) => {\n keyboardNavigation(\n event,\n dropdownIsOpen,\n currentItemIndex,\n setCurrentItemIndex,\n currentItemRef,\n listRef,\n onInputKeyDown,\n );\n },\n onBlur,\n ref: inputRef,\n noAutocomplete,\n };\n\n if (readOnly) {\n inputProps.onClick = onClick;\n inputProps.readOnly = true;\n inputProps.autocomplete = 'off';\n inputProps.inputStyle = {\n ...inputStyle,\n cursor: 'pointer',\n paddingRight: '35px',\n };\n }\n\n return (\n <>\n {dropdownIsOpen && (\n \n )}\n \n );\n});\n\nMentions.propTypes = {\n name: PropTypes.string,\n defaultValue: PropTypes.string,\n placeholder: PropTypes.string,\n onValueChange: PropTypes.func,\n onInputChange: PropTypes.func,\n onInputKeyDown: PropTypes.func,\n onReference: PropTypes.func,\n error: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.bool,\n ]),\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.string,\n title: PropTypes.string,\n referencePrefix: PropTypes.string,\n loadList: PropTypes.func,\n }),\n ).isRequired,\n inputStyle: PropTypes.object,\n listStyle: PropTypes.object,\n withGutter: PropTypes.bool,\n customInput: PropTypes.bool,\n isOpen: PropTypes.bool,\n noTrailingSpace: PropTypes.bool,\n noAutocomplete: PropTypes.bool,\n readOnly: PropTypes.bool,\n optionsListRef: PropTypes.object,\n listItemIndex: PropTypes.number,\n};\n\nexport const MentionsInput = withPopper(Mentions);\n","import React from 'react';\nimport Popper from '@mui/material/Popper';\n\nexport default function withPopper(Component) {\n return (props) => {\n const open = Boolean(props.anchorEl);\n\n if (props.anchorEl) {\n return (\n \n \n \n );\n } else {\n return ;\n }\n };\n}\n","export const keyboardNavigation = (\n event,\n listIsOpen,\n currentItemIndex,\n setCurrentItemIndex,\n currentItemRef,\n listRef,\n onInputKeyDown,\n) => {\n if (listIsOpen) {\n switch (event.key) {\n case 'Enter':\n event.preventDefault();\n setCurrentItemIndex(0);\n if (currentItemRef.current && listRef.current) {\n currentItemRef.current.click();\n listRef.current.children[1].scrollIntoView(false);\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (listRef.current) {\n if (currentItemIndex === 0) {\n setCurrentItemIndex(listRef.current.children.length - 2);\n listRef.current.children[\n listRef.current.children.length - 1\n ].scrollIntoView(false);\n } else {\n setCurrentItemIndex(currentItemIndex - 1);\n currentItemRef.current.scrollIntoView(false);\n }\n }\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (listRef.current) {\n if (currentItemIndex === listRef.current.children.length - 2) {\n setCurrentItemIndex(0);\n listRef.current.children[1].scrollIntoView(false);\n } else {\n setCurrentItemIndex(currentItemIndex + 1);\n listRef.current.children[currentItemIndex + 2].scrollIntoView(\n false,\n );\n }\n }\n break;\n default:\n return;\n }\n } else if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n};\n","import React, { useState, useCallback, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Transforms, Editor } from 'slate';\nimport { Slate } from 'slate-react';\nimport { MentionsInput } from '../../../MentionsInput';\nimport { keyboardNavigation } from '../../../MentionsInput/keyboardNavigation';\nimport Leaf from '../Leaf';\nimport Element from '../Element';\nimport { insertMention } from '../Mention';\nimport { elementsToText, buildSlateElements, getAnchorElement, prevCharIs } from '../utils';\nimport FormulaPicker from '../../../FormulaPicker';\n\nfunction EditableMentionsElement(props) {\n const {\n experienceId,\n placeholder,\n steps,\n name,\n error,\n initialValue,\n valueToInsert,\n onValueChange,\n onReferenceType,\n editor,\n render,\n autoFocus,\n noTrailingSpace,\n extendKeyBoardNavigation,\n } = props;\n\n const [elements, setElements] = useState(buildSlateElements(initialValue));\n const [mentionsIsOpen, setMentionsIsOpen] = useState(false);\n const [mentionsItemIndex, setMentionsItemIndex] = useState(0);\n const [formulasAnchorEl, setFormulasAnchorEl] = React.useState(null);\n const renderElement = useCallback((props) => {\n return ;\n }, []);\n const renderLeaf = useCallback((props) => , []);\n const mentionsItemRef = useRef(null);\n const mentionsListRef = useRef(null);\n\n useEffect(() => {\n if (autoFocus) {\n Transforms.select(editor, {\n anchor: Editor.end(editor, []),\n focus: Editor.end(editor, []),\n });\n }\n }, []);\n\n useEffect(() => {\n if (elements) {\n onValueChange(elementsToText(elements), elements);\n }\n\n editor.children = elements;\n }, [elements]);\n\n useEffect(() => {\n if (valueToInsert) {\n const value = typeof(valueToInsert) === 'string' ? valueToInsert : elementsToText(valueToInsert);\n Transforms.insertText(editor, value, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n }\n }, [valueToInsert]);\n\n const handleValueChange = (elements) => {\n if (editor.selection) {\n if (prevCharIs(editor, '[')) {\n setMentionsItemIndex(0);\n setMentionsIsOpen(true);\n } else if (prevCharIs(editor, '=')) {\n const anchorEl = getAnchorElement(editor);\n setFormulasAnchorEl(anchorEl);\n } else {\n setMentionsIsOpen(false);\n setFormulasAnchorEl(null);\n }\n }\n\n setElements(elements);\n };\n\n const insertReference = async (reference, type) => {\n insertMention(editor, reference, noTrailingSpace);\n if (onReferenceType) {\n onReferenceType(type);\n }\n };\n\n const handleKeyDown = (event) => {\n keyboardNavigation(\n event,\n mentionsIsOpen,\n mentionsItemIndex,\n setMentionsItemIndex,\n mentionsItemRef,\n mentionsListRef,\n extendKeyBoardNavigation,\n );\n };\n\n return (\n <>\n \n {render(renderElement, renderLeaf, handleKeyDown)}\n \n \n \n \n );\n}\n\nEditableMentionsElement.propTypes = {\n defaultTitleElements: PropTypes.string,\n};\n\nexport default EditableMentionsElement;\n","import React, { useMemo, useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createEditor, Editor, Transforms } from 'slate';\nimport { withReact } from 'slate-react';\nimport { withHistory } from 'slate-history';\nimport { Input } from './style';\nimport { withMention } from '../Mention';\nimport { withSingleLine } from '../utils';\nimport EditableMentionsElement from '../EditableMentionsElement';\nimport ErrorMessage from '../../../shared/ErrorMessage';\nimport { Container } from './style';\nimport HoveringToolbar from '../HoveringToolbar';\nimport { withLinks } from '../../../BlockForm/components/TitleSection/components/LinksButton/utils';\n\nfunction EditableMentionsInput(props) {\n const {\n placeholder,\n inputStyles,\n name,\n error,\n initialValue,\n withHiddenInput,\n onValueChange,\n onKeyDown,\n dataTestId,\n autoFocus,\n multirows,\n label,\n customizable,\n containerPosition = 'relative',\n } = props;\n const [value, setValue] = useState(initialValue);\n const portalRef = useRef(null);\n\n useEffect(() => {\n if (autoFocus) {\n Transforms.select(editor, {\n anchor: Editor.end(editor, []),\n focus: Editor.end(editor, []),\n });\n }\n }, []);\n\n const handleValueChange = (value, elements) => {\n setValue(value);\n if (onValueChange) {\n onValueChange(value, elements);\n }\n };\n\n const editor = useMemo(\n () =>\n withMention(\n withLinks(withSingleLine(withHistory(withReact(createEditor())))),\n ),\n [],\n );\n\n return (\n \n (\n <>\n {\n handleKeyDown(e);\n if (onKeyDown) {\n onKeyDown(e);\n }\n }}\n placeholder={placeholder}\n spellCheck={false}\n style={inputStyles}\n name={name}\n autoFocus={autoFocus}\n multirows={multirows?.toString()}\n label={label}\n />\n {customizable && }\n \n )}\n />\n {withHiddenInput && (\n \n )}\n {error && }\n \n );\n}\n\nEditableMentionsInput.propTypes = {\n defaultTitleElements: PropTypes.string,\n};\n\nexport default EditableMentionsInput;\n","import React from 'react';\nimport { useSlate, useFocused } from 'slate-react';\nimport { Editor, Range } from 'slate';\nimport Portal from '@mui/material/Portal';\nimport Stack from '@mui/material/Stack';\nimport Box from '@mui/material/Box';\nimport MarkButton from '../../../BlockForm/components/TitleSection/components/MarkButton';\nimport { Divider } from '../../../BlockForm/components/TitleSection/components/ButtonsContainer/style';\nimport HighlightPicker from '../../../BlockForm/components/TitleSection/components/HighlightPicker';\nimport ColorPicker from '../../../BlockForm/components/TitleSection/components/ColorPicker';\nimport BlockButton from '../../../BlockForm/components/TitleSection/components/BlockButton';\nimport LetterSettings from '../../../BlockForm/components/TitleSection/components/LetterSettings';\nimport LinksButton from '../../../BlockForm/components/TitleSection/components/LinksButton';\nimport Select from '../../../BlockForm/components/TitleSection/components/Select';\nimport { getMobileOS } from '../../../../utils';\nimport ParagraphButton from '../../../BlockForm/components/TitleSection/components/ParagraphButton';\nimport BlockContext, {\n FONT_WEIGHT_MENU_ITEMS,\n} from '../../../../contexts/BlockContext';\nimport useHorizontalScroll from '../../../hooks/useHorizontalScroll';\n\nfunction HoveringToolbar({ portalRef }) {\n const [show, setShow] = React.useState(false);\n const [popoverIsOpen, setPopoverIsOpen] = React.useState(false);\n const [\n { fontsList, fontsSelectItems, fontWeightsSelectItems, paletteColors },\n setBlockState,\n ] = React.useContext(BlockContext);\n const editor = useSlate();\n const inFocus = useFocused();\n const {\n scrollContainerRef,\n handleScroll,\n isAtStart,\n isAtEnd,\n } = useHorizontalScroll();\n\n React.useEffect(() => {\n const { selection } = editor;\n\n if (popoverIsOpen) {\n setShow(true);\n return;\n }\n if (\n !selection ||\n !inFocus ||\n Range.isCollapsed(selection) ||\n Editor.string(editor, selection) === ''\n ) {\n setShow(false);\n } else {\n setShow(true);\n }\n });\n\n const topPosition = React.useMemo(\n () => (getMobileOS() === 'Android' ? '48px' : '-42px'),\n [],\n );\n\n const handleFontFamilyChange = (value) => {\n setBlockState((prevState) => ({\n ...prevState,\n fontWeightsSelectItems: FONT_WEIGHT_MENU_ITEMS.map((item) => ({\n ...item,\n disabled: !fontsList\n .find((f) => f.font_family === value)\n ?.font_weights?.includes(item.value),\n })),\n }));\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default HoveringToolbar;\n","import styled from 'styled-components';\nimport { Editable } from 'slate-react';\n\nexport const Textarea = styled(Editable)`\n display: block;\n overflow: auto;\n resize: vertical;\n background: var(--background-primary);\n color: var(--font-color-primary);\nborder: 1px solid var(--border-color-primary);\n padding: 0.5rem 15px;\n border-radius: 8px;\n height: auto;\n min-height: 200px !important;\n width: 100%;\n margin: 0px;\n box-sizing: border-box;\n line-height: 1;\n`;\n","import React, { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { createEditor } from 'slate';\nimport { withReact } from 'slate-react';\nimport { withHistory } from 'slate-history';\nimport { Textarea } from './style';\nimport { withMention } from '../Mention';\nimport EditableMentionsElement from '../EditableMentionsElement';\n\nfunction EditableMentionsTextarea(props) {\n const { placeholder, inputStyles, name } = props;\n const [value, setValue] = useState('');\n\n const handleValueChange = (value) => {\n setValue(value);\n };\n\n const editor = useMemo(\n () => withMention(withHistory(withReact(createEditor()))),\n [],\n );\n\n return (\n <>\n (\n \n )}\n />\n \n \n );\n}\n\nEditableMentionsTextarea.propTypes = {\n defaultTitleElements: PropTypes.string,\n};\n\nexport default EditableMentionsTextarea;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Editable, ReactEditor } from 'slate-react';\nimport DragIcon from '../../../icons/DragIcon';\nimport { InputWrapper, StyledErrorMessage, InputPrefixInline } from '../../../inputs/Input/style';\nimport HoveringToolbar from '../HoveringToolbar';\n\nconst Input = styled(Editable)`\n display: block;\n width: 100%;\n max-width: 100%;\n background: var(--white);\n color: var(--font-color-secondary);\n border: 1px solid var(--border-color-primary);\n border-left: none;\n padding: 0.5rem 15px;\n border-radius: 0px 8px 8px 0px;\n height: 32px;\n margin: 0px;\n box-sizing: content-box;\n line-height: 2;\n cursor: text;\n overflow: hidden;\n flex-grow: 0;\n white-space: pre !important;\n\n & span.MuiChip-root {\n margin: 0;\n }\n`;\n\nfunction DraggableInput({ editor, noMargin, isDraggingOver, ...props }) {\n const portalRef = React.useRef(null);\n\n React.useEffect(() => {\n if (isDraggingOver) {\n ReactEditor.blur(editor);\n }\n }, [isDraggingOver]);\n\n return (\n
\n \n \n \n \n \n \n {props.error ? (\n {props.error}\n ) : null}\n \n
\n );\n};\n\nexport default DraggableInput;\n","import React, { useMemo, useState } from 'react';\nimport { createEditor } from 'slate';\nimport { withReact } from 'slate-react';\nimport { withHistory } from 'slate-history';\nimport { withMention } from '../Mention';\nimport { withSingleLine } from '../utils';\nimport EditableMentionsElement from '../EditableMentionsElement';\nimport DraggableInput from '../DraggableInput';\nimport ErrorMessage from '../../../shared/ErrorMessage';\nimport {\n slateToHtml,\n slateToElements,\n} from '../../../BlockForm/components/TitleSection/utils';\nimport { withLinks } from '../../../BlockForm/components/TitleSection/components/LinksButton/utils';\n\nfunction EditableDraggableMentionsInput(props) {\n const {\n placeholder,\n inputStyles,\n error,\n index,\n dataTarget,\n onChange,\n dataTestId,\n optionRichTextId,\n optionName,\n renderHiddenInputs,\n isDraggingOver,\n } = props;\n const [value, setValue] = useState({ text: '', elements: '', html: '' });\n\n const handleValueChange = (textValue, elements) => {\n const htmlValue = slateToHtml(elements);\n const elementsValue = JSON.stringify(slateToElements(elements));\n setValue({ text: textValue, html: htmlValue, elements: elementsValue });\n onChange(textValue, elementsValue, htmlValue);\n };\n\n const editor = useMemo(\n () => withMention(withLinks(withSingleLine(withHistory(withReact(createEditor()))))),\n [],\n );\n\n return (\n
\n (\n {\n handleKeyDown(e);\n props.onKeyDown(e);\n }}\n placeholder={placeholder}\n spellCheck={false}\n style={inputStyles}\n autoFocus\n data-target={dataTarget}\n isDraggingOver={isDraggingOver}\n />\n )}\n />\n {renderHiddenInputs && (\n <>\n {optionRichTextId && (\n \n )}\n \n \n \n \n )}\n {error && }\n
\n );\n}\n\nexport default EditableDraggableMentionsInput;\n","import styled from 'styled-components';\nimport { Editable } from 'slate-react';\nimport { Search } from 'react-feather';\n\nexport const SearchIcon = styled(Search)`\n position: absolute;\n top: 50%;\n right: 12px;\n transform: translateY(-50%);\n color: #727278;\n opacity: 0.6;\n cursor: pointer;\n`;\n\nexport const Input = styled(Editable)`\n display: block;\n background: #fff;\n color: black;\n padding: 0.5rem 15px;\n padding-right: 35px;\n border-radius: 8px;\n border-width: 0px;\n min-heigth: 48px;\n margin: 0px;\n box-sizing: border-box;\n line-height: 2;\n cursor: pointer;\n\n & span.MuiChip-root, p, h1, h2, h3, h4 {\n margin: 0;\n }\n`;\n","import _countBy from 'lodash/countBy';\nimport _findIndex from 'lodash/findIndex';\nimport { Transforms, Node } from 'slate';\nimport { nanoid } from 'nanoid';\nimport { insertMention } from '../Mention';\n\nexport function buildSlateElements(string) {\n const children = string.split(/({{.*?}})/g).map((text) => {\n if (text.match(/{{.*}}/)) {\n return {\n mentionId: nanoid(),\n type: 'mention',\n children: [{ text: '' }],\n reference: text,\n\n };\n } else {\n return {text};\n }\n });\n\n\n return [{\n type: 'paragraph',\n children,\n }];\n};\n\nfunction elementToText(node) {\n if (!node.type) {\n return '';\n }\n\n const childrens = elementsToText(node.children);\n\n switch (node.type) {\n case 'mention':\n return node.reference;\n default:\n return childrens;\n }\n};\n\nexport function elementsToText(nodes) {\n return nodes.map(elementToText).join('');\n}\n\nexport function updateMention(editor, reference, noTrailingSpace) {\n try {\n const at = [0, 1];\n const el = Node.get(editor, at);\n if (el.type === 'mention') {\n Transforms.delete(editor, {at});\n }\n } catch {}\n\n insertMention(editor, reference, noTrailingSpace);\n}\n\nexport function withSingleLine(editor) {\n const { normalizeNode } = editor;\n\n editor.normalizeNode = ([node, path]) => {\n if (path.length === 0) {\n if (editor.children.length > 1) {\n Transforms.mergeNodes(editor);\n }\n }\n\n return normalizeNode([node, path]);\n };\n\n return editor;\n}\n\nexport function withReadOnly(editor) {\n editor.insertText = () => {};\n\n return editor;\n}\n","import React, {\n useState,\n useMemo,\n useCallback,\n useRef,\n useEffect,\n} from 'react';\nimport { Transforms, createEditor } from 'slate';\nimport { Slate, withReact } from 'slate-react';\nimport { Input, SearchIcon } from './style';\nimport { MentionsInput } from '../../../MentionsInput';\nimport { keyboardNavigation } from '../../../MentionsInput/keyboardNavigation';\nimport Leaf from '../Leaf';\nimport Element from '../Element';\nimport { withMention } from '../Mention';\nimport {\n updateMention,\n withReadOnly,\n elementsToText,\n buildSlateElements,\n} from './utils';\nimport { StyledErrorMessage } from '../../../inputs/Input/style';\n\nfunction EditableReadOnlyMentionsInput(props) {\n const {\n experienceId,\n placeholder,\n steps,\n name,\n error,\n initialValue,\n inputProps,\n containerStyle,\n onValueChange,\n dataTestId,\n } = props;\n\n const [elements, setElements] = useState(\n buildSlateElements(initialValue || ''),\n );\n const [value, setValue] = useState(initialValue);\n const editor = useMemo(\n () => withMention(withReadOnly(withReact(createEditor()))),\n [],\n );\n const [mentionsIsOpen, setMentionsIsOpen] = useState(false);\n const [mentionsItemIndex, setMentionsItemIndex] = useState(0);\n const renderElement = useCallback((props) => {\n return ;\n }, []);\n const renderLeaf = useCallback((props) => , []);\n const mentionsItemRef = useRef(null);\n const mentionsListRef = useRef(null);\n\n useEffect(() => {\n if (elements) {\n const value = elementsToText(elements);\n setValue(value === ' ' ? '' : value);\n }\n }, [elements]);\n\n useEffect(() => {\n if (onValueChange) {\n onValueChange(value);\n }\n }, [value]);\n\n const insertReference = async (reference) => {\n updateMention(editor, reference, true);\n setMentionsIsOpen(false);\n };\n\n const handleKeyDown = (event) => {\n keyboardNavigation(\n event,\n mentionsIsOpen,\n mentionsItemIndex,\n setMentionsItemIndex,\n mentionsItemRef,\n mentionsListRef,\n );\n };\n\n const openMentions = () => {\n Transforms.select(editor, { offset: 0, path: [0, 0] });\n setMentionsIsOpen(true);\n };\n\n const handleCloseDropdown = () => {\n setMentionsIsOpen(false);\n setMentionsItemIndex(0);\n };\n\n return (\n \n setElements(elements)}\n >\n \n \n \n \n \n {error && {error}}\n \n );\n}\n\nexport default EditableReadOnlyMentionsInput;\n","import RailsRanger from 'rails-ranger';\nimport useWorkspace from './hooks/useWorkspace';\n\nconst config = {\n axios: {\n baseURL: '/api/v1',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n },\n },\n};\n\nconst axiosInstance = new RailsRanger(config);\n\n\n// NOTE: we wrap response interceptors into a function so we can pass history\n// object from the component and use it for smooth redirects instead\n// of window.location.replace()\n// If we will not use global redirects here during long time so it could be\n// used without a function. (Vova)\nexport const setupInterceptors = (history) => {\n axiosInstance.client.interceptors.response.use(\n (response) => {\n return response;\n },\n (error) => {\n // Order of handlers is important!\n //\n // Response errors\n if (error.response) {\n const { status } = error.response;\n\n if (status === 403) {\n history.push('/not-found');\n\n return Promise.reject(new Error('Not Authorized'));\n }\n\n if (status === 404) {\n history.push('/not-found');\n\n return Promise.reject(new Error('Not Found'));\n }\n\n return Promise.reject(error);\n }\n\n // Request errors e.g.: No Network Connection\n if (error.request) {\n return Promise.reject(error);\n }\n\n // Other errors\n return Promise.reject(new Error('Something went wrong'));\n },\n );\n};\n\naxiosInstance.client.interceptors.request.use((request) => {\n const workspaceId = useWorkspace();\n\n if (workspaceId) {\n request.headers['Workspace-Id'] = workspaceId;\n }\n\n return request;\n});\n\nexport default axiosInstance;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport MUICheckbox, { checkboxClasses } from '@mui/material/Checkbox';\nimport Box from '@mui/material/Box';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nconst iconStyles = {\n border: '1px solid var(--border-color-primary)',\n borderRadius: '4px',\n width: 20,\n height: 20,\n backgroundColor: 'var(--white)',\n opacity: 0.7,\n 'input:hover ~ &': {\n opacity: 0.8,\n },\n 'input:disabled ~ &': {\n background: 'var(--disabled-input-background)',\n },\n};\n\nconst checkedIconStyles = {\n ...iconStyles,\n backgroundColor: 'var(--white)',\n opacity: 1,\n position: 'relative',\n '&:after': {\n display: 'block',\n position: 'absolute',\n content: '\"\"',\n left: '10px',\n top: '5px',\n width: '2px',\n height: '9px',\n backgroundColor: 'var(--primary-color)',\n transform: 'rotate(49deg) scale(1.2)',\n },\n '&:before': {\n display: 'block',\n position: 'absolute',\n content: '\"\"',\n left: '5px',\n top: '9px',\n width: '2px',\n height: '5px',\n backgroundColor: 'var(--primary-color)',\n transform: 'rotate(-47deg) scale(1.2)',\n },\n 'input:hover ~ &': {\n opacity: 1,\n },\n 'input:disabled ~ &': {\n '&:before': {\n backgroundColor: 'var(--disabled-input-color)',\n },\n '&:after': {\n backgroundColor: 'var(--disabled-input-color)',\n },\n },\n};\n\nfunction Checkbox(props) {\n const [isChecked, setIsChecked] = useState(false);\n\n useEffect(() => {\n setIsChecked(props.checkedByDefault);\n }, [props.checkedByDefault]);\n\n const handleChange = (e) => {\n setIsChecked(e.target.checked);\n };\n\n return (\n
\n }\n icon={}\n />\n }\n label={props.label}\n />\n {props.withInput && (\n
\n );\n}\n\nCheckbox.propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n name: PropTypes.string,\n disabled: PropTypes.bool,\n withInput: PropTypes.bool,\n checkedByDefault: PropTypes.bool.isRequired,\n onChange: PropTypes.func,\n};\n\nexport default Checkbox;\n","import styled from 'styled-components';\n\nexport const InnerWrapper = styled.div`\n margin-bottom: 1rem;\n`;\n\nexport const FlexWrapper = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding-top: 1rem;\n margin-bottom: 1rem;\n border-top: 1px solid var(--border-color-primary);\n cursor: pointer;\n\n & svg {\n stroke: var(--font-color-secondary);\n }\n`;\n\nexport const LabelWrapper = styled.div`\n font-weight: 500;\n font-size: 1rem;\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\nimport { ChevronDown, ChevronUp } from 'react-feather';\nimport { InnerWrapper, FlexWrapper, LabelWrapper } from './style';\n\nfunction ExpansionPanel({ children, name, title, isDefaultOpen, onChange, ...rest }) {\n const [cookies, setCookie] = useCookies([name]);\n const [isOpen, setIsOpen] = useState(\n isDefaultOpen || cookies[name] === 'true',\n );\n const isPersistable = name !== undefined;\n\n const persistChanges = (nextState) => {\n if (nextState) {\n setCookie(name, 'true', { path: '/' });\n } else {\n // This method does not work in browser (Chrome 86+, Firefox)\n // removeCookie(name);\n\n // Use this as workaround for removing cookie\n setCookie(name, 'false', { path: '/' });\n }\n };\n\n const handleChange = () => {\n const newState = !isOpen;\n\n if (isPersistable) {\n persistChanges(newState);\n }\n\n if (onChange) {\n onChange();\n }\n\n setIsOpen(newState);\n };\n\n return (\n <>\n \n {title}\n {isOpen ? : }\n \n {isOpen && {children}}\n \n );\n}\n\nExpansionPanel.propTypes = {\n title: PropTypes.string.isRequired,\n name: PropTypes.string,\n children: PropTypes.node,\n isDefaultOpen: PropTypes.bool,\n};\n\nexport default ExpansionPanel;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n @media (max-width: 599px) {\n padding-bottom: 3rem;\n }\n`;\n\nexport const Subtitle = styled.div`\n margin-bottom: 16px;\n font-weight: 500;\n`;\n\nexport const ErrorMessageWrapper = styled.div`\n position: absolute;\n right: 5px;\n top: -13px;\n`;\n\nexport const textareaStyle = {\n borderBottomRightRadius: '8px',\n borderBottomLeftRadius: '8px',\n minHeight: '200px',\n};\n","import _snakeCase from 'lodash/snakeCase';\nimport { nanoid } from 'nanoid';\n\nconst camelKeysToSnake = (object) => {\n return Object.entries(object).reduce((accObj, entries) => {\n return {\n ...accObj,\n [_snakeCase(entries[0])]: entries[1],\n // Should have unique key in case of id absence\n nanoid: nanoid(),\n };\n }, {});\n};\n\nexport const buildInitialConditions = (arr) => (\n arr.data.map(({ attributes }) => camelKeysToSnake(attributes))\n);\n","export const stringOperators = [\n { label: 'equals', value: 'equals' },\n { label: 'does not equal', value: 'does_not_equal' },\n { label: 'contains', value: 'contains' },\n { label: 'does not contain', value: 'does_not_contain' },\n { label: 'starts with', value: 'starts_with' },\n { label: 'ends with', value: 'ends_with' },\n { label: 'is empty', value: 'is_empty' },\n { label: 'is not empty', value: 'is_not_empty' },\n];\n\nexport const numberOperators = [\n { label: '=', value: '=' },\n { label: '≠', value: '≠' },\n { label: '>', value: '>' },\n { label: '<', value: '<' },\n { label: '>=', value: '>=' },\n { label: '<=', value: '<=' },\n { label: 'is empty', value: 'is_empty' },\n { label: 'is not empty', value: 'is_not_empty' },\n];\n\nexport const dateOperators = [\n { label: 'is', value: 'is' },\n { label: 'is after', value: 'is_after' },\n { label: 'is before', value: 'is_before' },\n { label: 'is on or after', value: 'is_on_or_after' },\n { label: 'is on or before', value: 'is_on_or_before' },\n { label: 'is empty', value: 'is_empty' },\n { label: 'is not empty', value: 'is_not_empty' },\n];\n\nexport const getOperatorFromReferenceType = (type) => {\n switch (type) {\n case 'integer':\n case 'money':\n return numberOperators[0].value;\n case 'date':\n return dateOperators[0].value;\n default:\n return stringOperators[0].value;\n }\n};\n\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport { EditableMentionsInput } from '../../../../../SlateElements';\nimport Select from '../../../Select';\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';\nimport { Label } from '../../../../../globals';\nimport { DropdownMenu } from '../../../../../DropdownMenu';\nimport DatePicker from '../DatePicker';\nimport {\n stringOperators,\n numberOperators,\n dateOperators,\n getOperatorFromReferenceType,\n} from './utils';\n\nexport default function Condition({\n label,\n ruleIndex,\n conditionIndex,\n experienceId,\n mentionSteps,\n conditionAttributes,\n onChange,\n onKeyDown,\n errors,\n}) {\n if (conditionAttributes._destroy) {\n return ;\n }\n\n const [referenceType, setReferenceType] = React.useState(\n conditionAttributes.data_type,\n );\n const [selectedDate, setSelectedDate] = React.useState();\n\n const handleConditionChange = (value, attr) => {\n onChange((prev) =>\n prev.map((t, i) => {\n if (i === ruleIndex) {\n return {\n ...prev[i],\n conditions_attributes: prev[i].conditions_attributes.map(\n (condition, i) => {\n if (i === conditionIndex) {\n return {\n ...condition,\n [attr]: value,\n data_type: referenceType,\n };\n } else {\n return condition;\n }\n },\n ),\n };\n } else {\n return t;\n }\n }),\n );\n };\n\n const handleDelete = () => {\n onChange((prev) =>\n prev.map((t, i) => {\n if (i === ruleIndex) {\n return {\n ...prev[i],\n conditions_attributes: conditionAttributes.id\n ? prev[i].conditions_attributes.map((condition, i) => {\n if (i === conditionIndex) {\n return {\n ...condition,\n _destroy: true,\n };\n } else {\n return condition;\n }\n })\n : prev[i].conditions_attributes.filter(\n (_c, i) => i !== conditionIndex,\n ),\n };\n } else {\n return t;\n }\n }),\n );\n };\n\n const operators = React.useMemo(() => {\n switch (referenceType) {\n case 'integer':\n case 'money':\n return numberOperators;\n case 'date':\n return dateOperators;\n\n default:\n return stringOperators;\n }\n }, [referenceType]);\n\n const handleReferenceType = (value) => {\n setReferenceType(value || 'string');\n if (value !== referenceType) {\n handleConditionChange(getOperatorFromReferenceType(value), 'operator');\n }\n };\n\n const handleDatePick = (date) => {\n handleConditionChange(date.toLocaleDateString('en-US'), 'second_value');\n setSelectedDate(date.toLocaleDateString('en-US'));\n };\n\n return (\n \n \n \n {conditionIndex > 0 && (\n \n ,\n },\n ]}\n triggerButton={}\n onSelection={handleDelete}\n disablePortal\n />\n \n )}\n \n handleConditionChange(value, 'first_value')}\n extendKeyBoardNavigation={onKeyDown}\n onReferenceType={handleReferenceType}\n error={errors && errors.first_value}\n noTrailingSpace\n />\n \n \n \n o.value === conditionAttributes.operator,\n )}\n onChange={(operator) =>\n handleConditionChange(operator.value, 'operator')\n }\n name=\"condition_operator\"\n id=\"\"\n />\n \n \n \n {!['is_empty', 'is_not_empty'].includes(\n conditionAttributes.operator,\n ) && (\n <>\n \n handleConditionChange(value, 'second_value')\n }\n extendKeyBoardNavigation={onKeyDown}\n error={errors && errors.second_value}\n noTrailingSpace\n />\n {referenceType === 'date' && (\n \n )}\n \n )}\n \n \n \n );\n}\n","import React from 'react';\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { DesktopDatePicker } from '@mui/x-date-pickers/DesktopDatePicker';\nimport Box from '@mui/material/Box';\nimport { styles } from '../../../../../inputs/DateSelector/style';\n\nexport default function DatePicker({ selectedDate, onChange }) {\n return (\n \n {\n return (\n \n \n {params.InputProps?.endAdornment}\n \n );\n }}\n PaperProps={{ sx: styles.paper }}\n />\n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactSelect, { components } from 'react-select';\nimport styled from 'styled-components';\nimport { Input } from '../../../inputs/Input';\nimport MentionTitle from '../../../MentionTitle';\n\nconst RedirectInput = styled(Input)`\n border-top-right-radius: 0px;\n border-top-left-radius: 0px;\n margin-top: -7px;\n`;\n\nconst OptionWithReferencesTags = ({ children, ...props }) => {\n return (\n \n \n \n );\n};\n\nconst SingleValueWithReferencesTags = ({ children, ...props }) => {\n return (\n \n \n \n );\n};\n\nconst prefix = ({ startLabel }) => ({\n ':before': {\n color: '#BDBDBD',\n content: startLabel && `\"${startLabel}\"`,\n marginRight: '8px',\n },\n});\n\nconst selectStyles = {\n indicatorSeparator: (styles) => ({\n ...styles,\n width: '0px',\n }),\n control: (styles, state) => ({\n ...styles,\n borderWidth: '1px',\n borderRadius: '8px',\n boxShadow: 'none',\n cursor: 'pointer',\n paddingLeft: '5px',\n fontWeight: 500,\n borderBottomRightRadius: state.selectProps.flattenBorder\n ? '0'\n : '8px',\n borderBottomLeftRadius: state.selectProps.flattenBorder\n ? '0'\n : '8px',\n\n ':hover': {\n borderWidth: '1px',\n },\n\n ':active': {\n borderWidth: '1px',\n },\n\n input: {\n margin: '0',\n padding: '5px',\n },\n }),\n menu: (styles) => ({\n ...styles,\n color: '#000',\n backgroundColor: 'rgba(255, 255, 255, 1)',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.15)',\n marginTop: '1px',\n zIndex: 2,\n }),\n option: (styles, { isDisabled, isFocused, isSelected }) => ({\n ...styles,\n cursor: 'pointer',\n color: isDisabled ? '#ccc' : isSelected ? '#fff' : isFocused ? '000' : null,\n ':active': {\n color: '#000',\n },\n ':selected': {\n color: '#fff',\n },\n ':focused': {\n color: '#fff',\n },\n }),\n input: (styles, { selectProps }) => ({ ...styles, ...prefix(selectProps) }),\n placeholder: (styles, { selectProps }) => ({ ...styles, ...prefix(selectProps) }),\n singleValue: (styles, { selectProps }) => ({ ...styles, ...prefix(selectProps) }),\n};\n\nfunction Select({\n id,\n name,\n options,\n startLabel,\n defaultValue,\n onChange,\n flattenBorder,\n}) {\n return (\n (\n option.label === optionsArray[0].label\n )}\n isSearchable={false}\n closeMenuOnSelect={true}\n defaultMenuIsOpen={false}\n onChange={onChange}\n classNamePrefix=\"select\"\n styles={selectStyles}\n flattenBorder={flattenBorder}\n />\n );\n}\n\nSelect.propTypes = {\n options: PropTypes.array.isRequired,\n defaultValue: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n classNamePrefix: PropTypes.string,\n styles: PropTypes.object,\n flattenBorder: PropTypes.bool,\n};\n\nexport default Select;\nexport { RedirectInput };\n","import styled from 'styled-components';\n\nexport const Label = styled.label`\n color: ${props => props.color ? props.color : 'var(--font-color-primary--light)'};\n text-transform: uppercase;\n font-weight: 500;\n font-size: 12px;\n margin: ${props => props.noMargin ? 0 : '0 0 5px 0'};\n\n && {\n background-color: inherit;\n letter-spacing: 1px;\n padding: 0;\n cursor: initial;\n }\n`;\n\nexport const SubLabel = styled(Label)`\n color: var(--font-color-secondary--light);\n`;\n\nexport const RadioLabel = styled(Label)`\n text-transform: none;\n font-size: 1rem;\n cursor: pointer;\n letter-spacing: 0px;\n`;\n\nexport const Hint = styled.div`\n font-weight: 500;\n font-size: 0.75rem;\n line-height: 1rem;\n margin-bottom: 0.75rem;\n`;\n\nexport const Fieldset = styled.fieldset`\n background-color: transparent;\n border: 0;\n margin: 1rem 0;\n padding: 0;\n`;\n\nexport const FieldsetContainer = styled.div`\n background-color: transparent;\n border: 0;\n margin: 1rem 0;\n padding: 0;\n`;\n\nexport const Legend = styled.legend`\n font-size: 0.8rem;\n font-weight: 600;\n letter-spacing: 1px;\n margin: 0 0 5px 0;\n padding: 0.5rem 0 0;\n text-transform: uppercase;\n color: var(--font-color-primary--light);\n`;\n\nexport const Textarea = styled.textarea`\n background-color: var(--white);\n border: 1px solid var(--border-color-primary);\n margin: 0;\n min-height: 82px;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n\n &:focus {\n background-color: var(--white);\n }\n`;\n\nexport const FormSection = styled.div`\n position: relative;\n background-color: ${(props) =>\n props.backgroundColor\n ? props.backgroundColor\n : 'var(--surface-background)'};\n border: 1px solid var(--border-color-primary);\n padding: 1rem;\n border-radius: 8px;\n text-align: left;\n`;\n\nexport const FormField = styled.div`\n margin: 0.5rem 0 1rem 0;\n width: 100%;\n`;\n\nexport const FormSubsection = styled.div`\n margin-top: 12px;\n padding-left: 24px;\n`;\n\nexport const FormSectionDescription = styled.div`\n font-weight: 500;\n font-size: 12px;\n margin: 0.5rem 0 1rem 0;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n margin: ${(props) => (props.margin ? props.margin : 0)};\n`;\n\nexport const FlexSpaceBetween = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const FlexRowSpaceBetween = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: flex-end;\n margin: ${(props) => (props.margin ? props.margin : 0)};\n`;\n\nexport const FlexCol = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: stretch;\n`;\n\nexport const FlexCentered = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const HLine = styled.hr`\n width: 100%;\n border-top-style: solid;\n border-top-width: ${(props) => (props.width ? props.width : '1px')};\n border-top-color: ${(props) => (props.color ? props.color : '$white')};\n border-bottom-width: 0;\n`;\n\nexport const ErrorMessageFloat = styled.span`\n border-radius: 5px;\n text-align: center;\n color: var(--white);\n background-color: var(--error);\n font-size: 12px;\n padding: 5px 12px;\n position: relative;\n float: right;\n z-index: 5;\n`;\n\nexport const ErrorMessage = styled.div`\n border-radius: 5px;\n text-align: center;\n background-color: var(--error);\n color: var(--white);\n font-size: 12px;\n padding: 3px 9px;\n`;\n\nexport const SubmitButton = styled.input``;\n\nexport const Code = styled.code`\n background-color: var(--code-background);\n padding: 1px 2px 2px;\n color: var(--code-color);\n`;\n","import { useMemo } from 'react';\nimport { useTranslation } from '../../i18n';\nimport { getExperiencesList, getBlocksList, getMergeFields } from '../api';\n\nconst buildMentionSteps = (t) => [\n {\n type: 'experiences',\n title: t('mentions.expTitle'),\n referencePrefix: 'experience_',\n loadList: getExperiencesList,\n },\n {\n type: 'blocks',\n title: 'Blocks',\n referencePrefix: 'block_',\n loadList: getBlocksList,\n },\n {\n type: 'merge_fields',\n title: 'Block merge fields',\n referencePrefix: '',\n loadList: getMergeFields,\n },\n];\n\nfunction useBuildMentionsSteps({ translationsKeyPrefix }) {\n const { t } = useTranslation('translation', {\n keyPrefix: translationsKeyPrefix,\n });\n\n const mentionSteps = useMemo(() => buildMentionSteps(t), [t]);\n\n return mentionSteps;\n}\n\nexport default useBuildMentionsSteps;\n","import React from 'react';\nimport { CustomPicker } from 'react-color';\nimport Box from '@mui/material/Box';\nimport { Swatch } from 'react-color/lib/components/common';\nimport ColorInput from '../ColorInput';\nimport AlphaInput from '../AlphaInput';\n\nfunction ColorOpacityInput(props) {\n const { color, handleOpenColorPicker, withAlpha } = props;\n\n return (\n \n \n \n {withAlpha && }\n \n );\n}\n\nexport default CustomPicker(ColorOpacityInput);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Popover from '@mui/material/Popover';\nimport ReactColorPicker from '../../BlockForm/components/ReactColorPicker';\nimport ColorOpacityPicker from '../../BlockForm/components/ReactColorPicker/components/ColorOpacityPicker';\n\nfunction ColorPickerInput({\n color,\n onChange,\n onChangeComplete,\n onColorPick,\n withAlpha,\n withoutColorsBar,\n paletteColors,\n}) {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n const handleClick = (_, event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleColorPick = (colorObj) => {\n if (onColorPick) {\n onColorPick(colorObj);\n } else {\n onChangeComplete(colorObj.color);\n }\n };\n\n return (\n <>\n \n \n \n \n \n );\n}\n\nColorPickerInput.propTypes = {\n color: PropTypes.string,\n withAlpha: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onChangeComplete: PropTypes.func,\n};\n\nexport default ColorPickerInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactModal from 'react-modal';\n\nimport {\n StyledTitle,\n InnerContentWrapper,\n ButtonsWrapper,\n StyledButton,\n} from './style';\n\nconst getDefaultStyles = (theme, style = {}) => {\n return {\n overlay: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'var(--modal-overlay-color)',\n zIndex: 10,\n },\n content: {\n borderRadius: '8px',\n borderWidth: '0px',\n color: theme === 'dark' ? 'var(--font-color-primary)' : 'var(--font-color-secondary--middle)',\n backgroundColor: theme === 'dark' ? 'var(--background-secondary)' : 'var(--white)',\n fontWeight: '500',\n lineHeight: '24px',\n padding: '0',\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-48%',\n transform: 'translate(-50%, -50%)',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.25)',\n minWidth: '280px',\n maxWidth: `${style.maxWidth ? style.maxWidth : '380px'}`,\n },\n };\n};\n\nconst renderContent = (content) => {\n switch (typeof content) {\n case 'object':\n return
{content}
;\n case 'string':\n return
;\n }\n};\n\nconst Modal = ({\n isOpen,\n title,\n content,\n buttons,\n hideModal,\n customStyles,\n theme,\n style,\n}) => {\n return (\n \n \n {title}\n {renderContent(content)}\n \n {buttons && (\n \n {buttons.map((button, index) => {\n return (\n \n {button.title}\n \n );\n })}\n \n )}\n \n );\n};\n\nModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n content: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n buttons: PropTypes.array,\n hideModal: PropTypes.func,\n curtomStyles: PropTypes.shape({}),\n style: PropTypes.shape({}),\n theme: PropTypes.string,\n};\n\nexport default Modal;\n","import styled from 'styled-components';\n\nexport const StyledTitle = styled.div`\n color: var(--font-color-secondary);\n font-weight: 500;\n font-size: 1.5rem;\n margin-bottom: 1rem;\n line-height: 2rem;\n`;\n\nexport const InnerContentWrapper = styled.div`\n padding: 1rem 1rem 1.5rem;\n`;\n\nexport const ButtonsWrapper = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const StyledButton = styled.button`\n color: ${(props) => (props.primary ? 'var(--white)' : 'var(--font-color-secondary--middle)')};\n display: flex;\n border-radius: 0;\n margin: 0;\n justify-content: center;\n\n && {\n background-color: ${(props) =>\n props.primary ? 'var(--primary-color)' : 'var(--button-background)'};\n }\n\n &&:hover {\n color: ${(props) => (props.primary ? 'var(--white)' : 'var(--font-color-secondary--middle)')};\n background-color: ${(props) =>\n props.primary\n ? 'var(--primary-color-darken)'\n : 'var(--button-background--hover)'};\n }\n`;\n","import React from 'react';\nimport Select, { components } from 'react-select';\nimport { ErrorMessageWrapper } from '../experiences/events/EditActionForm/style';\nimport { ErrorMessage } from '../globals';\n\nconst selectStyles = {\n container: (styles) => ({\n ...styles,\n }),\n control: (styles, state) => ({\n ...styles,\n borderWidth: '0',\n backgroundColor: 'var(--white)',\n border: '1px solid var(--border-color-primary)',\n borderRadius: '8px',\n boxShadow: 'none',\n cursor: 'pointer',\n paddingLeft: '5px',\n fontWeight: 500,\n marginBottom: state.selectProps.noMargin ? 0 : '5px',\n ':hover': {\n borderColor: 'var(--border-color-primary--hover)',\n },\n ':active': {\n borderColor: 'var(--border-color-primary--active)',\n },\n ':focus': {\n borderColor: 'var(--border-color-primary--active)',\n },\n input: {\n margin: '0',\n padding: '5px',\n ':focus': {\n boxShadow: 'none',\n },\n },\n }),\n indicatorSeparator: (styles) => ({\n ...styles,\n width: '0px',\n }),\n dropdownIndicator: (styles, state) => ({\n ...styles,\n color: state.isDisabled\n ? 'var(--disabled-input-color)'\n : 'var(--font-color-secondary)',\n }),\n menu: (styles) => ({\n ...styles,\n color: 'var(--font-color-secondary--dark)',\n cursor: 'pointer',\n overflow: 'hidden',\n borderRadius: '8px',\n backgroundColor: 'var(--white)',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.15)',\n marginTop: '1px',\n zIndex: 10,\n }),\n option: (styles, state) => {\n return {\n ...styles,\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n backgroundColor: state.isFocused || state.isSelected\n ? 'var(--option-background--selected)'\n : 'var(--option-background)',\n color: state.isDisabled\n ? 'var(--disabled-input-color)'\n : 'var(--font-color-secondary--dark)',\n ':hover': {\n backgroundColor: 'var(--option-background--selected)',\n },\n };\n },\n singleValue: (styles, state) => ({\n ...styles,\n color: state.isDisabled\n ? 'var(--disabled-input-color)'\n : 'var(--font-color-secondary--dark)',\n }),\n placeholder: (styles) => ({\n ...styles,\n color: 'var(--font-color-secondary--light)',\n fontWeight: 400,\n }),\n};\n\nconst iconWrapperStyles = {\n height: '25px',\n marginRight: '12px',\n};\n\nconst { Option } = components;\nconst IconOption = (props) => (\n \n);\n\nfunction SimpleSelect(props) {\n return (\n
\n \n {props.error && (\n \n {props.error}\n \n )}\n
\n );\n}\n\nexport default SimpleSelect;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Icon = ({ src, className, inline, ref, ...other }) =>\n // Vova: unset max-width: none; for img tag\n // because on MultiSelectOptionButton icon hidden\n // when text overflowed is active and max-width: 100%;\n inline ? (\n \n ) : (\n
\n \n
\n );\n\nIcon.propTypes = {\n src: PropTypes.string,\n className: PropTypes.string,\n inline: PropTypes.bool,\n};\n\nIcon.defaultProps = {\n inline: false,\n};\n\nexport default Icon;\n","import styled from 'styled-components';\n\nexport const SwitchWrapper = styled.span`\n margin-left: auto;\n`;\n\nexport const SwitchTitle = styled.div`\n font-size: 1rem;\n font-weight: 500;\n`;\n\nexport const SwitchSubtitle = styled.div`\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n color: $font-color-primary;\n margin-bottom: 1rem;\n`;\n\nexport const SwitchWithTitleWrapper = styled.div`\n align-items: center;\n display: flex;\n padding-top: 1rem;\n border-top: ${(props) =>\n props.noborder ? 'unset' : '1px solid #333'};\n margin-bottom: 1rem;\n`;\n","import React from 'react';\nimport MUISwitch, { switchClasses } from '@mui/material/Switch';\n\nimport { SwitchWithTitleWrapper, SwitchTitle, SwitchWrapper, SwitchSubtitle } from './style';\n\nfunction Switch(props) {\n return (\n \n );\n}\n\nexport const SwitchWithTitle = (props) => {\n return (\n <>\n \n {props.title}\n \n \n \n \n {props.subtitle && {props.subtitle}}\n {props.checked && props.children}\n \n );\n};\n\nexport default Switch;\n","import styled from 'styled-components';\n\nexport const OptionsWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n`;\n\nexport const Option = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const OptionLabel = styled.label`\n width: 6.5rem;\n height: 6.5rem;\n display: block;\n border-radius: 10px;\n padding: 2px;\n box-sizing: border-box;\n margin-right: 16px;\n background: ${(props) => props.background || 'unset'};\n border: ${(props) =>\n props.active\n ? '3px solid var(--primary-color)'\n : '3px solid var(--border-color-primary)'};\n opacity: ${(props) => (props.active ? '1' : '0.8')};\n cursor: pointer;\n\n @media (hover: hover) {\n &:hover {\n opacity: 1;\n transition: transform 0.2s ease;\n }\n }\n`;\n\nexport const LabelText = styled.p`\n width: 6.5rem;\n text-align: center;\n font-weight: 500;\n font-size: 12px;\n line-height: 16px;\n`;\n\nexport const OptionIcon = styled.div`\n background: ${(props) =>\n props.background ? `url(${props.background})` : 'unset'};\n display: block;\n border-radius: 6px;\n width: 100%;\n height: 100%;\n\n & svg {\n max-width: 100%;\n max-height: 100%;\n }\n`;\n\nexport const HiddenRadioButton = styled.input`\n display: none;\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Icon from '../shared/Icon';\nimport {\n OptionsWrapper,\n OptionLabel,\n Option,\n OptionIcon,\n LabelText,\n HiddenRadioButton,\n} from './style';\n\nfunction TilesSelector({ options, defaultValue, onChange, tileBackground }) {\n const [value, setValue] = useState(defaultValue);\n\n const isActive = (nextValue) => value === nextValue;\n\n const handleChange = (nextValue) => () => {\n setValue(nextValue);\n\n if (onChange) {\n onChange(nextValue);\n }\n };\n\n const prepIdentifier = (name, index) => `${name.replace(/\\s/g, '')}_${index}`;\n\n const renderOption = (\n { value, name, icon, IconComponent, testId, label, labelBackground },\n index,\n ) => (\n \n );\n\n return {options.map(renderOption)};\n}\n\nTilesSelector.propTypes = {\n defaultValue: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n tileBackground: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n icon: PropTypes.string,\n IconComponent: PropTypes.func,\n label: PropTypes.string.isRequired,\n }),\n ),\n};\n\nexport default TilesSelector;\n","import React, { useState } from 'react';\nimport { GOAL_AND_METRICS_DEFAULT_VALUES } from '../constants';\n\nconst GoalAndMetricContext = React.createContext();\n\nGoalAndMetricContext.displayName = 'Goal And Metric Context';\n\nexport function Context({ children }) {\n const fakeAmounts = {\n submissionAmount: 0,\n raiseAmountByBlock: 0,\n raiseAmountByExperience: 0,\n raiseAmountByAsker: 0,\n goal: 'submission_amount',\n };\n const initialState = { ...GOAL_AND_METRICS_DEFAULT_VALUES, ...fakeAmounts };\n\n const dataState = useState(initialState);\n\n return (\n \n {children}\n \n );\n}\n\nexport default GoalAndMetricContext;\n","import i18n from 'i18next';\nimport _capitalize from 'lodash/capitalize';\nimport pluralize from 'pluralize';\nimport {\n getI18n,\n initReactI18next,\n useTranslation,\n withTranslation,\n} from 'react-i18next';\n\nconst companyName = gon.companyName;\nconst entity = gon.entityName;\nconst entityPlural = pluralize.plural(entity);\nconst entityCapitalized = _capitalize(entity);\nconst entityCapitalizedPlural = _capitalize(entityPlural);\n\nconst resources = {\n en: {\n translation: {\n companyName,\n entity,\n entityCapitalized,\n entityPlural,\n entityCapitalizedPlural,\n UrlParamsSection: {\n caption:\n 'Add the URL parameters that you want to track for each response. They will show up in your $t(entity) export',\n },\n KeywordsSection: {\n caption:\n 'Automatically respond to incoming texts with this $t(entityCapitalized) by creating one or more keyword triggers.',\n },\n TextbotPage: {\n subtitle:\n 'Allow responders to interact with your $t(entityPlural) via SMS text.',\n },\n EmbedSection: {\n embedType: {\n html: {\n script: {\n title: '1. Copy & paste code before tag',\n },\n basic: {\n title: '2. HTML form code',\n hint:\n 'Add the following code on the page you want your $t(entityCapitalized) to be displayed. The form submissions will be automatically synced with your account.',\n },\n webflow: {\n title: '2.1 Webflow page code',\n hint:\n 'Add the code into the Webflow page designer. The form submissions will be automatically synced with your account.',\n },\n },\n },\n widgetType: {\n basic: {\n description:\n 'Works for most cases. If your website uses AJAX page loading such as React, Ember, Angular, MeteorJS, Turbolinks, or Squarespace, you will need to use the Single-Page Apps Code method.',\n title: 'Copy & paste code into the page ',\n hint:\n 'Copy and paste this code snippet in the body of each page that you want this $t(entityCapitalized) to appear.',\n },\n spa: {\n description:\n 'Use this method if your website uses AJAX page loading such as React, Ember, Angular, MeteorJS. This also applies to Squarespace websites.',\n head: {\n title: '1. COPY & PASTE code BEFORE TAG',\n hint:\n 'Paste this into your global site header. If your website has multiple headers, paste this code in the header of every page that you want a button to be shown.',\n },\n body: {\n title: '2. COPY & PASTE code INTO THE PAGE ',\n hint:\n 'Copy and paste this code snippet in the body of each page that you want this $t(entityCapitalized) to appear.',\n },\n },\n },\n dimensionsHint:\n 'We will calculate the optimal height for your embedded $t(entityCapitalized). If you want to override, simply change the height value in the code below.',\n settingsHint:\n 'Activate to have embedded $t(entityCapitalized) goals only display progress from each specific embed. This only applies to block and $t(entity) wide goals.',\n loadingSpinnerHint:\n 'Activate to show animated spinner while embedded $t(entityCapitalized) is loading on the page.',\n codeHint:\n 'This is the code for your $t(entityCapitalized) and will appear on the page that you include this snippet.',\n },\n LightboxSection: {\n dimensionsHint:\n 'Standard makes all of your blocks a fixed size and presents your $t(entity) like on a mobile device. Dynamic sizing will adjust the embed frame based on the size of your content.',\n layoutHint:\n 'Responsive lightboxes adjust based on the device width. Fixed lightboxes have static width and height with mobile dimensions.',\n },\n NewExperienceDropdown: {\n buttonText: '+ New $t(entityCapitalized)',\n },\n EventCard: {\n experienceCompletionLabel: '$t(entityCapitalized) Completion',\n paymentCompletionLabel: 'New Payment',\n paymentFailedLabel: 'Payment Failed',\n actionFailedLabel: 'Action Failed',\n },\n EditActionForm: {\n emailLabel: 'Send an email',\n textbotLabel: 'Send $t(entityCapitalized) via SMS',\n cancelReccuringLabel: 'Cancel subscription',\n hubspotLabel: 'Sync with HubSpot form',\n },\n HubspotActionForm: {\n mapFieldsLabel:\n 'Map $t(entityCapitalized) fields to HubSpot properties',\n },\n ActionCard: {\n emailLabel: 'Send an email',\n textbotLabel: 'Send $t(entityCapitalized) via SMS',\n cancelReccuringLabel: 'Cancel subscription',\n hubspotLabel: 'Sync with HubSpot form',\n TextbotActionForm: {\n targerExperienceLabel: '$t(entityCapitalized) to send',\n targerExperiencePlaceholder: 'Choose an $t(entity)',\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n },\n MentionsInput: {\n OptionsList: {\n expTitle: '$t(entityCapitalized) Title',\n expMeta: '$t(entityCapitalized) Metadata',\n expUrl: '$t(entityCapitalized) URL',\n subtitle: 'This $t(entityCapitalized)',\n },\n expTitle: '$t(entityCapitalizedPlural)',\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n GoalSection: {\n RaiseAmountForm: {\n descriptionText:\n 'Choose to display an individual goal that only this block contributes to, or a cumulative, account-wide goal that all $t(entityCapitalizedPlural) contribute to.',\n goalOptions: {\n blockLabel: 'This block',\n experienceLabel: 'This $t(entity)',\n askerLabel: 'This account',\n variantLabel: 'This $t(entity) variant',\n },\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n SubmissionAmountForm: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n OtherAmountForm: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n },\n MetricSection: {\n blockLabel: 'Amount raised by this block',\n experienceLabel: 'Amount raised by this $t(entity)',\n askerLabel: 'Amount raised by account',\n variantLabel: 'Amount raised by this $t(entity) variant',\n MetricItem: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n MetricItemOther: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n },\n TitleSection: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n BackgroundLayout: {\n hint:\n 'Use media uploaded from other $t(entity) responses as unique backgrounds of this $t(entity). If no media exists, your chosen background will be used as a fallback.',\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n TransitionButton: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n EditableExperienceTitle: {\n placeholderText: 'Give your $t(entityCapitalized) a name...',\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n HideBrandingSection: {\n switchTitle: 'Hide $t(companyName) branding',\n },\n MultipleChoiceSection: {\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n ExperienceList: {\n FilterDropdown: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n ArchiveFormModal: {\n title: 'Confirm Archive',\n content:\n 'Are you sure you want to archive this $t(entity)?

When archived, this $t(entity) will stop accepting responses and your response data will be inaccesible.',\n },\n ArchiveFormDropdownItem: {\n text: 'Archive $t(entityCapitalized)',\n },\n HideFormliModal: {\n title: 'Hide $t(entityCapitalized)',\n variantTitle: 'Hide Variant',\n content: 'Responses will no longer be collected when set to ‘Hide’.',\n hideVariants: 'Hide all ({{amount}}) variants',\n },\n ShowFormliModal: {\n title: 'Show $t(entityCapitalized)',\n variantTitle: 'Show Variant',\n content: 'Resume collecting responses when set to ‘Show’.',\n showVariants: 'Show all ({{amount}}) variants',\n },\n ExportsModal: {\n export: 'Export',\n exportToCSV: 'export responses to csv',\n exportToGoogleSheets: 'export responses to google sheets',\n explanation:\n 'Copy this code and paste it into the top cell of your Google Sheet. New data will automatically update in this sheet every hour.',\n download: 'Download CSV',\n copy: 'Copy',\n },\n ResetViewModal: {\n title: 'Reset dashboard?',\n content: 'This will reset your dashboard to the default state.',\n },\n DeleteFolderModal: {\n errorMessage:\n 'Please remove all $t(entityPlural) from your folder before deleting it.',\n },\n PaymentSection: {\n description: 'Use your existing paypal account to collect payments.',\n mentions: {\n expTitle: '$t(entityCapitalizedPlural)',\n },\n },\n WorkspacesPage: {\n subtitle:\n 'Choose a workspace to view and interact with your $t(entityPlural)',\n },\n WorkspaceSettings: {\n Branding: {\n addressSubtitle:\n 'This address will be used in your email and $t(entity) templates.',\n },\n Integrations: {\n subtitle:\n 'Connect your $t(entity) to your favorite apps and create workflows that work for you.',\n },\n Fonts: {\n subtitle:\n 'Upload your custom fonts to create $t(entityPlural) that fit your brand.',\n },\n },\n FormsList: {\n EmptyCard: {\n subtitle:\n 'Create your first $t(entityCapitalized) to start using our platform!',\n },\n },\n StripeIntegrationForm: {\n text:\n '$t(entityCapitalized) uses Stripe to get you paid quickly and keep your personal and payment information secure. Thousands of companies around the world trust Stripe to process payments for their users. Express Accounts are the fastest and easiest way to sign up, get paid, and manage your transactions. Standard Accounts feature a fuller dashboard, more user controls, and provides a single account that can be shared across platforms.',\n },\n },\n },\n};\n\ni18n.use(initReactI18next).init({\n resources,\n lng: 'en',\n interpolation: {\n escapeValue: false,\n },\n});\n\nexport default i18n;\nexport { getI18n, useTranslation, withTranslation };\n"],"names":["showErrorAlert","enqueueSnackbar","err","errorMessage","JSON","parse","message","errors","detail","_error","_isEmpty","variant","autoHideDuration","PreviewContainer","styled","generateDisclaimerPreviewText","text","url","textWithUrl","replace","match","prepareUrl","dangerouslySetInnerHTML","__html","defaultChecked","isChecked","defaultText","defaultLink","link","useState","checked","setChecked","setText","setLink","setBlockState","useContext","BlockContext","updateDisclaimer","property","value","prevState","disclaimer","useEffect","tocLabel","label","checkedByDefault","onChange","e","target","disclaimerChecked","withInput","name","Input","placeholder","error","mentionSteps","type","title","referencePrefix","loadList","getExperiencesList","getBlocksList","getMergeFields","buttonRef","onPopover","editor","useSlate","selection","setSelection","anchoreEl","setAnchoreEl","inputValue","setInputValue","setError","experienceId","ExperienceIdContext","handleOpen","useCallback","activeLink","currentTarget","handleClose","handleUnlink","preventDefault","unwrapLink","handleLink","insertLink","isUrl","open","Boolean","id","undefined","isActive","iconColor","handleClick","popover","buttonProps","ref","sx","color","fontSize","onClose","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","PaperProps","marginTop","marginLeft","borderRadius","overflow","steps","initialValue","onValueChange","autoFocus","noTrailingSpace","onClick","options","blockType","updateBlockAttributes","disabled","currentOption","find","isSearchable","classNamePrefix","setValueToStore","isDisabled","styleNames","CssStyleHiddenInputs","cssStyle","attributesName","styles","map","styleName","key","defaultValue","_camelCase","HiddenInputs","askLabel","richText","titleElements","titleHtml","children","isOpen","tooltipTitle","Box","display","justifyContent","alignItems","width","height","background","margin","cursor","popperStyle","textTransform","placement","borderSides","Icon","BorderOuter","borderTop","borderRight","borderBottom","borderLeft","BorderBottom","DoDisturb","initialStyles","handleSetBorderSides","useMuiPopover","handleItemClick","Popover","flexDirection","py","Typography","padding","backgroundColor","_isEqual","opacity","mr","borderWidth","initialWidth","handleSetBorderWidth","event","innerText","LineWeight","index","component","paddingTop","paddingBottom","length","textAlign","borderStyles","initialStyle","handleSetBorderStyle","style","LineStyle","borderStyle","shadows","roundElementStyle","RoundElement","shadow","boxShadow","initialShadow","handleSetBoxShadow","Tonality","Divider","flexItem","Block","ElementIcon","marginRight","border","initialRadius","handleSetBorderRadius","radiusValues","ROUNDED_CORNERS","roundedCornersValue","SQUARED_CORNERS","radius","PanoramaFishEye","ColorPopover","handleChange","handleChangeComplete","handleColorPick","paletteColors","ReactColorPicker","onChangeComplete","resetColor","withAlpha","getInitialColor","includes","c","Color","initialColor","React","setColor","rgbaObjToString","rgbaString","colorObj","valuesMapper","focus","rotate","InputWithAdornments","unitValue","orientation","TextField","pl","pr","WebkitAppearance","InputProps","p","startAdornment","Expand","transform","endAdornment","FormControl","minWidth","Select","MenuItem","hiddenLabel","getNumber","getUnit","unit","Spacing","values","valueWithUnit","inputs","mb","noMargin","Stack","spacing","SET_BACKGROUND_COLOR","SET_COLOR","SET_BORDER_COLOR","SET_BORDER_SIDES","SET_BORDER_WIDTH","SET_BORDER_STYLE","SET_BOX_SHADOW","SET_BORDER_RADIUS","SET_SPACING","SET_STYLES","multipleChoiceInitialState","borderColor","initialState","dataField","paymentOption","multipleChoice","multipleChoice_withMultiSelection","submissionButton","blockPrompt","feeDisclaimer","backButton","forwardButton","state","action","payload","isHover","handleSave","useReducer","reducer","dispatch","stylesDifference","useMemo","difference","Object","handleSetSpacing","FormatPaintOutlined","FormatColorFillIcon","FormatColorTextIcon","BorderColorOutlinedIcon","ExpandIcon","paddingRight","MarginIcon","hidden","multiIsChecked","blockState","initialValues","useHover","bind","useBuildMentionsSteps","translationsKeyPrefix","DEFAULT_ASK_LABELS","valueToInsert","position","dataTestId","elements","stringify","slateToHtml","customizable","top","right","DEFAULT_UGC_TYPES","testId","ugcTypes","updateUgcTypes","newUgcTypes","filter","ugc_types","item","StyledDisabledSelect","StyledSelect","currency","CURRENCY_SIGN_MAP","DonationInputWrapper","RightButtonWrapper","InputsWrapper","LeftPadding","props","inline","ErrorMessage","TooltipIconWrapper","CheckboxTooltipIconWrapper","ErrorWrapper","CheckboxContainer","option","onStylesChange","addOptionItem","onDelete","withDeleteButton","withoutInputNames","dataTarget","isDraggingOver","isNewRecord","deleted","renderHiddenInputs","optionRichTextId","optionName","textValue","elementsValue","htmlValue","onKeyDown","updatedItem","tabIndex","transformOptions","optionsByAsk","hint","optionsList","otherIsChecked","withoutMultiSelect","withoutCheckboxes","onOptionsChange","initOption","draggableId","nanoid","optionItems","setOptionItems","lastItem","newOptionItem","addNewInput","handleOptionsChange","items","multipleChoiceOptions","updateOptionField","newItems","updateOptionFieldStyles","onDragEnd","result","destination","list","startIndex","endIndex","Array","from","removed","splice","reorder","source","droppableId","provided","snapshot","droppableProps","innerRef","draggableProps","left","zIndex","dragHandleProps","indexForDelete","_item","removeInput","renderNewItemButton","multipleChoiceOther","multipleChoiceMultiSelect","ButtonsWrapper","ActionButton","StyledButton","primary","InputWithDatePicker","selectedDate","setSelectedDate","DatePicker","date","dateString","toLocaleDateString","buildOptions","noneOption","preparedMcOptions","MentionTitle","countries","COUNTRIES_FOR_SELECT","o","DefaultSelectInput","setOptions","handleTypeChange","selectTypes","DefaultValue","defaultValueSwitcherDisabled","toString","noborder","getBooleanFromString","StyledRadioButton","sizeSmall","Radio","px","bgcolor","disableRipple","RadioButtonGroup","selectedValue","buttons","gap","direction","ariaLabel","icon","checkedIcon","inputProps","radioButtons","Check","Close","RouteOutlined","emptyCondition","first_value","second_value","operator","data_type","ShowFieldSection","showConditions","conditions_attributes","conditions","setConditions","pt","fontWeight","ml","conditionsWithId","_destroy","condition","i","Condition","conditionIndex","ruleIndex","conditionAttributes","withHiddenInput","show_condition","size","newCondition","prev","PaymentsOutlined","LooksOneOutlined","CheckBoxOutlined","UploadFile","DrawOutlined","currencyOptions","defaultDataField","required","checkboxHidden","setIsActive","onSave","initialDataField","setDataField","setMultipleChoiceOptions","handleDataFieldChange","marginBottom","buildDefaultRichObject","multirows","mt","pb","_isNull","trimmedTitle","trim","newDataField","Container","LabelWrapper","isHidden","Circle","DropdownWrapper","menuItems","labelDataTestid","DataField","creationFormIsActive","setCreationFormIsActive","modalIsOpen","setModalIsOpen","hideModal","modalButtons","stopPropagation","dataset","testid","DragIcon","fill","renderIcon","VisibilityOffOutlined","DropdownMenu","triggerButton","onSelection","disablePortal","content","DragAndDropDataFields","dataFields","setDataFields","updateDataField","newDataFields","field","deleteDataField","dataFieldIndex","conditionSelected","multipleChoiceIndex","Fragment","renderHiddenFields","data_fields","serializedErrors","Disclaimer","toc_label","lastDataField","payment_option_id","destroy","onSaveStyles","onKeyPress","EditableMentionsInput","IconWrapper","defaultDonationOptions","updateDefaultDonationType","defaultFrequency","defaultDonationType","disableFocusListener","disableTouchListener","kind","setValues","defaultValues","percentageValue","setPercentageValue","minValue","setMinValue","maxValue","setMaxValue","supportsCreditCardFees","setSupportsCreditCardFees","supportsDebitCardFees","setSupportsDebitCardFees","supportsPrepaidCardFees","setSupportsPrepaidCardFees","supportsUnknownCardFees","setSupportsUnknownCardFees","feesEnabled","setFeesEnabled","disclaimerText","setDisclaimerText","Modal","maxWidth","min","bottom","methodIsEnabled","getDefaultValue","attr","_isNumber","defaultDisclaimerRichText","blockId","reference","paymentMethod","feePercentage","defaultCardTypeFees","keys","payment_methods","PaymentOptionsSection","t","block","achDisabled","useModal","cardModalIsOpen","hideCardModal","showCardModal","showModal","achModalIsOpen","hideAchModal","showAchModal","paypalEnabled","setPaypalEnabled","achEnabled","setAchEnabled","cardEnabled","setCardEnabled","paypalEmail","setPaypalEmail","IconButton","SettingsOutlined","paymentMethods","m","paypal_email","addStyleToOption","currentIndex","amount","isEditPage","useTranslation","keyPrefix","stepsWithMoneyMergeFields","getDataFieldsByType","buildMentionSteps","paymentOptions","amountItems","setAmountItems","donationType","recurringPayment","setRecurringPayment","oneTimePayment","setOneTimePayment","setDonationType","politicalDonation","isPoliticalDonation","setIsPoliticalDonation","customDonation","setCustomDonation","subscriptionStartDate","setSubscriptionStartDate","parseISO","isValid","format","setInitialDateInputValue","startDateInputValue","setStartDateInputValue","activeItems","addAmountItem","newAmountItem","newFields","handleKeyPress","updateDonationStyles","updateDonationType","disableRequiredPoliticalDonationFields","DISABLED_POLITICAL_DATA_FIELDS_TYPES","indexForUpdate","updateDonationField","connectAccountCapabilities","us_bank_account_ach_payments","donation_type","Date","formatISO","isPolitical","DEFAULT_DONATION_DATA_FIELDS","DEFAULT_POLITICAL_DATA_FIELDS","concat","Slider","sliderClasses","APP_SETTINGS_PRIMARY_COLOR","APP_SETTINGS_PRIMARY_COLOR_TRANSPARENTIZED","fontFamily","valueLabelDisplay","marks","timeout","defaultTimeout","max","f","showCondition","data","buildInitialConditions","prevBlockType","usePrevious","updateDataFields","contentTimeout","renderSection","buttonId","handleCtaButtonChange","ctaButtons","button","legend","primaryColor","setCssStyle","ctaButtonStyle","ctaButton","buttonIndex","textInputs","settings","SUBMISSION_BUTTON_SETTINGS","showSection","show","setShow","noSwitcher","setNoSwitcher","setLegend","setTitle","ctaButtonSettingsChecked","currentFont","fontsSelectItems","font","goalState","updateGoalState","handleValueChange","attribute","submissionGoal","inputStyles","submissionGoalName","isDonation","raiseGoalType","handleRaiseGoalTypeChange","currencySymbol","showErrors","setShowErrors","unshift","selectedType","raiseGoal","raiseGoalName","otherGoal","otherGoalAmount","otherGoalName","OPTION_LABELS","submission_amount","raise_amount","other_amount","none","goals","goal","selectedGoal","setSelectedGoal","selectedOption","MetricItemWrapper","MetricItem","checkboxName","inputName","defaultInputValue","inputError","updateMetricState","stateCheckboxKey","stateInputKey","setIsChecked","listStyle","withGutter","renderContent","MetricItemOther","metricState","otherMetric","otherMetricAmount","otherMetricName","amountRaisedMetric","amountRaisedMetricName","amountRaisedByExperienceMetric","amountRaisedByExperienceMetricName","amountRaisedByAskerMetric","amountRaisedByAskerMetricName","amountRaisedByVariantMetric","amountRaisedByVariantMetricName","submissionsMetric","submissionsMetricName","askMetric","setMetricsState","GoalAndMetricContext","setValueFor","keyName","GOAL_AND_METRICS_DEFAULT_VALUES","setGoalState","setMetricState","setGoalType","raise_goal_type","setRaiseGoalType","metricsChecked","newValue","Textarea","Editable","linkButtonRef","defaultFont","fontsList","fontWeightsSelectItems","useHorizontalScroll","scrollContainerRef","handleScroll","isAtStart","isAtEnd","onScroll","leftGradient","rightGradient","FONT_WEIGHT_MENU_ITEMS","font_family","font_weights","ColorPicker","HighlightPicker","ParagraphButton","MarkButton","BlockButton","LinksButton","LetterSettings","INITIAL_VALUE","HOTKEYS","defaultTitleElements","withLinks","withDeleteEmptyBlock","withDeleteEmptyMark","withMention","withHistory","withReact","createEditor","setValue","debouncedValue","useDebounce","mentionsIsOpen","setMentionsIsOpen","mentionsItemIndex","setMentionsItemIndex","mentionsAnchorEl","setMentionsAnchorEl","formulasAnchorEl","setFormulasAnchorEl","renderElement","renderLeaf","useRef","mentionsItemRef","mentionsListRef","insertReference","_type","available_types","insertMention","slateToText","slateToElements","prevCharIs","getAnchorElement","titleSetting","hotkey","isHotkey","mark","toggleMark","current","mousedown","document","createEvent","initEvent","dispatchEvent","keyboardNavigation","spellCheck","MentionsInput","customInput","onReference","optionsListRef","listItemRef","listItemIndex","FormulaPicker","setAnchorEl","MergeMediaSubLabel","Label","defaultColor","blockStateAttribute","hiddenInputAttribute","updateBlockState","colorValue","backgroundSetting","updateColor","ColorPickerInput","onColorPick","MediaOptions","mediaHiddenOnMobile","hiddenOnMobile","setHiddenOnMobile","queryParams","block_type","FullScreenIcon","FitToSizeIcon","layoutValue","referenceMergeMedia","checkedValue","setCheckedValue","mediaColorOverlay","getCustomMergeFields","updateMediaLayout","backgroundLayout","container","input","MozAppearance","Grid","xs","_event","Number","onBlur","disableUnderline","step","SubmitButtonWrapper","HelperText","attachMedia","mediaIsUploading","setMediaIsUploading","setCurrentMediaUrl","setContentType","setFilename","directUploadUrl","inputFileRef","click","accept","file","files","URL","createObjectURL","DirectUpload","create","blob","signed_id","filename","content_type","ImageWrapper","Image","TextWrapper","previewUrl","removeMedia","fileName","contentType","src","SectionWrapper","defaultSignedId","mediaOpacity","signedId","setSignedId","currentFilename","setCurrentFilename","currentMediaUrl","mediaAttached","setMediaAttached","setOpacity","backgroundIsImage","backgroundIsVideo","propertyToUpdate","backgroundMediaImageUrl","backgroundMediaVideoSources","backgroundMediaIsImage","backgroundMediaIsVideo","updateOpacity","preparedValue","backgroundMediaOpacity","Math","trunc","backgroundColorOverlay","backgroundMediaSignedId","backgroundMediaFileName","backgroundMediaPreviewUrl","PrimaryButton","attrs","leftMargin","buttonWidth","setButtonWidth","setLeftMargin","debouncedButtonWidth","debouncedLeftMargin","settingsContainer","querySelector","blockListContainer","scrollWidth","offsetWidth","handleResize","window","addEventListener","removeEventListener","responsive","skippableChecked","ButtonHiddenInputs","enabled","setNavigationButtons","navigationButtons","b","CheckboxWithToolbar","DestroyHiddenInputs","showNavigationButtons","checkboxes","initialButtons","NavigationButtonsSection","GridContainer","GridItem","gridArea","InputWrapper","TBox","ERROR_MAX_VALUE_PROPERTY","ERROR_MIN_VALUE_PROPERTY","errorKeysMapper","fontSizeMin","fontSizeMax","updateContext","defaultErrors","inputValues","setInputValues","setErrors","handleMaxValueChange","ctxProperty","errorKey","validate","positionTop","positionRight","positionBottom","positionLeft","parseInt","AutofitIcon","HugContentIcon","ContentLayoutSection","contentLayout","flexWrap","my","contentVerticalAlignment","hugContentFontSize","inputStyle","hugContentMaxWidth","successMessage","ask_uuid","experience_uuid","workspaceId","block_id","blockTextColor","block_text_color","background_layout","reference_merge_media","cta_button_settings_checked","multiple_choice_other","multiple_choice_multi_select","multiple_choice_options","payment_options","default_donation_type","paypal_enabled","custom_donation","political_donation","content_timeout","metrics_checked","disclaimer_checked","skippable_checked","background_setting","title_setting","card_enabled","ach_enabled","subscription_start_date","blockAttributes","setBlockAttributes","useSnackbar","updateBlockStateContext","cta_buttons","ask_label","navigation_buttons","subscribeTo","newAttributes","base","Provider","className","method","noValidate","acceptCharset","disableHoverListener","setOpen","anchorRef","contains","handleListKeyDown","prevOpen","role","transition","TransitionProps","paper","onClickAway","menuList","autoFocusItem","menuItem","onMenuItemSelect","description","mustaches","fragmentStyles","getFragment","focusDistance","deleteBackward","Transforms","distance","reverse","ReactEditor","handleSelect","formattedTitle","split","slice","element","inputWithGutter","InnerWrapper","EmptyResultsText","METADATA_TITLE","usePreparedList","onComplete","onMetadataSelect","selectedItems","setSelectedItems","stepIndex","setStepIndex","currentList","setCurrentList","isLoaded","setIsLoaded","header","setHeader","then","sortedList","some","subTitle","sortExperiencesList","handleNextStep","nextStep","experienceMetadata","experienceMetadataList","preparedList","onSelect","selectedExperienceId","listItemStyles","whiteSpace","textOverflow","OptionsList","handleLastSelect","handleExperienceMetadataSelect","currentItemIndex","listRef","currentItemRef","setCurrentItemIndex","inputWidth","List","maxHeight","ListSubheader","minHeight","letterSpacing","lineHeight","itemIsSelected","ListItem","selected","onMouseEnter","onHover","ListItemText","secondary","CircularProgress","Component","onInputChange","onInputKeyDown","readOnly","noAutocomplete","onCloseDropdown","dropdownIsOpen","setDropdownIsOpen","mentionSymbolPosition","setMentionSymbolPosition","currentReference","setCurrentReference","newReferenceCreated","setNewReferenceCreated","inputRef","_isNil","handleOutsideClick","setMergeField","valueWithReference","referenceLength","setSelectionRange","selectionStart","autocomplete","test","referenceKeys","currentStep","skipFieldRender","join","mergeString","buildMetadataReference","clientWidth","Popper","listIsOpen","scrollIntoView","onReferenceType","render","extendKeyBoardNavigation","buildSlateElements","setElements","anchor","Editor","elementsToText","at","containerPosition","portalRef","withSingleLine","handleKeyDown","I","popoverIsOpen","setPopoverIsOpen","inFocus","useFocused","Range","topPosition","getMobileOS","overflowX","overflowY","EditableMentionsElement","HoveringToolbar","html","SearchIcon","Search","elementToText","node","childrens","nodes","updateMention","Node","containerStyle","mentionId","insertText","withReadOnly","Element","Leaf","openMentions","offset","path","axiosInstance","RailsRanger","axios","baseURL","headers","Accept","setupInterceptors","history","client","interceptors","response","use","status","push","Promise","reject","Error","request","useWorkspace","iconStyles","checkedIconStyles","control","checkboxClasses","FlexWrapper","isDefaultOpen","rest","useCookies","cookies","setCookie","setIsOpen","isPersistable","newState","Subtitle","ErrorMessageWrapper","textareaStyle","borderBottomRightRadius","borderBottomLeftRadius","arr","object","attributes","entries","reduce","accObj","_snakeCase","stringOperators","numberOperators","dateOperators","referenceType","setReferenceType","handleConditionChange","operators","DeleteOutline","MoreHoriz","_c","getOperatorFromReferenceType","dateAdapter","AdapterDateFns","renderInput","params","visibility","OptionWithReferencesTags","SingleValueWithReferencesTags","prefix","startLabel","selectStyles","indicatorSeparator","paddingLeft","selectProps","flattenBorder","menu","isFocused","isSelected","singleValue","components","Option","SingleValue","isOptionSelected","optionsArray","closeMenuOnSelect","defaultMenuIsOpen","SubLabel","Hint","Fieldset","FieldsetContainer","Legend","FormSection","FormField","FormSubsection","FormSectionDescription","FlexRow","FlexSpaceBetween","FlexRowSpaceBetween","FlexCol","HLine","ErrorMessageFloat","Code","CustomPicker","handleOpenColorPicker","hex","ColorInput","AlphaInput","withoutColorsBar","ColorOpacityPicker","_","getDefaultStyles","theme","overlay","customStyles","ariaHideApp","onRequestClose","StyledTitle","InnerContentWrapper","dropdownIndicator","iconWrapperStyles","IconOption","other","defaultProps","SwitchWrapper","SwitchTitle","SwitchSubtitle","SwitchWithTitleWrapper","Switch","switchClasses","SwitchWithTitle","subtitle","OptionsWrapper","OptionLabel","active","LabelText","OptionIcon","HiddenRadioButton","tileBackground","nextValue","prepIdentifier","IconComponent","labelBackground","htmlFor","Context","submissionAmount","raiseAmountByBlock","raiseAmountByExperience","raiseAmountByAsker","dataState","displayName","companyName","gon","entity","entityName","entityPlural","pluralize","resources","en","translation","entityCapitalized","_capitalize","entityCapitalizedPlural","UrlParamsSection","caption","KeywordsSection","TextbotPage","EmbedSection","embedType","script","basic","webflow","widgetType","spa","head","body","dimensionsHint","settingsHint","loadingSpinnerHint","codeHint","LightboxSection","layoutHint","NewExperienceDropdown","buttonText","EventCard","experienceCompletionLabel","paymentCompletionLabel","paymentFailedLabel","actionFailedLabel","EditActionForm","emailLabel","textbotLabel","cancelReccuringLabel","hubspotLabel","HubspotActionForm","mapFieldsLabel","ActionCard","TextbotActionForm","targerExperienceLabel","targerExperiencePlaceholder","mentions","expTitle","expMeta","expUrl","GoalSection","RaiseAmountForm","descriptionText","goalOptions","blockLabel","experienceLabel","askerLabel","variantLabel","SubmissionAmountForm","OtherAmountForm","MetricSection","TitleSection","BackgroundLayout","TransitionButton","EditableExperienceTitle","placeholderText","HideBrandingSection","switchTitle","MultipleChoiceSection","ExperienceList","FilterDropdown","ArchiveFormModal","ArchiveFormDropdownItem","HideFormliModal","variantTitle","hideVariants","ShowFormliModal","showVariants","ExportsModal","export","exportToCSV","exportToGoogleSheets","explanation","download","copy","ResetViewModal","DeleteFolderModal","PaymentSection","WorkspacesPage","WorkspaceSettings","Branding","addressSubtitle","Integrations","Fonts","FormsList","EmptyCard","StripeIntegrationForm","i18n","initReactI18next","init","lng","interpolation","escapeValue"],"sourceRoot":""}