flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 3.23 kB
Source Map (JSON)
{"version":3,"file":"provider.cjs","sources":["../../src/theme/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport { deepmerge } from \"deepmerge-ts\";\nimport { createContext, useContext, useMemo, type PropsWithChildren } from \"react\";\nimport { deepMergeStrings } from \"../helpers/deep-merge\";\nimport { twMerge } from \"../helpers/tailwind-merge\";\nimport type { FlowbiteProps, FlowbiteTheme, ThemingProps } from \"../types\";\n\nexport interface ThemeProviderValue extends ThemingProps<FlowbiteTheme> {\n props?: Partial<FlowbiteProps>;\n}\n\nexport interface ThemeProviderProps extends ThemeProviderValue, PropsWithChildren {\n /**\n * Prevent merging with parent context value.\n *\n * @type {boolean}\n * @default false\n */\n root?: boolean;\n}\n\nconst ThemeProviderContext = createContext<ThemeProviderValue | undefined>(undefined);\n\nexport function ThemeProvider({ children, root, props, theme, clearTheme, applyTheme }: ThemeProviderProps) {\n const parentProvider = useContext(ThemeProviderContext);\n const value = useMemo(\n () => ({\n props: !root && parentProvider?.props ? deepmerge(parentProvider?.props, props) : props,\n theme: !root && parentProvider?.theme ? deepMergeStrings(twMerge)(parentProvider.theme, theme) : theme,\n clearTheme: !root && parentProvider?.clearTheme ? deepmerge(parentProvider.clearTheme, clearTheme) : clearTheme,\n applyTheme: !root && parentProvider?.applyTheme ? deepmerge(parentProvider?.applyTheme, applyTheme) : applyTheme,\n }),\n [\n root,\n props,\n theme,\n clearTheme,\n applyTheme,\n parentProvider?.props,\n parentProvider?.theme,\n parentProvider?.clearTheme,\n parentProvider?.applyTheme,\n ],\n );\n\n return <ThemeProviderContext.Provider value={value}>{children}</ThemeProviderContext.Provider>;\n}\n\nThemeProvider.displayName = \"ThemeProvider\";\n\nexport function useThemeProvider() {\n return useContext(ThemeProviderContext) ?? {};\n}\n"],"names":["createContext","useContext","useMemo","deepmerge","deepMergeStrings","twMerge","jsx"],"mappings":";;;;;;;;AAOA,MAAM,oBAAoB,GAAGA,mBAAa,CAAC,MAAM,CAAC;AAC3C,SAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;AACxF,EAAE,MAAM,cAAc,GAAGC,gBAAU,CAAC,oBAAoB,CAAC;AACzD,EAAE,MAAM,KAAK,GAAGC,aAAO;AACvB,IAAI,OAAO;AACX,MAAM,KAAK,EAAE,CAAC,IAAI,IAAI,cAAc,EAAE,KAAK,GAAGC,qBAAS,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK;AAC7F,MAAM,KAAK,EAAE,CAAC,IAAI,IAAI,cAAc,EAAE,KAAK,GAAGC,0BAAgB,CAACC,qBAAO,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK;AAC5G,MAAM,UAAU,EAAE,CAAC,IAAI,IAAI,cAAc,EAAE,UAAU,GAAGF,qBAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,UAAU;AACrH,MAAM,UAAU,EAAE,CAAC,IAAI,IAAI,cAAc,EAAE,UAAU,GAAGA,qBAAS,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG;AAC5G,KAAK,CAAC;AACN,IAAI;AACJ,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,KAAK;AACX,MAAM,UAAU;AAChB,MAAM,UAAU;AAChB,MAAM,cAAc,EAAE,KAAK;AAC3B,MAAM,cAAc,EAAE,KAAK;AAC3B,MAAM,cAAc,EAAE,UAAU;AAChC,MAAM,cAAc,EAAE;AACtB;AACA,GAAG;AACH,EAAE,uBAAuBG,cAAG,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChF;AACA,aAAa,CAAC,WAAW,GAAG,eAAe;AACpC,SAAS,gBAAgB,GAAG;AACnC,EAAE,OAAOL,gBAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE;AAC/C;;;;;"}