@tamagui/theme-builder 1.75.9 → 1.76.0

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.
@@ -0,0 +1,54 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var buildMask_exports = {};
16
+ __export(buildMask_exports, {
17
+ buildMask: () => buildMask
18
+ });
19
+ module.exports = __toCommonJS(buildMask_exports);
20
+ var import_create_theme = require("@tamagui/create-theme");
21
+ function buildMask(masks) {
22
+ return (0, import_create_theme.combineMasks)(
23
+ ...masks.map((mask) => mask.type === "inverse" ? (0, import_create_theme.createInverseMask)() : mask.type === "soften" ? (0, import_create_theme.createSoftenMask)({ strength: mask.strength || 0 }) : mask.type === "strengthen" ? (0, import_create_theme.createStrengthenMask)({ strength: mask.strength || 0 }) : mask.type === "softenBorder" ? (0, import_create_theme.createMask)((template, options) => {
24
+ const plain = import_create_theme.skipMask.mask(template, options), softer = (0, import_create_theme.createSoftenMask)({ strength: mask.strength }).mask(
25
+ template,
26
+ options
27
+ );
28
+ return {
29
+ ...plain,
30
+ borderColor: softer.borderColor,
31
+ borderColorHover: softer.borderColorHover,
32
+ borderColorPress: softer.borderColorPress,
33
+ borderColorFocus: softer.borderColorFocus
34
+ };
35
+ }) : mask.type === "strengthenBorder" ? (0, import_create_theme.createMask)((template, options) => {
36
+ const plain = import_create_theme.skipMask.mask(template, options), softer = (0, import_create_theme.createSoftenMask)({ strength: mask.strength }).mask(
37
+ template,
38
+ options
39
+ );
40
+ return {
41
+ ...plain,
42
+ borderColor: softer.borderColor,
43
+ borderColorHover: softer.borderColorHover,
44
+ borderColorPress: softer.borderColorPress,
45
+ borderColorFocus: softer.borderColorFocus
46
+ };
47
+ }) : {})
48
+ );
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ buildMask
53
+ });
54
+ //# sourceMappingURL=buildMask.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/buildMask.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAQO;AAOA,SAAS,UAAU,OAAoB;AAC5C,aAAO;AAAA,IACL,GAAG,MAAM,IAAI,CAAC,SACR,KAAK,SAAS,gBACT,uCAAkB,IAEvB,KAAK,SAAS,eACT,sCAAiB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAEtD,KAAK,SAAS,mBACT,0CAAqB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAE1D,KAAK,SAAS,qBACT,gCAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,6BAAS,KAAK,UAAU,OAAO,GACvC,aAAS,sCAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEC,KAAK,SAAS,yBACT,gCAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,6BAAS,KAAK,UAAU,OAAO,GACvC,aAAS,sCAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEI,CAAC,CACT;AAAA,EACH;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var buildMask_exports = {};
17
+ __export(buildMask_exports, {
18
+ buildMask: () => buildMask
19
+ });
20
+ module.exports = __toCommonJS(buildMask_exports);
21
+ var import_create_theme = require("@tamagui/create-theme");
22
+ function buildMask(masks) {
23
+ return (0, import_create_theme.combineMasks)(
24
+ ...masks.map((mask) => mask.type === "inverse" ? (0, import_create_theme.createInverseMask)() : mask.type === "soften" ? (0, import_create_theme.createSoftenMask)({ strength: mask.strength || 0 }) : mask.type === "strengthen" ? (0, import_create_theme.createStrengthenMask)({ strength: mask.strength || 0 }) : mask.type === "softenBorder" ? (0, import_create_theme.createMask)((template, options) => {
25
+ const plain = import_create_theme.skipMask.mask(template, options), softer = (0, import_create_theme.createSoftenMask)({ strength: mask.strength }).mask(
26
+ template,
27
+ options
28
+ );
29
+ return {
30
+ ...plain,
31
+ borderColor: softer.borderColor,
32
+ borderColorHover: softer.borderColorHover,
33
+ borderColorPress: softer.borderColorPress,
34
+ borderColorFocus: softer.borderColorFocus
35
+ };
36
+ }) : mask.type === "strengthenBorder" ? (0, import_create_theme.createMask)((template, options) => {
37
+ const plain = import_create_theme.skipMask.mask(template, options), softer = (0, import_create_theme.createSoftenMask)({ strength: mask.strength }).mask(
38
+ template,
39
+ options
40
+ );
41
+ return {
42
+ ...plain,
43
+ borderColor: softer.borderColor,
44
+ borderColorHover: softer.borderColorHover,
45
+ borderColorPress: softer.borderColorPress,
46
+ borderColorFocus: softer.borderColorFocus
47
+ };
48
+ }) : {})
49
+ );
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ buildMask
54
+ });
55
+ //# sourceMappingURL=buildMask.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/buildMask.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAQO;AAOA,SAAS,UAAU,OAAoB;AAC5C,aAAO;AAAA,IACL,GAAG,MAAM,IAAI,CAAC,SACR,KAAK,SAAS,gBACT,uCAAkB,IAEvB,KAAK,SAAS,eACT,sCAAiB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAEtD,KAAK,SAAS,mBACT,0CAAqB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAE1D,KAAK,SAAS,qBACT,gCAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,6BAAS,KAAK,UAAU,OAAO,GACvC,aAAS,sCAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEC,KAAK,SAAS,yBACT,gCAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,6BAAS,KAAK,UAAU,OAAO,GACvC,aAAS,sCAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEI,CAAC,CACT;AAAA,EACH;AACF;",
5
+ "names": []
6
+ }
package/dist/cjs/index.js CHANGED
@@ -13,9 +13,13 @@ var src_exports = {};
13
13
  module.exports = __toCommonJS(src_exports);
