{"version":3,"file":"static/chunks/5160.18d5db525a4f53f6.js","mappings":"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","sources":["webpack://_N_E/./src/components/common/InfoMessage/index.tsx","webpack://_N_E/./src/components/widget/Draft/index.tsx","webpack://_N_E/./src/store/modals/draft/index.ts","webpack://_N_E/./src/hooks/utils/useDraft.ts","webpack://_N_E/./src/components/common/InfoMessage/InfoMessage.module.scss","webpack://_N_E/./node_modules/@apollo/client/react/hooks/useReactiveVar.js"],"sourcesContent":["import { ReactNode } from 'react';\nimport cn from 'classnames';\nimport { UiTitle, UiIcon, UiText } from 'znanie-uikit';\n\nimport css from './InfoMessage.module.scss';\n\ninterface IProps {\n text: string;\n iconName?: TIconName;\n withoutIcon?: boolean;\n children?: ReactNode;\n}\n\ninterface IContent {\n children: ReactNode;\n}\n\ninterface IActions extends IContent {\n isSingleAction?: boolean;\n}\n\ntype TIconName = 'success' | 'warning' | 'question';\n\nexport default function InfoMessage({\n text,\n iconName = 'success',\n withoutIcon = false,\n children,\n}: IProps) {\n return (\n
\n {!withoutIcon && }\n \n {text}\n \n {children}\n
\n );\n}\n\nfunction Content({ children }: IContent) {\n return
{children}
;\n}\n\nfunction Description({ children }: IContent) {\n return (\n \n {children}\n \n );\n}\n\nfunction Actions({ children, isSingleAction }: IActions) {\n const styles = cn(css.actions, { [css.doubleActions]: !isSingleAction });\n return
{children}
;\n}\n\nInfoMessage.Content = Content;\nContent.Description = Description;\nContent.Actions = Actions;\n","import { UiButton, UiModal } from 'znanie-uikit';\n\nimport InfoMessage from 'components/common/InfoMessage';\n\nimport { useDraft } from 'hooks/utils/useDraft';\n\nexport default function Draft() {\n const { show, createDraft, closeDraft } = useDraft();\n\n return (\n \n \n \n \n \n Закрыть без сохранения\n \n \n Сохранить\n \n \n \n \n \n );\n}\n","import { IModal } from 'store/modals';\nimport { FormikValues } from 'formik';\nimport { makeVar } from '@apollo/client';\n\nexport interface IDraftModal extends IModal {\n key?: string;\n payload?: FormikValues;\n}\n\nexport const draftModalVar = makeVar({\n show: false,\n});\n","import { useReactiveVar } from '@apollo/client';\nimport { FormikValues } from 'formik';\nimport { notify } from 'znanie-uikit';\n\nimport { draftModalVar, IDraftModal } from 'store/modals/draft';\n\nexport interface IDraft {\n show: boolean;\n closeDraft: () => void;\n openAndPrepareDraft: (key: string, payload: FormikValues) => void;\n createDraft: () => void;\n getDraft: (key: string) => FormikValues | null;\n loadDraft: (key: string, callback: (draft: FormikValues) => void) => void;\n clearDraft: (key: string) => void;\n}\n\nexport const useDraft = (): IDraft => {\n const draftModal: IDraftModal = useReactiveVar(draftModalVar);\n const { key, payload, show } = draftModal;\n\n //Открываем модальное окно для сохранение черновика и пробрасываем туда сохраняемые поля формы\n const openAndPrepareDraft = (key: string, payload: FormikValues): void => {\n draftModalVar({\n show: true,\n ...{ key, payload },\n });\n };\n\n const closeDraft = () => draftModalVar({ show: false });\n\n //Запись объекта полей формы в сессию\n const createDraft = (): void => {\n if (key && payload) {\n sessionStorage.setItem(key, JSON.stringify(payload));\n notify('Черновик сохранен', { type: 'success' });\n }\n closeDraft();\n };\n\n //Получение значения полей из сессиии по названию компонента\n const getDraft = (key: string): FormikValues | null => {\n const data: string | null = sessionStorage.getItem(key);\n return data && JSON.parse(data) ? (JSON.parse(data) as FormikValues) : null;\n };\n\n //Получение значения полей из сессиии по названию компонента через callback-функцию, callback не вызовется, если ничего не сохранено\n const loadDraft = (\n key: string,\n callback: (draft: FormikValues) => void\n ): void => {\n const draft = getDraft(key);\n if (draft) callback(draft);\n };\n\n const clearDraft = (key: string): void => sessionStorage.removeItem(key);\n\n return {\n show,\n closeDraft,\n openAndPrepareDraft,\n createDraft,\n getDraft,\n loadDraft,\n clearDraft,\n };\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"InfoMessage_block__KlPJN\",\"title\":\"InfoMessage_title__Tr9CS\",\"withoutIcon\":\"InfoMessage_withoutIcon__Xh9a3\",\"content\":\"InfoMessage_content__J07g3\",\"description\":\"InfoMessage_description__Wu0q8\",\"actions\":\"InfoMessage_actions__mHpn5\",\"doubleActions\":\"InfoMessage_doubleActions__1U6i0\"};","import { useEffect, useState } from 'react';\nexport function useReactiveVar(rv) {\n var value = rv();\n var setValue = useState(value)[1];\n useEffect(function () {\n var probablySameValue = rv();\n if (value !== probablySameValue) {\n setValue(probablySameValue);\n }\n else {\n return rv.onNextChange(setValue);\n }\n }, [value]);\n return value;\n}\n//# sourceMappingURL=useReactiveVar.js.map"],"names":["InfoMessage","text","iconName","withoutIcon","children","div","className","css","UiIcon","name","width","height","UiTitle","cn","align","size","Content","Description","UiText","color","Actions","isSingleAction","styles","Draft","useDraft","show","createDraft","closeDraft","UiModal","isShowing","onClose","UiButton","variant","onClick","draftModalVar","makeVar","draftModal","useReactiveVar","key","payload","getDraft","data","sessionStorage","getItem","JSON","parse","openAndPrepareDraft","setItem","stringify","notify","type","loadDraft","callback","draft","clearDraft","removeItem","module","exports","rv","value","setValue","useState","useEffect","probablySameValue","onNextChange"],"sourceRoot":""}