@tamagui/theme 2.7.7 → 3.0.0-beta.643.1

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 (44) hide show
  1. package/dist/cjs/_mutateTheme.cjs +101 -116
  2. package/dist/cjs/_mutateTheme.native.cjs +118 -0
  3. package/dist/cjs/_mutateTheme.native.js +92 -109
  4. package/dist/cjs/_mutateTheme.native.js.map +1 -1
  5. package/dist/cjs/addTheme.cjs +20 -23
  6. package/dist/cjs/addTheme.native.cjs +34 -0
  7. package/dist/cjs/addTheme.native.js +20 -22
  8. package/dist/cjs/addTheme.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +15 -18
  10. package/dist/cjs/index.native.cjs +31 -0
  11. package/dist/cjs/index.native.js +15 -17
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/replaceTheme.cjs +23 -29
  14. package/dist/cjs/replaceTheme.native.cjs +37 -0
  15. package/dist/cjs/replaceTheme.native.js +23 -28
  16. package/dist/cjs/replaceTheme.native.js.map +1 -1
  17. package/dist/cjs/updateTheme.cjs +22 -28
  18. package/dist/cjs/updateTheme.native.cjs +36 -0
  19. package/dist/cjs/updateTheme.native.js +22 -27
  20. package/dist/cjs/updateTheme.native.js.map +1 -1
  21. package/dist/esm/_mutateTheme.mjs +88 -100
  22. package/dist/esm/_mutateTheme.mjs.map +1 -1
  23. package/dist/esm/_mutateTheme.native.js +78 -93
  24. package/dist/esm/_mutateTheme.native.js.map +1 -1
  25. package/dist/esm/addTheme.mjs +7 -5
  26. package/dist/esm/addTheme.mjs.map +1 -1
  27. package/dist/esm/addTheme.native.js +7 -5
  28. package/dist/esm/addTheme.native.js.map +1 -1
  29. package/dist/esm/index.js +8 -5
  30. package/dist/esm/index.mjs +8 -5
  31. package/dist/esm/index.native.js +8 -5
  32. package/dist/esm/replaceTheme.mjs +10 -11
  33. package/dist/esm/replaceTheme.mjs.map +1 -1
  34. package/dist/esm/replaceTheme.native.js +10 -11
  35. package/dist/esm/replaceTheme.native.js.map +1 -1
  36. package/dist/esm/updateTheme.mjs +9 -10
  37. package/dist/esm/updateTheme.mjs.map +1 -1
  38. package/dist/esm/updateTheme.native.js +9 -10
  39. package/dist/esm/updateTheme.native.js.map +1 -1
  40. package/package.json +5 -5
  41. package/src/_mutateTheme.ts +5 -4
  42. package/dist/esm/index.js.map +0 -1
  43. package/dist/esm/index.mjs.map +0 -1
  44. package/dist/esm/index.native.js.map +0 -1
@@ -1,141 +1,126 @@
1
+
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
6
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
7
+ for (var name in all) __defProp(target, name, {
8
+ get: all[name],
9
+ enumerable: true
10
+ });
10
11
  };
11
12
  var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
19
20
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
22
  var mutateTheme_exports = {};
24
23
  __export(mutateTheme_exports, {
25
- _mutateTheme: () => _mutateTheme,
26
- mutateThemes: () => mutateThemes
24
+ _mutateTheme: () => _mutateTheme,
25
+ mutateThemes: () => mutateThemes
27
26
  });
28
27
  module.exports = __toCommonJS(mutateTheme_exports);
29
28
  var import_constants = require("@tamagui/constants");
30
29
  var import_start_transition = require("@tamagui/start-transition");
31
30
  var import_web = require("@tamagui/web");
