A collection of Splunk software theme variables and mixins. This package provides functions that can be useful in React, styled-components and other frameworks. Themes consist of plain objects containing primitives such as strings and numbers. Functions are used for mixins.
Install the package:
yarn add @splunk/themes
-or-
npm install @splunk/themes
react@^16.8
and styled-components@^5.1"
are required peer dependencies for all capabilities except getTheme()
.
A theme context is created at the root of the application using SplunkThemeProvider
.
import SplunkThemeProvider from '@splunk/themes/SplunkThemeProvider';
<SplunkThemeProvider family="prisma" density="compact" colorScheme="light">
...
</SplunkThemeProvider>;
Components are themed using pick()
, variables
, mixins
.
import { pick, variables, mixins } from '@splunk/themes';
import styled from 'styled-components';
const Wrapper = styled.div`
${mixins.reset()};
color: ${pick({
enterprise: variables.textColor,
prisma: variables.contentColorDefault
})};
`;
Theme variables are also available outside of React and styled-components.
import getTheme from '@splunk/themes/getTheme';
const baseTheme = getTheme({family: 'prisma', colorScheme: 'light', density: 'compact' });
console.log(baseTheme.family, baseTheme.focusColor);