@os-design/theming-tools 1.0.22 → 1.0.24

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.
Files changed (55) hide show
  1. package/dist/index.d.ts.map +1 -0
  2. package/dist/index.js +11 -0
  3. package/dist/{types/utils → utils}/color.d.ts +3 -0
  4. package/dist/utils/color.d.ts.map +1 -0
  5. package/dist/{esm/utils → utils}/color.js +1 -2
  6. package/dist/{types/utils → utils}/createThemeContext.d.ts +13 -1
  7. package/dist/utils/createThemeContext.d.ts.map +1 -0
  8. package/dist/{esm/utils → utils}/createThemeContext.js +1 -2
  9. package/dist/{types/utils → utils}/createThemeOverrider.d.ts +14 -2
  10. package/dist/utils/createThemeOverrider.d.ts.map +1 -0
  11. package/dist/{esm/utils → utils}/createThemeOverrider.js +11 -10
  12. package/dist/{types/utils → utils}/createThemeProvider.d.ts +17 -1
  13. package/dist/utils/createThemeProvider.d.ts.map +1 -0
  14. package/dist/{esm/utils → utils}/createThemeProvider.js +10 -9
  15. package/dist/{types/utils → utils}/createUseTheme.d.ts +4 -1
  16. package/dist/utils/createUseTheme.d.ts.map +1 -0
  17. package/dist/{esm/utils → utils}/createUseTheme.js +2 -3
  18. package/dist/utils/overrideTheme.d.ts.map +1 -0
  19. package/dist/{esm/utils → utils}/overrideTheme.js +1 -2
  20. package/package.json +8 -9
  21. package/src/utils/createThemeContext.ts +1 -1
  22. package/src/utils/createThemeOverrider.tsx +8 -5
  23. package/src/utils/createThemeProvider.tsx +4 -5
  24. package/src/utils/createUseTheme.ts +1 -1
  25. package/dist/cjs/index.js +0 -115
  26. package/dist/cjs/index.js.map +0 -1
  27. package/dist/cjs/utils/color.js +0 -19
  28. package/dist/cjs/utils/color.js.map +0 -1
  29. package/dist/cjs/utils/createThemeContext.js +0 -23
  30. package/dist/cjs/utils/createThemeContext.js.map +0 -1
  31. package/dist/cjs/utils/createThemeOverrider.js +0 -59
  32. package/dist/cjs/utils/createThemeOverrider.js.map +0 -1
  33. package/dist/cjs/utils/createThemeProvider.js +0 -84
  34. package/dist/cjs/utils/createThemeProvider.js.map +0 -1
  35. package/dist/cjs/utils/createUseTheme.js +0 -25
  36. package/dist/cjs/utils/createUseTheme.js.map +0 -1
  37. package/dist/cjs/utils/overrideTheme.js +0 -20
  38. package/dist/cjs/utils/overrideTheme.js.map +0 -1
  39. package/dist/esm/index.js +0 -12
  40. package/dist/esm/index.js.map +0 -1
  41. package/dist/esm/utils/color.js.map +0 -1
  42. package/dist/esm/utils/createThemeContext.js.map +0 -1
  43. package/dist/esm/utils/createThemeOverrider.js.map +0 -1
  44. package/dist/esm/utils/createThemeProvider.js.map +0 -1
  45. package/dist/esm/utils/createUseTheme.js.map +0 -1
  46. package/dist/esm/utils/overrideTheme.js.map +0 -1
  47. package/dist/types/index.d.ts.map +0 -1
  48. package/dist/types/utils/color.d.ts.map +0 -1
  49. package/dist/types/utils/createThemeContext.d.ts.map +0 -1
  50. package/dist/types/utils/createThemeOverrider.d.ts.map +0 -1
  51. package/dist/types/utils/createThemeProvider.d.ts.map +0 -1
  52. package/dist/types/utils/createUseTheme.d.ts.map +0 -1
  53. package/dist/types/utils/overrideTheme.d.ts.map +0 -1
  54. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  55. /package/dist/{types/utils → utils}/overrideTheme.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEjE,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ export { default as clr } from "./utils/color.js";
2
+ export { default as createThemeContext } from "./utils/createThemeContext.js";
3
+ export { default as createThemeOverrider } from "./utils/createThemeOverrider.js";
4
+ export { default as createThemeProvider } from "./utils/createThemeProvider.js";
5
+ export { default as createUseTheme } from "./utils/createUseTheme.js";
6
+ export { default as overrideTheme } from "./utils/overrideTheme.js";
7
+ export * from "./utils/color.js";
8
+ export * from "./utils/createThemeContext.js";
9
+ export * from "./utils/createThemeOverrider.js";
10
+ export * from "./utils/createThemeProvider.js";
11
+ export * from "./utils/createUseTheme.js";
@@ -1,6 +1,9 @@
1
1
  export type HSLColor = [number, number, number];
2
2
  export type HSLAColor = [number, number, number, number];
3
3
  export type Color = HSLColor | HSLAColor;
4
+ /**
5
+ * Converts a color to string.
6
+ */
4
7
  declare const clr: (color: Color) => string;
5
8
  export default clr;
6
9
  //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzC;;GAEG;AACH,QAAA,MAAM,GAAG,UAAW,KAAK,KAAG,MAQ3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -8,5 +8,4 @@ const clr = color => {
8
8
  if (color.length === 3) return `hsl(${color[0]}, ${color[1]}%, ${color[2]}%)`;
9
9
  return `hsla(${color[0]}, ${color[1]}%, ${color[2]}%, ${color[3]})`;
10
10
  };
11
- export default clr;
12
- //# sourceMappingURL=color.js.map
11
+ export default clr;
@@ -1,12 +1,24 @@
1
- import { Context } from 'react';
1
+ import { type Context } from 'react';
2
2
  export interface ThemeMap<T> extends Record<string, T> {
3
3
  light: T;
4
4
  dark: T;
5
5
  }
6
6
  export interface ThemeContextProps<T, TM> {
7
+ /**
8
+ * Available themes.
9
+ */
7
10
  themes: TM;
11
+ /**
12
+ * Overrides the active theme parameters.
13
+ */
8
14
  overrides: Partial<T>;
15
+ /**
16
+ * The current active theme.
17
+ */
9
18
  activeTheme: keyof TM;
19
+ /**
20
+ * The callback that changes the active theme.
21
+ */
10
22
  setActiveTheme: (name: string) => void;
11
23
  }
12
24
  export type ThemeContext<T> = Context<ThemeContextProps<T, ThemeMap<T>>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThemeContext.d.ts","sourceRoot":"","sources":["../../src/utils/createThemeContext.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,EAAE;IACtC;;OAEG;IACH,MAAM,EAAE,EAAE,CAAC;IACX;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,QAAA,MAAM,kBAAkB,GAAI,CAAC,OAAK,YAAY,CAAC,CAAC,CAS5C,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -8,5 +8,4 @@ const createThemeContext = () => /*#__PURE__*/React.createContext({
8
8
  activeTheme: 'light',
9
9
  setActiveTheme: () => undefined
10
10
  });
11
- export default createThemeContext;
12
- //# sourceMappingURL=createThemeContext.js.map
11
+ export default createThemeContext;
@@ -1,9 +1,21 @@
1
1
  import React from 'react';
2
- import { ThemeContext, ThemeMap } from './createThemeContext';
3
- import { UseTheme } from './createUseTheme';
2
+ import type { ThemeContext, ThemeMap } from './createThemeContext';
3
+ import type { UseTheme } from './createUseTheme';
4
4
  export interface ThemeOverriderProps<T> {
5
+ /**
6
+ * The active theme of children.
7
+ * @default undefined
8
+ */
5
9
  activeTheme?: keyof ThemeMap<T>;
10
+ /**
11
+ * Overrides the active theme parameters.
12
+ * @default undefined
13
+ */
6
14
  overrides?: Partial<T> | ((theme: T) => Partial<T>);
15
+ /**
16
+ * The children.
17
+ * @default undefined
18
+ */
7
19
  children?: React.ReactNode;
8
20
  }