32
- function mutateThemes({
33
- themes,
34
- batch,
35
- insertCSS = true,
36
- ...props
37
- }) {
38
- const allThemesProxied = {};
39
- const allThemesRaw = {};
40
- for (const {
41
- name,
42
- theme
43
- } of themes) {
44
- const res = _mutateTheme({
45
- ...props,
46
- name,
47
- theme,
48
- avoidUpdate: true,
49
- mutationType: "add"
50
- });
51
- if (res) {
52
- allThemesProxied[name] = res.theme;
53
- allThemesRaw[name] = res.themeRaw;
54
- }
55
- }
56
- const cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];
57
- (0, import_start_transition.startTransition)(() => {
58
- for (const themeName in allThemesProxied) {
59
- const theme = allThemesProxied[themeName];
60
- updateThemeConfig(themeName, theme);
61
- }
62
- updateThemeStates();
63
- });
64
- return {
65
- themes: allThemesProxied,
66
- themesRaw: allThemesRaw,
67
- cssRules
68
- };
31
+ function mutateThemes({ themes, batch, insertCSS = true, ...props }) {
32
+ const allThemesProxied = {};
33
+ const allThemesRaw = {};
34
+ for (const { name, theme } of themes) {
35
+ const res = _mutateTheme({
36
+ ...props,
37
+ name,
38
+ theme,
39
+ avoidUpdate: true,
40
+ mutationType: "add"
41
+ });
42
+ if (res) {
43
+ allThemesProxied[name] = res.theme;
44
+ allThemesRaw[name] = res.themeRaw;
45
+ }
46
+ }
47
+ const cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];
48
+ (0, import_start_transition.startTransition)(() => {
49
+ for (const themeName in allThemesProxied) {
50
+ const theme = allThemesProxied[themeName];
51
+ updateThemeConfig(themeName, theme);
52
+ }
53
+ updateThemeStates();
54
+ });
55
+ return {
56
+ themes: allThemesProxied,
57
+ themesRaw: allThemesRaw,
58
+ cssRules
59
+ };
69
60
  }
70
61
  function _mutateTheme(props) {
71
- if (import_constants.isServer) {
72
- if (process.env.NODE_ENV === "development") console.warn("Theme mutation is not supported on server side");
73
- return;
74
- }
75
- const config = (0, import_web.getConfig)();
76
- const {
77
- name: themeName,
78
- theme: themeIn,
79
- insertCSS,
80
- mutationType
81
- } = props;
82
- if (process.env.NODE_ENV === "development") {
83
- if (!config) throw new Error("No config");
84
- const theme2 = config.themes[props.name];
85
- if (mutationType !== "add" && !theme2) throw new Error(`${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist`);
86
- }
87
- const theme = {
88
- ...(mutationType === "update" ? config.themes[themeName] ?? {} : {}),
89
- ...themeIn
90
- };
91
- for (const key in theme) (0, import_web.ensureThemeVariable)(theme, key);
92
- const themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme);
93
- const response = {
94
- themeRaw: theme,
95
- theme: themeProxied,
96
- cssRules: []
97
- };
98
- if (props.avoidUpdate) return response;
99
- if (insertCSS) response.cssRules = insertThemeCSS({
100
- [themeName]: theme
101
- });
102
- updateThemeConfig(themeName, themeProxied);
103
- updateThemeStates();
104
- return response;
62
+ if (import_constants.isServer) {
63
+ if (process.env.NODE_ENV === "development") console.warn("Theme mutation is not supported on server side");
64
+ return;
65
+ }
66
+ const config = (0, import_web.getConfig)();
67
+ const { name: themeName, theme: themeIn, insertCSS, mutationType } = props;
68
+ if (process.env.NODE_ENV === "development") {
69
+ if (!config) throw new Error("No config");
70
+ const theme2 = config.themes[props.name];
71
+ if (mutationType !== "add" && !theme2) throw new Error(`${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist`);
72
+ }
73
+ const theme = {
74
+ ...mutationType === "update" ? config.themes[themeName] ?? {} : {},
75
+ ...themeIn
76
+ };
77
+ for (const key in theme) (0, import_web.ensureThemeVariable)(theme, key);
78
+ const themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme);
79
+ const response = {
80
+ themeRaw: theme,
81
+ theme: themeProxied,
82
+ cssRules: []
83
+ };
84
+ if (props.avoidUpdate) return response;
85
+ if (insertCSS) response.cssRules = insertThemeCSS({ [themeName]: theme });
86
+ updateThemeConfig(themeName, themeProxied);
87
+ updateThemeStates();
88
+ return response;
105
89
  }
