@tamagui/web 1.123.6 → 1.123.8

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 (54) hide show
  1. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +176 -0
  2. package/dist/cjs/helpers/getCSSStylesAtomic.js +152 -0
  3. package/dist/cjs/helpers/getCSSStylesAtomic.js.map +6 -0
  4. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +203 -0
  5. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +6 -0
  6. package/dist/cjs/helpers/getSplitStyles.cjs +5 -5
  7. package/dist/cjs/helpers/getSplitStyles.js +5 -5
  8. package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
  9. package/dist/cjs/helpers/getSplitStyles.native.js +4 -4
  10. package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
  11. package/dist/cjs/helpers/getStylesAtomic.native.js +3 -3
  12. package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
  13. package/dist/cjs/helpers/transformsToString.cjs +1 -0
  14. package/dist/cjs/helpers/transformsToString.js +1 -0
  15. package/dist/cjs/helpers/transformsToString.js.map +1 -1
  16. package/dist/cjs/helpers/transformsToString.native.js +1 -0
  17. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  18. package/dist/cjs/index.cjs +1 -1
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/index.native.js +2 -2
  22. package/dist/cjs/index.native.js.map +1 -1
  23. package/dist/esm/helpers/getCSSStylesAtomic.js +143 -0
  24. package/dist/esm/helpers/getCSSStylesAtomic.js.map +6 -0
  25. package/dist/esm/helpers/getCSSStylesAtomic.mjs +151 -0
  26. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -0
  27. package/dist/esm/helpers/getCSSStylesAtomic.native.js +187 -0
  28. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +6 -0
  29. package/dist/esm/helpers/getSplitStyles.js +3 -3
  30. package/dist/esm/helpers/getSplitStyles.js.map +1 -1
  31. package/dist/esm/helpers/getSplitStyles.mjs +3 -3
  32. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  33. package/dist/esm/helpers/getSplitStyles.native.js +2 -2
  34. package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
  35. package/dist/esm/helpers/getStylesAtomic.native.js +2 -2
  36. package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
  37. package/dist/esm/helpers/transformsToString.js +1 -0
  38. package/dist/esm/helpers/transformsToString.js.map +1 -1
  39. package/dist/esm/helpers/transformsToString.mjs +1 -0
  40. package/dist/esm/helpers/transformsToString.mjs.map +1 -1
  41. package/dist/esm/helpers/transformsToString.native.js +1 -0
  42. package/dist/esm/helpers/transformsToString.native.js.map +1 -1
  43. package/dist/esm/index.js +1 -1
  44. package/dist/esm/index.mjs +1 -1
  45. package/dist/esm/index.native.js +1 -1
  46. package/package.json +11 -11
  47. package/src/helpers/{getStylesAtomic.ts → getCSSStylesAtomic.ts} +1 -1
  48. package/src/helpers/getSplitStyles.tsx +4 -4
  49. package/src/helpers/getStylesAtomic.native.ts +1 -1
  50. package/src/helpers/transformsToString.ts +1 -0
  51. package/src/index.ts +1 -1
  52. package/types/helpers/getStylesAtomic.d.ts +10 -7
  53. package/types/helpers/getStylesAtomic.native.d.ts +4 -4
  54. package/types/index.d.ts +91 -72
