@mrii/react-table-builder
Version:
library to easily build tables using MUI grid
1 lines • 1.86 kB
Source Map (JSON)
{"version":3,"file":"provider.mjs","sources":["../../../src/context/translation/provider.tsx"],"sourcesContent":["import { createContext } from '$utils/create-context';\nimport { useMemo } from 'react';\nimport { stringToLabel } from '$utils';\nimport type { TranslationContext } from './model';\n\nconst [Provider, useTranslation] = createContext<TranslationContext>();\n\nexport { useTranslation };\n\nexport const useGetLabel = (str: string) => useTranslation(s => s.getFieldLabel)(str);\n\nexport type TranslationProviderProps = Pick<TranslationContext, 'translation'>;\n\nexport const TranslationProvider: React.FC<\n React.PropsWithChildren<TranslationProviderProps>\n> = ({ translation, children }) => {\n const value = useMemo<TranslationContext>(\n () => ({\n getFieldLabel: (str, resolve) =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (translation[str] ?? (resolve ? stringToLabel(str) : undefined)) as any,\n translation,\n }),\n [translation]\n );\n return <Provider value={value}>{children}</Provider>;\n};\n"],"names":["Provider","useTranslation","createContext","useGetLabel","str","s","getFieldLabel","TranslationProvider","translation","children","value","useMemo","resolve","stringToLabel","undefined","_jsx"],"mappings":";;;;;AAKM,MAAA,CAACA,QAAUC,EAAAA,cAAAA,CAAe,GAAGC,aAAAA,GAAAA;AAI5B,MAAMC,WAAc,GAAA,CAACC,GAAgBH,GAAAA,cAAAA,CAAeI,CAAAA,CAAKA,GAAAA,CAAAA,CAAEC,aAAa,CAAA,CAAEF,GAAK,EAAA;AAI/E,MAAMG,sBAET,CAAC,EAAEC,cAAaC,QAAAA,GAAU,GAAK;IACjC,MAAMC,KAAAA,GAAQC,OACZ,CAAA,KAAO;YACLL,aAAe,EAAA,CAACF,GAAKQ,EAAAA,OAAAA;gBAElBJ,WAAW,CAACJ,IAAI,KAAKQ,UAAUC,aAAcT,CAAAA,GAAAA,CAAAA,GAAOU,SAAS,CAAD;AAC/DN,YAAAA,WAAAA;AACF,SAAA,CACA,EAAA;AAACA,QAAAA,WAAAA;AAAY,KAAA,CAAA,CAAA;AAEf,IAAA,qBAAOO,GAACf,CAAAA,QAAAA,EAAAA;QAASU,KAAOA,EAAAA,KAAAA;AAAQD,QAAAA,QAAAA,EAAAA,QAAAA;;AAClC;;;;"}