106
90
  function updateThemeConfig(themeName, theme) {
107
- const config = (0, import_web.getConfig)();
108
- config.themes[themeName] = theme;
109
- (0, import_web.updateConfig)("themes", config.themes);
91
+ const config = (0, import_web.getConfig)();
92
+ config.themes[themeName] = theme;
93
+ (0, import_web.updateConfig)("themes", config.themes);
110
94
  }
111
95
  function updateThemeStates() {
112
- (0, import_web.forceUpdateThemes)();
96
+ (0, import_web.forceUpdateThemes)();
113
97
  }
114
98
  function insertThemeCSS(themes, batch = false) {
115
- const config = (0, import_web.getConfig)();
116
- let cssRules = [];
117
- for (const themeName in themes) {
118
- const theme = themes[themeName];
119
- const rules = (0, import_web.getThemeCSSRules)({
120
- config,
121
- themeName,
122
- names: [themeName],
123
- hasDarkLight: true,
124
- theme,
125
- useMutatedVariables: true
126
- });
127
- cssRules = [...cssRules, ...rules];
128
- if (!batch) updateStyle(`t_theme_style_${themeName}`, rules);
129
- }
130
- if (import_web.mutatedAutoVariables.length > 0) updateStyle(`t_mutate_vars`, [`:root{${import_web.mutatedAutoVariables.map(v => `--${v.name}:${v.val}`).join(";")}}`]);
131
- if (batch) updateStyle(`t_theme_style_${typeof batch == "string" ? batch : (0, import_web.simpleHash)(Object.keys(themes).join(""))}`, cssRules);
132
- return cssRules;
99
+ const config = (0, import_web.getConfig)();
100
+ let cssRules = [];
101
+ for (const themeName in themes) {
102
+ const theme = themes[themeName];
103
+ const rules = (0, import_web.getThemeCSSRules)({
104
+ config,
105
+ themeName,
106
+ names: [themeName],
107
+ hasDarkLight: true,
108
+ theme,
109
+ useMutatedVariables: true
110
+ });
111
+ cssRules = [...cssRules, ...rules];
112
+ if (!batch) updateStyle(`t_theme_style_${themeName}`, rules);
113
+ }
114
+ const mutatedAutoVariableCSS = (0, import_web.getMutatedAutoVariableCSS)();
115
+ if (mutatedAutoVariableCSS) updateStyle(`t_mutate_vars`, [`:root{${mutatedAutoVariableCSS}}`]);
116
+ if (batch) updateStyle(`t_theme_style_${typeof batch == "string" ? batch : (0, import_web.simpleHash)(Object.keys(themes).join(""))}`, cssRules);
117
+ return cssRules;
133
118
  }