@@ -0,0 +1,143 @@
1
+ import { simpleHash } from "@tamagui/helpers";
2
+ import { getConfigMaybe } from "../config";
3
+ import { defaultOffset } from "./defaultOffset";
4
+ import { normalizeColor } from "./normalizeColor";
5
+ import { normalizeValueWithProperty } from "./normalizeValueWithProperty";
6
+ import { pseudoDescriptors } from "./pseudoDescriptors";
7
+ import { transformsToString } from "./transformsToString";
8
+ import { isMediaKey } from "../hooks/useMedia";
9
+ function getCSSStylesAtomic(style) {
10
+ styleToCSS(style);
11
+ const out = [];
12
+ for (const key in style) {
13
+ if (key === "$$css") continue;
14
+ const val = style[key];
15
+ if (key in pseudoDescriptors)
16
+ val && out.push(...getStyleAtomic(val, pseudoDescriptors[key]));
17
+ else if (isMediaKey(key))
18
+ for (const subKey in val) {
19
+ const so = getStyleObject(val, subKey);
20
+ so && (so[0] = key, out.push(so));
21
+ }
22
+ else {
23
+ const so = getStyleObject(style, key);
24
+ so && out.push(so);
25
+ }
26
+ }
27
+ return out;
28
+ }
29
+ const getStyleAtomic = (style, pseudo) => {
30
+ styleToCSS(style);
31
+ const out = [];
32
+ for (const key in style) {
33
+ const so = getStyleObject(style, key, pseudo);
34
+ so && out.push(so);
35
+ }
36
+ return out;
37
+ };
38
+ let conf = null;
39
+ const getStyleObject = (style, key, pseudo) => {
40
+ let val = style[key];
41
+ if (val == null) return;
42
+ key === "transform" && Array.isArray(style.transform) && (val = transformsToString(val));
43
+ const value = normalizeValueWithProperty(val, key), hash = simpleHash(typeof value == "string" ? value : `${value}`), pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
44
+ conf ||= getConfigMaybe();
45
+ const identifier = `_${conf?.inverseShorthands[key] || key}-${pseudoPrefix}${hash}`, rules = createAtomicRules(identifier, key, value, pseudo);
46
+ return [
47
+ // array for performance
48
+ key,
49
+ value,
50
+ identifier,
51
+ pseudo?.name,
52
+ rules
53
+ ];
54
+ };
55
+ function styleToCSS(style) {
56
+ const { shadowOffset, shadowRadius, shadowColor, shadowOpacity } = style;
57
+ if (shadowRadius || shadowColor) {
58
+ const offset = shadowOffset || defaultOffset, width = normalizeValueWithProperty(offset.width), height = normalizeValueWithProperty(offset.height), radius = normalizeValueWithProperty(shadowRadius), color = normalizeColor(shadowColor, shadowOpacity), shadow = `${width} ${height} ${radius} ${color}`;
59
+ style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow, delete style.shadowOffset, delete style.shadowRadius, delete style.shadowColor, delete style.shadowOpacity;
60
+ }
61
+ const { textShadowColor, textShadowOffset, textShadowRadius } = style;
62
+ if (textShadowColor || textShadowOffset || textShadowRadius) {
63
+ const { height, width } = textShadowOffset || defaultOffset, radius = textShadowRadius || 0, color = normalizeValueWithProperty(textShadowColor, "textShadowColor");
64
+ if (color && (height !== 0 || width !== 0 || radius !== 0)) {
65
+ const blurRadius = normalizeValueWithProperty(radius), offsetX = normalizeValueWithProperty(width), offsetY = normalizeValueWithProperty(height);
66
+ style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
67
+ }
68
+ delete style.textShadowColor, delete style.textShadowOffset, delete style.textShadowRadius;
69
+ }
70
+ }
71
+ function createDeclarationBlock(style, important = !1) {
72
+ let next = "";
73
+ for (const [key, value] of style)
74
+ next += `${hyphenateStyleName(key)}:${value}${important ? " !important" : ""};`;
75
+ return `{${next}}`;
76
+ }
77
+ const hcache = {}, toHyphenLower = (match) => `-${match.toLowerCase()}`, hyphenateStyleName = (key) => {
78
+ if (key in hcache) return hcache[key];
79
+ const val = key.replace(/[A-Z]/g, toHyphenLower);
80
+ return hcache[key] = val, val;
81
+ }, selectorPriority = (() => {
82
+ const res = {};
83
+ for (const key in pseudoDescriptors) {
84
+ const pseudo = pseudoDescriptors[key];
85
+ res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ":root").join("")} `;
86
+ }
87
+ return res;
88
+ })();
89
+ function createAtomicRules(identifier, property, value, pseudo) {
90
+ const pseudoIdPostfix = pseudo ? pseudo.name === "disabled" ? "[aria-disabled]" : `:${pseudo.name}` : "", pseudoSelector = pseudo?.selector;
91
+ let selector = pseudo ? pseudoSelector ? `${pseudoSelector} .${identifier}` : `${selectorPriority[pseudo.name]} .${identifier}${pseudoIdPostfix}` : `:root .${identifier}`;
92
+ pseudoSelector === pseudoDescriptors.enterStyle.selector && (selector = `${selector}, .${identifier}${pseudoSelector}`);
93
+ const important = !!pseudo;
94
+ let rules = [];
95
+ switch (property) {
96
+ // Equivalent to using '::placeholder'
97
+ case "placeholderTextColor": {
98
+ const block = createDeclarationBlock(
99
+ [
100
+ ["color", value],
101
+ ["opacity", 1]
102
+ ],
103
+ important
104
+ );
105
+ rules.push(`${selector}::placeholder${block}`);
106
+ break;
107
+ }
108
+ // all webkit prefixed rules
109
+ case "backgroundClip":
110
+ case "userSelect": {
111
+ const webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`, block = createDeclarationBlock(
112
+ [
113
+ [property, value],
114
+ [webkitProperty, value]
115
+ ],
116
+ important
117
+ );
118
+ rules.push(`${selector}${block}`);
119
+ break;
120
+ }
121
+ // Polyfill for additional 'pointer-events' values
122
+ case "pointerEvents": {
123
+ let finalValue = value;
124
+ value === "auto" || value === "box-only" ? (finalValue = "auto", value === "box-only" && rules.push(`${selector}>*${boxOnly}`)) : (value === "none" || value === "box-none") && (finalValue = "none", value === "box-none" && rules.push(`${selector}>*${boxNone}`));
125
+ const block = createDeclarationBlock([["pointerEvents", finalValue]], !0);
126
+ rules.push(`${selector}${block}`);
127
+ break;
128
+ }
129
+ default: {
130
+ const block = createDeclarationBlock([[property, value]], important);
131
+ rules.push(`${selector}${block}`);
132
+ break;
133
+ }
134
+ }
135
+ return pseudo?.name === "hover" && (rules = rules.map((r) => `@media (hover) {${r}}`)), rules;
136
+ }
137
+ const boxNone = createDeclarationBlock([["pointerEvents", "auto"]], !0), boxOnly = createDeclarationBlock([["pointerEvents", "none"]], !0);
138
+ export {
139
+ getCSSStylesAtomic,
140
+ getStyleAtomic,
141
+ styleToCSS
142
+ };
143
+ //# sourceMappingURL=getCSSStylesAtomic.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getCSSStylesAtomic.ts"],
4
+ "mappings": "AAMA,SAAS,kBAAkB;AAE3B,SAAoB,sBAAsB;AAE1C,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,kCAAkC;AAE3C,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAIpB,SAAS,mBAAmB,OAA6B;AAC9D,aAAW,KAAK;AAChB,QAAM,MAAqB,CAAC;AAC5B,aAAW,OAAO,OAAO;AACvB,QAAI,QAAQ,QAAS;AACrB,UAAM,MAAM,MAAM,GAAG;AACrB,QAAI,OAAO;AACT,MAAI,OACF,IAAI,KAAK,GAAG,eAAe,KAAK,kBAAkB,GAAG,CAAC,CAAC;AAAA,aAEhD,WAAW,GAAG;AACvB,iBAAW,UAAU,KAAK;AACxB,cAAM,KAAK,eAAe,KAAK,MAAM;AACrC,QAAI,OACF,GAAG,CAAC,IAAI,KACR,IAAI,KAAK,EAAE;AAAA,MAEf;AAAA,SACK;AACL,YAAM,KAAK,eAAe,OAAO,GAAG;AACpC,MAAI,MACF,IAAI,KAAK,EAAE;AAAA,IAEf;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAC5B,OACA,WACkB;AAClB,aAAW,KAAK;AAChB,QAAM,MAAqB,CAAC;AAC5B,aAAW,OAAO,OAAO;AACvB,UAAM,KAAK,eAAe,OAAO,KAAK,MAAM;AAC5C,IAAI,MACF,IAAI,KAAK,EAAE;AAAA,EAEf;AACA,SAAO;AACT;AAEA,IAAI,OAAqC;AAGzC,MAAM,iBAAiB,CACrB,OACA,KACA,WAC4B;AAC5B,MAAI,MAAM,MAAM,GAAG;AACnB,MAAI,OAAO,KAAM;AAEjB,EAAI,QAAQ,eAAe,MAAM,QAAQ,MAAM,SAAS,MACtD,MAAM,mBAAmB,GAAG;AAE9B,QAAM,QAAQ,2BAA2B,KAAK,GAAG,GAC3C,OAAO,WAAW,OAAO,SAAU,WAAW,QAAQ,GAAG,KAAK,EAAE,GAChE,eAAe,SAAS,IAAI,OAAO,IAAI,MAAM;AACnD,WAAS,eAAe;AAExB,QAAM,aAAa,IADD,MAAM,kBAAkB,GAAG,KAAK,GAClB,IAAI,YAAY,GAAG,IAAI,IACjD,QAAQ,kBAAkB,YAAY,KAAK,OAAO,MAAM;AAC9D,SAAO;AAAA;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,EACF;AACF;AAEO,SAAS,WAAW,OAA4B;AAErD,QAAM,EAAE,cAAc,cAAc,aAAa,cAAc,IAAI;AACnE,MAAI,gBAAgB,aAAa;AAC/B,UAAM,SAAS,gBAAgB,eACzB,QAAQ,2BAA2B,OAAO,KAAK,GAC/C,SAAS,2BAA2B,OAAO,MAAM,GACjD,SAAS,2BAA2B,YAAY,GAChD,QAAQ,eAAe,aAAa,aAAa,GACjD,SAAS,GAAG,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK;AACpD,UAAM,YAAY,MAAM,YAAY,GAAG,MAAM,SAAS,KAAK,MAAM,KAAK,QACtE,OAAO,MAAM,cACb,OAAO,MAAM,cACb,OAAO,MAAM,aACb,OAAO,MAAM;AAAA,EACf;AAGA,QAAM,EAAE,iBAAiB,kBAAkB,iBAAiB,IAAI;AAChE,MAAI,mBAAmB,oBAAoB,kBAAkB;AAC3D,UAAM,EAAE,QAAQ,MAAM,IAAI,oBAAoB,eACxC,SAAS,oBAAoB,GAC7B,QAAQ,2BAA2B,iBAAiB,iBAAiB;AAC3E,QAAI,UAAU,WAAW,KAAK,UAAU,KAAK,WAAW,IAAI;AAC1D,YAAM,aAAa,2BAA2B,MAAM,GAC9C,UAAU,2BAA2B,KAAK,GAC1C,UAAU,2BAA2B,MAAM;AACjD,YAAM,aAAa,GAAG,OAAO,IAAI,OAAO,IAAI,UAAU,IAAI,KAAK;AAAA,IACjE;AACA,WAAO,MAAM,iBACb,OAAO,MAAM,kBACb,OAAO,MAAM;AAAA,EACf;AACF;AAEA,SAAS,uBAAuB,OAAwB,YAAY,IAAO;AACzE,MAAI,OAAO;AACX,aAAW,CAAC,KAAK,KAAK,KAAK;AACzB,YAAQ,GAAG,mBAAmB,GAAG,CAAC,IAAI,KAAK,GAAG,YAAY,gBAAgB,EAAE;AAE9E,SAAO,IAAI,IAAI;AACjB;AAEA,MAAM,SAAS,CAAC,GACV,gBAAgB,CAAC,UAAkB,IAAI,MAAM,YAAY,CAAC,IAC1D,qBAAqB,CAAC,QAAgB;AAC1C,MAAI,OAAO,OAAQ,QAAO,OAAO,GAAG;AACpC,QAAM,MAAM,IAAI,QAAQ,UAAU,aAAa;AAC/C,gBAAO,GAAG,IAAI,KACP;AACT,GAGM,oBAAoB,MAAM;AAC9B,QAAM,MAA8B,CAAC;AACrC,aAAW,OAAO,mBAAmB;AACnC,UAAM,SAAS,kBAAkB,GAAG;AACpC,QAAI,OAAO,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,OAAO,QAAQ,CAAC,EAAE,IAAI,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;AAAA,EAC/E;AACA,SAAO;AACT,GAAG;AAEH,SAAS,kBACP,YACA,UACA,OACA,QACU;AACV,QAAM,kBAAkB,SACpB,OAAO,SAAS,aACd,oBACA,IAAI,OAAO,IAAI,KACjB,IACE,iBAAiB,QAAQ;AAE/B,MAAI,WAAW,SACX,iBACE,GAAG,cAAc,KAAK,UAAU,KAChC,GAAG,iBAAiB,OAAO,IAAI,CAAC,KAAK,UAAU,GAAG,eAAe,KACnE,UAAU,UAAU;AAKxB,EAAI,mBAAmB,kBAAkB,WAAW,aAClD,WAAW,GAAG,QAAQ,MAAM,UAAU,GAAG,cAAc;AAGzD,QAAM,YAAY,CAAC,CAAC;AAEpB,MAAI,QAAkB,CAAC;AAIvB,UAAQ,UAAU;AAAA;AAAA,IAEhB,KAAK,wBAAwB;AAC3B,YAAM,QAAQ;AAAA,QACZ;AAAA,UACE,CAAC,SAAS,KAAK;AAAA,UACf,CAAC,WAAW,CAAC;AAAA,QACf;AAAA,QACA;AAAA,MACF;AACA,YAAM,KAAK,GAAG,QAAQ,gBAAgB,KAAK,EAAE;AAC7C;AAAA,IACF;AAAA;AAAA,IAGA,KAAK;AAAA,IACL,KAAK,cAAc;AAEjB,YAAM,iBAAiB,SADK,GAAG,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,EACzB,IAC7C,QAAQ;AAAA,QACZ;AAAA,UACE,CAAC,UAAU,KAAK;AAAA,UAChB,CAAC,gBAAgB,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AACA,YAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE;AAChC;AAAA,IACF;AAAA;AAAA,IAGA,KAAK,iBAAiB;AACpB,UAAI,aAAa;AACjB,MAAI,UAAU,UAAU,UAAU,cAChC,aAAa,QACT,UAAU,cACZ,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,EAAE,MAE7B,UAAU,UAAU,UAAU,gBACvC,aAAa,QACT,UAAU,cACZ,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,EAAE;AAGxC,YAAM,QAAQ,uBAAuB,CAAC,CAAC,iBAAiB,UAAU,CAAC,GAAG,EAAI;AAC1E,YAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE;AAChC;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,QAAQ,uBAAuB,CAAC,CAAC,UAAU,KAAK,CAAC,GAAG,SAAS;AACnE,YAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,EAAE;AAChC;AAAA,IACF;AAAA,EACF;AAOA,SAAI,QAAQ,SAAS,YACnB,QAAQ,MAAM,IAAI,CAAC,MAAM,mBAAmB,CAAC,GAAG,IAG3C;AACT;AAEA,MAAM,UAAU,uBAAuB,CAAC,CAAC,iBAAiB,MAAM,CAAC,GAAG,EAAI,GAClE,UAAU,uBAAuB,CAAC,CAAC,iBAAiB,MAAM,CAAC,GAAG,EAAI;",
5
+ "names": []
6
+ }
@@ -0,0 +1,151 @@
1
+ import { simpleHash } from "@tamagui/helpers";
2
+ import { getConfigMaybe } from "../config.mjs";
3
+ import { defaultOffset } from "./defaultOffset.mjs";
4
+ import { normalizeColor } from "./normalizeColor.mjs";
5
+ import { normalizeValueWithProperty } from "./normalizeValueWithProperty.mjs";
6
+ import { pseudoDescriptors } from "./pseudoDescriptors.mjs";
7
+ import { transformsToString } from "./transformsToString.mjs";
8
+ import { isMediaKey } from "../hooks/useMedia.mjs";
9
+ function getCSSStylesAtomic(style) {
10
+ styleToCSS(style);
11
+ const out = [];
12
+ for (const key in style) {
13
+ if (key === "$$css") continue;
14
+ const val = style[key];
15
+ if (key in pseudoDescriptors) val && out.push(...getStyleAtomic(val, pseudoDescriptors[key]));else if (isMediaKey(key)) for (const subKey in val) {
16
+ const so = getStyleObject(val, subKey);
17
+ so && (so[0] = key, out.push(so));
18
+ } else {
19
+ const so = getStyleObject(style, key);
20
+ so && out.push(so);
21
+ }
22
+ }
23
+ return out;
24
+ }
25
+ const getStyleAtomic = (style, pseudo) => {
26
+ styleToCSS(style);
27
+ const out = [];
28
+ for (const key in style) {
29
+ const so = getStyleObject(style, key, pseudo);
30
+ so && out.push(so);
31
+ }
32
+ return out;
33
+ };
34
+ let conf = null;
35
+ const getStyleObject = (style, key, pseudo) => {
36
+ let val = style[key];
37
+ if (val == null) return;
38
+ key === "transform" && Array.isArray(style.transform) && (val = transformsToString(val));
39
+ const value = normalizeValueWithProperty(val, key),
40
+ hash = simpleHash(typeof value == "string" ? value : `${value}`),
41
+ pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
42
+ conf ||= getConfigMaybe();
43
+ const identifier = `_${conf?.inverseShorthands[key] || key}-${pseudoPrefix}${hash}`,
44
+ rules = createAtomicRules(identifier, key, value, pseudo);
45
+ return [
46
+ // array for performance
47
+ key, value, identifier, pseudo?.name, rules];
48
+ };
49
+ function styleToCSS(style) {
50
+ const {
51
+ shadowOffset,
52
+ shadowRadius,
53
+ shadowColor,
54
+ shadowOpacity
55
+ } = style;
56
+ if (shadowRadius || shadowColor) {
57
+ const offset = shadowOffset || defaultOffset,
58
+ width = normalizeValueWithProperty(offset.width),
59
+ height = normalizeValueWithProperty(offset.height),
60
+ radius = normalizeValueWithProperty(shadowRadius),
61
+ color = normalizeColor(shadowColor, shadowOpacity),
62
+ shadow = `${width} ${height} ${radius} ${color}`;
63
+ style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow, delete style.shadowOffset, delete style.shadowRadius, delete style.shadowColor, delete style.shadowOpacity;
64
+ }
65
+ const {
66
+ textShadowColor,
67
+ textShadowOffset,
68
+ textShadowRadius
69
+ } = style;
70
+ if (textShadowColor || textShadowOffset || textShadowRadius) {
71
+ const {
72
+ height,
73
+ width
74
+ } = textShadowOffset || defaultOffset,
75
+ radius = textShadowRadius || 0,
76
+ color = normalizeValueWithProperty(textShadowColor, "textShadowColor");
77
+ if (color && (height !== 0 || width !== 0 || radius !== 0)) {
78
+ const blurRadius = normalizeValueWithProperty(radius),
79
+ offsetX = normalizeValueWithProperty(width),
80
+ offsetY = normalizeValueWithProperty(height);
81
+ style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
82
+ }
83
+ delete style.textShadowColor, delete style.textShadowOffset, delete style.textShadowRadius;
84
+ }
85
+ }
86
+ function createDeclarationBlock(style, important = !1) {
87
+ let next = "";
88
+ for (const [key, value] of style) next += `${hyphenateStyleName(key)}:${value}${important ? " !important" : ""};`;
89
+ return `{${next}}`;
90
+ }
91
+ const hcache = {},
92
+ toHyphenLower = match => `-${match.toLowerCase()}`,
93
+ hyphenateStyleName = key => {
94
+ if (key in hcache) return hcache[key];
95
+ const val = key.replace(/[A-Z]/g, toHyphenLower);
96
+ return hcache[key] = val, val;
97
+ },
98
+ selectorPriority = (() => {
99
+ const res = {};
100
+ for (const key in pseudoDescriptors) {
101
+ const pseudo = pseudoDescriptors[key];
102
+ res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ":root").join("")} `;
103
+ }
104
+ return res;
105
+ })();
106
+ function createAtomicRules(identifier, property, value, pseudo) {
107
+ const pseudoIdPostfix = pseudo ? pseudo.name === "disabled" ? "[aria-disabled]" : `:${pseudo.name}` : "",
108
+ pseudoSelector = pseudo?.selector;
109
+ let selector = pseudo ? pseudoSelector ? `${pseudoSelector} .${identifier}` : `${selectorPriority[pseudo.name]} .${identifier}${pseudoIdPostfix}` : `:root .${identifier}`;
110
+ pseudoSelector === pseudoDescriptors.enterStyle.selector && (selector = `${selector}, .${identifier}${pseudoSelector}`);
111
+ const important = !!pseudo;
112
+ let rules = [];
113
+ switch (property) {
114
+ // Equivalent to using '::placeholder'
115
+ case "placeholderTextColor":
116
+ {
117
+ const block = createDeclarationBlock([["color", value], ["opacity", 1]], important);
118
+ rules.push(`${selector}::placeholder${block}`);
119
+ break;
120
+ }
121
+ // all webkit prefixed rules
122
+ case "backgroundClip":
123
+ case "userSelect":
124
+ {
125
+ const webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`,
126
+ block = createDeclarationBlock([[property, value], [webkitProperty, value]], important);
127
+ rules.push(`${selector}${block}`);
128
+ break;
129
+ }
130
+ // Polyfill for additional 'pointer-events' values
131
+ case "pointerEvents":
132
+ {
133
+ let finalValue = value;
134
+ value === "auto" || value === "box-only" ? (finalValue = "auto", value === "box-only" && rules.push(`${selector}>*${boxOnly}`)) : (value === "none" || value === "box-none") && (finalValue = "none", value === "box-none" && rules.push(`${selector}>*${boxNone}`));
135
+ const block = createDeclarationBlock([["pointerEvents", finalValue]], !0);
136
+ rules.push(`${selector}${block}`);
137
+ break;
138
+ }
139
+ default:
140
+ {
141
+ const block = createDeclarationBlock([[property, value]], important);
142
+ rules.push(`${selector}${block}`);
143
+ break;
144
+ }
145
+ }
146
+ return pseudo?.name === "hover" && (rules = rules.map(r => `@media (hover) {${r}}`)), rules;
147
+ }
148
+ const boxNone = createDeclarationBlock([["pointerEvents", "auto"]], !0),
149
+ boxOnly = createDeclarationBlock([["pointerEvents", "none"]], !0);
150
+ export { getCSSStylesAtomic, getStyleAtomic, styleToCSS };
151
+ //# sourceMappingURL=getCSSStylesAtomic.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["simpleHash","getConfigMaybe","defaultOffset","normalizeColor","normalizeValueWithProperty","pseudoDescriptors","transformsToString","isMediaKey","getCSSStylesAtomic","style","styleToCSS","out","key","val","push","getStyleAtomic","subKey","so","getStyleObject","pseudo","conf","Array","isArray","transform","value","hash","pseudoPrefix","name","identifier","inverseShorthands","rules","createAtomicRules","shadowOffset","shadowRadius","shadowColor","shadowOpacity","offset","width","height","radius","color","shadow","boxShadow","textShadowColor","textShadowOffset","textShadowRadius","blurRadius","offsetX","offsetY","textShadow","createDeclarationBlock","important","next","hyphenateStyleName","hcache","toHyphenLower","match","toLowerCase","replace","selectorPriority","res","priority","map","join","property","pseudoIdPostfix","pseudoSelector","selector","enterStyle","block","webkitProperty","toUpperCase","slice","finalValue","boxOnly","boxNone","r"],"sources":["../../../src/helpers/getCSSStylesAtomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,187 @@
1
+ import { simpleHash } from "@tamagui/helpers";
2
+ import { getConfigMaybe } from "../config";
3
+ import { defaultOffset } from "./defaultOffset";
4
+ import { normalizeColor } from "./normalizeColor";
5
+ import { normalizeValueWithProperty } from "./normalizeValueWithProperty";
6
+ import { pseudoDescriptors } from "./pseudoDescriptors";
7
+ import { transformsToString } from "./transformsToString";
8
+ import { isMediaKey } from "../hooks/useMedia";
9
+ function getCSSStylesAtomic(style) {
10
+ styleToCSS(style);
11
+ var out = [];
12
+ for (var key in style)
13
+ if (key !== "$$css") {
14
+ var val = style[key];
15
+ if (key in pseudoDescriptors)
16
+ val && out.push(...getStyleAtomic(val, pseudoDescriptors[key]));
17
+ else if (isMediaKey(key))
18
+ for (var subKey in val) {
19
+ var so = getStyleObject(val, subKey);
20
+ so && (so[0] = key, out.push(so));
21
+ }
22
+ else {
23
+ var so1 = getStyleObject(style, key);
24
+ so1 && out.push(so1);
25
+ }
26
+ }
27
+ return out;
28
+ }
29
+ var getStyleAtomic = function(style, pseudo) {
30
+ styleToCSS(style);
31
+ var out = [];
32
+ for (var key in style) {
33
+ var so = getStyleObject(style, key, pseudo);
34
+ so && out.push(so);
35
+ }
36
+ return out;
37
+ }, conf = null, getStyleObject = function(style, key, pseudo) {
38
+ var val = style[key];
39
+ if (val != null) {
40
+ key === "transform" && Array.isArray(style.transform) && (val = transformsToString(val));
41
+ var value = normalizeValueWithProperty(val, key), hash = simpleHash(typeof value == "string" ? value : `${value}`), pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
42
+ conf || (conf = getConfigMaybe());
43
+ var shortProp = conf?.inverseShorthands[key] || key, identifier = `_${shortProp}-${pseudoPrefix}${hash}`, rules = createAtomicRules(identifier, key, value, pseudo);
44
+ return [
45
+ // array for performance
46
+ key,
47
+ value,
48
+ identifier,
49
+ pseudo?.name,
50
+ rules
51
+ ];
52
+ }
53
+ };
54
+ function styleToCSS(style) {
55
+ var { shadowOffset, shadowRadius, shadowColor, shadowOpacity } = style;
56
+ if (shadowRadius || shadowColor) {
57
+ var offset = shadowOffset || defaultOffset, width = normalizeValueWithProperty(offset.width), height = normalizeValueWithProperty(offset.height), radius = normalizeValueWithProperty(shadowRadius), color = normalizeColor(shadowColor, shadowOpacity), shadow = `${width} ${height} ${radius} ${color}`;
58
+ style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow, delete style.shadowOffset, delete style.shadowRadius, delete style.shadowColor, delete style.shadowOpacity;
59
+ }
60
+ var { textShadowColor, textShadowOffset, textShadowRadius } = style;
61
+ if (textShadowColor || textShadowOffset || textShadowRadius) {
62
+ var { height: height1, width: width1 } = textShadowOffset || defaultOffset, radius1 = textShadowRadius || 0, color1 = normalizeValueWithProperty(textShadowColor, "textShadowColor");
63
+ if (color1 && (height1 !== 0 || width1 !== 0 || radius1 !== 0)) {
64
+ var blurRadius = normalizeValueWithProperty(radius1), offsetX = normalizeValueWithProperty(width1), offsetY = normalizeValueWithProperty(height1);
65
+ style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color1}`;
66
+ }
67
+ delete style.textShadowColor, delete style.textShadowOffset, delete style.textShadowRadius;
68
+ }
69
+ }
70
+ function createDeclarationBlock(style) {
71
+ var important = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, next = "", _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
72
+ try {
73
+ for (var _iterator = style[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
74
+ var [key, value] = _step.value;
75
+ next += `${hyphenateStyleName(key)}:${value}${important ? " !important" : ""};`;
76
+ }
77
+ } catch (err) {
78
+ _didIteratorError = !0, _iteratorError = err;
79
+ } finally {
80
+ try {
81
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
82
+ } finally {
83
+ if (_didIteratorError)
84
+ throw _iteratorError;
85
+ }
86
+ }
87
+ return `{${next}}`;
88
+ }
89
+ var hcache = {}, toHyphenLower = function(match) {
90
+ return `-${match.toLowerCase()}`;
91
+ }, hyphenateStyleName = function(key) {
92
+ if (key in hcache) return hcache[key];
93
+ var val = key.replace(/[A-Z]/g, toHyphenLower);
94
+ return hcache[key] = val, val;
95
+ }, selectorPriority = function() {
96
+ var res = {};
97
+ for (var key in pseudoDescriptors) {
98
+ var pseudo = pseudoDescriptors[key];
99
+ res[pseudo.name] = `${[
100
+ ...Array(pseudo.priority)
101
+ ].map(function() {
102
+ return ":root";
103
+ }).join("")} `;
104
+ }
105
+ return res;
106
+ }();
107
+ function createAtomicRules(identifier, property, value, pseudo) {
108
+ var pseudoIdPostfix = pseudo ? pseudo.name === "disabled" ? "[aria-disabled]" : `:${pseudo.name}` : "", pseudoSelector = pseudo?.selector, selector = pseudo ? pseudoSelector ? `${pseudoSelector} .${identifier}` : `${selectorPriority[pseudo.name]} .${identifier}${pseudoIdPostfix}` : `:root .${identifier}`;
109
+ pseudoSelector === pseudoDescriptors.enterStyle.selector && (selector = `${selector}, .${identifier}${pseudoSelector}`);
110
+ var important = !!pseudo, rules = [];
111
+ switch (property) {
112
+ // Equivalent to using '::placeholder'
113
+ case "placeholderTextColor": {
114
+ var block = createDeclarationBlock([
115
+ [
116
+ "color",
117
+ value
118
+ ],
119
+ [
120
+ "opacity",
121
+ 1
122
+ ]
123
+ ], important);
124
+ rules.push(`${selector}::placeholder${block}`);
125
+ break;
126
+ }
127
+ // all webkit prefixed rules
128
+ case "backgroundClip":
129
+ case "userSelect": {
130
+ var propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`, webkitProperty = `Webkit${propertyCapitalized}`, block1 = createDeclarationBlock([
131
+ [
132
+ property,
133
+ value
134
+ ],
135
+ [
136
+ webkitProperty,
137
+ value
138
+ ]
139
+ ], important);
140
+ rules.push(`${selector}${block1}`);
141
+ break;
142
+ }
143
+ // Polyfill for additional 'pointer-events' values
144
+ case "pointerEvents": {
145
+ var finalValue = value;
146
+ value === "auto" || value === "box-only" ? (finalValue = "auto", value === "box-only" && rules.push(`${selector}>*${boxOnly}`)) : (value === "none" || value === "box-none") && (finalValue = "none", value === "box-none" && rules.push(`${selector}>*${boxNone}`));
147
+ var block2 = createDeclarationBlock([
148
+ [
149
+ "pointerEvents",
150
+ finalValue
151
+ ]
152
+ ], !0);
153
+ rules.push(`${selector}${block2}`);
154
+ break;
155
+ }
156
+ default: {
157
+ var block3 = createDeclarationBlock([
158
+ [
159
+ property,
160
+ value
161
+ ]
162
+ ], important);
163
+ rules.push(`${selector}${block3}`);
164
+ break;
165
+ }
166
+ }
167
+ return pseudo?.name === "hover" && (rules = rules.map(function(r) {
168
+ return `@media (hover) {${r}}`;
169
+ })), rules;
170
+ }
171
+ var boxNone = createDeclarationBlock([
172
+ [
173
+ "pointerEvents",
174
+ "auto"
175
+ ]
176
+ ], !0), boxOnly = createDeclarationBlock([
177
+ [
178
+ "pointerEvents",
179
+ "none"
180
+ ]
181
+ ], !0);
182
+ export {
183
+ getCSSStylesAtomic,
184
+ getStyleAtomic,
185
+ styleToCSS
186
+ };
187
+ //# sourceMappingURL=getCSSStylesAtomic.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/Users/n8/tamagui/code/core/web/src/helpers/getCSSStylesAtomic.ts"],
4
+ "mappings": "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",
5
+ "names": ["simpleHash", "getConfigMaybe", "defaultOffset", "normalizeColor", "normalizeValueWithProperty", "pseudoDescriptors", "transformsToString", "isMediaKey", "getCSSStylesAtomic", "style", "styleToCSS", "out", "key", "val", "push", "getStyleAtomic", "subKey", "so", "getStyleObject", "pseudo", "conf", "Array", "isArray", "transform", "value", "hash", "pseudoPrefix", "name", "shortProp", "inverseShorthands", "identifier", "rules", "createAtomicRules", "shadowOffset", "shadowRadius", "shadowColor", "shadowOpacity", "offset", "width", "height", "radius", "color", "shadow", "boxShadow", "textShadowColor", "textShadowOffset", "textShadowRadius", "blurRadius", "offsetX", "offsetY", "textShadow", "createDeclarationBlock", "important", "next", "hyphenateStyleName", "hcache", "toHyphenLower", "match", "toLowerCase", "replace", "selectorPriority", "res", "priority", "map", "join", "property", "pseudoIdPostfix", "pseudoSelector", "selector", "enterStyle", "block", "propertyCapitalized", "toUpperCase", "slice", "webkitProperty", "finalValue", "boxOnly", "boxNone", "r"]
6
+ }
@@ -25,7 +25,7 @@ import {
25
25
  import { createMediaStyle } from "./createMediaStyle";
26
26
  import { fixStyles } from "./expandStyles";
27
27
  import { getGroupPropParts } from "./getGroupPropParts";
28
- import { getStyleAtomic, getStylesAtomic, styleToCSS } from "./getStylesAtomic";
28
+ import { getStyleAtomic, getCSSStylesAtomic, styleToCSS } from "./getCSSStylesAtomic";
29
29
  import {
30
30
  insertStyleRules,
31
31
  insertedTransforms,
@@ -331,7 +331,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
331
331
  `Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`
332
332
  ));
