{"version":3,"sources":["../src/withI18Next.tsx","../src/preview.ts"],"names":["withI18Next","story","context","i18n","language","locale","useGlobals","key","setKey","useState","useEffect","React","Fragment","I18nextProvider","i18nDecorators","preview","preview_default"],"mappings":"yTASO,IAAMA,EAAc,CACvBC,CAAAA,CACAC,CACC,GAAA,CACD,GAAM,CACF,UAAA,CAAY,CAAC,IAAA,CAAAC,CAAI,CACrB,CAAA,CAAID,EAEAC,CAAS,GAAA,MAAA,EACT,QAAQ,KAAM,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA,CAIrB,CAAA,CAGG,IAAMC,CAAWD,CAAAA,CAAAA,EAAM,SAEjB,CAAC,CAAC,MAAAE,CAAAA,CAAM,CAAC,CAAA,CAAIC,uBACb,CAAA,CAACC,EAAKC,CAAM,CAAA,CAAIC,oBAAS,CAAC,CAAA,CAEhC,OAAAC,oBAAAA,CAAU,IAAM,CACZ,GAAIP,CACA,CAAA,OAAAA,EAAK,EAAG,CAAA,iBAAA,CAAmB,IAAM,CAC7BK,CAAAA,CAAO,IAAK,CAAA,GAAA,EAAK,EACrB,CAAC,CACM,CAAA,IAAML,CAAK,CAAA,GAAA,CAAI,iBAAiB,CAE/C,EAAG,CAACA,CAAI,CAAC,CAAA,CAETO,oBAAU,CAAA,IAAM,CACRP,CAAQE,EAAAA,CAAAA,EAAUD,GAAYC,CAAWD,GAAAA,CAAAA,EACzCD,EAAK,cAAeE,CAAAA,CAAM,EAElC,CAAA,CAAG,CAACD,CAAAA,CAAUC,EAAQF,CAAI,CAAC,CAGvBQ,CAAAA,kBAAAA,CAAA,aAACC,CAAAA,UAAAA,CAAA,CAAS,GAAKL,CAAAA,CAAAA,CAAAA,CACXI,kBAAA,CAAA,aAAA,CAACE,4BAAA,CAAA,CAAgB,KAAMV,CAClBF,CAAAA,CAAAA,CAAAA,CAAMC,CAAO,CAClB,CACJ,CAER,CC/CA,CAAA,IAAMY,CAAiBX,CAAAA,kBAAAA,CAAK,UAAc,EAAA,GAEpCY,CAAwC,CAAA,CAC1C,GAAGZ,kBAAAA,CACH,UAAY,CAAA,CAAC,GAAGW,CAAgBd,CAAAA,CAAW,CAC/C,CAAA,CAEOgB,CAAQD,CAAAA","file":"preview.cjs","sourcesContent":["import React, {Fragment, ReactNode} from 'react';\nimport {useEffect, useGlobals, useState} from 'storybook/preview-api';\nimport type {\n    PartialStoryFn as StoryFunction,\n    Renderer,\n    StoryContext,\n} from 'storybook/internal/types';\nimport {I18nextProvider} from 'react-i18next';\n\nexport const withI18Next = (\n    story: StoryFunction<Renderer>,\n    context: StoryContext<Renderer>,\n) => {\n    const {\n        parameters: {i18n},\n    } = context;\n\n    if (i18n === undefined) {\n        console.error(`The 'i18n' parameter is missing in 'parameters' configuration of preview.js. Define the 'i18n' parameter as follows:\nparameters: {\n    i18n,\n},\n`);\n    }\n\n    const language = i18n?.language;\n\n    const [{locale}] = useGlobals();\n    const [key, setKey] = useState(0);\n\n    useEffect(() => {\n        if (i18n) {\n            i18n.on('languageChanged', () => {\n                setKey(Date.now());\n            });\n            return () => i18n.off('languageChanged');\n        }\n    }, [i18n]);\n\n    useEffect(() => {\n        if (i18n && locale && language && locale !== language) {\n            i18n.changeLanguage(locale);\n        }\n    }, [language, locale, i18n]);\n\n    return (\n        <Fragment key={key}>\n            <I18nextProvider i18n={i18n}>\n                {story(context) as ReactNode | null}\n            </I18nextProvider>\n        </Fragment>\n    );\n};\n","import type {Renderer, ProjectAnnotations} from 'storybook/internal/types';\nimport i18n from 'storybook-i18n/preview';\nimport {withI18Next} from './withI18Next';\n\n// @ts-ignore\nconst i18nDecorators = i18n.decorators || [];\n\nconst preview: ProjectAnnotations<Renderer> = {\n    ...i18n,\n    decorators: [...i18nDecorators, withI18Next],\n};\n\nexport default preview;\n"]}