134
119
  function updateStyle(id, rules) {
135
- const existing = document.querySelector(`#${id}`);
136
- const style = document.createElement("style");
137
- style.id = id;
138
- style.appendChild(document.createTextNode(rules.join("\n")));
139
- document.head.appendChild(style);
140
- if (existing) existing.parentElement?.removeChild(existing);
141
- }
120
+ const existing = document.querySelector(`#${id}`);
121
+ const style = document.createElement("style");
122
+ style.id = id;
123
+ style.appendChild(document.createTextNode(rules.join("\n")));
124
+ document.head.appendChild(style);
125
+ if (existing) existing.parentElement?.removeChild(existing);
126
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var mutateTheme_exports = {};
25
+ __export(mutateTheme_exports, {
26
+ _mutateTheme: () => _mutateTheme,
27
+ mutateThemes: () => mutateThemes
28
+ });
29
+ module.exports = __toCommonJS(mutateTheme_exports);
30
+ var import_constants = require("@tamagui/constants");
31
+ var import_start_transition = require("@tamagui/start-transition");
32
+ var import_web = require("@tamagui/web");
33
+ function mutateThemes(param) {
34
+ var { themes, batch, insertCSS = true, ...props } = param;
35
+ var allThemesProxied = {};
36
+ var allThemesRaw = {};
37
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
38
+ try {
39
+ for (var _iterator = themes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
40
+ var { name, theme } = _step.value;
41
+ var res = _mutateTheme({
42
+ ...props,
43
+ name,
44
+ theme,
45
+ avoidUpdate: true,
46
+ mutationType: "add"
47
+ });
48
+ if (res) {
49
+ allThemesProxied[name] = res.theme;
50
+ allThemesRaw[name] = res.themeRaw;
51
+ }
52
+ }
53
+ } catch (err) {
54
+ _didIteratorError = true;
55
+ _iteratorError = err;
56
+ } finally {
57
+ try {
58
+ if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
59
+ } finally {
60
+ if (_didIteratorError) throw _iteratorError;
61
+ }
62
+ }
63
+ var cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];
64
+ (0, import_start_transition.startTransition)(function() {
65
+ for (var themeName in allThemesProxied) {
66
+ var theme2 = allThemesProxied[themeName];
67
+ updateThemeConfig(themeName, theme2);
68
+ }
69
+ updateThemeStates();
70
+ });
71
+ return {
72
+ themes: allThemesProxied,
73
+ themesRaw: allThemesRaw,
74
+ cssRules
75
+ };
76
+ }
77
+ function _mutateTheme(props) {
78
+ if (import_constants.isServer) {
79
+ if (process.env.NODE_ENV === "development") console.warn("Theme mutation is not supported on server side");
80
+ return;
81
+ }
82
+ var config = (0, import_web.getConfig)();
83
+ var { name: themeName, theme: themeIn, insertCSS, mutationType } = props;
84
+ if (process.env.NODE_ENV === "development") {
85
+ if (!config) throw new Error("No config");
86
+ var theme = config.themes[props.name];
87
+ if (mutationType !== "add" && !theme) throw new Error(`${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist`);
88
+ }
89
+ var _config_themes_themeName;
90
+ var theme1 = {
91
+ ...mutationType === "update" ? (_config_themes_themeName = config.themes[themeName]) !== null && _config_themes_themeName !== void 0 ? _config_themes_themeName : {} : {},
92
+ ...themeIn
93
+ };
94
+ for (var key in theme1) (0, import_web.ensureThemeVariable)(theme1, key);
95
+ var themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme1);
96
+ var response = {
97
+ themeRaw: theme1,
98
+ theme: themeProxied,
99
+ cssRules: []
100
+ };
101
+ if (props.avoidUpdate) return response;
102
+ if (insertCSS) response.cssRules = insertThemeCSS({ [themeName]: theme1 });
103
+ updateThemeConfig(themeName, themeProxied);
104
+ updateThemeStates();
105
+ return response;
106
+ }
107
+ function updateThemeConfig(themeName, theme) {
108
+ var config = (0, import_web.getConfig)();
109
+ config.themes[themeName] = theme;
110
+ (0, import_web.updateConfig)("themes", config.themes);
111
+ }
112
+ function updateThemeStates() {
113
+ (0, import_web.forceUpdateThemes)();
114
+ }
115
+ function insertThemeCSS(themes) {
116
+ arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
117
+ return [];
118
+ }
@@ -1,137 +1,120 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var mutateTheme_exports = {};
26
25
  __export(mutateTheme_exports, {
27
- _mutateTheme: () => _mutateTheme,
28
- mutateThemes: () => mutateThemes
26
+ _mutateTheme: () => _mutateTheme,
27
+ mutateThemes: () => mutateThemes
29
28
  });
