UNPKG

@transkripid/flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork

1 lines 5.16 kB
{"version":3,"file":"DarkThemeToggle.mjs","sources":["../../../src/components/DarkThemeToggle/DarkThemeToggle.tsx"],"sourcesContent":["'use client';\n\nimport type { ComponentProps, FC } from 'react';\nimport type { IconBaseProps } from 'react-icons';\nimport { HiMoon, HiSun } from 'react-icons/hi';\nimport { twMerge } from 'tailwind-merge';\nimport { useIsMounted } from '../../hooks/use-is-mounted';\nimport { mergeDeep } from '../../helpers/merge-deep';\nimport { useThemeMode } from '../../hooks/use-theme-mode';\nimport { getTheme } from '../../theme-store';\nimport type { DeepPartial } from '../../types';\n\nexport interface FlowbiteDarkThemeToggleTheme {\n root: FlowbiteDarkThemeToggleRootTheme;\n}\n\nexport interface FlowbiteDarkThemeToggleRootTheme {\n base: string;\n icon: string;\n}\n\nexport interface DarkThemeToggleProps extends ComponentProps<'button'> {\n iconDark?: FC<IconBaseProps>;\n iconLight?: FC<IconBaseProps>;\n theme?: DeepPartial<FlowbiteDarkThemeToggleTheme>;\n}\n\nexport const DarkThemeToggle: FC<DarkThemeToggleProps> = ({\n className,\n theme: customTheme = {},\n iconDark: IconDark = HiSun,\n iconLight: IconLight = HiMoon,\n ...props\n}) => {\n const isMounted = useIsMounted();\n const { computedMode, toggleMode } = useThemeMode();\n\n const theme = mergeDeep(getTheme().darkThemeToggle, customTheme);\n\n return (\n <button\n type=\"button\"\n aria-label=\"Toggle dark mode\"\n data-testid=\"dark-theme-toggle\"\n className={twMerge(theme.root.base, className)}\n onClick={toggleMode}\n {...props}\n >\n <IconDark\n aria-label=\"Currently dark mode\"\n data-active={isMounted && computedMode === 'dark'}\n className={twMerge(theme.root.icon, 'hidden dark:block')}\n />\n <IconLight\n aria-label=\"Currently light mode\"\n data-active={isMounted && computedMode === 'light'}\n className={twMerge(theme.root.icon, 'dark:hidden')}\n />\n </button>\n );\n};\n\nDarkThemeToggle.displayName = 'DarkThemeToggle';\n"],"names":["DarkThemeToggle","t0","$","_c","className","props","t1","t2","t3","theme","iconDark","iconLight","t4","undefined","customTheme","IconDark","HiSun","IconLight","HiMoon","isMounted","useIsMounted","computedMode","toggleMode","useThemeMode","T0","t10","t11","t12","t13","t14","t5","t6","t7","t8","t9","mergeDeep","getTheme","darkThemeToggle","twMerge","root","base","jsx","icon","t15","t16","jsxs","displayName"],"mappings":"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"}