{"version":3,"file":"DictionariesRecordContext.cjs","names":["useEditorStateManager"],"sources":["../../src/DictionariesRecordContext.tsx"],"sourcesContent":["'use client';\n\nimport type { DictionaryContent } from '@intlayer/editor';\nimport type { Dictionary } from '@intlayer/types/dictionary';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useEditorStateManager } from './EditorStateContext';\n\nexport type { DictionaryContent } from '@intlayer/editor';\n\ntype DictionariesRecordStatesContextType = {\n  localeDictionaries: DictionaryContent;\n};\ntype DictionariesRecordActionsContextType = {\n  setLocaleDictionaries: (value: DictionaryContent) => void;\n  setLocaleDictionary: (dictionary: Dictionary) => void;\n};\n\nexport const useDictionariesRecord = (): DictionariesRecordStatesContextType &\n  DictionariesRecordActionsContextType => {\n  const manager = useEditorStateManager();\n  const [localeDictionaries, setLocaleDictionariesState] =\n    useState<DictionaryContent>(manager?.localeDictionaries.value ?? {});\n\n  useEffect(() => {\n    if (!manager) return;\n\n    const handler = (e: Event) =>\n      setLocaleDictionariesState(\n        (e as CustomEvent<DictionaryContent>).detail ?? {}\n      );\n\n    manager.localeDictionaries.addEventListener('change', handler);\n\n    return () =>\n      manager.localeDictionaries.removeEventListener('change', handler);\n  }, [manager]);\n\n  const setLocaleDictionaries = useCallback(\n    (value: DictionaryContent) => manager?.localeDictionaries.set(value),\n    [manager]\n  );\n\n  const setLocaleDictionary = useCallback(\n    (dictionary: Dictionary) => manager?.setLocaleDictionary(dictionary),\n    [manager]\n  );\n\n  return { localeDictionaries, setLocaleDictionaries, setLocaleDictionary };\n};\n\nexport const useDictionariesRecordActions =\n  (): DictionariesRecordActionsContextType => {\n    const { setLocaleDictionaries, setLocaleDictionary } =\n      useDictionariesRecord();\n    return { setLocaleDictionaries, setLocaleDictionary };\n  };\n"],"mappings":";;;;;;;;AAiBA,MAAa,8BAC6B;CACxC,MAAM,UAAUA,kDAAuB;CACvC,MAAM,CAAC,oBAAoB,kDACG,SAAS,mBAAmB,SAAS,EAAE,CAAC;AAEtE,4BAAgB;AACd,MAAI,CAAC,QAAS;EAEd,MAAM,WAAW,MACf,2BACG,EAAqC,UAAU,EAAE,CACnD;AAEH,UAAQ,mBAAmB,iBAAiB,UAAU,QAAQ;AAE9D,eACE,QAAQ,mBAAmB,oBAAoB,UAAU,QAAQ;IAClE,CAAC,QAAQ,CAAC;AAYb,QAAO;EAAE;EAAoB,+CAT1B,UAA6B,SAAS,mBAAmB,IAAI,MAAM,EACpE,CAAC,QAAQ,CAQuC;EAAE,6CAJjD,eAA2B,SAAS,oBAAoB,WAAW,EACpE,CAAC,QAAQ,CAG4D;EAAE;;AAG3E,MAAa,qCACiC;CAC1C,MAAM,EAAE,uBAAuB,wBAC7B,uBAAuB;AACzB,QAAO;EAAE;EAAuB;EAAqB"}