30
29
  module.exports = __toCommonJS(mutateTheme_exports);
31
30
  var import_constants = require("@tamagui/constants");
32
31
  var import_start_transition = require("@tamagui/start-transition");
33
32
  var import_web = require("@tamagui/web");
34
33
  function mutateThemes(param) {
35
- var {
36
- themes,
37
- batch,
38
- insertCSS = true,
39
- ...props
40
- } = param;
41
- var allThemesProxied = {};
42
- var allThemesRaw = {};
43
- var _iteratorNormalCompletion = true,
44
- _didIteratorError = false,
45
- _iteratorError = void 0;
46
- try {
47
- for (var _iterator = themes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
48
- var {
49
- name,
50
- theme
51
- } = _step.value;
52
- var res = _mutateTheme({
53
- ...props,
54
- name,
55
- theme,
56
- avoidUpdate: true,
57
- mutationType: "add"
58
- });
59
- if (res) {
60
- allThemesProxied[name] = res.theme;
61
- allThemesRaw[name] = res.themeRaw;
62
- }
63
- }
64
- } catch (err) {
65
- _didIteratorError = true;
66
- _iteratorError = err;
67
- } finally {
68
- try {
69
- if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
70
- } finally {
71
- if (_didIteratorError) throw _iteratorError;
72
- }
73
- }
74
- var cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];
75
- (0, import_start_transition.startTransition)(function () {
76
- for (var themeName in allThemesProxied) {
77
- var theme2 = allThemesProxied[themeName];
78
- updateThemeConfig(themeName, theme2);
79
- }
80
- updateThemeStates();
81
- });
82
- return {
83
- themes: allThemesProxied,
84
- themesRaw: allThemesRaw,
85
- cssRules
86
- };
34
+ var { themes, batch, insertCSS = true, ...props } = param;
35
+ var allThemesProxied = {};
36
+ var allThemesRaw = {};
37
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
38
+ try {
39
+ for (var _iterator = themes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
40
+ var { name, theme } = _step.value;
41
+ var res = _mutateTheme({
42
+ ...props,
43
+ name,
44
+ theme,
45
+ avoidUpdate: true,
46
+ mutationType: "add"
47
+ });
48
+ if (res) {
49
+ allThemesProxied[name] = res.theme;
50
+ allThemesRaw[name] = res.themeRaw;
51
+ }
52
+ }
53
+ } catch (err) {
54
+ _didIteratorError = true;
55
+ _iteratorError = err;
56
+ } finally {
57
+ try {
58
+ if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
59
+ } finally {
60
+ if (_didIteratorError) throw _iteratorError;
61
+ }
62
+ }
63
+ var cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];
64
+ (0, import_start_transition.startTransition)(function() {
65
+ for (var themeName in allThemesProxied) {
66
+ var theme2 = allThemesProxied[themeName];
67
+ updateThemeConfig(themeName, theme2);
68
+ }
69
+ updateThemeStates();
70
+ });
71
+ return {
72
+ themes: allThemesProxied,
73
+ themesRaw: allThemesRaw,
74
+ cssRules
75
+ };
87
76
  }
