{"version":3,"file":"ModalsContext.cjs","sources":["../../../../src/components/Modal/ModalsContext.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport * as React from 'react';\n\nexport interface ModalsContextState {\n  component: React.ComponentType<any> | null;\n  props: any;\n  showModal: <T>(component: React.ComponentType<T>, props: T) => void;\n  hideModal: () => void;\n}\n\nexport const ModalsContext = React.createContext<ModalsContextState>({\n  component: null,\n  props: {},\n  showModal: () => {},\n  hideModal: () => {},\n});\n\ninterface ModalsProviderProps {\n  children: React.ReactNode;\n}\n\n/**\n * @deprecated.\n * Not the real implementation used by core.\n */\nexport function ModalsProvider({ children }: ModalsProviderProps) {\n  const [component, setComponent] = useState<ModalsContextState['component']>(null);\n  const [props, setProps] = useState<ModalsContextState['props']>({});\n\n  const showModal = useCallback(<T,>(component: React.ComponentType<T>, props: T) => {\n    setComponent(() => component);\n    setProps(props);\n  }, []);\n\n  const hideModal = useCallback(() => {\n    setComponent(null);\n    setProps({});\n  }, []);\n\n  const value = useMemo(() => ({ component, props, showModal, hideModal }), [component, props, showModal, hideModal]);\n\n  return <ModalsContext.Provider value={value}>{children}</ModalsContext.Provider>;\n}\n\nexport const ModalRoot = () => (\n  <ModalsContext.Consumer>\n    {({ component: Component, props }) => {\n      return Component ? <Component {...props} /> : null;\n    }}\n  </ModalsContext.Consumer>\n);\n\nexport const ModalsController = ModalsContext.Consumer;\n"],"names":["React","useState","useCallback","component","props","useMemo","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,aAAA,GAAgBA,iBAAM,aAAA,CAAkC;AAAA,EACnE,SAAA,EAAW,IAAA;AAAA,EACX,OAAO,EAAC;AAAA,EACR,WAAW,MAAM;AAAA,EAAC,CAAA;AAAA,EAClB,WAAW,MAAM;AAAA,EAAC;AACpB,CAAC;AAUM,SAAS,cAAA,CAAe,EAAE,QAAA,EAAS,EAAwB;AAChE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIC,eAA0C,IAAI,CAAA;AAChF,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,cAAA,CAAsC,EAAE,CAAA;AAElE,EAAA,MAAM,SAAA,GAAYC,iBAAA,CAAY,CAAKC,UAAAA,EAAmCC,MAAAA,KAAa;AACjF,IAAA,YAAA,CAAa,MAAMD,UAAS,CAAA;AAC5B,IAAA,QAAA,CAASC,MAAK,CAAA;AAAA,EAChB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,SAAA,GAAYF,kBAAY,MAAM;AAClC,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,KAAA,GAAQG,aAAA,CAAQ,OAAO,EAAE,WAAW,KAAA,EAAO,SAAA,EAAW,SAAA,EAAU,CAAA,EAAI,CAAC,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,SAAS,CAAC,CAAA;AAElH,EAAA,uBAAOC,cAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EAAuB,OAAe,QAAA,EAAS,CAAA;AACzD;AAEO,MAAM,SAAA,GAAY,sBACvBA,cAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EACE,QAAA,EAAA,CAAC,EAAE,SAAA,EAAW,SAAA,EAAW,KAAA,EAAM,KAAM;AACpC,EAAA,OAAO,SAAA,mBAAYA,cAAA,CAAC,SAAA,EAAA,EAAW,GAAG,OAAO,CAAA,GAAK,IAAA;AAChD,CAAA,EACF;AAGK,MAAM,mBAAmB,aAAA,CAAc;;;;;;;"}