333
333
  }
334
- const mediaStyles = getStylesAtomic(mediaStyle), priority = mediaStylesSeen;
334
+ const mediaStyles = getCSSStylesAtomic(mediaStyle), priority = mediaStylesSeen;
335
335
  mediaStylesSeen += 1;
336
336
  for (const style of mediaStyles) {
337
337
  const property = style[StyleObjectProperty], isSubStyle = property[0] === "$";
@@ -457,7 +457,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
457
457
  if (!styleProps.noNormalize && !staticConfig.isReactNative && !staticConfig.isHOC && (!styleProps.isAnimated || conf.animations.supportsCSSVars) && Array.isArray(styleState.style?.transform) && (styleState.style.transform = transformsToString(styleState.style.transform)), styleState.style && shouldDoClasses) {
458
458
  let retainedStyles, shouldRetain = !1;
459
459
  if (!styleState.style.$$css) {
460
- const atomic = getStylesAtomic(styleState.style);
460
+ const atomic = getCSSStylesAtomic(styleState.style);
461
461
  for (const atomicStyle of atomic) {
462
462
  const [key, value, identifier] = atomicStyle, isAnimatedAndAnimateOnly = styleProps.isAnimated && styleProps.noClass && props.animateOnly?.includes(key), nonAnimatedAnimateOnly = !isAnimatedAndAnimateOnly && !styleProps.isAnimated && props.animateOnly?.includes(key);
463
463
  isAnimatedAndAnimateOnly ? (retainedStyles ||= {}, retainedStyles[key] = styleState.style[key]) : nonAnimatedAnimateOnly ? (retainedStyles ||= {}, retainedStyles[key] = value, shouldRetain = !0) : (addStyleToInsertRules(rulesToInsert, atomicStyle), mergeClassName(transforms, classNames, key, identifier, !1, !0));