9
21
  export type ThemeOverrider<T> = React.FC<ThemeOverriderProps<T>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThemeOverrider.d.ts","sourceRoot":"","sources":["../../src/utils/createThemeOverrider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjE,iBAAS,oBAAoB,CAAC,CAAC,EAC7B,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,cAAc,CAAC,CAAC,CAAC,CAqDnB;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { ThemeProvider as EmotionThemeProvider } from '@emotion/react';
2
2
  import React, { useMemo } from 'react';
3
- import overrideTheme from './overrideTheme';
3
+ import overrideTheme from "./overrideTheme.js";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
4
5
  function createThemeOverrider(TC, useTheme) {
5
- // eslint-disable-next-line func-names
6
- return function ({
6
+ return function ThemeOverrider({
7
7
  activeTheme,
8
8
  overrides = {},
9
9
  children
@@ -31,12 +31,13 @@ function createThemeOverrider(TC, useTheme) {
31
31
  activeTheme: localActiveTheme,
32
32
  setActiveTheme
33
33
  }), [localActiveTheme, localOverrides, setActiveTheme, themes]);
34
- return /*#__PURE__*/React.createElement(TC.Provider, {
35
- value: contextValue
36
- }, /*#__PURE__*/React.createElement(EmotionThemeProvider, {
37
- theme: localTheme
38
- }, children));
34
+ return /*#__PURE__*/_jsx(TC.Provider, {
35
+ value: contextValue,
36
+ children: /*#__PURE__*/_jsx(EmotionThemeProvider, {
37
+ theme: localTheme,
38
+ children: children
39
+ })
40
+ });
39
41
  };
40
42
  }
41
- export default createThemeOverrider;
42
- //# sourceMappingURL=createThemeOverrider.js.map
43
+ export default createThemeOverrider;
@@ -1,9 +1,25 @@
1
1
  import React from 'react';
2
- import { ThemeContext, ThemeMap } from './createThemeContext';
2
+ import type { ThemeContext, ThemeMap } from './createThemeContext';
3
3
  export interface ThemeProviderProps<T> {
4
+ /**
5
+ * Available themes.
6
+ * @default undefined
7
+ */
4
8
  themes?: ThemeMap<T>;
9
+ /**
10
+ * The theme used by default.
11
+ * @default light
12
+ */
5
13
  initialTheme?: 'light' | 'dark' | string;
14
+ /**
15
+ * The key in the local storage where the active theme is saved.
16
+ * @default theme
17
+ */
6
18
  storageKey?: string;
19
+ /**
20
+ * The children.
21
+ * @default undefined
22
+ */
7
23
  children?: React.ReactNode;
8
24
  }
9
25
  export type ThemeProvider<T> = React.FC<ThemeProviderProps<T>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThemeProvider.d.ts","sourceRoot":"","sources":["../../src/utils/createThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,iBAAS,mBAAmB,CAAC,CAAC,EAC5B,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,EAC1B,YAAY,GAAE,YAGb,GACA,aAAa,CAAC,CAAC,CAAC,CA0ClB;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { ThemeProvider as EmotionThemeProvider } from '@emotion/react';
2
2
  import React, { useEffect, useMemo, useState } from 'react';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
3
4
  function createThemeProvider(TC, defaultThemes, localStorage = {
4
5
  getItem: () => null,
5
6
  setItem: () => {}
6
7
  }) {
7
- // eslint-disable-next-line func-names
8
- return function ({
8
+ return function ThemeProvider({
9
9
  themes = defaultThemes,
10
10
  initialTheme = 'light',
11
11
  storageKey = 'theme',
@@ -28,12 +28,13 @@ function createThemeProvider(TC, defaultThemes, localStorage = {
28
28
  localStorage.setItem(storageKey, name);
29
29
  }
30
30
  }), [activeTheme, storageKey, themes]);
31
- return /*#__PURE__*/React.createElement(TC.Provider, {
32
- value: contextValue
33
- }, /*#__PURE__*/React.createElement(EmotionThemeProvider, {
34
- theme: themes[activeTheme]
35
- }, children));
31
+ return /*#__PURE__*/_jsx(TC.Provider, {
32
+ value: contextValue,
33
+ children: /*#__PURE__*/_jsx(EmotionThemeProvider, {
34
+ theme: themes[activeTheme],
35
+ children: children
36
+ })
37
+ });
36
38
  };
37
39
  }
38
- export default createThemeProvider;
39
- //# sourceMappingURL=createThemeProvider.js.map
40
+ export default createThemeProvider;
@@ -1,5 +1,8 @@
1
- import { ThemeContext, ThemeContextProps, ThemeMap } from './createThemeContext';
1
+ import type { ThemeContext, ThemeContextProps, ThemeMap } from './createThemeContext';
2
2
  interface UseThemeRes<T> extends ThemeContextProps<T, ThemeMap<T>> {
3
+ /**
4
+ * The object of the active theme.
5
+ */
3
6
  theme: T;
4
7
  }
5
8
  export type UseTheme<T> = () => UseThemeRes<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUseTheme.d.ts","sourceRoot":"","sources":["../../src/utils/createUseTheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAG9B,UAAU,WAAW,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,iBAAS,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAY3D;AAED,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { useContext } from 'react';
2
- import overrideTheme from './overrideTheme';
2
+ import overrideTheme from "./overrideTheme.js";
3
3
  function createUseTheme(TC) {
4
4
  return () => {
5
5
  const context = useContext(TC);
@@ -9,5 +9,4 @@ function createUseTheme(TC) {
9
9
  };
10
10
  };
11
11
  }
12
- export default createUseTheme;
13
- //# sourceMappingURL=createUseTheme.js.map
12
+ export default createUseTheme;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrideTheme.d.ts","sourceRoot":"","sources":["../../src/utils/overrideTheme.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,GAAI,CAAC,UAAU,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,KAAG,CAazD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -10,5 +10,4 @@ const overrideTheme = (theme1, theme2) => {
10
10
  });
11
11
  return res;
12
12
  };
13
- export default overrideTheme;
14
- //# sourceMappingURL=overrideTheme.js.map
13
+ export default overrideTheme;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@os-design/theming-tools",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
- "main": "dist/cjs/index.js",
7
- "module": "dist/esm/index.js",
8
- "types": "dist/types/index.d.ts",
9
- "react-native": "src/index.ts",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "react-native": "./src/index.ts",
10
10
  "files": [
11
11
  "dist",
12
12
  "src",
@@ -21,9 +21,8 @@
21
21
  "sideEffects": false,
22
22
  "scripts": {
23
23
  "clean": "rimraf dist",
24
- "build:esm": "cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx --out-dir dist/esm --source-maps",
25
- "build:cjs": "cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx --out-dir dist/cjs --source-maps",
26
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
24
+ "build:esm": "cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx --out-dir dist",
25
+ "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationDir dist",
27
26
  "build": "yarn clean && npm-run-all 'build:*'",
28
27
  "ncu": "ncu -u"
29
28
  },
@@ -37,5 +36,5 @@
37
36
  "@emotion/react": ">=11",
38
37
  "react": ">=18"
39
38
  },
40
- "gitHead": "f9cb806c601f5118bb20331f1b785816c56d3af8"
39
+ "gitHead": "211f9e5f1ecca50454cc7415359de5a4d950c7b1"
41
40
  }
@@ -1,4 +1,4 @@
1
- import React, { Context } from 'react';
1
+ import React, { type Context } from 'react';
2
2
 
3
3
  export interface ThemeMap<T> extends Record<string, T> {
4
4
  light: T;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ThemeProvider as EmotionThemeProvider,
3
- ThemeProviderProps as EmotionThemeProviderProps,
3
+ type ThemeProviderProps as EmotionThemeProviderProps,
4
4
  } from '@emotion/react';
5
5
  import React, { useMemo } from 'react';