14
14
  __reExport(src_exports, require("./ThemeBuilder"), module.exports);
15
15
  __reExport(src_exports, require("@tamagui/create-theme"), module.exports);
16
+ __reExport(src_exports, require("./buildMask"), module.exports);
17
+ __reExport(src_exports, require("./types"), module.exports);
16
18
  // Annotate the CommonJS export names for ESM import in node:
17
19
  0 && (module.exports = {
18
20
  ...require("./ThemeBuilder"),
19
- ...require("@tamagui/create-theme")
21
+ ...require("@tamagui/create-theme"),
22
+ ...require("./buildMask"),
23
+ ...require("./types")
20
24
  });
21
25
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,2BAAd;AACA,wBAAc,kCADd;",
4
+ "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,2BAAd;AACA,wBAAc,kCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,oBAHd;",
5
5
  "names": []
6
6
  }
@@ -14,9 +14,13 @@ var src_exports = {};
14
14
  module.exports = __toCommonJS(src_exports);
15
15
  __reExport(src_exports, require("./ThemeBuilder"), module.exports);
16
16
  __reExport(src_exports, require("@tamagui/create-theme"), module.exports);
17
+ __reExport(src_exports, require("./buildMask"), module.exports);
18
+ __reExport(src_exports, require("./types"), module.exports);
17
19
  // Annotate the CommonJS export names for ESM import in node:
18
20
  0 && (module.exports = {
19
21
  ...require("./ThemeBuilder"),
20
- ...require("@tamagui/create-theme")
22
+ ...require("@tamagui/create-theme"),
23
+ ...require("./buildMask"),
24
+ ...require("./types")
21
25
  });