88
77
  function _mutateTheme(props) {
89
- if (import_constants.isServer) {
90
- if (process.env.NODE_ENV === "development") console.warn("Theme mutation is not supported on server side");
91
- return;
92
- }
93
- var config = (0, import_web.getConfig)();
94
- var {
95
- name: themeName,
96
- theme: themeIn,
97
- insertCSS,
98
- mutationType
99
- } = props;
100
- if (process.env.NODE_ENV === "development") {
101
- if (!config) throw new Error("No config");
102
- var theme = config.themes[props.name];
103
- if (mutationType !== "add" && !theme) throw new Error(`${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist`);
104
- }
105
- var _config_themes_themeName;
106
- var theme1 = {
107
- ...(mutationType === "update" ? (_config_themes_themeName = config.themes[themeName]) !== null && _config_themes_themeName !== void 0 ? _config_themes_themeName : {} : {}),
108
- ...themeIn
109
- };
110
- for (var key in theme1) (0, import_web.ensureThemeVariable)(theme1, key);
111
- var themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme1);
112
- var response = {
113
- themeRaw: theme1,
114
- theme: themeProxied,
115
- cssRules: []
116
- };
117
- if (props.avoidUpdate) return response;
118
- if (insertCSS) response.cssRules = insertThemeCSS({
119
- [themeName]: theme1
120
- });
121
- updateThemeConfig(themeName, themeProxied);
122
- updateThemeStates();
123
- return response;
78
+ if (import_constants.isServer) {
79
+ if (process.env.NODE_ENV === "development") console.warn("Theme mutation is not supported on server side");
80
+ return;
81
+ }
82
+ var config = (0, import_web.getConfig)();
83
+ var { name: themeName, theme: themeIn, insertCSS, mutationType } = props;
84
+ if (process.env.NODE_ENV === "development") {
85
+ if (!config) throw new Error("No config");
86
+ var theme = config.themes[props.name];
87
+ if (mutationType !== "add" && !theme) throw new Error(`${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist`);
88
+ }
89
+ var _config_themes_themeName;
90
+ var theme1 = {
91
+ ...mutationType === "update" ? (_config_themes_themeName = config.themes[themeName]) !== null && _config_themes_themeName !== void 0 ? _config_themes_themeName : {} : {},
92
+ ...themeIn
93
+ };
94
+ for (var key in theme1) (0, import_web.ensureThemeVariable)(theme1, key);
95
+ var themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme1);
96
+ var response = {
97
+ themeRaw: theme1,
98
+ theme: themeProxied,
99
+ cssRules: []
100
+ };
101
+ if (props.avoidUpdate) return response;
102
+ if (insertCSS) response.cssRules = insertThemeCSS({ [themeName]: theme1 });
103
+ updateThemeConfig(themeName, themeProxied);
104
+ updateThemeStates();
105
+ return response;
124
106
  }
125
107
  function updateThemeConfig(themeName, theme) {
126
- var config = (0, import_web.getConfig)();
127
- config.themes[themeName] = theme;
128
- (0, import_web.updateConfig)("themes", config.themes);
108
+ var config = (0, import_web.getConfig)();
109
+ config.themes[themeName] = theme;
110
+ (0, import_web.updateConfig)("themes", config.themes);
129
111
  }
130
112
  function updateThemeStates() {
131
- (0, import_web.forceUpdateThemes)();
113
+ (0, import_web.forceUpdateThemes)();
132
114
  }
133
115
  function insertThemeCSS(themes) {
134
- arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
135
- return [];
116
+ arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
117
+ return [];
136
118
  }