6
- import { ThemeContext, ThemeMap } from './createThemeContext';
7
- import { UseTheme } from './createUseTheme';
6
+ import type { ThemeContext, ThemeMap } from './createThemeContext';
7
+ import type { UseTheme } from './createUseTheme';
8
8
  import overrideTheme from './overrideTheme';
9
9
 
10
10
  export interface ThemeOverriderProps<T> {
@@ -31,8 +31,11 @@ function createThemeOverrider<T>(
31
31
  TC: ThemeContext<T>,
32
32
  useTheme: UseTheme<T>
33
33
  ): ThemeOverrider<T> {
34
- // eslint-disable-next-line func-names
35
- return function ({ activeTheme, overrides = {}, children }) {
34
+ return function ThemeOverrider({
35
+ activeTheme,
36
+ overrides = {},
37
+ children,
38
+ }: ThemeOverriderProps<T>) {
36
39
  const {
37
40
  themes,
38
41
  theme: parentTheme,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ThemeProvider as EmotionThemeProvider,
3
- ThemeProviderProps as EmotionThemeProviderProps,
3
+ type ThemeProviderProps as EmotionThemeProviderProps,
4
4
  } from '@emotion/react';
5
5
  import React, { useEffect, useMemo, useState } from 'react';
6
- import { ThemeContext, ThemeMap } from './createThemeContext';
6
+ import type { ThemeContext, ThemeMap } from './createThemeContext';
7
7
 
8
8
  export interface ThemeProviderProps<T> {
9
9
  /**
@@ -43,13 +43,12 @@ function createThemeProvider<T>(
43
43
  setItem: () => {},
44
44
  }
45
45
  ): ThemeProvider<T> {
46
- // eslint-disable-next-line func-names
47
- return function ({
46
+ return function ThemeProvider({
48
47
  themes = defaultThemes,
49
48
  initialTheme = 'light',
50
49
  storageKey = 'theme',
51
50
  children,
52
- }) {
51
+ }: ThemeProviderProps<T>) {
53
52
  const [activeTheme, setActiveTheme] = useState(
54
53
  themes[initialTheme] ? initialTheme : 'light'
55
54
  );
@@ -1,5 +1,5 @@
1
1
  import { useContext } from 'react';
2
- import {
2
+ import type {
3
3
  ThemeContext,
4
4
  ThemeContextProps,
5
5
  ThemeMap,
package/dist/cjs/index.js DELETED
@@ -1,115 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- var _exportNames = {
8
- clr: true,
9
- createThemeContext: true,
10
- createThemeOverrider: true,
11
- createThemeProvider: true,
12
- createUseTheme: true,
13
- overrideTheme: true
14
- };
15
- Object.defineProperty(exports, "clr", {
16
- enumerable: true,
17
- get: function get() {
18
- return _color["default"];
19
- }
20
- });
21
- Object.defineProperty(exports, "createThemeContext", {
22
- enumerable: true,
23
- get: function get() {
24
- return _createThemeContext["default"];
25
- }
26
- });
27
- Object.defineProperty(exports, "createThemeOverrider", {
28
- enumerable: true,
29
- get: function get() {
30
- return _createThemeOverrider["default"];
31
- }
32
- });
33
- Object.defineProperty(exports, "createThemeProvider", {
34
- enumerable: true,
35
- get: function get() {
36
- return _createThemeProvider["default"];
37
- }
38
- });
39
- Object.defineProperty(exports, "createUseTheme", {
40
- enumerable: true,
41
- get: function get() {
42
- return _createUseTheme["default"];
43
- }
44
- });
45
- Object.defineProperty(exports, "overrideTheme", {
46
- enumerable: true,
47
- get: function get() {
48
- return _overrideTheme["default"];
49
- }
50
- });
51
- var _color = _interopRequireWildcard(require("./utils/color"));
52
- Object.keys(_color).forEach(function (key) {
53
- if (key === "default" || key === "__esModule") return;
54
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
55
- if (key in exports && exports[key] === _color[key]) return;
56
- Object.defineProperty(exports, key, {
57
- enumerable: true,
58
- get: function get() {
59
- return _color[key];
60
- }
61
- });
62
- });
63
- var _createThemeContext = _interopRequireWildcard(require("./utils/createThemeContext"));
64
- Object.keys(_createThemeContext).forEach(function (key) {
65
- if (key === "default" || key === "__esModule") return;
66
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
67
- if (key in exports && exports[key] === _createThemeContext[key]) return;
68
- Object.defineProperty(exports, key, {
69
- enumerable: true,
70
- get: function get() {
71
- return _createThemeContext[key];
72
- }
73
- });
74
- });
75
- var _createThemeOverrider = _interopRequireWildcard(require("./utils/createThemeOverrider"));
76
- Object.keys(_createThemeOverrider).forEach(function (key) {
77
- if (key === "default" || key === "__esModule") return;
78
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
79
- if (key in exports && exports[key] === _createThemeOverrider[key]) return;
80
- Object.defineProperty(exports, key, {
81
- enumerable: true,
82
- get: function get() {
83
- return _createThemeOverrider[key];
84
- }
85
- });
86
- });
87
- var _createThemeProvider = _interopRequireWildcard(require("./utils/createThemeProvider"));
88
- Object.keys(_createThemeProvider).forEach(function (key) {
89
- if (key === "default" || key === "__esModule") return;
90
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
91
- if (key in exports && exports[key] === _createThemeProvider[key]) return;
92
- Object.defineProperty(exports, key, {
93
- enumerable: true,
94
- get: function get() {
95
- return _createThemeProvider[key];
96
- }
97
- });
98
- });
99
- var _createUseTheme = _interopRequireWildcard(require("./utils/createUseTheme"));
100
- Object.keys(_createUseTheme).forEach(function (key) {
101
- if (key === "default" || key === "__esModule") return;
102
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
103
- if (key in exports && exports[key] === _createUseTheme[key]) return;
104
- Object.defineProperty(exports, key, {
105
- enumerable: true,
106
- get: function get() {
107
- return _createUseTheme[key];
108
- }
109
- });
110
- });
111
- var _overrideTheme = _interopRequireDefault(require("./utils/overrideTheme"));
112
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
113
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
114
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
115
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_color","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_createThemeContext","_createThemeOverrider","_createThemeProvider","_createUseTheme","_overrideTheme","_interopRequireDefault","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set"],"sources":["../../src/index.ts"],"sourcesContent":["export { default as clr } from './utils/color';\nexport { default as createThemeContext } from './utils/createThemeContext';\nexport { default as createThemeOverrider } from './utils/createThemeOverrider';\nexport { default as createThemeProvider } from './utils/createThemeProvider';\nexport { default as createUseTheme } from './utils/createUseTheme';\nexport { default as overrideTheme } from './utils/overrideTheme';\n\nexport * from './utils/color';\nexport * from './utils/createThemeContext';\nexport * from './utils/createThemeOverrider';\nexport * from './utils/createThemeProvider';\nexport * from './utils/createUseTheme';\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- /**
9
- * Converts a color to string.
10
- */
11
- var clr = function clr(color) {
12
- if (!Array.isArray(color)) {
13
- throw new Error("The color argument must be an array, but got ".concat(_typeof(color), "."));
14
- }
15
- if (color.length === 3) return "hsl(".concat(color[0], ", ").concat(color[1], "%, ").concat(color[2], "%)");
16
- return "hsla(".concat(color[0], ", ").concat(color[1], "%, ").concat(color[2], "%, ").concat(color[3], ")");
17
- };
18
- var _default = exports["default"] = clr;
19
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","names":["clr","color","Array","isArray","Error","concat","_typeof","length","_default","exports"],"sources":["../../../src/utils/color.ts"],"sourcesContent":["export type HSLColor = [number, number, number];\nexport type HSLAColor = [number, number, number, number];\nexport type Color = HSLColor | HSLAColor;\n\n/**\n * Converts a color to string.\n */\nconst clr = (color: Color): string => {\n if (!Array.isArray(color)) {\n throw new Error(\n `The color argument must be an array, but got ${typeof color}.`\n );\n }\n if (color.length === 3) return `hsl(${color[0]}, ${color[1]}%, ${color[2]}%)`;\n return `hsla(${color[0]}, ${color[1]}%, ${color[2]}%, ${color[3]})`;\n};\n\nexport default clr;\n"],"mappings":";;;;;;;AAIA;AACA;AACA;AACA,IAAMA,GAAG,GAAG,SAANA,GAAGA,CAAIC,KAAY,EAAa;EACpC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACzB,MAAM,IAAIG,KAAK,iDAAAC,MAAA,CAAAC,OAAA,CAC0CL,KAAK,OAC9D,CAAC;EACH;EACA,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE,cAAAF,MAAA,CAAcJ,KAAK,CAAC,CAAC,CAAC,QAAAI,MAAA,CAAKJ,KAAK,CAAC,CAAC,CAAC,SAAAI,MAAA,CAAMJ,KAAK,CAAC,CAAC,CAAC;EACzE,eAAAI,MAAA,CAAeJ,KAAK,CAAC,CAAC,CAAC,QAAAI,MAAA,CAAKJ,KAAK,CAAC,CAAC,CAAC,SAAAI,MAAA,CAAMJ,KAAK,CAAC,CAAC,CAAC,SAAAI,MAAA,CAAMJ,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,cAEaT,GAAG","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- var createThemeContext = function createThemeContext() {
10
- return /*#__PURE__*/_react["default"].createContext({
11
- themes: {
12
- light: {},
13
- dark: {}
14
- },
15
- overrides: {},
16
- activeTheme: 'light',
17
- setActiveTheme: function setActiveTheme() {
18
- return undefined;
19
- }
20
- });
21
- };
22
- var _default = exports["default"] = createThemeContext;
23
- //# sourceMappingURL=createThemeContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","createThemeContext","React","createContext","themes","light","dark","overrides","activeTheme","setActiveTheme","undefined","_default","exports"],"sources":["../../../src/utils/createThemeContext.ts"],"sourcesContent":["import React, { Context } from 'react';\n\nexport interface ThemeMap<T> extends Record<string, T> {\n light: T;\n dark: T;\n}\n\nexport interface ThemeContextProps<T, TM> {\n /**\n * Available themes.\n */\n themes: TM;\n /**\n * Overrides the active theme parameters.\n */\n overrides: Partial<T>;\n /**\n * The current active theme.\n */\n activeTheme: keyof TM;\n /**\n * The callback that changes the active theme.\n */\n setActiveTheme: (name: string) => void;\n}\n\nexport type ThemeContext<T> = Context<ThemeContextProps<T, ThemeMap<T>>>;\n\nconst createThemeContext = <T>(): ThemeContext<T> =>\n React.createContext<ThemeContextProps<T, ThemeMap<T>>>({\n themes: {\n light: {} as T,\n dark: {} as T,\n },\n overrides: {},\n activeTheme: 'light',\n setActiveTheme: () => undefined,\n });\n\nexport default createThemeContext;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AA4BvC,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA;EAAA,oBACtBC,iBAAK,CAACC,aAAa,CAAoC;IACrDC,MAAM,EAAE;MACNC,KAAK,EAAE,CAAC,CAAM;MACdC,IAAI,EAAE,CAAC;IACT,CAAC;IACDC,SAAS,EAAE,CAAC,CAAC;IACbC,WAAW,EAAE,OAAO;IACpBC,cAAc,EAAE,SAAAA,eAAA;MAAA,OAAMC,SAAS;IAAA;EACjC,CAAC,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEUX,kBAAkB","ignoreList":[]}
@@ -1,59 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = require("@emotion/react");
8
- var _react2 = _interopRequireWildcard(require("react"));
9
- var _overrideTheme = _interopRequireDefault(require("./overrideTheme"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
- function createThemeOverrider(TC, useTheme) {
20
- // eslint-disable-next-line func-names
21
- return function (_ref) {
22
- var activeTheme = _ref.activeTheme,
23
- _ref$overrides = _ref.overrides,
24
- overrides = _ref$overrides === void 0 ? {} : _ref$overrides,
25
- children = _ref.children;
26
- var _useTheme = useTheme(),
27
- themes = _useTheme.themes,
28
- parentTheme = _useTheme.theme,
29
- parentOverrides = _useTheme.overrides,
30
- parentActiveTheme = _useTheme.activeTheme,
31
- setActiveTheme = _useTheme.setActiveTheme;
32
- var localActiveTheme = activeTheme || parentActiveTheme;
33
-
34
- // Parents overrides are ignored if the active theme was specified
35
- var localOverrides = (0, _react2.useMemo)(function () {
36
- return _objectSpread(_objectSpread({}, activeTheme ? {} : parentOverrides), typeof overrides === 'function' ? overrides(parentTheme) : overrides);
37
- }, [activeTheme, parentOverrides, overrides, parentTheme]);
38
-
39
- // Make the local theme
40
- var localTheme = (0, _react2.useMemo)(function () {
41
- return (0, _overrideTheme["default"])(themes[localActiveTheme], localOverrides);
42
- }, [themes, localActiveTheme, localOverrides]);
43
- var contextValue = (0, _react2.useMemo)(function () {
44
- return {
45
- themes: themes,
46
- overrides: localOverrides,
47
- activeTheme: localActiveTheme,
48
- setActiveTheme: setActiveTheme
49
- };
50
- }, [localActiveTheme, localOverrides, setActiveTheme, themes]);
51
- return /*#__PURE__*/_react2["default"].createElement(TC.Provider, {
52
- value: contextValue
53
- }, /*#__PURE__*/_react2["default"].createElement(_react.ThemeProvider, {
54
- theme: localTheme
55
- }, children));
56
- };
57
- }
58
- var _default = exports["default"] = createThemeOverrider;
59
- //# sourceMappingURL=createThemeOverrider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeOverrider.js","names":["_react","require","_react2","_interopRequireWildcard","_overrideTheme","_interopRequireDefault","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","o","Symbol","iterator","constructor","prototype","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","TypeError","String","Number","createThemeOverrider","TC","useTheme","_ref","activeTheme","_ref$overrides","overrides","children","_useTheme","themes","parentTheme","theme","parentOverrides","parentActiveTheme","setActiveTheme","localActiveTheme","localOverrides","useMemo","localTheme","overrideTheme","contextValue","createElement","Provider","ThemeProvider","_default","exports"],"sources":["../../../src/utils/createThemeOverrider.tsx"],"sourcesContent":["import {\n ThemeProvider as EmotionThemeProvider,\n ThemeProviderProps as EmotionThemeProviderProps,\n} from '@emotion/react';\nimport React, { useMemo } from 'react';\nimport { ThemeContext, ThemeMap } from './createThemeContext';\nimport { UseTheme } from './createUseTheme';\nimport overrideTheme from './overrideTheme';\n\nexport interface ThemeOverriderProps<T> {\n /**\n * The active theme of children.\n * @default undefined\n */\n activeTheme?: keyof ThemeMap<T>;\n /**\n * Overrides the active theme parameters.\n * @default undefined\n */\n overrides?: Partial<T> | ((theme: T) => Partial<T>);\n /**\n * The children.\n * @default undefined\n */\n children?: React.ReactNode;\n}\n\nexport type ThemeOverrider<T> = React.FC<ThemeOverriderProps<T>>;\n\nfunction createThemeOverrider<T>(\n TC: ThemeContext<T>,\n useTheme: UseTheme<T>\n): ThemeOverrider<T> {\n // eslint-disable-next-line func-names\n return function ({ activeTheme, overrides = {}, children }) {\n const {\n themes,\n theme: parentTheme,\n overrides: parentOverrides,\n activeTheme: parentActiveTheme,\n setActiveTheme,\n } = useTheme();\n\n const localActiveTheme = activeTheme || parentActiveTheme;\n\n // Parents overrides are ignored if the active theme was specified\n const localOverrides = useMemo<Partial<T>>(\n () => ({\n ...(activeTheme ? {} : parentOverrides),\n ...(typeof overrides === 'function'\n ? (overrides as (theme: T) => Partial<T>)(parentTheme)\n : overrides),\n }),\n [activeTheme, parentOverrides, overrides, parentTheme]\n );\n\n // Make the local theme\n const localTheme = useMemo<T>(\n () => overrideTheme(themes[localActiveTheme], localOverrides),\n [themes, localActiveTheme, localOverrides]\n );\n\n const contextValue = useMemo(\n () => ({\n themes,\n overrides: localOverrides,\n activeTheme: localActiveTheme,\n setActiveTheme,\n }),\n [localActiveTheme, localOverrides, setActiveTheme, themes]\n );\n\n return (\n <TC.Provider value={contextValue}>\n <EmotionThemeProvider\n theme={localTheme as EmotionThemeProviderProps['theme']}\n >\n {children}\n </EmotionThemeProvider>\n </TC.Provider>\n );\n };\n}\n\nexport default createThemeOverrider;\n"],"mappings":"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","ignoreList":[]}
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _react = require("@emotion/react");
9
- var _react2 = _interopRequireWildcard(require("react"));
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
13
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
14
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
15
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
- function createThemeProvider(TC, defaultThemes) {
22
- var localStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
23
- getItem: function getItem() {
24
- return null;
25
- },
26
- setItem: function setItem() {}
27
- };
28
- // eslint-disable-next-line func-names
29
- return function (_ref) {
30
- var _ref$themes = _ref.themes,
31
- themes = _ref$themes === void 0 ? defaultThemes : _ref$themes,
32
- _ref$initialTheme = _ref.initialTheme,
33
- initialTheme = _ref$initialTheme === void 0 ? 'light' : _ref$initialTheme,
34
- _ref$storageKey = _ref.storageKey,
35
- storageKey = _ref$storageKey === void 0 ? 'theme' : _ref$storageKey,
36
- children = _ref.children;
37
- var _useState = (0, _react2.useState)(themes[initialTheme] ? initialTheme : 'light'),
38
- _useState2 = _slicedToArray(_useState, 2),
39
- activeTheme = _useState2[0],
40
- _setActiveTheme = _useState2[1];
41
- (0, _react2.useEffect)(function () {
42
- var getSavedTheme = /*#__PURE__*/function () {
43
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
44
- var saved;
45
- return _regeneratorRuntime().wrap(function _callee$(_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- _context.next = 2;
49
- return localStorage.getItem(storageKey);
50
- case 2:
51
- saved = _context.sent;
52
- if (saved && themes[saved]) _setActiveTheme(saved);
53
- case 4:
54
- case "end":
55
- return _context.stop();
56
- }
57
- }, _callee);
58
- }));
59
- return function getSavedTheme() {
60
- return _ref2.apply(this, arguments);
61
- };
62
- }();
63
- getSavedTheme();
64
- }, [storageKey, themes]);
65
- var contextValue = (0, _react2.useMemo)(function () {
66
- return {
67
- themes: themes,
68
- overrides: {},
69
- activeTheme: activeTheme,
70
- setActiveTheme: function setActiveTheme(name) {
71
- _setActiveTheme(name);
72
- localStorage.setItem(storageKey, name);
73
- }
74
- };
75
- }, [activeTheme, storageKey, themes]);
76
- return /*#__PURE__*/_react2["default"].createElement(TC.Provider, {
77
- value: contextValue
78
- }, /*#__PURE__*/_react2["default"].createElement(_react.ThemeProvider, {
79
- theme: themes[activeTheme]
80
- }, children));
81
- };
82
- }
83
- var _default = exports["default"] = createThemeProvider;
84
- //# sourceMappingURL=createThemeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeProvider.js","names":["_react","require","_react2","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_regeneratorRuntime","prototype","o","value","Symbol","iterator","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","createThemeProvider","TC","defaultThemes","localStorage","getItem","setItem","_ref","_ref$themes","themes","_ref$initialTheme","initialTheme","_ref$storageKey","storageKey","children","_useState","useState","_useState2","activeTheme","setActiveTheme","useEffect","getSavedTheme","_ref2","_callee","saved","_callee$","_context","contextValue","useMemo","overrides","createElement","Provider","ThemeProvider","theme","_default","exports"],"sources":["../../../src/utils/createThemeProvider.tsx"],"sourcesContent":["import {\n ThemeProvider as EmotionThemeProvider,\n ThemeProviderProps as EmotionThemeProviderProps,\n} from '@emotion/react';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { ThemeContext, ThemeMap } from './createThemeContext';\n\nexport interface ThemeProviderProps<T> {\n /**\n * Available themes.\n * @default undefined\n */\n themes?: ThemeMap<T>;\n /**\n * The theme used by default.\n * @default light\n */\n initialTheme?: 'light' | 'dark' | string;\n /**\n * The key in the local storage where the active theme is saved.\n * @default theme\n */\n storageKey?: string;\n /**\n * The children.\n * @default undefined\n */\n children?: React.ReactNode;\n}\n\nexport type ThemeProvider<T> = React.FC<ThemeProviderProps<T>>;\n\nexport interface LocalStorage {\n getItem: (key: string) => string | null | Promise<string | null>;\n setItem: (key: string, value: string) => void | Promise<void>;\n}\n\nfunction createThemeProvider<T>(\n TC: ThemeContext<T>,\n defaultThemes: ThemeMap<T>,\n localStorage: LocalStorage = {\n getItem: () => null,\n setItem: () => {},\n }\n): ThemeProvider<T> {\n // eslint-disable-next-line func-names\n return function ({\n themes = defaultThemes,\n initialTheme = 'light',\n storageKey = 'theme',\n children,\n }) {\n const [activeTheme, setActiveTheme] = useState(\n themes[initialTheme] ? initialTheme : 'light'\n );\n\n useEffect(() => {\n const getSavedTheme = async () => {\n const saved = await localStorage.getItem(storageKey);\n if (saved && themes[saved]) setActiveTheme(saved);\n };\n getSavedTheme();\n }, [storageKey, themes]);\n\n const contextValue = useMemo(\n () => ({\n themes,\n overrides: {},\n activeTheme,\n setActiveTheme: (name) => {\n setActiveTheme(name);\n localStorage.setItem(storageKey, name);\n },\n }),\n [activeTheme, storageKey, themes]\n );\n\n return (\n <TC.Provider value={contextValue}>\n <EmotionThemeProvider\n theme={themes[activeTheme] as EmotionThemeProviderProps['theme']}\n >\n {children}\n </EmotionThemeProvider>\n </TC.Provider>\n );\n };\n}\n\nexport default createThemeProvider;\n"],"mappings":"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","ignoreList":[]}
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = require("react");
8
- var _overrideTheme = _interopRequireDefault(require("./overrideTheme"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
- function createUseTheme(TC) {
17
- return function () {
18
- var context = (0, _react.useContext)(TC);
19
- return _objectSpread(_objectSpread({}, context), {}, {
20
- theme: (0, _overrideTheme["default"])(context.themes[context.activeTheme], context.overrides)
21
- });
22
- };
23
- }
24
- var _default = exports["default"] = createUseTheme;
25
- //# sourceMappingURL=createUseTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createUseTheme.js","names":["_react","require","_overrideTheme","_interopRequireDefault","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","createUseTheme","TC","context","useContext","theme","overrideTheme","themes","activeTheme","overrides","_default","exports"],"sources":["../../../src/utils/createUseTheme.ts"],"sourcesContent":["import { useContext } from 'react';\nimport {\n ThemeContext,\n ThemeContextProps,\n ThemeMap,\n} from './createThemeContext';\nimport overrideTheme from './overrideTheme';\n\ninterface UseThemeRes<T> extends ThemeContextProps<T, ThemeMap<T>> {\n /**\n * The object of the active theme.\n */\n theme: T;\n}\n\nexport type UseTheme<T> = () => UseThemeRes<T>;\n\nfunction createUseTheme<T>(TC: ThemeContext<T>): UseTheme<T> {\n return (): UseThemeRes<T> => {\n const context = useContext(TC);\n\n return {\n ...context,\n theme: overrideTheme(\n context.themes[context.activeTheme],\n context.overrides\n ),\n };\n };\n}\n\nexport default createUseTheme;\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var overrideTheme = function overrideTheme(theme1, theme2) {
8
- var res = {};
9
- [theme1, theme2].forEach(function (theme) {
10
- var props = Object.keys(theme);
11
- props.forEach(function (prop) {
12
- var descriptor = Object.getOwnPropertyDescriptor(theme, prop);
13
- if (!descriptor) return;
14
- Object.defineProperty(res, prop, descriptor);
15
- });
16
- });
17
- return res;
18
- };
19
- var _default = exports["default"] = overrideTheme;
20
- //# sourceMappingURL=overrideTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overrideTheme.js","names":["overrideTheme","theme1","theme2","res","forEach","theme","props","Object","keys","prop","descriptor","getOwnPropertyDescriptor","defineProperty","_default","exports"],"sources":["../../../src/utils/overrideTheme.ts"],"sourcesContent":["const overrideTheme = <T>(theme1: T, theme2: Partial<T>): T => {\n const res = {};\n\n [theme1, theme2].forEach((theme) => {\n const props = Object.keys(theme);\n props.forEach((prop) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, prop);\n if (!descriptor) return;\n Object.defineProperty(res, prop, descriptor);\n });\n });\n\n return res as T;\n};\n\nexport default overrideTheme;\n"],"mappings":";;;;;;AAAA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAOC,MAAS,EAAEC,MAAkB,EAAQ;EAC7D,IAAMC,GAAG,GAAG,CAAC,CAAC;EAEd,CAACF,MAAM,EAAEC,MAAM,CAAC,CAACE,OAAO,CAAC,UAACC,KAAK,EAAK;IAClC,IAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC;IAChCC,KAAK,CAACF,OAAO,CAAC,UAACK,IAAI,EAAK;MACtB,IAAMC,UAAU,GAAGH,MAAM,CAACI,wBAAwB,CAACN,KAAK,EAAEI,IAAI,CAAC;MAC/D,IAAI,CAACC,UAAU,EAAE;MACjBH,MAAM,CAACK,cAAc,CAACT,GAAG,EAAEM,IAAI,EAAEC,UAAU,CAAC;IAC9C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOP,GAAG;AACZ,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,cAEad,aAAa","ignoreList":[]}
package/dist/esm/index.js DELETED
@@ -1,12 +0,0 @@
1
- export { default as clr } from './utils/color';
2
- export { default as createThemeContext } from './utils/createThemeContext';
3
- export { default as createThemeOverrider } from './utils/createThemeOverrider';
4
- export { default as createThemeProvider } from './utils/createThemeProvider';
5
- export { default as createUseTheme } from './utils/createUseTheme';
6
- export { default as overrideTheme } from './utils/overrideTheme';
7
- export * from './utils/color';
8
- export * from './utils/createThemeContext';
9
- export * from './utils/createThemeOverrider';
10
- export * from './utils/createThemeProvider';
11
- export * from './utils/createUseTheme';
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["default","clr","createThemeContext","createThemeOverrider","createThemeProvider","createUseTheme","overrideTheme"],"sources":["../../src/index.ts"],"sourcesContent":["export { default as clr } from './utils/color';\nexport { default as createThemeContext } from './utils/createThemeContext';\nexport { default as createThemeOverrider } from './utils/createThemeOverrider';\nexport { default as createThemeProvider } from './utils/createThemeProvider';\nexport { default as createUseTheme } from './utils/createUseTheme';\nexport { default as overrideTheme } from './utils/overrideTheme';\n\nexport * from './utils/color';\nexport * from './utils/createThemeContext';\nexport * from './utils/createThemeOverrider';\nexport * from './utils/createThemeProvider';\nexport * from './utils/createUseTheme';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,GAAG,QAAQ,eAAe;AAC9C,SAASD,OAAO,IAAIE,kBAAkB,QAAQ,4BAA4B;AAC1E,SAASF,OAAO,IAAIG,oBAAoB,QAAQ,8BAA8B;AAC9E,SAASH,OAAO,IAAII,mBAAmB,QAAQ,6BAA6B;AAC5E,SAASJ,OAAO,IAAIK,cAAc,QAAQ,wBAAwB;AAClE,SAASL,OAAO,IAAIM,aAAa,QAAQ,uBAAuB;AAEhE,cAAc,eAAe;AAC7B,cAAc,4BAA4B;AAC1C,cAAc,8BAA8B;AAC5C,cAAc,6BAA6B;AAC3C,cAAc,wBAAwB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","names":["clr","color","Array","isArray","Error","length"],"sources":["../../../src/utils/color.ts"],"sourcesContent":["export type HSLColor = [number, number, number];\nexport type HSLAColor = [number, number, number, number];\nexport type Color = HSLColor | HSLAColor;\n\n/**\n * Converts a color to string.\n */\nconst clr = (color: Color): string => {\n if (!Array.isArray(color)) {\n throw new Error(\n `The color argument must be an array, but got ${typeof color}.`\n );\n }\n if (color.length === 3) return `hsl(${color[0]}, ${color[1]}%, ${color[2]}%)`;\n return `hsla(${color[0]}, ${color[1]}%, ${color[2]}%, ${color[3]})`;\n};\n\nexport default clr;\n"],"mappings":"AAIA;AACA;AACA;AACA,MAAMA,GAAG,GAAIC,KAAY,IAAa;EACpC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACzB,MAAM,IAAIG,KAAK,CACZ,gDAA+C,OAAOH,KAAM,GAC/D,CAAC;EACH;EACA,IAAIA,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE,OAAQ,OAAMJ,KAAK,CAAC,CAAC,CAAE,KAAIA,KAAK,CAAC,CAAC,CAAE,MAAKA,KAAK,CAAC,CAAC,CAAE,IAAG;EAC7E,OAAQ,QAAOA,KAAK,CAAC,CAAC,CAAE,KAAIA,KAAK,CAAC,CAAC,CAAE,MAAKA,KAAK,CAAC,CAAC,CAAE,MAAKA,KAAK,CAAC,CAAC,CAAE,GAAE;AACrE,CAAC;AAED,eAAeD,GAAG","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeContext.js","names":["React","createThemeContext","createContext","themes","light","dark","overrides","activeTheme","setActiveTheme","undefined"],"sources":["../../../src/utils/createThemeContext.ts"],"sourcesContent":["import React, { Context } from 'react';\n\nexport interface ThemeMap<T> extends Record<string, T> {\n light: T;\n dark: T;\n}\n\nexport interface ThemeContextProps<T, TM> {\n /**\n * Available themes.\n */\n themes: TM;\n /**\n * Overrides the active theme parameters.\n */\n overrides: Partial<T>;\n /**\n * The current active theme.\n */\n activeTheme: keyof TM;\n /**\n * The callback that changes the active theme.\n */\n setActiveTheme: (name: string) => void;\n}\n\nexport type ThemeContext<T> = Context<ThemeContextProps<T, ThemeMap<T>>>;\n\nconst createThemeContext = <T>(): ThemeContext<T> =>\n React.createContext<ThemeContextProps<T, ThemeMap<T>>>({\n themes: {\n light: {} as T,\n dark: {} as T,\n },\n overrides: {},\n activeTheme: 'light',\n setActiveTheme: () => undefined,\n });\n\nexport default createThemeContext;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAmB,OAAO;AA4BtC,MAAMC,kBAAkB,GAAGA,CAAA,kBACzBD,KAAK,CAACE,aAAa,CAAoC;EACrDC,MAAM,EAAE;IACNC,KAAK,EAAE,CAAC,CAAM;IACdC,IAAI,EAAE,CAAC;EACT,CAAC;EACDC,SAAS,EAAE,CAAC,CAAC;EACbC,WAAW,EAAE,OAAO;EACpBC,cAAc,EAAEA,CAAA,KAAMC;AACxB,CAAC,CAAC;AAEJ,eAAeR,kBAAkB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeOverrider.js","names":["ThemeProvider","EmotionThemeProvider","React","useMemo","overrideTheme","createThemeOverrider","TC","useTheme","activeTheme","overrides","children","themes","theme","parentTheme","parentOverrides","parentActiveTheme","setActiveTheme","localActiveTheme","localOverrides","localTheme","contextValue","createElement","Provider","value"],"sources":["../../../src/utils/createThemeOverrider.tsx"],"sourcesContent":["import {\n ThemeProvider as EmotionThemeProvider,\n ThemeProviderProps as EmotionThemeProviderProps,\n} from '@emotion/react';\nimport React, { useMemo } from 'react';\nimport { ThemeContext, ThemeMap } from './createThemeContext';\nimport { UseTheme } from './createUseTheme';\nimport overrideTheme from './overrideTheme';\n\nexport interface ThemeOverriderProps<T> {\n /**\n * The active theme of children.\n * @default undefined\n */\n activeTheme?: keyof ThemeMap<T>;\n /**\n * Overrides the active theme parameters.\n * @default undefined\n */\n overrides?: Partial<T> | ((theme: T) => Partial<T>);\n /**\n * The children.\n * @default undefined\n */\n children?: React.ReactNode;\n}\n\nexport type ThemeOverrider<T> = React.FC<ThemeOverriderProps<T>>;\n\nfunction createThemeOverrider<T>(\n TC: ThemeContext<T>,\n useTheme: UseTheme<T>\n): ThemeOverrider<T> {\n // eslint-disable-next-line func-names\n return function ({ activeTheme, overrides = {}, children }) {\n const {\n themes,\n theme: parentTheme,\n overrides: parentOverrides,\n activeTheme: parentActiveTheme,\n setActiveTheme,\n } = useTheme();\n\n const localActiveTheme = activeTheme || parentActiveTheme;\n\n // Parents overrides are ignored if the active theme was specified\n const localOverrides = useMemo<Partial<T>>(\n () => ({\n ...(activeTheme ? {} : parentOverrides),\n ...(typeof overrides === 'function'\n ? (overrides as (theme: T) => Partial<T>)(parentTheme)\n : overrides),\n }),\n [activeTheme, parentOverrides, overrides, parentTheme]\n );\n\n // Make the local theme\n const localTheme = useMemo<T>(\n () => overrideTheme(themes[localActiveTheme], localOverrides),\n [themes, localActiveTheme, localOverrides]\n );\n\n const contextValue = useMemo(\n () => ({\n themes,\n overrides: localOverrides,\n activeTheme: localActiveTheme,\n setActiveTheme,\n }),\n [localActiveTheme, localOverrides, setActiveTheme, themes]\n );\n\n return (\n <TC.Provider value={contextValue}>\n <EmotionThemeProvider\n theme={localTheme as EmotionThemeProviderProps['theme']}\n >\n {children}\n </EmotionThemeProvider>\n </TC.Provider>\n );\n };\n}\n\nexport default createThemeOverrider;\n"],"mappings":"AAAA,SACEA,aAAa,IAAIC,oBAAoB,QAEhC,gBAAgB;AACvB,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,OAAOC,aAAa,MAAM,iBAAiB;AAsB3C,SAASC,oBAAoBA,CAC3BC,EAAmB,EACnBC,QAAqB,EACF;EACnB;EACA,OAAO,UAAU;IAAEC,WAAW;IAAEC,SAAS,GAAG,CAAC,CAAC;IAAEC;EAAS,CAAC,EAAE;IAC1D,MAAM;MACJC,MAAM;MACNC,KAAK,EAAEC,WAAW;MAClBJ,SAAS,EAAEK,eAAe;MAC1BN,WAAW,EAAEO,iBAAiB;MAC9BC;IACF,CAAC,GAAGT,QAAQ,CAAC,CAAC;IAEd,MAAMU,gBAAgB,GAAGT,WAAW,IAAIO,iBAAiB;;IAEzD;IACA,MAAMG,cAAc,GAAGf,OAAO,CAC5B,OAAO;MACL,IAAIK,WAAW,GAAG,CAAC,CAAC,GAAGM,eAAe,CAAC;MACvC,IAAI,OAAOL,SAAS,KAAK,UAAU,GAC9BA,SAAS,CAA8BI,WAAW,CAAC,GACpDJ,SAAS;IACf,CAAC,CAAC,EACF,CAACD,WAAW,EAAEM,eAAe,EAAEL,SAAS,EAAEI,WAAW,CACvD,CAAC;;IAED;IACA,MAAMM,UAAU,GAAGhB,OAAO,CACxB,MAAMC,aAAa,CAACO,MAAM,CAACM,gBAAgB,CAAC,EAAEC,cAAc,CAAC,EAC7D,CAACP,MAAM,EAAEM,gBAAgB,EAAEC,cAAc,CAC3C,CAAC;IAED,MAAME,YAAY,GAAGjB,OAAO,CAC1B,OAAO;MACLQ,MAAM;MACNF,SAAS,EAAES,cAAc;MACzBV,WAAW,EAAES,gBAAgB;MAC7BD;IACF,CAAC,CAAC,EACF,CAACC,gBAAgB,EAAEC,cAAc,EAAEF,cAAc,EAAEL,MAAM,CAC3D,CAAC;IAED,oBACET,KAAA,CAAAmB,aAAA,CAACf,EAAE,CAACgB,QAAQ;MAACC,KAAK,EAAEH;IAAa,gBAC/BlB,KAAA,CAAAmB,aAAA,CAACpB,oBAAoB;MACnBW,KAAK,EAAEO;IAAiD,GAEvDT,QACmB,CACX,CAAC;EAElB,CAAC;AACH;AAEA,eAAeL,oBAAoB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeProvider.js","names":["ThemeProvider","EmotionThemeProvider","React","useEffect","useMemo","useState","createThemeProvider","TC","defaultThemes","localStorage","getItem","setItem","themes","initialTheme","storageKey","children","activeTheme","setActiveTheme","getSavedTheme","saved","contextValue","overrides","name","createElement","Provider","value","theme"],"sources":["../../../src/utils/createThemeProvider.tsx"],"sourcesContent":["import {\n ThemeProvider as EmotionThemeProvider,\n ThemeProviderProps as EmotionThemeProviderProps,\n} from '@emotion/react';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { ThemeContext, ThemeMap } from './createThemeContext';\n\nexport interface ThemeProviderProps<T> {\n /**\n * Available themes.\n * @default undefined\n */\n themes?: ThemeMap<T>;\n /**\n * The theme used by default.\n * @default light\n */\n initialTheme?: 'light' | 'dark' | string;\n /**\n * The key in the local storage where the active theme is saved.\n * @default theme\n */\n storageKey?: string;\n /**\n * The children.\n * @default undefined\n */\n children?: React.ReactNode;\n}\n\nexport type ThemeProvider<T> = React.FC<ThemeProviderProps<T>>;\n\nexport interface LocalStorage {\n getItem: (key: string) => string | null | Promise<string | null>;\n setItem: (key: string, value: string) => void | Promise<void>;\n}\n\nfunction createThemeProvider<T>(\n TC: ThemeContext<T>,\n defaultThemes: ThemeMap<T>,\n localStorage: LocalStorage = {\n getItem: () => null,\n setItem: () => {},\n }\n): ThemeProvider<T> {\n // eslint-disable-next-line func-names\n return function ({\n themes = defaultThemes,\n initialTheme = 'light',\n storageKey = 'theme',\n children,\n }) {\n const [activeTheme, setActiveTheme] = useState(\n themes[initialTheme] ? initialTheme : 'light'\n );\n\n useEffect(() => {\n const getSavedTheme = async () => {\n const saved = await localStorage.getItem(storageKey);\n if (saved && themes[saved]) setActiveTheme(saved);\n };\n getSavedTheme();\n }, [storageKey, themes]);\n\n const contextValue = useMemo(\n () => ({\n themes,\n overrides: {},\n activeTheme,\n setActiveTheme: (name) => {\n setActiveTheme(name);\n localStorage.setItem(storageKey, name);\n },\n }),\n [activeTheme, storageKey, themes]\n );\n\n return (\n <TC.Provider value={contextValue}>\n <EmotionThemeProvider\n theme={themes[activeTheme] as EmotionThemeProviderProps['theme']}\n >\n {children}\n </EmotionThemeProvider>\n </TC.Provider>\n );\n };\n}\n\nexport default createThemeProvider;\n"],"mappings":"AAAA,SACEA,aAAa,IAAIC,oBAAoB,QAEhC,gBAAgB;AACvB,OAAOC,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAiC3D,SAASC,mBAAmBA,CAC1BC,EAAmB,EACnBC,aAA0B,EAC1BC,YAA0B,GAAG;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,OAAO,EAAEA,CAAA,KAAM,CAAC;AAClB,CAAC,EACiB;EAClB;EACA,OAAO,UAAU;IACfC,MAAM,GAAGJ,aAAa;IACtBK,YAAY,GAAG,OAAO;IACtBC,UAAU,GAAG,OAAO;IACpBC;EACF,CAAC,EAAE;IACD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGZ,QAAQ,CAC5CO,MAAM,CAACC,YAAY,CAAC,GAAGA,YAAY,GAAG,OACxC,CAAC;IAEDV,SAAS,CAAC,MAAM;MACd,MAAMe,aAAa,GAAG,MAAAA,CAAA,KAAY;QAChC,MAAMC,KAAK,GAAG,MAAMV,YAAY,CAACC,OAAO,CAACI,UAAU,CAAC;QACpD,IAAIK,KAAK,IAAIP,MAAM,CAACO,KAAK,CAAC,EAAEF,cAAc,CAACE,KAAK,CAAC;MACnD,CAAC;MACDD,aAAa,CAAC,CAAC;IACjB,CAAC,EAAE,CAACJ,UAAU,EAAEF,MAAM,CAAC,CAAC;IAExB,MAAMQ,YAAY,GAAGhB,OAAO,CAC1B,OAAO;MACLQ,MAAM;MACNS,SAAS,EAAE,CAAC,CAAC;MACbL,WAAW;MACXC,cAAc,EAAGK,IAAI,IAAK;QACxBL,cAAc,CAACK,IAAI,CAAC;QACpBb,YAAY,CAACE,OAAO,CAACG,UAAU,EAAEQ,IAAI,CAAC;MACxC;IACF,CAAC,CAAC,EACF,CAACN,WAAW,EAAEF,UAAU,EAAEF,MAAM,CAClC,CAAC;IAED,oBACEV,KAAA,CAAAqB,aAAA,CAAChB,EAAE,CAACiB,QAAQ;MAACC,KAAK,EAAEL;IAAa,gBAC/BlB,KAAA,CAAAqB,aAAA,CAACtB,oBAAoB;MACnByB,KAAK,EAAEd,MAAM,CAACI,WAAW;IAAwC,GAEhED,QACmB,CACX,CAAC;EAElB,CAAC;AACH;AAEA,eAAeT,mBAAmB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createUseTheme.js","names":["useContext","overrideTheme","createUseTheme","TC","context","theme","themes","activeTheme","overrides"],"sources":["../../../src/utils/createUseTheme.ts"],"sourcesContent":["import { useContext } from 'react';\nimport {\n ThemeContext,\n ThemeContextProps,\n ThemeMap,\n} from './createThemeContext';\nimport overrideTheme from './overrideTheme';\n\ninterface UseThemeRes<T> extends ThemeContextProps<T, ThemeMap<T>> {\n /**\n * The object of the active theme.\n */\n theme: T;\n}\n\nexport type UseTheme<T> = () => UseThemeRes<T>;\n\nfunction createUseTheme<T>(TC: ThemeContext<T>): UseTheme<T> {\n return (): UseThemeRes<T> => {\n const context = useContext(TC);\n\n return {\n ...context,\n theme: overrideTheme(\n context.themes[context.activeTheme],\n context.overrides\n ),\n };\n };\n}\n\nexport default createUseTheme;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAMlC,OAAOC,aAAa,MAAM,iBAAiB;AAW3C,SAASC,cAAcA,CAAIC,EAAmB,EAAe;EAC3D,OAAO,MAAsB;IAC3B,MAAMC,OAAO,GAAGJ,UAAU,CAACG,EAAE,CAAC;IAE9B,OAAO;MACL,GAAGC,OAAO;MACVC,KAAK,EAAEJ,aAAa,CAClBG,OAAO,CAACE,MAAM,CAACF,OAAO,CAACG,WAAW,CAAC,EACnCH,OAAO,CAACI,SACV;IACF,CAAC;EACH,CAAC;AACH;AAEA,eAAeN,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"overrideTheme.js","names":["overrideTheme","theme1","theme2","res","forEach","theme","props","Object","keys","prop","descriptor","getOwnPropertyDescriptor","defineProperty"],"sources":["../../../src/utils/overrideTheme.ts"],"sourcesContent":["const overrideTheme = <T>(theme1: T, theme2: Partial<T>): T => {\n const res = {};\n\n [theme1, theme2].forEach((theme) => {\n const props = Object.keys(theme);\n props.forEach((prop) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, prop);\n if (!descriptor) return;\n Object.defineProperty(res, prop, descriptor);\n });\n });\n\n return res as T;\n};\n\nexport default overrideTheme;\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAAIC,MAAS,EAAEC,MAAkB,KAAQ;EAC7D,MAAMC,GAAG,GAAG,CAAC,CAAC;EAEd,CAACF,MAAM,EAAEC,MAAM,CAAC,CAACE,OAAO,CAAEC,KAAK,IAAK;IAClC,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC;IAChCC,KAAK,CAACF,OAAO,CAAEK,IAAI,IAAK;MACtB,MAAMC,UAAU,GAAGH,MAAM,CAACI,wBAAwB,CAACN,KAAK,EAAEI,IAAI,CAAC;MAC/D,IAAI,CAACC,UAAU,EAAE;MACjBH,MAAM,CAACK,cAAc,CAACT,GAAG,EAAEM,IAAI,EAAEC,UAAU,CAAC;IAC9C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOP,GAAG;AACZ,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEjE,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAKzC,QAAA,MAAM,GAAG,UAAW,KAAK,KAAG,MAQ3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeContext.d.ts","sourceRoot":"","sources":["../../../src/utils/createThemeContext.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,EAAE;IAItC,MAAM,EAAE,EAAE,CAAC;IAIX,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAItB,WAAW,EAAE,MAAM,EAAE,CAAC;IAItB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,QAAA,MAAM,kBAAkB,WAAU,aAAa,CAAC,CAS5C,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeOverrider.d.ts","sourceRoot":"","sources":["../../../src/utils/createThemeOverrider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAKpC,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAKhC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAKpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjE,iBAAS,oBAAoB,CAAC,CAAC,EAC7B,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,cAAc,CAAC,CAAC,CAAC,CAkDnB;AAED,eAAe,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/utils/createThemeProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,kBAAkB,CAAC,CAAC;IAKnC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAKrB,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAKzC,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,iBAAS,mBAAmB,CAAC,CAAC,EAC5B,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,EAC1B,YAAY,GAAE,YAGb,GACA,aAAa,CAAC,CAAC,CAAC,CA2ClB;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createUseTheme.d.ts","sourceRoot":"","sources":["../../../src/utils/createUseTheme.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAG9B,UAAU,WAAW,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIhE,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;AAE/C,iBAAS,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAY3D;AAED,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"overrideTheme.d.ts","sourceRoot":"","sources":["../../../src/utils/overrideTheme.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,cAAe,CAAC,UAAU,QAAQ,CAAC,CAAC,KAAG,CAazD,CAAC;AAEF,eAAe,aAAa,CAAC"}
File without changes
File without changes