22
26
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,2BAAd;AACA,wBAAc,kCADd;",
4
+ "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,2BAAd;AACA,wBAAc,kCADd;AAEA,wBAAc,wBAFd;AAGA,wBAAc,oBAHd;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from == "object" || typeof from == "function")
7
+ for (let key of __getOwnPropNames(from))
8
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
+ return to;
10
+ };
11
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12
+ var types_exports = {};
13
+ module.exports = __toCommonJS(types_exports);
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/types.ts"],
4
+ "mappings": ";;;;;;;;;;;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from == "object" || typeof from == "function")
8
+ for (let key of __getOwnPropNames(from))
9
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ return to;
11
+ };
12
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
+ var types_exports = {};
14
+ module.exports = __toCommonJS(types_exports);
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/types.ts"],
4
+ "mappings": ";;;;;;;;;;;;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,41 @@
1
+ import {
2
+ combineMasks,
3
+ createInverseMask,
4
+ createMask,
5
+ createSoftenMask,
6
+ createStrengthenMask,
7
+ skipMask
8
+ } from "@tamagui/create-theme";
9
+ function buildMask(masks) {
10
+ return combineMasks(
11
+ ...masks.map((mask) => mask.type === "inverse" ? createInverseMask() : mask.type === "soften" ? createSoftenMask({ strength: mask.strength || 0 }) : mask.type === "strengthen" ? createStrengthenMask({ strength: mask.strength || 0 }) : mask.type === "softenBorder" ? createMask((template, options) => {
12
+ const plain = skipMask.mask(template, options), softer = createSoftenMask({ strength: mask.strength }).mask(
13
+ template,
14
+ options
15
+ );
16
+ return {
17
+ ...plain,
18
+ borderColor: softer.borderColor,
19
+ borderColorHover: softer.borderColorHover,
20
+ borderColorPress: softer.borderColorPress,
21
+ borderColorFocus: softer.borderColorFocus
22
+ };
23
+ }) : mask.type === "strengthenBorder" ? createMask((template, options) => {
24
+ const plain = skipMask.mask(template, options), softer = createSoftenMask({ strength: mask.strength }).mask(
25
+ template,
26
+ options
27
+ );
28
+ return {
29
+ ...plain,
30
+ borderColor: softer.borderColor,
31
+ borderColorHover: softer.borderColorHover,
32
+ borderColorPress: softer.borderColorPress,
33
+ borderColorFocus: softer.borderColorFocus
34
+ };
35
+ }) : {})
36
+ );
37
+ }
38
+ export {
39
+ buildMask
40
+ };
41
+ //# sourceMappingURL=buildMask.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/buildMask.ts"],
4
+ "mappings": "AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOA,SAAS,UAAU,OAAoB;AAC5C,SAAO;AAAA,IACL,GAAG,MAAM,IAAI,CAAC,SACR,KAAK,SAAS,YACT,kBAAkB,IAEvB,KAAK,SAAS,WACT,iBAAiB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAEtD,KAAK,SAAS,eACT,qBAAqB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAE1D,KAAK,SAAS,iBACT,WAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,SAAS,KAAK,UAAU,OAAO,GACvC,SAAS,iBAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEC,KAAK,SAAS,qBACT,WAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,SAAS,KAAK,UAAU,OAAO,GACvC,SAAS,iBAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEI,CAAC,CACT;AAAA,EACH;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,41 @@
1
+ import {
2
+ combineMasks,
3
+ createInverseMask,
4
+ createMask,
5
+ createSoftenMask,
6
+ createStrengthenMask,
7
+ skipMask
8
+ } from "@tamagui/create-theme";
9
+ function buildMask(masks) {
10
+ return combineMasks(
11
+ ...masks.map((mask) => mask.type === "inverse" ? createInverseMask() : mask.type === "soften" ? createSoftenMask({ strength: mask.strength || 0 }) : mask.type === "strengthen" ? createStrengthenMask({ strength: mask.strength || 0 }) : mask.type === "softenBorder" ? createMask((template, options) => {
12
+ const plain = skipMask.mask(template, options), softer = createSoftenMask({ strength: mask.strength }).mask(
13
+ template,
14
+ options
15
+ );
16
+ return {
17
+ ...plain,
18
+ borderColor: softer.borderColor,
19
+ borderColorHover: softer.borderColorHover,
20
+ borderColorPress: softer.borderColorPress,
21
+ borderColorFocus: softer.borderColorFocus
22
+ };
23
+ }) : mask.type === "strengthenBorder" ? createMask((template, options) => {
24
+ const plain = skipMask.mask(template, options), softer = createSoftenMask({ strength: mask.strength }).mask(
25
+ template,
26
+ options
27
+ );
28
+ return {
29
+ ...plain,
30
+ borderColor: softer.borderColor,
31
+ borderColorHover: softer.borderColorHover,
32
+ borderColorPress: softer.borderColorPress,
33
+ borderColorFocus: softer.borderColorFocus
34
+ };
35
+ }) : {})
36
+ );
37
+ }
38
+ export {
39
+ buildMask
40
+ };
41
+ //# sourceMappingURL=buildMask.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/buildMask.ts"],
4
+ "mappings": "AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOA,SAAS,UAAU,OAAoB;AAC5C,SAAO;AAAA,IACL,GAAG,MAAM,IAAI,CAAC,SACR,KAAK,SAAS,YACT,kBAAkB,IAEvB,KAAK,SAAS,WACT,iBAAiB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAEtD,KAAK,SAAS,eACT,qBAAqB,EAAE,UAAU,KAAK,YAAY,EAAE,CAAC,IAE1D,KAAK,SAAS,iBACT,WAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,SAAS,KAAK,UAAU,OAAO,GACvC,SAAS,iBAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEC,KAAK,SAAS,qBACT,WAAW,CAAC,UAAU,YAAY;AACvC,YAAM,QAAQ,SAAS,KAAK,UAAU,OAAO,GACvC,SAAS,iBAAiB,EAAE,UAAU,KAAK,SAAS,CAAC,EAAE;AAAA,QAC3D;AAAA,QACA;AAAA,MACF;AACA,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,OAAO;AAAA,QACpB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,QACzB,kBAAkB,OAAO;AAAA,MAC3B;AAAA,IACF,CAAC,IAEI,CAAC,CACT;AAAA,EACH;AACF;",
5
+ "names": []
6
+ }
package/dist/esm/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from "./ThemeBuilder";
2
2
  export * from "@tamagui/create-theme";