119
+
137
120
  //# sourceMappingURL=_mutateTheme.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","mutateTheme_exports","__export","_mutateTheme","mutateThemes","module","exports","import_constants","require","import_start_transition","import_web","param","themes","batch","insertCSS","props","allThemesProxied","allThemesRaw","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","name","theme","res","avoidUpdate","mutationType","themeRaw","err","return","cssRules","insertThemeCSS","startTransition","themeName","theme2","updateThemeConfig","updateThemeStates","themesRaw","isServer","process","env","NODE_ENV","console","warn","config","getConfig","themeIn","Error","_config_themes_themeName","theme1","key","ensureThemeVariable","themeProxied","proxyThemeToParents","response","updateConfig","forceUpdateThemes","arguments","length"],"sources":["../../src/_mutateTheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_mutateTheme.native.js","names":[],"sources":["cjs/_mutateTheme.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar mutateTheme_exports = {};\n__export(mutateTheme_exports, {\n\t_mutateTheme: () => _mutateTheme,\n\tmutateThemes: () => mutateThemes\n});\nmodule.exports = __toCommonJS(mutateTheme_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_start_transition = require(\"@tamagui/start-transition\");\nvar import_web = require(\"@tamagui/web\");\nfunction mutateThemes(param) {\n\tvar { themes, batch, insertCSS = true, ...props } = param;\n\tvar allThemesProxied = {};\n\tvar allThemesRaw = {};\n\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\ttry {\n\t\tfor (var _iterator = themes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar { name, theme } = _step.value;\n\t\t\tvar res = _mutateTheme({\n\t\t\t\t...props,\n\t\t\t\tname,\n\t\t\t\ttheme,\n\t\t\t\tavoidUpdate: true,\n\t\t\t\tmutationType: \"add\"\n\t\t\t});\n\t\t\tif (res) {\n\t\t\t\tallThemesProxied[name] = res.theme;\n\t\t\t\tallThemesRaw[name] = res.themeRaw;\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t} finally {\n\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t}\n\t}\n\tvar cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : [];\n\t(0, import_start_transition.startTransition)(function() {\n\t\tfor (var themeName in allThemesProxied) {\n\t\t\tvar theme2 = allThemesProxied[themeName];\n\t\t\tupdateThemeConfig(themeName, theme2);\n\t\t}\n\t\tupdateThemeStates();\n\t});\n\treturn {\n\t\tthemes: allThemesProxied,\n\t\tthemesRaw: allThemesRaw,\n\t\tcssRules\n\t};\n}\nfunction _mutateTheme(props) {\n\tif (import_constants.isServer) {\n\t\tif (process.env.NODE_ENV === \"development\") console.warn(\"Theme mutation is not supported on server side\");\n\t\treturn;\n\t}\n\tvar config = (0, import_web.getConfig)();\n\tvar { name: themeName, theme: themeIn, insertCSS, mutationType } = props;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (!config) throw new Error(\"No config\");\n\t\tvar theme = config.themes[props.name];\n\t\tif (mutationType !== \"add\" && !theme) throw new Error(`${mutationType === \"replace\" ? \"Replace\" : \"Update\"} theme failed! Theme ${props.name} does not exist`);\n\t}\n\tvar _config_themes_themeName;\n\tvar theme1 = {\n\t\t...mutationType === \"update\" ? (_config_themes_themeName = config.themes[themeName]) !== null && _config_themes_themeName !== void 0 ? _config_themes_themeName : {} : {},\n\t\t...themeIn\n\t};\n\tfor (var key in theme1) (0, import_web.ensureThemeVariable)(theme1, key);\n\tvar themeProxied = (0, import_web.proxyThemeToParents)(themeName, theme1);\n\tvar response = {\n\t\tthemeRaw: theme1,\n\t\ttheme: themeProxied,\n\t\tcssRules: []\n\t};\n\tif (props.avoidUpdate) return response;\n\tif (insertCSS) response.cssRules = insertThemeCSS({ [themeName]: theme1 });\n\tupdateThemeConfig(themeName, themeProxied);\n\tupdateThemeStates();\n\treturn response;\n}\nfunction updateThemeConfig(themeName, theme) {\n\tvar config = (0, import_web.getConfig)();\n\tconfig.themes[themeName] = theme;\n\t(0, import_web.updateConfig)(\"themes\", config.themes);\n}\nfunction updateThemeStates() {\n\t(0, import_web.forceUpdateThemes)();\n}\nfunction insertThemeCSS(themes) {\n\targuments.length > 1 && arguments[1] !== void 0 && arguments[1];\n\treturn [];\n}\n//# sourceMappingURL=_mutateTheme.js.map\n"],"mappings":"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"}