@chayns-components/core 5.0.0-beta.874 → 5.0.0-beta.876

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.useColorScheme = exports.default = exports.ColorSchemeContext = void 0;
7
7
  var _colors = require("@chayns/colors");
8
8
  var _chaynsApi = require("chayns-api");
9
9
  var _react = _interopRequireWildcard(require("react"));
@@ -26,6 +26,9 @@ const GlobalStyle = (0, _styledComponents.createGlobalStyle)`
26
26
  white-space: nowrap;
27
27
  }
28
28
  `;
29
+ const ColorSchemeContext = exports.ColorSchemeContext = /*#__PURE__*/(0, _react.createContext)(undefined);
30
+ const useColorScheme = () => (0, _react.useContext)(ColorSchemeContext);
31
+ exports.useColorScheme = useColorScheme;
29
32
  const ColorSchemeProvider = ({
30
33
  children,
31
34
  color,
@@ -34,10 +37,13 @@ const ColorSchemeProvider = ({
34
37
  secondaryColor,
35
38
  siteId,
36
39
  style = {},
37
- designSettings
40
+ paragraphFormat,
41
+ designSettings,
42
+ theme,
43
+ colors
38
44
  }) => {
39
- const [colors, setColors] = (0, _react.useState)({});
40
- const [theme, setTheme] = (0, _react.useState)({});
45
+ const [internalColors, setInternalColors] = (0, _react.useState)({});
46
+ const [internalTheme, setInternalTheme] = (0, _react.useState)({});
41
47
  const [internalDesignSettings, setInternalDesignSettings] = (0, _react.useState)();
42
48
  const [internalParagraphFormat, setInternalParagraphFormat] = (0, _react.useState)();
43
49
 
@@ -49,102 +55,136 @@ const ColorSchemeProvider = ({
49
55
  (0, _react.useEffect)(() => {
50
56
  if (designSettings) {
51
57
  setInternalDesignSettings(designSettings);
52
- return;
58
+ } else {
59
+ void (0, _get.getDesignSettings)(siteId).then(result => {
60
+ setInternalDesignSettings(result);
61
+ });
53
62
  }
54
- void (0, _get.getDesignSettings)(siteId).then(result => {
55
- setInternalDesignSettings(result);
56
- });
57
- void (0, _get.getParagraphFormat)(siteId).then(result => {
58
- setInternalParagraphFormat(result);
59
- });
60
- }, [designSettings, siteId]);
61
- (0, _react.useEffect)(() => {
62
- const availableColors = (0, _colors.getAvailableColorList)();
63
- const newColors = {};
64
- const newTheme = {};
65
- availableColors.forEach(colorName => {
66
- const hexColor = (0, _colors.getColorFromPalette)(colorName, {
67
- color: color ?? internalColor,
68
- colorMode: colorMode ?? internalColorMode,
69
- secondaryColor
63
+ if (paragraphFormat) {
64
+ setInternalParagraphFormat(paragraphFormat);
65
+ } else {
66
+ void (0, _get.getParagraphFormat)(siteId).then(result => {
67
+ setInternalParagraphFormat(result);
70
68
  });
71
- if (hexColor) {
72
- const rgbColor = (0, _colors.hexToRgb255)(hexColor);
73
- newColors[`--chayns-color--${colorName}`] = hexColor;
74
- newTheme[colorName] = hexColor;
75
- if (rgbColor) {
76
- newColors[`--chayns-color-rgb--${colorName}`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
77
- newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
78
- }
79
- }
80
- });
81
- switch (colorMode ?? internalColorMode) {
82
- case ColorMode.Light:
83
- newTheme.colorMode = 'light';
84
- break;
85
- case ColorMode.Dark:
86
- newTheme.colorMode = 'dark';
87
- break;
88
- default:
89
- newTheme.colorMode = 'classic';
90
- break;
91
69
  }
92
- if (internalDesignSettings) {
93
- Object.keys(internalDesignSettings).forEach(key => {
94
- if (key === 'iconStyle') {
95
- newTheme[key] = (0, _font.convertIconStyle)(internalDesignSettings.iconStyle);
96
- return;
70
+ }, [designSettings, paragraphFormat, siteId]);
71
+ (0, _react.useEffect)(() => {
72
+ let newColors = {};
73
+ let newTheme = {};
74
+ const availableColors = (0, _colors.getAvailableColorList)();
75
+ if (!colors || !theme) {
76
+ availableColors.forEach(colorName => {
77
+ const hexColor = (0, _colors.getColorFromPalette)(colorName, {
78
+ color: color ?? internalColor,
79
+ colorMode: colorMode ?? internalColorMode,
80
+ secondaryColor
81
+ });
82
+ if (hexColor) {
83
+ const rgbColor = (0, _colors.hexToRgb255)(hexColor);
84
+ if (!theme) {
85
+ newTheme[colorName] = hexColor;
86
+ }
87
+ if (!colors) {
88
+ newColors[`--chayns-color--${colorName}`] = hexColor;
89
+ }
90
+ if (rgbColor) {
91
+ if (!theme) {
92
+ newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
93
+ }
94
+ if (!colors) {
95
+ newColors[`--chayns-color-rgb--${colorName}`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
96
+ }
97
+ }
97
98
  }
98
-
99
- // ToDo: Find better solution
100
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
101
- // @ts-ignore
102
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
103
- newTheme[key] = internalDesignSettings[key];
104
99
  });
105
100
  }
106
- if (internalParagraphFormat) {
107
- const {
108
- colorResult,
109
- themeResult
110
- } = (0, _font.getHeadlineColorSelector)(internalParagraphFormat);
101
+ if (colors) {
102
+ newColors = colors;
103
+ }
104
+ if (!theme) {
105
+ switch (colorMode ?? internalColorMode) {
106
+ case ColorMode.Light:
107
+ newTheme.colorMode = 'light';
108
+ break;
109
+ case ColorMode.Dark:
110
+ newTheme.colorMode = 'dark';
111
+ break;
112
+ default:
113
+ newTheme.colorMode = 'classic';
114
+ break;
115
+ }
116
+ if (internalDesignSettings) {
117
+ Object.keys(internalDesignSettings).forEach(key => {
118
+ if (key === 'iconStyle') {
119
+ newTheme[key] = (0, _font.convertIconStyle)(internalDesignSettings.iconStyle);
120
+ return;
121
+ }
111
122
 
112
- // Update chayns-colors
113
- Object.keys(colorResult).forEach(key => {
114
- // ToDo: Find better solution
115
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
116
- // @ts-ignore
117
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
118
- newColors[key] = colorResult[key];
119
- });
123
+ // ToDo: Find better solution
124
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
125
+ // @ts-ignore
126
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
127
+ newTheme[key] = internalDesignSettings[key];
128
+ });
129
+ }
130
+ if (internalParagraphFormat) {
131
+ const {
132
+ colorResult,
133
+ themeResult
134
+ } = (0, _font.getHeadlineColorSelector)(internalParagraphFormat);
120
135
 
121
- // Update Theme
122
- Object.keys(themeResult).forEach(key => {
123
- // ToDo: Find better solution
124
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
125
- // @ts-ignore
126
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
127
- newTheme[key] = themeResult[key];
128
- });
136
+ // Update chayns-colors
137
+ Object.keys(colorResult).forEach(key => {
138
+ // ToDo: Find better solution
139
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
140
+ // @ts-ignore
141
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
142
+ newColors[key] = colorResult[key];
143
+ });
144
+
145
+ // Update Theme
146
+ Object.keys(themeResult).forEach(key => {
147
+ // ToDo: Find better solution
148
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
149
+ // @ts-ignore
150
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
151
+ newTheme[key] = themeResult[key];
152
+ });
153
+ }
154
+ newTheme.fontSize = (0, _font.getFontSize)();
155
+ } else {
156
+ newTheme = theme;
157
+ }
158
+ setInternalTheme(newTheme);
159
+ setInternalColors(newColors);
160
+ }, [color, colorMode, colors, internalColor, internalColorMode, internalDesignSettings, internalParagraphFormat, secondaryColor, theme]);
161
+ const contextValue = (0, _react.useMemo)(() => {
162
+ if (internalDesignSettings && internalParagraphFormat) {
163
+ return {
164
+ paragraphFormat: internalParagraphFormat,
165
+ designSettings: internalDesignSettings,
166
+ colors: internalColors,
167
+ theme: internalTheme
168
+ };
129
169
  }
130
- newTheme.fontSize = (0, _font.getFontSize)();
131
- setTheme(newTheme);
132
- setColors(newColors);
133
- }, [color, colorMode, internalColor, internalColorMode, internalDesignSettings, internalParagraphFormat, secondaryColor]);
170
+ return undefined;
171
+ }, [internalColors, internalDesignSettings, internalParagraphFormat, internalTheme]);
134
172
  return /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
135
- theme: theme
173
+ theme: internalTheme
174
+ }, /*#__PURE__*/_react.default.createElement(ColorSchemeContext.Provider, {
175
+ value: contextValue
136
176
  }, /*#__PURE__*/_react.default.createElement(_reactHelmet.Helmet, null, /*#__PURE__*/_react.default.createElement("link", {
137
177
  rel: "stylesheet",
138
178
  href: "https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css"
139
179
  })), /*#__PURE__*/_react.default.createElement("div", {
140
180
  className: "color-scheme-provider",
141
181
  style: {
142
- ...colors,
182
+ ...internalColors,
143
183
  ...cssVariables,
144
184
  ...style,
145
185
  color: 'var(--chayns-color--text)'
146
186
  }
147
- }, children), /*#__PURE__*/_react.default.createElement(GlobalStyle, null));
187
+ }, children), /*#__PURE__*/_react.default.createElement(GlobalStyle, null)));
148
188
  };
149
189
  ColorSchemeProvider.displayName = 'ColorSchemeProvider';
150
190
  var _default = exports.default = ColorSchemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSchemeProvider.js","names":["_colors","require","_chaynsApi","_react","_interopRequireWildcard","_reactHelmet","_styledComponents","_get","_font","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ColorMode","GlobalStyle","createGlobalStyle","ColorSchemeProvider","children","color","colorMode","cssVariables","secondaryColor","siteId","style","designSettings","colors","setColors","useState","theme","setTheme","internalDesignSettings","setInternalDesignSettings","internalParagraphFormat","setInternalParagraphFormat","internalColor","internalColorMode","useSite","useEffect","getDesignSettings","then","result","getParagraphFormat","availableColors","getAvailableColorList","newColors","newTheme","forEach","colorName","hexColor","getColorFromPalette","rgbColor","hexToRgb255","g","b","Light","Dark","keys","key","convertIconStyle","iconStyle","colorResult","themeResult","getHeadlineColorSelector","fontSize","getFontSize","createElement","ThemeProvider","Helmet","rel","href","className","displayName","_default","exports"],"sources":["../../../../src/components/color-scheme-provider/ColorSchemeProvider.tsx"],"sourcesContent":["import { getAvailableColorList, getColorFromPalette, hexToRgb255 } from '@chayns/colors';\nimport { useSite } from 'chayns-api';\nimport React, { FC, ReactNode, useEffect, useState } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\nimport { getDesignSettings, getParagraphFormat } from '../../api/theme/get';\nimport type { DesignSettings, ParagraphFormat } from '../../types/colorSchemeProvider';\nimport { convertIconStyle, getFontSize, getHeadlineColorSelector } from '../../utils/font';\n\nenum ColorMode {\n Classic,\n Dark,\n Light,\n}\n\nexport type ColorSchemeProviderProps = {\n /**\n * The content of the application or the components for which the styles should be set\n */\n children: ReactNode;\n /**\n * The hex color to be used for the children\n */\n color?: string;\n /**\n * The color mode to be used for the children\n */\n colorMode?: ColorMode;\n /**\n * Css variables to be added in addition to the chayns variables\n */\n cssVariables?: { [key: string]: string | number };\n /**\n * The design settings of a page.\n */\n designSettings?: DesignSettings;\n /**\n * The secondary hex color to be used for the children\n */\n secondaryColor?: string;\n /**\n * The site id of the page for which the design settings should be fetched\n */\n siteId?: string;\n /**\n * Additional styles set on the root element\n */\n style?: { [key: string]: string | number };\n};\n\nexport interface Theme {\n [key: string]: string;\n}\n\nexport type WithTheme<T> = T & {\n theme: Theme;\n};\n\n// ToDo remove type after the framer-motion bug is Fixed\nexport type FramerMotionBugFix = WithTheme<unknown>;\n\nconst GlobalStyle = createGlobalStyle`\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({\n children,\n color,\n colorMode,\n cssVariables = {},\n secondaryColor,\n siteId,\n style = {},\n designSettings,\n}) => {\n const [colors, setColors] = useState<Theme>({});\n const [theme, setTheme] = useState<Theme>({});\n const [internalDesignSettings, setInternalDesignSettings] = useState<DesignSettings>();\n const [internalParagraphFormat, setInternalParagraphFormat] = useState<ParagraphFormat[]>();\n\n // Empty object is used to prevent error if ColorSchemeProvider is rendered on server\n const { color: internalColor, colorMode: internalColorMode } = useSite() ?? {};\n\n useEffect(() => {\n if (designSettings) {\n setInternalDesignSettings(designSettings);\n\n return;\n }\n\n void getDesignSettings(siteId).then((result) => {\n setInternalDesignSettings(result);\n });\n\n void getParagraphFormat(siteId).then((result) => {\n setInternalParagraphFormat(result);\n });\n }, [designSettings, siteId]);\n\n useEffect(() => {\n const availableColors = getAvailableColorList();\n\n const newColors: Theme = {};\n const newTheme: Theme = {};\n\n availableColors.forEach((colorName: string) => {\n const hexColor = getColorFromPalette(colorName, {\n color: color ?? internalColor,\n colorMode: colorMode ?? internalColorMode,\n secondaryColor,\n });\n\n if (hexColor) {\n const rgbColor = hexToRgb255(hexColor);\n\n newColors[`--chayns-color--${colorName}`] = hexColor;\n newTheme[colorName] = hexColor;\n\n if (rgbColor) {\n newColors[`--chayns-color-rgb--${colorName}`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n }\n });\n\n switch (colorMode ?? internalColorMode) {\n case ColorMode.Light:\n newTheme.colorMode = 'light';\n break;\n case ColorMode.Dark:\n newTheme.colorMode = 'dark';\n break;\n default:\n newTheme.colorMode = 'classic';\n break;\n }\n\n if (internalDesignSettings) {\n Object.keys(internalDesignSettings).forEach((key) => {\n if (key === 'iconStyle') {\n newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);\n\n return;\n }\n\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = internalDesignSettings[key];\n });\n }\n\n if (internalParagraphFormat) {\n const { colorResult, themeResult } = getHeadlineColorSelector(internalParagraphFormat);\n\n // Update chayns-colors\n Object.keys(colorResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newColors[key] = colorResult[key];\n });\n\n // Update Theme\n Object.keys(themeResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = themeResult[key];\n });\n }\n\n newTheme.fontSize = getFontSize();\n\n setTheme(newTheme);\n setColors(newColors);\n }, [\n color,\n colorMode,\n internalColor,\n internalColorMode,\n internalDesignSettings,\n internalParagraphFormat,\n secondaryColor,\n ]);\n\n return (\n <ThemeProvider theme={theme}>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css\"\n />\n </Helmet>\n <div\n className=\"color-scheme-provider\"\n style={{ ...colors, ...cssVariables, ...style, color: 'var(--chayns-color--text)' }}\n >\n {children}\n </div>\n <GlobalStyle />\n </ThemeProvider>\n );\n};\n\nColorSchemeProvider.displayName = 'ColorSchemeProvider';\n\nexport default ColorSchemeProvider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ColorSchemeProvider.js","names":["_colors","require","_chaynsApi","_react","_interopRequireWildcard","_reactHelmet","_styledComponents","_get","_font","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ColorMode","GlobalStyle","createGlobalStyle","ColorSchemeContext","exports","createContext","undefined","useColorScheme","useContext","ColorSchemeProvider","children","color","colorMode","cssVariables","secondaryColor","siteId","style","paragraphFormat","designSettings","theme","colors","internalColors","setInternalColors","useState","internalTheme","setInternalTheme","internalDesignSettings","setInternalDesignSettings","internalParagraphFormat","setInternalParagraphFormat","internalColor","internalColorMode","useSite","useEffect","getDesignSettings","then","result","getParagraphFormat","newColors","newTheme","availableColors","getAvailableColorList","forEach","colorName","hexColor","getColorFromPalette","rgbColor","hexToRgb255","g","b","Light","Dark","keys","key","convertIconStyle","iconStyle","colorResult","themeResult","getHeadlineColorSelector","fontSize","getFontSize","contextValue","useMemo","createElement","ThemeProvider","Provider","value","Helmet","rel","href","className","displayName","_default"],"sources":["../../../../src/components/color-scheme-provider/ColorSchemeProvider.tsx"],"sourcesContent":["import { getAvailableColorList, getColorFromPalette, hexToRgb255 } from '@chayns/colors';\nimport { useSite } from 'chayns-api';\nimport React, {\n createContext,\n FC,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { Helmet } from 'react-helmet';\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\nimport { getDesignSettings, getParagraphFormat } from '../../api/theme/get';\nimport type { DesignSettings, ParagraphFormat } from '../../types/colorSchemeProvider';\nimport { convertIconStyle, getFontSize, getHeadlineColorSelector } from '../../utils/font';\n\nenum ColorMode {\n Classic,\n Dark,\n Light,\n}\n\nexport type ColorSchemeProviderProps = {\n /**\n * The content of the application or the components for which the styles should be set\n */\n children: ReactNode;\n /**\n * The hex color to be used for the children\n */\n color?: string;\n /**\n * The colors of the components\n */\n colors?: Theme;\n /**\n * The color mode to be used for the children\n */\n colorMode?: ColorMode;\n /**\n * Css variables to be added in addition to the chayns variables\n */\n cssVariables?: { [key: string]: string | number };\n /**\n * The design settings of a page.\n */\n designSettings?: DesignSettings;\n /**\n * The general format settings.\n */\n paragraphFormat?: ParagraphFormat[];\n /**\n * The secondary hex color to be used for the children\n */\n secondaryColor?: string;\n /**\n * The site id of the page for which the design settings should be fetched\n */\n siteId?: string;\n /**\n * Additional styles set on the root element\n */\n style?: { [key: string]: string | number };\n /**\n * The theme for the components\n */\n theme?: Theme;\n};\n\nexport interface Theme {\n [key: string]: string;\n}\n\nexport type WithTheme<T> = T & {\n theme: Theme;\n};\n\n// ToDo remove type after the framer-motion bug is Fixed\nexport type FramerMotionBugFix = WithTheme<unknown>;\n\nconst GlobalStyle = createGlobalStyle`\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nexport interface ColorSchemeContextProps {\n designSettings: DesignSettings;\n paragraphFormat: ParagraphFormat[];\n colors: Theme;\n theme: Theme;\n}\n\nexport const ColorSchemeContext = createContext<ColorSchemeContextProps | undefined>(undefined);\n\nexport const useColorScheme = () => useContext(ColorSchemeContext);\n\nconst ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({\n children,\n color,\n colorMode,\n cssVariables = {},\n secondaryColor,\n siteId,\n style = {},\n paragraphFormat,\n designSettings,\n theme,\n colors,\n}) => {\n const [internalColors, setInternalColors] = useState<Theme>({});\n const [internalTheme, setInternalTheme] = useState<Theme>({});\n const [internalDesignSettings, setInternalDesignSettings] = useState<DesignSettings>();\n const [internalParagraphFormat, setInternalParagraphFormat] = useState<ParagraphFormat[]>();\n\n // Empty object is used to prevent error if ColorSchemeProvider is rendered on server\n const { color: internalColor, colorMode: internalColorMode } = useSite() ?? {};\n\n useEffect(() => {\n if (designSettings) {\n setInternalDesignSettings(designSettings);\n } else {\n void getDesignSettings(siteId).then((result) => {\n setInternalDesignSettings(result);\n });\n }\n\n if (paragraphFormat) {\n setInternalParagraphFormat(paragraphFormat);\n } else {\n void getParagraphFormat(siteId).then((result) => {\n setInternalParagraphFormat(result);\n });\n }\n }, [designSettings, paragraphFormat, siteId]);\n\n useEffect(() => {\n let newColors: Theme = {};\n let newTheme: Theme = {};\n\n const availableColors = getAvailableColorList();\n\n if (!colors || !theme) {\n availableColors.forEach((colorName: string) => {\n const hexColor = getColorFromPalette(colorName, {\n color: color ?? internalColor,\n colorMode: colorMode ?? internalColorMode,\n secondaryColor,\n });\n\n if (hexColor) {\n const rgbColor = hexToRgb255(hexColor);\n\n if (!theme) {\n newTheme[colorName] = hexColor;\n }\n\n if (!colors) {\n newColors[`--chayns-color--${colorName}`] = hexColor;\n }\n\n if (rgbColor) {\n if (!theme) {\n newTheme[`${colorName}-rgb`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n\n if (!colors) {\n newColors[`--chayns-color-rgb--${colorName}`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n }\n }\n });\n }\n\n if (colors) {\n newColors = colors;\n }\n\n if (!theme) {\n switch (colorMode ?? internalColorMode) {\n case ColorMode.Light:\n newTheme.colorMode = 'light';\n break;\n case ColorMode.Dark:\n newTheme.colorMode = 'dark';\n break;\n default:\n newTheme.colorMode = 'classic';\n break;\n }\n\n if (internalDesignSettings) {\n Object.keys(internalDesignSettings).forEach((key) => {\n if (key === 'iconStyle') {\n newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);\n\n return;\n }\n\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = internalDesignSettings[key];\n });\n }\n\n if (internalParagraphFormat) {\n const { colorResult, themeResult } =\n getHeadlineColorSelector(internalParagraphFormat);\n\n // Update chayns-colors\n Object.keys(colorResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newColors[key] = colorResult[key];\n });\n\n // Update Theme\n Object.keys(themeResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = themeResult[key];\n });\n }\n\n newTheme.fontSize = getFontSize();\n } else {\n newTheme = theme;\n }\n\n setInternalTheme(newTheme);\n setInternalColors(newColors);\n }, [\n color,\n colorMode,\n colors,\n internalColor,\n internalColorMode,\n internalDesignSettings,\n internalParagraphFormat,\n secondaryColor,\n theme,\n ]);\n\n const contextValue: ColorSchemeContextProps | undefined = useMemo(() => {\n if (internalDesignSettings && internalParagraphFormat) {\n return {\n paragraphFormat: internalParagraphFormat,\n designSettings: internalDesignSettings,\n colors: internalColors,\n theme: internalTheme,\n };\n }\n\n return undefined;\n }, [internalColors, internalDesignSettings, internalParagraphFormat, internalTheme]);\n\n return (\n <ThemeProvider theme={internalTheme}>\n <ColorSchemeContext.Provider value={contextValue}>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css\"\n />\n </Helmet>\n <div\n className=\"color-scheme-provider\"\n style={{\n ...internalColors,\n ...cssVariables,\n ...style,\n color: 'var(--chayns-color--text)',\n }}\n >\n {children}\n </div>\n <GlobalStyle />\n </ColorSchemeContext.Provider>\n </ThemeProvider>\n );\n};\n\nColorSchemeProvider.displayName = 'ColorSchemeProvider';\n\nexport default ColorSchemeProvider;\n"],"mappings":"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","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -381,6 +381,12 @@ Object.defineProperty(exports, "uploadFile", {
381
381
  return _uploadFile.uploadFile;
382
382
  }
383
383
  });
384
+ Object.defineProperty(exports, "useColorScheme", {
385
+ enumerable: true,
386
+ get: function () {
387
+ return _ColorSchemeProvider.useColorScheme;
388
+ }
389
+ });
384
390
  Object.defineProperty(exports, "useElementSize", {
385
391
  enumerable: true,
386
392
  get: function () {
@@ -397,7 +403,7 @@ var _AreaContextProvider = _interopRequireWildcard(require("./components/area-pr
397
403
  var _Badge = _interopRequireDefault(require("./components/badge/Badge"));
398
404
  var _Button = _interopRequireDefault(require("./components/button/Button"));
399
405
  var _Checkbox = _interopRequireDefault(require("./components/checkbox/Checkbox"));
400
- var _ColorSchemeProvider = _interopRequireDefault(require("./components/color-scheme-provider/ColorSchemeProvider"));
406
+ var _ColorSchemeProvider = _interopRequireWildcard(require("./components/color-scheme-provider/ColorSchemeProvider"));
401
407
  var _ComboBox = _interopRequireDefault(require("./components/combobox/ComboBox"));
402
408
  var _ContentCard = _interopRequireDefault(require("./components/content-card/ContentCard"));
403
409
  var _ContextMenu = _interopRequireDefault(require("./components/context-menu/ContextMenu"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ComboBox","_ContentCard","_ContextMenu","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_MentionFinder","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingBar","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_useElementSize","_comboBox","_contentCard","_contextMenu","_filterButtons","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type {\n FramerMotionBugFix,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport {\n default as ComboBox,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu, type ContextMenuRef } from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/useElementSize';\nexport { ComboBoxDirection } from './types/comboBox';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ComboBox","_ContentCard","_ContextMenu","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_MentionFinder","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingBar","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_useElementSize","_comboBox","_contentCard","_contextMenu","_filterButtons","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type {\n FramerMotionBugFix,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport {\n default as ComboBox,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu, type ContextMenuRef } from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/useElementSize';\nexport { ComboBoxDirection } from './types/comboBox';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport { useColorScheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { ColorSchemeContextProps } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { getAvailableColorList, getColorFromPalette, hexToRgb255 } from '@chayns/colors';
2
2
  import { useSite } from 'chayns-api';
3
- import React, { useEffect, useState } from 'react';
3
+ import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
4
4
  import { Helmet } from 'react-helmet';
5
5
  import { createGlobalStyle, ThemeProvider } from 'styled-components';
6
6
  import { getDesignSettings, getParagraphFormat } from '../../api/theme/get';
@@ -18,6 +18,8 @@ const GlobalStyle = createGlobalStyle`
18
18
  white-space: nowrap;
19
19
  }
20
20
  `;
21
+ export const ColorSchemeContext = /*#__PURE__*/createContext(undefined);
22
+ export const useColorScheme = () => useContext(ColorSchemeContext);
21
23
  const ColorSchemeProvider = _ref => {
22
24
  let {
23
25
  children,
@@ -27,10 +29,13 @@ const ColorSchemeProvider = _ref => {
27
29
  secondaryColor,
28
30
  siteId,
29
31
  style = {},
30
- designSettings
32
+ paragraphFormat,
33
+ designSettings,
34
+ theme,
35
+ colors
31
36
  } = _ref;
32
- const [colors, setColors] = useState({});
33
- const [theme, setTheme] = useState({});
37
+ const [internalColors, setInternalColors] = useState({});
38
+ const [internalTheme, setInternalTheme] = useState({});
34
39
  const [internalDesignSettings, setInternalDesignSettings] = useState();
35
40
  const [internalParagraphFormat, setInternalParagraphFormat] = useState();
36
41
 
@@ -42,102 +47,136 @@ const ColorSchemeProvider = _ref => {
42
47
  useEffect(() => {
43
48
  if (designSettings) {
44
49
  setInternalDesignSettings(designSettings);
45
- return;
50
+ } else {
51
+ void getDesignSettings(siteId).then(result => {
52
+ setInternalDesignSettings(result);
53
+ });
46
54
  }
47
- void getDesignSettings(siteId).then(result => {
48
- setInternalDesignSettings(result);
49
- });
50
- void getParagraphFormat(siteId).then(result => {
51
- setInternalParagraphFormat(result);
52
- });
53
- }, [designSettings, siteId]);
54
- useEffect(() => {
55
- const availableColors = getAvailableColorList();
56
- const newColors = {};
57
- const newTheme = {};
58
- availableColors.forEach(colorName => {
59
- const hexColor = getColorFromPalette(colorName, {
60
- color: color ?? internalColor,
61
- colorMode: colorMode ?? internalColorMode,
62
- secondaryColor
55
+ if (paragraphFormat) {
56
+ setInternalParagraphFormat(paragraphFormat);
57
+ } else {
58
+ void getParagraphFormat(siteId).then(result => {
59
+ setInternalParagraphFormat(result);
63
60
  });
64
- if (hexColor) {
65
- const rgbColor = hexToRgb255(hexColor);
66
- newColors[`--chayns-color--${colorName}`] = hexColor;
67
- newTheme[colorName] = hexColor;
68
- if (rgbColor) {
69
- newColors[`--chayns-color-rgb--${colorName}`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
70
- newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
71
- }
72
- }
73
- });
74
- switch (colorMode ?? internalColorMode) {
75
- case ColorMode.Light:
76
- newTheme.colorMode = 'light';
77
- break;
78
- case ColorMode.Dark:
79
- newTheme.colorMode = 'dark';
80
- break;
81
- default:
82
- newTheme.colorMode = 'classic';
83
- break;
84
61
  }
85
- if (internalDesignSettings) {
86
- Object.keys(internalDesignSettings).forEach(key => {
87
- if (key === 'iconStyle') {
88
- newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);
89
- return;
62
+ }, [designSettings, paragraphFormat, siteId]);
63
+ useEffect(() => {
64
+ let newColors = {};
65
+ let newTheme = {};
66
+ const availableColors = getAvailableColorList();
67
+ if (!colors || !theme) {
68
+ availableColors.forEach(colorName => {
69
+ const hexColor = getColorFromPalette(colorName, {
70
+ color: color ?? internalColor,
71
+ colorMode: colorMode ?? internalColorMode,
72
+ secondaryColor
73
+ });
74
+ if (hexColor) {
75
+ const rgbColor = hexToRgb255(hexColor);
76
+ if (!theme) {
77
+ newTheme[colorName] = hexColor;
78
+ }
79
+ if (!colors) {
80
+ newColors[`--chayns-color--${colorName}`] = hexColor;
81
+ }
82
+ if (rgbColor) {
83
+ if (!theme) {
84
+ newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
85
+ }
86
+ if (!colors) {
87
+ newColors[`--chayns-color-rgb--${colorName}`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;
88
+ }
89
+ }
90
90
  }
91
-
92
- // ToDo: Find better solution
93
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
94
- // @ts-ignore
95
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
96
- newTheme[key] = internalDesignSettings[key];
97
91
  });
98
92
  }
99
- if (internalParagraphFormat) {
100
- const {
101
- colorResult,
102
- themeResult
103
- } = getHeadlineColorSelector(internalParagraphFormat);
93
+ if (colors) {
94
+ newColors = colors;
95
+ }
96
+ if (!theme) {
97
+ switch (colorMode ?? internalColorMode) {
98
+ case ColorMode.Light:
99
+ newTheme.colorMode = 'light';
100
+ break;
101
+ case ColorMode.Dark:
102
+ newTheme.colorMode = 'dark';
103
+ break;
104
+ default:
105
+ newTheme.colorMode = 'classic';
106
+ break;
107
+ }
108
+ if (internalDesignSettings) {
109
+ Object.keys(internalDesignSettings).forEach(key => {
110
+ if (key === 'iconStyle') {
111
+ newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);
112
+ return;
113
+ }
104
114
 
105
- // Update chayns-colors
106
- Object.keys(colorResult).forEach(key => {
107
- // ToDo: Find better solution
108
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
109
- // @ts-ignore
110
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
111
- newColors[key] = colorResult[key];
112
- });
115
+ // ToDo: Find better solution
116
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
117
+ // @ts-ignore
118
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
119
+ newTheme[key] = internalDesignSettings[key];
120
+ });
121
+ }
122
+ if (internalParagraphFormat) {
123
+ const {
124
+ colorResult,
125
+ themeResult
126
+ } = getHeadlineColorSelector(internalParagraphFormat);
113
127
 
114
- // Update Theme
115
- Object.keys(themeResult).forEach(key => {
116
- // ToDo: Find better solution
117
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
118
- // @ts-ignore
119
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
120
- newTheme[key] = themeResult[key];
121
- });
128
+ // Update chayns-colors
129
+ Object.keys(colorResult).forEach(key => {
130
+ // ToDo: Find better solution
131
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
132
+ // @ts-ignore
133
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
134
+ newColors[key] = colorResult[key];
135
+ });
136
+
137
+ // Update Theme
138
+ Object.keys(themeResult).forEach(key => {
139
+ // ToDo: Find better solution
140
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
141
+ // @ts-ignore
142
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
143
+ newTheme[key] = themeResult[key];
144
+ });
145
+ }
146
+ newTheme.fontSize = getFontSize();
147
+ } else {
148
+ newTheme = theme;
149
+ }
150
+ setInternalTheme(newTheme);
151
+ setInternalColors(newColors);
152
+ }, [color, colorMode, colors, internalColor, internalColorMode, internalDesignSettings, internalParagraphFormat, secondaryColor, theme]);
153
+ const contextValue = useMemo(() => {
154
+ if (internalDesignSettings && internalParagraphFormat) {
155
+ return {
156
+ paragraphFormat: internalParagraphFormat,
157
+ designSettings: internalDesignSettings,
158
+ colors: internalColors,
159
+ theme: internalTheme
160
+ };
122
161
  }
123
- newTheme.fontSize = getFontSize();
124
- setTheme(newTheme);
125
- setColors(newColors);
126
- }, [color, colorMode, internalColor, internalColorMode, internalDesignSettings, internalParagraphFormat, secondaryColor]);
162
+ return undefined;
163
+ }, [internalColors, internalDesignSettings, internalParagraphFormat, internalTheme]);
127
164
  return /*#__PURE__*/React.createElement(ThemeProvider, {
128
- theme: theme
165
+ theme: internalTheme
166
+ }, /*#__PURE__*/React.createElement(ColorSchemeContext.Provider, {
167
+ value: contextValue
129
168
  }, /*#__PURE__*/React.createElement(Helmet, null, /*#__PURE__*/React.createElement("link", {
130
169
  rel: "stylesheet",
131
170
  href: "https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css"
132
171
  })), /*#__PURE__*/React.createElement("div", {
133
172
  className: "color-scheme-provider",
134
173
  style: {
135
- ...colors,
174
+ ...internalColors,
136
175
  ...cssVariables,
137
176
  ...style,
138
177
  color: 'var(--chayns-color--text)'
139
178
  }
140
- }, children), /*#__PURE__*/React.createElement(GlobalStyle, null));
179
+ }, children), /*#__PURE__*/React.createElement(GlobalStyle, null)));
141
180
  };
142
181
  ColorSchemeProvider.displayName = 'ColorSchemeProvider';
143
182
  export default ColorSchemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSchemeProvider.js","names":["getAvailableColorList","getColorFromPalette","hexToRgb255","useSite","React","useEffect","useState","Helmet","createGlobalStyle","ThemeProvider","getDesignSettings","getParagraphFormat","convertIconStyle","getFontSize","getHeadlineColorSelector","ColorMode","GlobalStyle","ColorSchemeProvider","_ref","children","color","colorMode","cssVariables","secondaryColor","siteId","style","designSettings","colors","setColors","theme","setTheme","internalDesignSettings","setInternalDesignSettings","internalParagraphFormat","setInternalParagraphFormat","internalColor","internalColorMode","then","result","availableColors","newColors","newTheme","forEach","colorName","hexColor","rgbColor","r","g","b","Light","Dark","Object","keys","key","iconStyle","colorResult","themeResult","fontSize","createElement","rel","href","className","displayName"],"sources":["../../../../src/components/color-scheme-provider/ColorSchemeProvider.tsx"],"sourcesContent":["import { getAvailableColorList, getColorFromPalette, hexToRgb255 } from '@chayns/colors';\nimport { useSite } from 'chayns-api';\nimport React, { FC, ReactNode, useEffect, useState } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\nimport { getDesignSettings, getParagraphFormat } from '../../api/theme/get';\nimport type { DesignSettings, ParagraphFormat } from '../../types/colorSchemeProvider';\nimport { convertIconStyle, getFontSize, getHeadlineColorSelector } from '../../utils/font';\n\nenum ColorMode {\n Classic,\n Dark,\n Light,\n}\n\nexport type ColorSchemeProviderProps = {\n /**\n * The content of the application or the components for which the styles should be set\n */\n children: ReactNode;\n /**\n * The hex color to be used for the children\n */\n color?: string;\n /**\n * The color mode to be used for the children\n */\n colorMode?: ColorMode;\n /**\n * Css variables to be added in addition to the chayns variables\n */\n cssVariables?: { [key: string]: string | number };\n /**\n * The design settings of a page.\n */\n designSettings?: DesignSettings;\n /**\n * The secondary hex color to be used for the children\n */\n secondaryColor?: string;\n /**\n * The site id of the page for which the design settings should be fetched\n */\n siteId?: string;\n /**\n * Additional styles set on the root element\n */\n style?: { [key: string]: string | number };\n};\n\nexport interface Theme {\n [key: string]: string;\n}\n\nexport type WithTheme<T> = T & {\n theme: Theme;\n};\n\n// ToDo remove type after the framer-motion bug is Fixed\nexport type FramerMotionBugFix = WithTheme<unknown>;\n\nconst GlobalStyle = createGlobalStyle`\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({\n children,\n color,\n colorMode,\n cssVariables = {},\n secondaryColor,\n siteId,\n style = {},\n designSettings,\n}) => {\n const [colors, setColors] = useState<Theme>({});\n const [theme, setTheme] = useState<Theme>({});\n const [internalDesignSettings, setInternalDesignSettings] = useState<DesignSettings>();\n const [internalParagraphFormat, setInternalParagraphFormat] = useState<ParagraphFormat[]>();\n\n // Empty object is used to prevent error if ColorSchemeProvider is rendered on server\n const { color: internalColor, colorMode: internalColorMode } = useSite() ?? {};\n\n useEffect(() => {\n if (designSettings) {\n setInternalDesignSettings(designSettings);\n\n return;\n }\n\n void getDesignSettings(siteId).then((result) => {\n setInternalDesignSettings(result);\n });\n\n void getParagraphFormat(siteId).then((result) => {\n setInternalParagraphFormat(result);\n });\n }, [designSettings, siteId]);\n\n useEffect(() => {\n const availableColors = getAvailableColorList();\n\n const newColors: Theme = {};\n const newTheme: Theme = {};\n\n availableColors.forEach((colorName: string) => {\n const hexColor = getColorFromPalette(colorName, {\n color: color ?? internalColor,\n colorMode: colorMode ?? internalColorMode,\n secondaryColor,\n });\n\n if (hexColor) {\n const rgbColor = hexToRgb255(hexColor);\n\n newColors[`--chayns-color--${colorName}`] = hexColor;\n newTheme[colorName] = hexColor;\n\n if (rgbColor) {\n newColors[`--chayns-color-rgb--${colorName}`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n newTheme[`${colorName}-rgb`] = `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n }\n });\n\n switch (colorMode ?? internalColorMode) {\n case ColorMode.Light:\n newTheme.colorMode = 'light';\n break;\n case ColorMode.Dark:\n newTheme.colorMode = 'dark';\n break;\n default:\n newTheme.colorMode = 'classic';\n break;\n }\n\n if (internalDesignSettings) {\n Object.keys(internalDesignSettings).forEach((key) => {\n if (key === 'iconStyle') {\n newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);\n\n return;\n }\n\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = internalDesignSettings[key];\n });\n }\n\n if (internalParagraphFormat) {\n const { colorResult, themeResult } = getHeadlineColorSelector(internalParagraphFormat);\n\n // Update chayns-colors\n Object.keys(colorResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newColors[key] = colorResult[key];\n });\n\n // Update Theme\n Object.keys(themeResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = themeResult[key];\n });\n }\n\n newTheme.fontSize = getFontSize();\n\n setTheme(newTheme);\n setColors(newColors);\n }, [\n color,\n colorMode,\n internalColor,\n internalColorMode,\n internalDesignSettings,\n internalParagraphFormat,\n secondaryColor,\n ]);\n\n return (\n <ThemeProvider theme={theme}>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css\"\n />\n </Helmet>\n <div\n className=\"color-scheme-provider\"\n style={{ ...colors, ...cssVariables, ...style, color: 'var(--chayns-color--text)' }}\n >\n {children}\n </div>\n <GlobalStyle />\n </ThemeProvider>\n );\n};\n\nColorSchemeProvider.displayName = 'ColorSchemeProvider';\n\nexport default ColorSchemeProvider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ColorSchemeProvider.js","names":["getAvailableColorList","getColorFromPalette","hexToRgb255","useSite","React","createContext","useContext","useEffect","useMemo","useState","Helmet","createGlobalStyle","ThemeProvider","getDesignSettings","getParagraphFormat","convertIconStyle","getFontSize","getHeadlineColorSelector","ColorMode","GlobalStyle","ColorSchemeContext","undefined","useColorScheme","ColorSchemeProvider","_ref","children","color","colorMode","cssVariables","secondaryColor","siteId","style","paragraphFormat","designSettings","theme","colors","internalColors","setInternalColors","internalTheme","setInternalTheme","internalDesignSettings","setInternalDesignSettings","internalParagraphFormat","setInternalParagraphFormat","internalColor","internalColorMode","then","result","newColors","newTheme","availableColors","forEach","colorName","hexColor","rgbColor","r","g","b","Light","Dark","Object","keys","key","iconStyle","colorResult","themeResult","fontSize","contextValue","createElement","Provider","value","rel","href","className","displayName"],"sources":["../../../../src/components/color-scheme-provider/ColorSchemeProvider.tsx"],"sourcesContent":["import { getAvailableColorList, getColorFromPalette, hexToRgb255 } from '@chayns/colors';\nimport { useSite } from 'chayns-api';\nimport React, {\n createContext,\n FC,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { Helmet } from 'react-helmet';\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\nimport { getDesignSettings, getParagraphFormat } from '../../api/theme/get';\nimport type { DesignSettings, ParagraphFormat } from '../../types/colorSchemeProvider';\nimport { convertIconStyle, getFontSize, getHeadlineColorSelector } from '../../utils/font';\n\nenum ColorMode {\n Classic,\n Dark,\n Light,\n}\n\nexport type ColorSchemeProviderProps = {\n /**\n * The content of the application or the components for which the styles should be set\n */\n children: ReactNode;\n /**\n * The hex color to be used for the children\n */\n color?: string;\n /**\n * The colors of the components\n */\n colors?: Theme;\n /**\n * The color mode to be used for the children\n */\n colorMode?: ColorMode;\n /**\n * Css variables to be added in addition to the chayns variables\n */\n cssVariables?: { [key: string]: string | number };\n /**\n * The design settings of a page.\n */\n designSettings?: DesignSettings;\n /**\n * The general format settings.\n */\n paragraphFormat?: ParagraphFormat[];\n /**\n * The secondary hex color to be used for the children\n */\n secondaryColor?: string;\n /**\n * The site id of the page for which the design settings should be fetched\n */\n siteId?: string;\n /**\n * Additional styles set on the root element\n */\n style?: { [key: string]: string | number };\n /**\n * The theme for the components\n */\n theme?: Theme;\n};\n\nexport interface Theme {\n [key: string]: string;\n}\n\nexport type WithTheme<T> = T & {\n theme: Theme;\n};\n\n// ToDo remove type after the framer-motion bug is Fixed\nexport type FramerMotionBugFix = WithTheme<unknown>;\n\nconst GlobalStyle = createGlobalStyle`\n .ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nexport interface ColorSchemeContextProps {\n designSettings: DesignSettings;\n paragraphFormat: ParagraphFormat[];\n colors: Theme;\n theme: Theme;\n}\n\nexport const ColorSchemeContext = createContext<ColorSchemeContextProps | undefined>(undefined);\n\nexport const useColorScheme = () => useContext(ColorSchemeContext);\n\nconst ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({\n children,\n color,\n colorMode,\n cssVariables = {},\n secondaryColor,\n siteId,\n style = {},\n paragraphFormat,\n designSettings,\n theme,\n colors,\n}) => {\n const [internalColors, setInternalColors] = useState<Theme>({});\n const [internalTheme, setInternalTheme] = useState<Theme>({});\n const [internalDesignSettings, setInternalDesignSettings] = useState<DesignSettings>();\n const [internalParagraphFormat, setInternalParagraphFormat] = useState<ParagraphFormat[]>();\n\n // Empty object is used to prevent error if ColorSchemeProvider is rendered on server\n const { color: internalColor, colorMode: internalColorMode } = useSite() ?? {};\n\n useEffect(() => {\n if (designSettings) {\n setInternalDesignSettings(designSettings);\n } else {\n void getDesignSettings(siteId).then((result) => {\n setInternalDesignSettings(result);\n });\n }\n\n if (paragraphFormat) {\n setInternalParagraphFormat(paragraphFormat);\n } else {\n void getParagraphFormat(siteId).then((result) => {\n setInternalParagraphFormat(result);\n });\n }\n }, [designSettings, paragraphFormat, siteId]);\n\n useEffect(() => {\n let newColors: Theme = {};\n let newTheme: Theme = {};\n\n const availableColors = getAvailableColorList();\n\n if (!colors || !theme) {\n availableColors.forEach((colorName: string) => {\n const hexColor = getColorFromPalette(colorName, {\n color: color ?? internalColor,\n colorMode: colorMode ?? internalColorMode,\n secondaryColor,\n });\n\n if (hexColor) {\n const rgbColor = hexToRgb255(hexColor);\n\n if (!theme) {\n newTheme[colorName] = hexColor;\n }\n\n if (!colors) {\n newColors[`--chayns-color--${colorName}`] = hexColor;\n }\n\n if (rgbColor) {\n if (!theme) {\n newTheme[`${colorName}-rgb`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n\n if (!colors) {\n newColors[`--chayns-color-rgb--${colorName}`] =\n `${rgbColor.r}, ${rgbColor.g}, ${rgbColor.b}`;\n }\n }\n }\n });\n }\n\n if (colors) {\n newColors = colors;\n }\n\n if (!theme) {\n switch (colorMode ?? internalColorMode) {\n case ColorMode.Light:\n newTheme.colorMode = 'light';\n break;\n case ColorMode.Dark:\n newTheme.colorMode = 'dark';\n break;\n default:\n newTheme.colorMode = 'classic';\n break;\n }\n\n if (internalDesignSettings) {\n Object.keys(internalDesignSettings).forEach((key) => {\n if (key === 'iconStyle') {\n newTheme[key] = convertIconStyle(internalDesignSettings.iconStyle);\n\n return;\n }\n\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = internalDesignSettings[key];\n });\n }\n\n if (internalParagraphFormat) {\n const { colorResult, themeResult } =\n getHeadlineColorSelector(internalParagraphFormat);\n\n // Update chayns-colors\n Object.keys(colorResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newColors[key] = colorResult[key];\n });\n\n // Update Theme\n Object.keys(themeResult).forEach((key) => {\n // ToDo: Find better solution\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n newTheme[key] = themeResult[key];\n });\n }\n\n newTheme.fontSize = getFontSize();\n } else {\n newTheme = theme;\n }\n\n setInternalTheme(newTheme);\n setInternalColors(newColors);\n }, [\n color,\n colorMode,\n colors,\n internalColor,\n internalColorMode,\n internalDesignSettings,\n internalParagraphFormat,\n secondaryColor,\n theme,\n ]);\n\n const contextValue: ColorSchemeContextProps | undefined = useMemo(() => {\n if (internalDesignSettings && internalParagraphFormat) {\n return {\n paragraphFormat: internalParagraphFormat,\n designSettings: internalDesignSettings,\n colors: internalColors,\n theme: internalTheme,\n };\n }\n\n return undefined;\n }, [internalColors, internalDesignSettings, internalParagraphFormat, internalTheme]);\n\n return (\n <ThemeProvider theme={internalTheme}>\n <ColorSchemeContext.Provider value={contextValue}>\n <Helmet>\n <link\n rel=\"stylesheet\"\n href=\"https://api.chayns-static.space/font/NotoColorEmoji/v1/font.css\"\n />\n </Helmet>\n <div\n className=\"color-scheme-provider\"\n style={{\n ...internalColors,\n ...cssVariables,\n ...style,\n color: 'var(--chayns-color--text)',\n }}\n >\n {children}\n </div>\n <GlobalStyle />\n </ColorSchemeContext.Provider>\n </ThemeProvider>\n );\n};\n\nColorSchemeProvider.displayName = 'ColorSchemeProvider';\n\nexport default ColorSchemeProvider;\n"],"mappings":"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","ignoreList":[]}
package/lib/esm/index.js CHANGED
@@ -58,4 +58,5 @@ export { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';
58
58
  export { isTobitEmployee } from './utils/isTobitEmployee';
59
59
  export { getUsableHeight } from './utils/pageProvider';
60
60
  export { uploadFile } from './utils/uploadFile';
61
+ export { useColorScheme } from './components/color-scheme-provider/ColorSchemeProvider';
61
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","ComboBox","ContentCard","ContextMenu","ExpandableContent","FileInput","FilterButton","FilterButtons","GridImage","Icon","Input","List","ListItemContent","ListItem","MentionFinder","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingBar","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ComboBoxDirection","ContentCardType","ContextMenuAlignment","FilterButtonItemShape","FilterButtonSize","ClampPosition","getIsTouch","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type {\n FramerMotionBugFix,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport {\n default as ComboBox,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu, type ContextMenuRef } from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/useElementSize';\nexport { ComboBoxDirection } from './types/comboBox';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,SAAS,QAAQ,kCAAkC;AACvE,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,2DAA2D;AACvG,SAASF,OAAO,IAAIG,cAAc,QAAQ,uDAAuD;AACjG,SAASH,OAAO,IAAII,cAAc,QAAQ,uDAAuD;AACjG,SAASJ,OAAO,IAAIK,aAAa,QAAQ,qDAAqD;AAC9F,SAASL,OAAO,IAAIM,aAAa,QAAQ,2CAA2C;AACpF,SACIC,WAAW,EACXP,OAAO,IAAIQ,YAAY,QACpB,gDAAgD;AACvD,SAASR,OAAO,IAAIS,KAAK,QAAQ,0BAA0B;AAC3D,SAAST,OAAO,IAAIU,MAAM,QAAQ,4BAA4B;AAC9D,SAASV,OAAO,IAAIW,QAAQ,QAAQ,gCAAgC;AACpE,SAASX,OAAO,IAAIY,mBAAmB,QAAQ,wDAAwD;AAKvG,SACIZ,OAAO,IAAIa,QAAQ,QAGhB,gCAAgC;AACvC,SAASb,OAAO,IAAIc,WAAW,QAAQ,uCAAuC;AAC9E,SAASd,OAAO,IAAIe,WAAW,QAA6B,uCAAuC;AACnG,SAASf,OAAO,IAAIgB,iBAAiB,QAAQ,mDAAmD;AAChG,SAAShB,OAAO,IAAIiB,SAAS,QAA2B,mCAAmC;AAC3F,SAASjB,OAAO,IAAIkB,YAAY,QAAQ,wDAAwD;AAChG,SAASlB,OAAO,IAAImB,aAAa,QAAQ,2CAA2C;AACpF,SAASnB,OAAO,IAAIoB,SAAS,QAAQ,mCAAmC;AACxE,SAASpB,OAAO,IAAIqB,IAAI,QAAQ,wBAAwB;AACxD,SAASrB,OAAO,IAAIsB,KAAK,QAAQ,0BAA0B;AAC3D,SAAStB,OAAO,IAAIuB,IAAI,QAAQ,wBAAwB;AACxD,SAASvB,OAAO,IAAIwB,eAAe,QAAQ,+DAA+D;AAC1G,SACIxB,OAAO,IAAIyB,QAAQ,QAGhB,sCAAsC;AAC7C,SAASzB,OAAO,IAAI0B,aAAa,QAAQ,2CAA2C;AAEpF,SAAS1B,OAAO,IAAI2B,WAAW,QAAQ,uCAAuC;AAC9E,SAAS3B,OAAO,IAAI4B,YAAY,QAAQ,yCAAyC;AACjF,SAAS5B,OAAO,IAAI6B,KAAK,QAAQ,0BAA0B;AAC3D,SAAS7B,OAAO,IAAI8B,YAAY,QAAQ,+CAA+C;AACvF,SAAS9B,OAAO,IAAI+B,WAAW,QAAQ,uCAAuC;AAC9E,SACI/B,OAAO,IAAIgC,gBAAgB,QAExB,+DAA+D;AACtE,SAAShC,OAAO,IAAIiC,WAAW,QAAQ,uCAAuC;AAC9E,SAASjC,OAAO,IAAIkC,UAAU,QAAQ,qCAAqC;AAC3E,SAASlC,OAAO,IAAImC,SAAS,QAAQ,mCAAmC;AACxE,SAASnC,OAAO,IAAIoC,WAAW,QAAQ,uCAAuC;AAC9E,SAASpC,OAAO,IAAIqC,YAAY,QAAQ,yCAAyC;AACjF,SAASrC,OAAO,IAAIsC,eAAe,QAAQ,6DAA6D;AACxG,SAAStC,OAAO,IAAIuC,WAAW,QAAQ,uCAAuC;AAE9E,SAASvC,OAAO,IAAIwC,UAAU,QAAQ,qCAAqC;AAC3E,SAASxC,OAAO,IAAIyC,SAAS,QAAQ,kCAAkC;AAEvE,SAASzC,OAAO,IAAI0C,YAAY,QAAQ,yCAAyC;AACjF,SAAS1C,OAAO,IAAI2C,MAAM,QAAQ,4BAA4B;AAC9D,SACI3C,OAAO,IAAI4C,eAAe,EAC1BC,mBAAmB,EACnBC,oBAAoB,QACjB,gDAAgD;AACvD,SAAS9C,OAAO,IAAI+C,QAAQ,QAAQ,iCAAiC;AACrE,SAAS/C,OAAO,IAAIgD,QAAQ,QAAQ,iCAAiC;AACrE,SAAShD,OAAO,IAAIiD,OAAO,QAAQ,8BAA8B;AACjE,SAASjD,OAAO,IAAIkD,UAAU,QAAQ,oCAAoC;AAC1E,SAASC,2BAA2B,QAAQ,2BAA2B;AACvE,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,iBAAiB,QAAQ,kBAAkB;AACpD,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,oBAAoB,QAAQ,qBAAqB;AAG1D,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAW/E,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,UAAU,QAAQ,qBAAqB;AAChD,SAASC,oBAAoB,EAAEC,WAAW,QAAQ,oBAAoB;AACtE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,UAAU,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","ComboBox","ContentCard","ContextMenu","ExpandableContent","FileInput","FilterButton","FilterButtons","GridImage","Icon","Input","List","ListItemContent","ListItem","MentionFinder","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingBar","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ComboBoxDirection","ContentCardType","ContextMenuAlignment","FilterButtonItemShape","FilterButtonSize","ClampPosition","getIsTouch","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile","useColorScheme"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type {\n FramerMotionBugFix,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport {\n default as ComboBox,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu, type ContextMenuRef } from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/useElementSize';\nexport { ComboBoxDirection } from './types/comboBox';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport { useColorScheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { ColorSchemeContextProps } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { FC, ReactNode } from 'react';
2
- import type { DesignSettings } from '../../types/colorSchemeProvider';
1
+ import React, { FC, ReactNode } from 'react';
2
+ import type { DesignSettings, ParagraphFormat } from '../../types/colorSchemeProvider';
3
3
  declare enum ColorMode {
4
4
  Classic = 0,
5
5
  Dark = 1,
@@ -14,6 +14,10 @@ export type ColorSchemeProviderProps = {
14
14
  * The hex color to be used for the children
15
15
  */
16
16
  color?: string;
17
+ /**
18
+ * The colors of the components
19
+ */
20
+ colors?: Theme;
17
21
  /**
18
22
  * The color mode to be used for the children
19
23
  */
@@ -28,6 +32,10 @@ export type ColorSchemeProviderProps = {
28
32
  * The design settings of a page.
29
33
  */
30
34
  designSettings?: DesignSettings;
35
+ /**
36
+ * The general format settings.
37
+ */
38
+ paragraphFormat?: ParagraphFormat[];
31
39
  /**
32
40
  * The secondary hex color to be used for the children
33
41
  */
@@ -42,6 +50,10 @@ export type ColorSchemeProviderProps = {
42
50
  style?: {
43
51
  [key: string]: string | number;
44
52
  };
53
+ /**
54
+ * The theme for the components
55
+ */
56
+ theme?: Theme;
45
57
  };
46
58
  export interface Theme {
47
59
  [key: string]: string;
@@ -50,5 +62,13 @@ export type WithTheme<T> = T & {
50
62
  theme: Theme;
51
63
  };
52
64
  export type FramerMotionBugFix = WithTheme<unknown>;
65
+ export interface ColorSchemeContextProps {
66
+ designSettings: DesignSettings;
67
+ paragraphFormat: ParagraphFormat[];
68
+ colors: Theme;
69
+ theme: Theme;
70
+ }
71
+ export declare const ColorSchemeContext: React.Context<ColorSchemeContextProps | undefined>;
72
+ export declare const useColorScheme: () => ColorSchemeContextProps | undefined;
53
73
  declare const ColorSchemeProvider: FC<ColorSchemeProviderProps>;
54
74
  export default ColorSchemeProvider;
@@ -70,3 +70,5 @@ export { getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';
70
70
  export { isTobitEmployee } from './utils/isTobitEmployee';
71
71
  export { getUsableHeight } from './utils/pageProvider';
72
72
  export { uploadFile } from './utils/uploadFile';
73
+ export { useColorScheme } from './components/color-scheme-provider/ColorSchemeProvider';
74
+ export type { ColorSchemeContextProps } from './components/color-scheme-provider/ColorSchemeProvider';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.0.0-beta.874",
3
+ "version": "5.0.0-beta.876",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -87,5 +87,5 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "gitHead": "8191543ee7749d5f23d2f077c7b162fc659e12d6"
90
+ "gitHead": "d670dd7cc1886179f756bf8f73d12d8ae0320ff8"
91
91
  }