3
+ export * from "./buildMask";
4
+ export * from "./types";
3
5
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -1,3 +1,5 @@
1
1
  export * from "./ThemeBuilder";
2
2
  export * from "@tamagui/create-theme";
3
+ export * from "./buildMask";
4
+ export * from "./types";
3
5
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "mappings": "",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/theme-builder",
3
- "version": "1.75.9",
3
+ "version": "1.76.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -27,10 +27,10 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@tamagui/create-theme": "1.75.9"
30
+ "@tamagui/create-theme": "1.76.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@tamagui/build": "1.75.9"
33
+ "@tamagui/build": "1.76.0"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
@@ -0,0 +1,63 @@
1
+ import {
2
+ CreateMask,
3
+ combineMasks,
4
+ createInverseMask,
5
+ createMask,
6
+ createSoftenMask,
7
+ createStrengthenMask,
8
+ skipMask,
9
+ } from '@tamagui/create-theme'
10
+
11
+ import { BuildMask } from './types'
12
+
13
+ // helper function for generating a custom mask given an object
14
+ // pulled out from studio, not really a "user facing" API yet
15
+
16
+ export function buildMask(masks: BuildMask[]) {
17
+ return combineMasks(
18
+ ...masks.map((mask) => {
19
+ if (mask.type === 'inverse') {
20
+ return createInverseMask()
21
+ }
22
+ if (mask.type === 'soften') {
23
+ return createSoftenMask({ strength: mask.strength || 0 })
24
+ }
25
+ if (mask.type === 'strengthen') {
26
+ return createStrengthenMask({ strength: mask.strength || 0 })
27
+ }
28
+ if (mask.type === 'softenBorder') {
29
+ return createMask((template, options) => {
30
+ const plain = skipMask.mask(template, options)
31
+ const softer = createSoftenMask({ strength: mask.strength }).mask(
32
+ template,
33
+ options
34
+ )
35
+ return {
36
+ ...plain,
37
+ borderColor: softer.borderColor,
38
+ borderColorHover: softer.borderColorHover,
39
+ borderColorPress: softer.borderColorPress,
40
+ borderColorFocus: softer.borderColorFocus,
41
+ }
42
+ })
43
+ }
44
+ if (mask.type === 'strengthenBorder') {
45
+ return createMask((template, options) => {
46
+ const plain = skipMask.mask(template, options)
47
+ const softer = createSoftenMask({ strength: mask.strength }).mask(
48
+ template,
49
+ options
50
+ )
51
+ return {
52
+ ...plain,
53
+ borderColor: softer.borderColor,
54
+ borderColorHover: softer.borderColorHover,
55
+ borderColorPress: softer.borderColorPress,
56
+ borderColorFocus: softer.borderColorFocus,
57
+ }
58
+ })
59
+ }
60
+ return {} as CreateMask
61
+ })
62
+ )
63
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './ThemeBuilder'
2
2
  export * from '@tamagui/create-theme'
3
+ export * from './buildMask'
4
+ export * from './types'
package/src/types.ts ADDED
@@ -0,0 +1,71 @@
1
+ // only used by the studio theme builder generated:
2
+
3
+ export type ScaleTypeName =
4
+ | 'radix'
5
+ | 'radix-b'
6
+ | 'radius-bold'
7
+ | 'radius-bright'
8
+ | 'linear'
9
+ | 'pastel'
10
+ | 'pastel-desaturating'
11
+ | 'neon'
12
+ | 'neon-bright'
13
+ | 'neon-c'
14
+
15
+ export type BuildThemeBasicProperties = {
16
+ id: string
17
+ color: string
18
+ scale: ScaleTypeName
19
+ // saturation?: 'low' | 'x' | 'high'
20
+ contrast?: string
21
+ contrastColor?: string
22
+ contrastScale?: ScaleTypeName
23
+ errors?: string[]
24
+ }
25
+
26
+ export type BuildLightDarkTheme = BuildThemeBasicProperties & {
27
+ type: 'lightdark'
28
+ }
29
+
30
+ export type BuildColorSubTheme = BuildThemeBasicProperties & {
31
+ type: 'base'
32
+ subThemeType: 'color'
33
+ name: string
34
+ }
35
+
36
+ export type BuildMask = { id: string } & (
37
+ | {
38
+ type: 'strengthen'
39
+ strength: number
40
+ }
41
+ | {
42
+ type: 'soften'
43
+ strength: number
44
+ }
45
+ | {
46
+ type: 'inverse'
47
+ }
48
+ | {
49
+ type: 'strengthenBorder'
50
+ strength: number
51
+ }
52
+ | {
53
+ type: 'softenBorder'
54
+ strength: number
55
+ }
56
+ )
57
+
58
+ export type BuildMaskSubTheme = {
59
+ id: string
60
+ type: 'sub'
61
+ subThemeType: 'mask'
62
+ name: string
63
+ masks: BuildMask[]
64
+ errors?: string[]
65
+ }
66
+
67
+ export type BuildThemeSuiteProps = {
68
+ theme: BuildLightDarkTheme | BuildColorSubTheme | BuildMaskSubTheme
69
+ // fallback theme is used for mask only theme
70
+ fallbackTheme?: BuildColorSubTheme
71
+ }
@@ -0,0 +1,4 @@
1
+ import { CreateMask } from '@tamagui/create-theme';
2
+ import { BuildMask } from './types';
3
+ export declare function buildMask(masks: BuildMask[]): CreateMask;
4
+ //# sourceMappingURL=buildMask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildMask.d.ts","sourceRoot":"","sources":["../src/buildMask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOX,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKnC,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cA+C3C"}
package/types/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './ThemeBuilder';
2
2
  export * from '@tamagui/create-theme';
3
+ export * from './buildMask';
4
+ export * from './types';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,48 @@
1
+ export type ScaleTypeName = 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c';
2
+ export type BuildThemeBasicProperties = {
3
+ id: string;
4
+ color: string;
5
+ scale: ScaleTypeName;
6
+ contrast?: string;
7
+ contrastColor?: string;
8
+ contrastScale?: ScaleTypeName;
9
+ errors?: string[];
10
+ };
11
+ export type BuildLightDarkTheme = BuildThemeBasicProperties & {
12
+ type: 'lightdark';
13
+ };
14
+ export type BuildColorSubTheme = BuildThemeBasicProperties & {
15
+ type: 'base';
16
+ subThemeType: 'color';
17
+ name: string;
18
+ };
19
+ export type BuildMask = {
20
+ id: string;
21
+ } & ({
22
+ type: 'strengthen';
23
+ strength: number;
24
+ } | {
25
+ type: 'soften';
26
+ strength: number;
27
+ } | {
28
+ type: 'inverse';
29
+ } | {
30
+ type: 'strengthenBorder';
31
+ strength: number;
32
+ } | {
33
+ type: 'softenBorder';
34
+ strength: number;
35
+ });
36
+ export type BuildMaskSubTheme = {
37
+ id: string;
38
+ type: 'sub';
39
+ subThemeType: 'mask';
40
+ name: string;
41
+ masks: BuildMask[];
42
+ errors?: string[];
43
+ };
44
+ export type BuildThemeSuiteProps = {
45
+ theme: BuildLightDarkTheme | BuildColorSubTheme | BuildMaskSubTheme;
46
+ fallbackTheme?: BuildColorSubTheme;
47
+ };
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,aAAa,GACb,eAAe,GACf,QAAQ,GACR,QAAQ,GACR,qBAAqB,GACrB,MAAM,GACN,aAAa,GACb,QAAQ,CAAA;AAEZ,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,aAAa,CAAA;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG;IAC5D,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CACrC;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CACJ,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,KAAK,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;IAEnE,aAAa,CAAC,EAAE,kBAAkB,CAAA;CACnC,CAAA"}