Best JavaScript code snippet using storybook-root
theme.ts
Source:theme.ts
1import { ColorPalette } from "@/types/ColorPalette"2import { ColorScheme } from "@/types/ColorScheme"3import create from "zustand"4type Font = {5 fontSize: string6 lineHeight: string7}8type ThemeStore = {9 colorScheme: ColorScheme10 palette: {11 background: ColorPalette12 disabled: ColorPalette13 divider: ColorPalette14 error: ColorPalette15 hint: ColorPalette16 info: ColorPalette17 paper: ColorPalette18 primary: ColorPalette19 secondary: ColorPalette20 success: ColorPalette21 text: ColorPalette22 ctext: ColorPalette23 warning: ColorPalette24 }25 transparency: boolean26 typography: {27 body: Font28 h1: Font29 h2: Font30 h3: Font31 h4: Font32 h5: Font33 h6: Font34 }35 workspaceBackground: typeof Image | null36 workspaceBackgroundURL: string37 setBackgroundColor: (colorPalette: ColorPalette) => void38 setColorScheme: (colorScheme: ColorScheme) => void39 setPrimaryColor: (colorPalette: ColorPalette) => void40 setSecondaryColor: (colorPalette: ColorPalette) => void41 setWorkspaceBackgroundURL: (url: string) => void42}43export const useThemeStore = create<ThemeStore>((set, get) => ({44 colorScheme: ColorScheme.dark,45 palette: {46 background: {47 [ColorScheme.contrast]: "#000000",48 [ColorScheme.dark]: "#333333",49 [ColorScheme.default]: "#cccccc",50 [ColorScheme.light]: "#ffffff",51 },52 disabled: {53 [ColorScheme.contrast]: "#808000",54 [ColorScheme.dark]: "#808080",55 [ColorScheme.default]: "#808080",56 [ColorScheme.light]: "#808080",57 },58 divider: {59 [ColorScheme.contrast]: "#ffffff",60 [ColorScheme.dark]: "#424242",61 [ColorScheme.default]: "#222222",62 [ColorScheme.light]: "#424242",63 },64 error: {65 [ColorScheme.contrast]: "#ff0000",66 [ColorScheme.dark]: "#ff5853",67 [ColorScheme.default]: "#ff5853",68 [ColorScheme.light]: "#ff5853",69 },70 hint: {71 [ColorScheme.contrast]: "#808080",72 [ColorScheme.dark]: "#808080",73 [ColorScheme.default]: "#808080",74 [ColorScheme.light]: "#aaaaaa",75 },76 info: {77 [ColorScheme.contrast]: "#0080ff",78 [ColorScheme.dark]: "#43accc",79 [ColorScheme.default]: "#43accc",80 [ColorScheme.light]: "#43accc",81 },82 paper: {83 [ColorScheme.contrast]: "#00000",84 [ColorScheme.dark]: "#080808",85 [ColorScheme.default]: "#ffffff",86 [ColorScheme.light]: "#ffffff",87 },88 primary: {89 [ColorScheme.contrast]: "#ffff00",90 [ColorScheme.dark]: "#4489f8",91 [ColorScheme.default]: "#0075db",92 [ColorScheme.light]: "#0088ff",93 },94 secondary: {95 [ColorScheme.contrast]: "#d772f3",96 [ColorScheme.dark]: "#d772f3",97 [ColorScheme.default]: "#d772f3",98 [ColorScheme.light]: "#d772f3",99 },100 success: {101 [ColorScheme.contrast]: "#00ff00",102 [ColorScheme.dark]: "#45d97e",103 [ColorScheme.default]: "#45d97e",104 [ColorScheme.light]: "#45d97e",105 },106 text: {107 [ColorScheme.contrast]: "#ffffff",108 [ColorScheme.dark]: "#ffffff",109 [ColorScheme.default]: "#000000",110 [ColorScheme.light]: "#000000",111 },112 ctext: {113 [ColorScheme.contrast]: "#000000",114 [ColorScheme.dark]: "#000000",115 [ColorScheme.default]: "#ffffff",116 [ColorScheme.light]: "#ffffff",117 },118 warning: {119 [ColorScheme.contrast]: "#ffff00",120 [ColorScheme.dark]: "#ffbc40",121 [ColorScheme.default]: "#ffbc40",122 [ColorScheme.light]: "#ffbc40",123 },124 },125 transparency: true,126 typography: {127 body: {128 fontSize: "1rem",129 lineHeight: "1.2em",130 },131 h1: {132 fontSize: "1rem",133 lineHeight: "1.2em",134 },135 h2: {136 fontSize: "1rem",137 lineHeight: "1.2em",138 },139 h3: {140 fontSize: "1rem",141 lineHeight: "1.2em",142 },143 h4: {144 fontSize: "1rem",145 lineHeight: "1.2em",146 },147 h5: {148 fontSize: "1rem",149 lineHeight: "1.2em",150 },151 h6: {152 fontSize: "1rem",153 lineHeight: "1.2em",154 },155 },156 workspaceBackground: null,157 workspaceBackgroundURL:158 "https://images.unsplash.com/photo-1536859975388-b5e6623e9223?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1868&q=80",159 setWorkspaceBackgroundURL: (workspaceBackgroundURL) => set(() => ({ workspaceBackgroundURL })),160 setColorScheme: (colorScheme) => set(() => ({ colorScheme })),161 setBackgroundColor: (background) => {162 const state = get()163 state.palette.background = background164 set(() => ({}))165 },166 setPrimaryColor: (primary) => {167 const state = get()168 state.palette.primary = primary169 set(() => ({}))170 },171 setSecondaryColor: (secondary) => {172 const state = get()173 state.palette.secondary = secondary174 set(() => ({}))175 },...
theme.configProvider.ts
Source:theme.configProvider.ts
1import { Injectable } from '@angular/core';2import * as _ from 'lodash';3import { colorHelper } from './theme.constants';4@Injectable()5export class BaThemeConfigProvider {6 private basic: any;7 private colorScheme: any;8 private dashboardColors: any;9 private conf: any;10 constructor() {11 this.basic = {12 default: '#ffffff',13 defaultText: '#ffffff',14 border: '#dddddd',15 borderDark: '#aaaaaa',16 };17 // main functional color scheme18 this.colorScheme = {19 primary: '#00abff',20 info: '#40daf1',21 success: '#8bd22f',22 warning: '#e7ba08',23 danger: '#f95372',24 };25 // dashboard colors for charts26 this.dashboardColors = {27 blueStone: '#40daf1',28 surfieGreen: '#00abff',29 silverTree: '#1b70ef',30 gossip: '#3c4eb9',31 white: '#ffffff',32 };33 this.conf = {34 theme: {35 name: 'ng2',36 },37 colors: {38 default: this.basic.default,39 defaultText: this.basic.defaultText,40 border: this.basic.border,41 borderDark: this.basic.borderDark,42 primary: this.colorScheme.primary,43 info: this.colorScheme.info,44 success: this.colorScheme.success,45 warning: this.colorScheme.warning,46 danger: this.colorScheme.danger,47 primaryLight: colorHelper.tint(this.colorScheme.primary, 30),48 infoLight: colorHelper.tint(this.colorScheme.info, 30),49 successLight: colorHelper.tint(this.colorScheme.success, 30),50 warningLight: colorHelper.tint(this.colorScheme.warning, 30),51 dangerLight: colorHelper.tint(this.colorScheme.danger, 30),52 primaryDark: colorHelper.shade(this.colorScheme.primary, 15),53 infoDark: colorHelper.shade(this.colorScheme.info, 15),54 successDark: colorHelper.shade(this.colorScheme.success, 15),55 warningDark: colorHelper.shade(this.colorScheme.warning, 15),56 dangerDark: colorHelper.shade(this.colorScheme.danger, 15),57 dashboard: {58 blueStone: this.dashboardColors.blueStone,59 surfieGreen: this.dashboardColors.surfieGreen,60 silverTree: this.dashboardColors.silverTree,61 gossip: this.dashboardColors.gossip,62 white: this.dashboardColors.white,63 },64 custom: {65 dashboardPieChart: colorHelper.hexToRgbA(this.basic.defaultText, 0.8),66 dashboardLineChart: this.basic.defaultText,67 }68 }69 };70 }71 get() {72 return this.conf;73 }74 changeTheme(theme: any) {75 _.merge(this.get().theme, theme);76 }77 changeColors(colors: any) {78 _.merge(this.get().colors, colors);79 }...
theme.config.ts
Source:theme.config.ts
1import { Injectable } from '@angular/core';2import { BaThemeConfigProvider } from './theme.configProvider';3import { colorHelper } from './theme.constants';4@Injectable()5export class BaThemeConfig {6 constructor(private _baConfig: BaThemeConfigProvider) {7 }8 config() {9 // this._baConfig.changeTheme({ name: 'my-theme' });10 //11 // let colorScheme = {12 // primary: '#209e91',13 // info: '#2dacd1',14 // success: '#90b900',15 // warning: '#dfb81c',16 // danger: '#e85656',17 // };18 //19 // this._baConfig.changeColors({20 // default: '#4e4e55',21 // defaultText: '#aaaaaa',22 // border: '#dddddd',23 // borderDark: '#aaaaaa',24 //25 // primary: colorScheme.primary,26 // info: colorScheme.info,27 // success: colorScheme.success,28 // warning: colorScheme.warning,29 // danger: colorScheme.danger,30 //31 // primaryLight: colorHelper.tint(colorScheme.primary, 30),32 // infoLight: colorHelper.tint(colorScheme.info, 30),33 // successLight: colorHelper.tint(colorScheme.success, 30),34 // warningLight: colorHelper.tint(colorScheme.warning, 30),35 // dangerLight: colorHelper.tint(colorScheme.danger, 30),36 //37 // primaryDark: colorHelper.shade(colorScheme.primary, 15),38 // infoDark: colorHelper.shade(colorScheme.info, 15),39 // successDark: colorHelper.shade(colorScheme.success, 15),40 // warningDark: colorHelper.shade(colorScheme.warning, 15),41 // dangerDark: colorHelper.shade(colorScheme.danger, 15),42 //43 // dashboard: {44 // blueStone: '#005562',45 // surfieGreen: '#0e8174',46 // silverTree: '#6eba8c',47 // gossip: '#b9f2a1',48 // white: '#10c4b5',49 // },50 //51 // custom: {52 // dashboardPieChart: colorHelper.hexToRgbA('#aaaaaa', 0.8),53 // dashboardLineChart: '#6eba8c',54 // },55 // });56 }...
Using AI Code Generation
1import { colorScheme } from 'storybook-root';2import { colorScheme } from 'storybook-root';3import { colorScheme } from 'storybook-root';4import { colorScheme } from 'storybook-root';5import { colorScheme } from 'storybook-root';6import { colorScheme } from 'storybook-root';7import { colorScheme } from 'storybook-root';8import { colorScheme } from 'storybook-root';9import { colorScheme } from 'storybook-root';10import { colorScheme } from 'storybook-root';11import { colorScheme } from 'storybook-root';12import { colorScheme } from 'storybook-root';13import { colorScheme } from 'storybook-root';14import { colorScheme } from 'storybook-root';15import { colorScheme } from 'storybook-root';16import { colorScheme } from 'storybook-root';17import { colorScheme } from 'storybook-root';18import { colorScheme } from 'storybook-root';19import { colorScheme } from 'storybook-root';20import { colorScheme } from 'storybook-root';
Using AI Code Generation
1import { colorScheme } from 'storybook-root-provider';2colorScheme('dark');3colorScheme('light');4colorScheme('auto');5colorScheme('no-preference');6colorScheme('invalid');7colorScheme();8colorScheme(1);9colorScheme(true);10colorScheme(null);11colorScheme(undefined);12colorScheme({});13colorScheme([]);14colorScheme('dark', 'light');15colorScheme('dark', 'light', 'auto');16colorScheme('dark', 'light', 'auto', 'no-preference');17colorScheme('dark', 'light', 'auto', 'no-preference', 'invalid');18colorScheme('dark', 'light', 'auto', 'no-preference', 'invalid', 1);19colorScheme('dark', 'light', 'auto', 'no-preference', 'invalid', 1, true);20colorScheme('dark', 'light', 'auto', 'no-preference', 'invalid', 1, true, null);21colorScheme('dark', 'light', 'auto', 'no-preference', 'invalid', 1, true, null, undefined);22colorScheme('dark', '
Using AI Code Generation
1import { colorScheme } from 'storybook-root-provider';2colorScheme('dark');3import { addParameters } from '@storybook/react';4import { withRootProvider } from 'storybook-root-provider';5addParameters({6 rootProvider: {7 },8});9export const decorators = [withRootProvider];10import { addons } from '@storybook/addons';11import { withRootProvider } from 'storybook-root-provider';12addons.setConfig({13});14 window.__onThemeChange = function () {};15 window.__onColorSchemeChange = function () {};16 window.__onRootProviderChange = function () {};17 window.__setRootProvider = function (data, callback) {18 window.__onThemeChange(data.theme);19 window.__onColorSchemeChange(data.colorScheme);20 callback();21 };22 window.__initializeRootProvider = function (data, callback) {23 window.__onRootProviderChange(data);24 callback();25 };26 window.__onThemeChange = function (theme) {27 document.body.className = theme;28 };29 window.__onColorSchemeChange = function (colorScheme) {30 document.body.className += ` ${colorScheme}`;31 };32 window.__onRootProviderChange = function (data) {33 window.__onThemeChange(data.theme);34 window.__onColorSchemeChange(data.colorScheme);35 };36 window.__setRootProvider = function (data, callback) {37 window.__onThemeChange(data.theme);38 window.__onColorSchemeChange(data.colorScheme);39 callback();40 };41 window.__initializeRootProvider = function (data, callback) {42 window.__onRootProviderChange(data);43 callback();44 };45import { addParameters } from '@storybook/react';46import { withRootProvider } from 'storybook-root-provider';47import { withDarkMode } from 'storybook-dark-mode';48addParameters({49 rootProvider: {50 },51});52export const decorators = [withRootProvider, withDarkMode];53import
Using AI Code Generation
1import { colorScheme } from 'storybook-root'2import { createMuiTheme } from '@material-ui/core/styles'3const theme = createMuiTheme({4 palette: {5 primary: {6 },7 secondary: {8 },9 },10})11import { addParameters } from '@storybook/react'12import { themes } from '@storybook/theming'13import { withThemesProvider } from 'storybook-addon-styled-component-theme'14import theme from '../test'15addParameters({16 options: {17 },18})19 withThemesProvider([theme]),
Using AI Code Generation
1import { colorScheme } from 'storybook-root-provider';2const colorScheme = colorScheme();3const isDarkMode = colorScheme === 'dark';4const MyComponent = () => {5 const isDarkMode = colorScheme === 'dark';6 return <div className={isDarkMode ? 'dark' : 'light'}>Hello World</div>;7};8.dark {9 background-color: black;10 color: white;11}12.light {13 background-color: white;14 color: black;15}16const MyComponent = () => {17 const isDarkMode = colorScheme === 'dark';18 return <div style={{ backgroundColor: isDarkMode ? 'black' : 'white' }}>Hello World</div>;19};20import { colorScheme } from 'storybook-root-provider';21export const parameters = {22 backgrounds: {23 {24 value: colorScheme() === 'dark' ? 'black' : 'white',25 },26 {27 value: colorScheme() === 'dark' ? 'white' : 'black',28 },29 },30};
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!