react-native-unistyles 3.0.0-alpha.21 → 3.0.0-alpha.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. package/cxx/core/UnistylesRegistry.cpp +26 -0
  2. package/cxx/core/UnistylesRegistry.h +1 -0
  3. package/cxx/hybridObjects/HybridStyleSheet.cpp +11 -5
  4. package/cxx/hybridObjects/HybridStyleSheet.h +1 -1
  5. package/cxx/parser/Parser.cpp +27 -1
  6. package/cxx/parser/Parser.h +1 -1
  7. package/lib/commonjs/web/convert/boxShadow.js +13 -13
  8. package/lib/commonjs/web/convert/boxShadow.js.map +1 -1
  9. package/lib/commonjs/web/convert/index.js +9 -11
  10. package/lib/commonjs/web/convert/index.js.map +1 -1
  11. package/lib/commonjs/web/convert/pseudo.js.map +1 -0
  12. package/lib/commonjs/web/convert/style.js +11 -7
  13. package/lib/commonjs/web/convert/style.js.map +1 -1
  14. package/lib/commonjs/web/convert/textShadow.js +12 -12
  15. package/lib/commonjs/web/convert/textShadow.js.map +1 -1
  16. package/lib/commonjs/web/convert/transform.js +5 -5
  17. package/lib/commonjs/web/convert/transform.js.map +1 -1
  18. package/lib/commonjs/web/{listener/listener.js → listener.js} +2 -2
  19. package/lib/commonjs/web/listener.js.map +1 -0
  20. package/lib/commonjs/web/mq.js.map +1 -1
  21. package/lib/commonjs/web/registry.js +159 -21
  22. package/lib/commonjs/web/registry.js.map +1 -1
  23. package/lib/commonjs/web/shadowRegistry.js +50 -48
  24. package/lib/commonjs/web/shadowRegistry.js.map +1 -1
  25. package/lib/commonjs/web/state.js +8 -16
  26. package/lib/commonjs/web/state.js.map +1 -1
  27. package/lib/commonjs/web/{utils.js → utils/common.js} +9 -47
  28. package/lib/commonjs/web/utils/common.js.map +1 -0
  29. package/lib/commonjs/web/utils/index.js +28 -0
  30. package/lib/commonjs/web/utils/index.js.map +1 -0
  31. package/lib/commonjs/web/utils/unistyle.js +82 -0
  32. package/lib/commonjs/web/utils/unistyle.js.map +1 -0
  33. package/lib/module/web/convert/boxShadow.js +13 -13
  34. package/lib/module/web/convert/boxShadow.js.map +1 -1
  35. package/lib/module/web/convert/index.js +7 -9
  36. package/lib/module/web/convert/index.js.map +1 -1
  37. package/lib/module/web/convert/pseudo.js.map +1 -0
  38. package/lib/module/web/convert/style.js +11 -7
  39. package/lib/module/web/convert/style.js.map +1 -1
  40. package/lib/module/web/convert/textShadow.js +12 -12
  41. package/lib/module/web/convert/textShadow.js.map +1 -1
  42. package/lib/module/web/convert/transform.js +5 -5
  43. package/lib/module/web/convert/transform.js.map +1 -1
  44. package/lib/module/web/{listener/listener.js → listener.js} +2 -2
  45. package/lib/module/web/listener.js.map +1 -0
  46. package/lib/module/web/mq.js.map +1 -1
  47. package/lib/module/web/registry.js +160 -22
  48. package/lib/module/web/registry.js.map +1 -1
  49. package/lib/module/web/shadowRegistry.js +51 -49
  50. package/lib/module/web/shadowRegistry.js.map +1 -1
  51. package/lib/module/web/state.js +8 -16
  52. package/lib/module/web/state.js.map +1 -1
  53. package/lib/module/web/{utils.js → utils/common.js} +7 -39
  54. package/lib/module/web/utils/common.js.map +1 -0
  55. package/lib/module/web/utils/index.js +5 -0
  56. package/lib/module/web/utils/index.js.map +1 -0
  57. package/lib/module/web/utils/unistyle.js +69 -0
  58. package/lib/module/web/utils/unistyle.js.map +1 -0
  59. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +1 -1
  60. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  61. package/lib/typescript/src/types/stylesheet.d.ts +1 -1
  62. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  63. package/lib/typescript/src/web/convert/boxShadow.d.ts +7 -2
  64. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -1
  65. package/lib/typescript/src/web/convert/index.d.ts +1 -2
  66. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  67. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  68. package/lib/typescript/src/web/convert/style.d.ts +1 -2
  69. package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
  70. package/lib/typescript/src/web/convert/textShadow.d.ts +7 -2
  71. package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -1
  72. package/lib/typescript/src/web/convert/transform.d.ts +1 -2
  73. package/lib/typescript/src/web/convert/transform.d.ts.map +1 -1
  74. package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +1 -1
  75. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  76. package/lib/typescript/src/web/mq.d.ts +6 -2
  77. package/lib/typescript/src/web/mq.d.ts.map +1 -1
  78. package/lib/typescript/src/web/registry.d.ts +21 -8
  79. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  80. package/lib/typescript/src/web/shadowRegistry.d.ts +3 -4
  81. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
  82. package/lib/typescript/src/web/state.d.ts +2 -2
  83. package/lib/typescript/src/web/state.d.ts.map +1 -1
  84. package/lib/typescript/src/web/{utils.d.ts → utils/common.d.ts} +2 -20
  85. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  86. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  87. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  88. package/lib/typescript/src/web/utils/unistyle.d.ts +20 -0
  89. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  90. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  91. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
  92. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +22 -22
  93. package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
  94. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +1 -1
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +2 -2
  96. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +2 -2
  97. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  98. package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
  99. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  100. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +32 -32
  101. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
  102. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +0 -12
  103. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +134 -110
  104. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  105. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +1 -1
  106. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +1 -1
  107. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  108. package/package.json +4 -15
  109. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +1 -1
  110. package/src/types/stylesheet.ts +1 -1
  111. package/src/web/convert/boxShadow.ts +14 -15
  112. package/src/web/convert/index.ts +6 -13
  113. package/src/web/convert/style.ts +61 -10
  114. package/src/web/convert/textShadow.ts +13 -14
  115. package/src/web/convert/transform.ts +7 -8
  116. package/src/web/{listener/listener.ts → listener.ts} +2 -2
  117. package/src/web/mq.ts +1 -3
  118. package/src/web/registry.ts +202 -23
  119. package/src/web/shadowRegistry.ts +49 -49
  120. package/src/web/state.ts +13 -23
  121. package/src/web/{utils.ts → utils/common.ts} +6 -68
  122. package/src/web/utils/index.ts +2 -0
  123. package/src/web/utils/unistyle.ts +104 -0
  124. package/lib/commonjs/web/convert/breakpoint.js +0 -25
  125. package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
  126. package/lib/commonjs/web/createUnistylesComponent.js +0 -61
  127. package/lib/commonjs/web/createUnistylesComponent.js.map +0 -1
  128. package/lib/commonjs/web/listener/index.js +0 -20
  129. package/lib/commonjs/web/listener/index.js.map +0 -1
  130. package/lib/commonjs/web/listener/listenToDependencies.js +0 -38
  131. package/lib/commonjs/web/listener/listenToDependencies.js.map +0 -1
  132. package/lib/commonjs/web/listener/listener.js.map +0 -1
  133. package/lib/commonjs/web/pseudo.js.map +0 -1
  134. package/lib/commonjs/web/utils.js.map +0 -1
  135. package/lib/module/web/convert/breakpoint.js +0 -20
  136. package/lib/module/web/convert/breakpoint.js.map +0 -1
  137. package/lib/module/web/createUnistylesComponent.js +0 -54
  138. package/lib/module/web/createUnistylesComponent.js.map +0 -1
  139. package/lib/module/web/listener/index.js +0 -5
  140. package/lib/module/web/listener/index.js.map +0 -1
  141. package/lib/module/web/listener/listenToDependencies.js +0 -33
  142. package/lib/module/web/listener/listenToDependencies.js.map +0 -1
  143. package/lib/module/web/listener/listener.js.map +0 -1
  144. package/lib/module/web/pseudo.js.map +0 -1
  145. package/lib/module/web/utils.js.map +0 -1
  146. package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
  147. package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
  148. package/lib/typescript/src/web/createUnistylesComponent.d.ts +0 -3
  149. package/lib/typescript/src/web/createUnistylesComponent.d.ts.map +0 -1
  150. package/lib/typescript/src/web/listener/index.d.ts +0 -3
  151. package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
  152. package/lib/typescript/src/web/listener/listenToDependencies.d.ts +0 -12
  153. package/lib/typescript/src/web/listener/listenToDependencies.d.ts.map +0 -1
  154. package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
  155. package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
  156. package/lib/typescript/src/web/utils.d.ts.map +0 -1
  157. package/src/web/convert/breakpoint.ts +0 -21
  158. package/src/web/createUnistylesComponent.tsx +0 -54
  159. package/src/web/listener/index.ts +0 -2
  160. package/src/web/listener/listenToDependencies.ts +0 -45
  161. /package/lib/commonjs/web/{pseudo.js → convert/pseudo.js} +0 -0
  162. /package/lib/module/web/{pseudo.js → convert/pseudo.js} +0 -0
  163. /package/lib/typescript/src/web/{pseudo.d.ts → convert/pseudo.d.ts} +0 -0
  164. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
  165. /package/src/web/{pseudo.ts → convert/pseudo.ts} +0 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.schemeToTheme = exports.isInDocument = exports.hexToRGBA = exports.getStyles = exports.getMediaQuery = exports.extractUnistyleDependencies = exports.extractSecrets = exports.extractMediaQueryValue = exports.assignSecrets = void 0;
7
+ var _types = require("../../specs/types");
8
+ var _mq = require("../mq");
9
+ var _state = require("../state");
10
+ var _common = require("./common");
11
+ const schemeToTheme = scheme => {
12
+ switch (scheme) {
13
+ case _types.ColorScheme.Dark:
14
+ return 'dark';
15
+ case _types.ColorScheme.Light:
16
+ default:
17
+ return 'light';
18
+ }
19
+ };
20
+ exports.schemeToTheme = schemeToTheme;
21
+ const hexToRGBA = (hex, opacity) => hex.replace('#', '').split(/(?=(?:..)*$)/).map(x => parseInt(x, 16)).filter(num => !isNaN(num)).reduce((acc, color) => `${acc}${color},`, 'rgba(').concat(`${opacity})`);
22
+ exports.hexToRGBA = hexToRGBA;
23
+ const assignSecrets = (object, secrets) => {
24
+ // @ts-expect-error - assign secrets to object
25
+ object[`__uni__secrets__${Math.random().toString(16).slice(2)}`] = secrets;
26
+ return object;
27
+ };
28
+ exports.assignSecrets = assignSecrets;
29
+ const extractSecrets = object => {
30
+ const secrets = Object.entries(object).reduce((acc, [key, value]) => {
31
+ if (key.startsWith('__uni__secrets__')) {
32
+ acc.push(value);
33
+ }
34
+ return acc;
35
+ }, []);
36
+ return secrets;
37
+ };
38
+ exports.extractSecrets = extractSecrets;
39
+ const getStyles = values => {
40
+ const returnValue = {};
41
+ Object.defineProperties(returnValue, (0, _common.reduceObject)(values, value => ({
42
+ value,
43
+ enumerable: false,
44
+ configurable: true
45
+ })));
46
+ return returnValue;
47
+ };
48
+ exports.getStyles = getStyles;
49
+ const isInDocument = element => document.body.contains(element);
50
+ exports.isInDocument = isInDocument;
51
+ const extractMediaQueryValue = query => {
52
+ const [_, px] = query.match(/(\d+)px/) ?? [];
53
+ if (!px) {
54
+ return undefined;
55
+ }
56
+ const value = Number(px);
57
+ return isNaN(value) ? undefined : value;
58
+ };
59
+ exports.extractMediaQueryValue = extractMediaQueryValue;
60
+ const getMediaQuery = query => {
61
+ if (Object.values(_types.Orientation).includes(query)) {
62
+ return `(orientation: ${query})`;
63
+ }
64
+ if ((0, _mq.isUnistylesMq)(query)) {
65
+ const {
66
+ minWidth,
67
+ maxWidth,
68
+ minHeight,
69
+ maxHeight
70
+ } = (0, _mq.parseMq)(query);
71
+ return [minWidth ? `(min-width: ${minWidth}px)` : undefined, maxWidth ? `(max-width: ${maxWidth}px)` : undefined, minHeight ? `(min-height: ${minHeight}px)` : undefined, maxHeight ? `(max-height: ${maxHeight}px)` : undefined].filter(Boolean).join(' and ');
72
+ }
73
+ const minWidth = _state.UnistylesState.breakpoints && (0, _common.keyInObject)(_state.UnistylesState.breakpoints, query) ? _state.UnistylesState.breakpoints[query] : undefined;
74
+ return `(min-width: ${minWidth ?? 0}px)`;
75
+ };
76
+ exports.getMediaQuery = getMediaQuery;
77
+ const extractUnistyleDependencies = value => {
78
+ const dependencies = (0, _common.keyInObject)(value, 'uni__dependencies') ? value.uni__dependencies : [];
79
+ return dependencies;
80
+ };
81
+ exports.extractUnistyleDependencies = extractUnistyleDependencies;
82
+ //# sourceMappingURL=unistyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_mq","_state","_common","schemeToTheme","scheme","ColorScheme","Dark","Light","exports","hexToRGBA","hex","opacity","replace","split","map","x","parseInt","filter","num","isNaN","reduce","acc","color","concat","assignSecrets","object","secrets","Math","random","toString","slice","extractSecrets","Object","entries","key","value","startsWith","push","getStyles","values","returnValue","defineProperties","reduceObject","enumerable","configurable","isInDocument","element","document","body","contains","extractMediaQueryValue","query","_","px","match","undefined","Number","getMediaQuery","Orientation","includes","isUnistylesMq","minWidth","maxWidth","minHeight","maxHeight","parseMq","Boolean","join","UnistylesState","breakpoints","keyInObject","extractUnistyleDependencies","dependencies","uni__dependencies"],"sourceRoot":"../../../../src","sources":["web/utils/unistyle.ts"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { media } from 'typestyle';
4
3
  import { deepMergeObjects, warn } from '../utils';
5
4
  import { validateShadow } from './shadow';
6
- import { convertBreakpoint } from './breakpoint';
7
5
  import { BOX_SHADOW_STYLES } from './types';
8
6
  import { extractShadowValue, normalizeColor, normalizeNumericValue } from './utils';
9
7
  const createBoxShadowValue = style => {
@@ -53,17 +51,19 @@ export const getBoxShadowStyle = styles => {
53
51
  } = extractShadowValue('shadowOffset', breakpoint, styles);
54
52
  const radius = extractShadowValue('shadowRadius', breakpoint, styles);
55
53
  const opacity = extractShadowValue('shadowOpacity', breakpoint, styles);
56
- return media(convertBreakpoint(breakpoint), {
57
- boxShadow: createBoxShadowValue({
58
- shadowColor: color,
59
- shadowOffset: {
60
- width,
61
- height
62
- },
63
- shadowRadius: radius,
64
- shadowOpacity: opacity
65
- })
66
- });
54
+ return {
55
+ [breakpoint]: {
56
+ boxShadow: createBoxShadowValue({
57
+ shadowColor: color,
58
+ shadowOffset: {
59
+ width,
60
+ height
61
+ },
62
+ shadowRadius: radius,
63
+ shadowOpacity: opacity
64
+ })
65
+ }
66
+ };
67
67
  });
68
68
 
69
69
  // Merge all breakpoints styles into one
@@ -1 +1 @@
1
- {"version":3,"names":["media","deepMergeObjects","warn","validateShadow","convertBreakpoint","BOX_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createBoxShadowValue","style","shadowColor","shadowOffset","shadowOpacity","shadowRadius","offsetX","width","offsetY","height","radius","color","getBoxShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","boxShadow","breakpointStyles","map","breakpoint","opacity"],"sourceRoot":"../../../../src","sources":["web/convert/boxShadow.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,WAAW;AAEjC,SAASC,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,iBAAiB,QAAwB,SAAS;AAC3D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,oBAAoB,GAAIC,KAAgB,IAAK;EAC/C;EACA,MAAM;IAAEC,WAAW;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAa,CAAC,GAAGJ,KAAK;EACxE,MAAMK,OAAO,GAAGP,qBAAqB,CAACI,YAAY,CAACI,KAAK,CAAC;EACzD,MAAMC,OAAO,GAAGT,qBAAqB,CAACI,YAAY,CAACM,MAAM,CAAC;EAC1D,MAAMC,MAAM,GAAGX,qBAAqB,CAACM,YAAY,CAAC;EAClD,MAAMM,KAAK,GAAGb,cAAc,CAACI,WAAW,EAAYE,aAAuB,CAAC;EAE5E,OAAO,GAAGE,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAIC,MAA2B,IAA0B;EACnF,MAAMC,aAAa,GAAGlB,iBAAiB,CAACmB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAEvE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBxB,IAAI,CAAC,wDAAwDqB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAExF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACA1B,cAAc,CAACE,iBAAiB,EAAEiB,MAAM,EAAEM,cAAc,CAAC;EAC7D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B5B,IAAI,CAAC4B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,SAAS,EAAEzB,oBAAoB,CAACa,MAAmB;IACvD,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGd,kBAAkB,CAAC,aAAa,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACnE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGZ,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAChF,MAAMH,MAAM,GAAGb,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACrE,MAAMgB,OAAO,GAAGhC,kBAAkB,CAAC,eAAe,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAEvE,OAAOtB,KAAK,CAACI,iBAAiB,CAACiC,UAAU,CAAC,EAAE;MACxCH,SAAS,EAAEzB,oBAAoB,CAAC;QAC5BE,WAAW,EAAES,KAAK;QAClBR,YAAY,EAAE;UACVI,KAAK;UACLE;QACJ,CAAC;QACDJ,YAAY,EAAEK,MAAM;QACpBN,aAAa,EAAEyB;MACnB,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;;EAEF;EACA,OAAOrC,gBAAgB,CAAC,GAAGkC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["deepMergeObjects","warn","validateShadow","BOX_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createBoxShadowValue","style","shadowColor","shadowOffset","shadowOpacity","shadowRadius","offsetX","width","offsetY","height","radius","color","getBoxShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","boxShadow","breakpointStyles","map","breakpoint","opacity"],"sourceRoot":"../../../../src","sources":["web/convert/boxShadow.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,iBAAiB,QAAwB,SAAS;AAC3D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,oBAAoB,GAAIC,KAAgB,IAAK;EAC/C;EACA,MAAM;IAAEC,WAAW;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAa,CAAC,GAAGJ,KAAK;EACxE,MAAMK,OAAO,GAAGP,qBAAqB,CAACI,YAAY,CAACI,KAAK,CAAC;EACzD,MAAMC,OAAO,GAAGT,qBAAqB,CAACI,YAAY,CAACM,MAAM,CAAC;EAC1D,MAAMC,MAAM,GAAGX,qBAAqB,CAACM,YAAY,CAAC;EAClD,MAAMM,KAAK,GAAGb,cAAc,CAACI,WAAW,EAAYE,aAAuB,CAAC;EAE5E,OAAO,GAAGE,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAIC,MAA2B,IAAK;EAC9D,MAAMC,aAAa,GAAGlB,iBAAiB,CAACmB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAEvE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBvB,IAAI,CAAC,wDAAwDoB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAExF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACAzB,cAAc,CAACC,iBAAiB,EAAEiB,MAAM,EAAEM,cAAc,CAAC;EAC7D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B3B,IAAI,CAAC2B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,SAAS,EAAEzB,oBAAoB,CAACa,MAAmB;IACvD,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGd,kBAAkB,CAAC,aAAa,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACnE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGZ,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAChF,MAAMH,MAAM,GAAGb,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACrE,MAAMgB,OAAO,GAAGhC,kBAAkB,CAAC,eAAe,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAEvE,OAAO;MACH,CAACe,UAAU,GAAG;QACVH,SAAS,EAAEzB,oBAAoB,CAAC;UAC5BE,WAAW,EAAES,KAAK;UAClBR,YAAY,EAAE;YACVI,KAAK;YACLE;UACJ,CAAC;UACDJ,YAAY,EAAEK,MAAM;UACpBN,aAAa,EAAEyB;QACnB,CAAC;MACL;IACJ,CAAC;EACL,CAAC,CAAC;;EAEF;EACA,OAAOpC,gBAAgB,CAAC,GAAGiC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { media } from 'typestyle';
4
- import { isPseudo } from '../pseudo';
5
- import { convertBreakpoint } from './breakpoint';
3
+ import { isPseudo } from './pseudo';
6
4
  import { getStyle } from './style';
7
5
  import { deepMergeObjects } from '../utils';
8
6
  import { getTransformStyle } from './transform';
9
7
  import { isBoxShadow, isTextShadow, isTransform } from './utils';
10
8
  import { getTextShadowStyle } from './textShadow';
11
9
  import { getBoxShadowStyle } from './boxShadow';
12
- export const convertToTypeStyle = value => {
10
+ export const convertUnistyles = value => {
13
11
  // Flag to mark if textShadow is already created
14
12
  let hasTextShadow = false;
15
13
  // Flag to mark if boxShadow is already created
@@ -25,11 +23,9 @@ export const convertToTypeStyle = value => {
25
23
 
26
24
  // Pseudo classes :hover, :before etc.
27
25
  if (isPseudo(unistylesKey)) {
28
- const typestyleValues = convertToTypeStyle(unistylesValue);
26
+ const flattenValues = convertUnistyles(unistylesValue);
29
27
  return {
30
- $nest: {
31
- [unistylesKey.replace('_', '&:')]: typestyleValues
32
- }
28
+ [unistylesKey]: flattenValues
33
29
  };
34
30
  }
35
31
 
@@ -59,7 +55,9 @@ export const convertToTypeStyle = value => {
59
55
  // Breakpoints
60
56
  if (typeof unistylesValue === 'object' && unistylesValue !== null) {
61
57
  return Object.entries(unistylesValue).map(([breakpointKey, breakpointValue]) => {
62
- return media(convertBreakpoint(breakpointKey), getStyle(unistylesKey, breakpointValue));
58
+ return {
59
+ [breakpointKey]: getStyle(unistylesKey, breakpointValue)
60
+ };
63
61
  });
64
62
  }
65
63
 
@@ -1 +1 @@
1
- {"version":3,"names":["media","isPseudo","convertBreakpoint","getStyle","deepMergeObjects","getTransformStyle","isBoxShadow","isTextShadow","isTransform","getTextShadowStyle","getBoxShadowStyle","convertToTypeStyle","value","hasTextShadow","hasBoxShadow","stylesArray","Object","entries","_web","flatMap","unistylesKey","unistylesValue","includes","startsWith","typestyleValues","$nest","replace","map","breakpointKey","breakpointValue"],"sourceRoot":"../../../../src","sources":["web/convert/index.ts"],"mappings":";;AAEA,SAASA,KAAK,QAAQ,WAAW;AACjC,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,QAAQ,QAAQ,SAAS;AAClC,SAASC,gBAAgB,QAAQ,UAAU;AAC3C,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,WAAW,EAAEC,YAAY,EAAEC,WAAW,QAAQ,SAAS;AAChE,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAASC,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,MAAMC,kBAAkB,GAAIC,KAAsB,IAAK;EAC1D;EACA,IAAIC,aAAa,GAAG,KAAK;EACzB;EACA,IAAIC,YAAY,GAAG,KAAK;EAExB,MAAMC,WAAW,GAAGC,MAAM,CAACC,OAAO,CAAC;IAC/B,GAAGL,KAAK;IACR,GAAGA,KAAK,CAACM;EACb,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,YAAY,EAAEC,cAAc,CAAC,KAAK;IAC3C;IACA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAACC,QAAQ,CAACF,YAAY,CAAC,IAAIA,YAAY,CAACG,UAAU,CAAC,UAAU,CAAC,EAAE;MACrK,OAAO,EAAE;IACb;;IAEA;IACA,IAAItB,QAAQ,CAACmB,YAAY,CAAC,EAAE;MACxB,MAAMI,eAAe,GAAGb,kBAAkB,CAACU,cAAiC,CAAC;MAE7E,OAAO;QACHI,KAAK,EAAE;UACH,CAACL,YAAY,CAACM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAGF;QACvC;MACJ,CAAC;IACL;;IAEA;IACA,IAAIjB,YAAY,CAACa,YAAY,CAAC,EAAE;MAC5B,IAAIP,aAAa,EAAE;QACf,OAAO,EAAE;MACb;MAEAA,aAAa,GAAG,IAAI;MAEpB,OAAOJ,kBAAkB,CAACG,KAAK,CAAC;IACpC;;IAEA;IACA,IAAIN,WAAW,CAACc,YAAY,CAAC,EAAE;MAC3B,IAAIN,YAAY,EAAE;QACd,OAAO,EAAE;MACb;MAEAA,YAAY,GAAG,IAAI;MAEnB,OAAOJ,iBAAiB,CAACE,KAAK,CAAC;IACnC;;IAEA;IACA,IAAIJ,WAAW,CAACY,YAAY,EAAEC,cAAc,CAAC,EAAE;MAC3C,OAAOhB,iBAAiB,CAACgB,cAAc,CAAC;IAC5C;;IAEA;IACA,IAAI,OAAOA,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,IAAI,EAAE;MAC/D,OAAOL,MAAM,CAACC,OAAO,CAACI,cAAc,CAAC,CAACM,GAAG,CAAC,CAAC,CAACC,aAAa,EAAEC,eAAe,CAAC,KAAK;QAC5E,OAAO7B,KAAK,CAACE,iBAAiB,CAAC0B,aAAa,CAAC,EAAEzB,QAAQ,CAACiB,YAAY,EAAES,eAAe,CAAC,CAAC;MAC3F,CAAC,CAAC;IACN;;IAEA;IACA,OAAO1B,QAAQ,CAACiB,YAAY,EAAEC,cAAc,CAAC;EACjD,CAAC,CAA+B;EAEhC,OAAOjB,gBAAgB,CAAC,GAAGW,WAAW,CAAC;AAC3C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isPseudo","getStyle","deepMergeObjects","getTransformStyle","isBoxShadow","isTextShadow","isTransform","getTextShadowStyle","getBoxShadowStyle","convertUnistyles","value","hasTextShadow","hasBoxShadow","stylesArray","Object","entries","_web","flatMap","unistylesKey","unistylesValue","includes","startsWith","flattenValues","map","breakpointKey","breakpointValue"],"sourceRoot":"../../../../src","sources":["web/convert/index.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAQ,UAAU;AACnC,SAASC,QAAQ,QAAQ,SAAS;AAClC,SAASC,gBAAgB,QAAQ,UAAU;AAC3C,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,WAAW,EAAEC,YAAY,EAAEC,WAAW,QAAQ,SAAS;AAChE,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAASC,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,MAAMC,gBAAgB,GAAIC,KAAsB,IAAK;EACxD;EACA,IAAIC,aAAa,GAAG,KAAK;EACzB;EACA,IAAIC,YAAY,GAAG,KAAK;EAExB,MAAMC,WAAW,GAAGC,MAAM,CAACC,OAAO,CAAC;IAC/B,GAAGL,KAAK;IACR,GAAGA,KAAK,CAACM;EACb,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,YAAY,EAAEC,cAAc,CAAC,KAAK;IAC3C;IACA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAACC,QAAQ,CAACF,YAAY,CAAC,IAAIA,YAAY,CAACG,UAAU,CAAC,UAAU,CAAC,EAAE;MACrK,OAAO,EAAE;IACb;;IAEA;IACA,IAAIrB,QAAQ,CAACkB,YAAY,CAAC,EAAE;MACxB,MAAMI,aAAa,GAAGb,gBAAgB,CAACU,cAAiC,CAAC;MAEzE,OAAO;QAAE,CAACD,YAAY,GAAGI;MAAc,CAAC;IAC5C;;IAEA;IACA,IAAIjB,YAAY,CAACa,YAAY,CAAC,EAAE;MAC5B,IAAIP,aAAa,EAAE;QACf,OAAO,EAAE;MACb;MAEAA,aAAa,GAAG,IAAI;MAEpB,OAAOJ,kBAAkB,CAACG,KAAK,CAAC;IACpC;;IAEA;IACA,IAAIN,WAAW,CAACc,YAAY,CAAC,EAAE;MAC3B,IAAIN,YAAY,EAAE;QACd,OAAO,EAAE;MACb;MAEAA,YAAY,GAAG,IAAI;MAEnB,OAAOJ,iBAAiB,CAACE,KAAK,CAAC;IACnC;;IAEA;IACA,IAAIJ,WAAW,CAACY,YAAY,EAAEC,cAAc,CAAC,EAAE;MAC3C,OAAOhB,iBAAiB,CAACgB,cAAc,CAAC;IAC5C;;IAEA;IACA,IAAI,OAAOA,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,IAAI,EAAE;MAC/D,OAAOL,MAAM,CAACC,OAAO,CAACI,cAAc,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,aAAa,EAAEC,eAAe,CAAC,KAAK;QAC5E,OAAO;UAAE,CAACD,aAAa,GAAGvB,QAAQ,CAACiB,YAAY,EAAEO,eAAe;QAAE,CAAC;MACvE,CAAC,CAAC;IACN;;IAEA;IACA,OAAOxB,QAAQ,CAACiB,YAAY,EAAEC,cAAc,CAAC;EACjD,CAAC,CAA+B;EAEhC,OAAOjB,gBAAgB,CAAC,GAAGW,WAAW,CAAC;AAC3C,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pseudos","isPseudo","selector","some","pseudo","startsWith"],"sourceRoot":"../../../../src","sources":["web/convert/pseudo.ts"],"mappings":";;AAAA,OAAO,MAAMA,OAAO,GAAG,CACnB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,aAAa,EACb,eAAe,EACf,OAAO,EACP,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,8BAA8B,EAC9B,qCAAqC,EACrC,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,EACvB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACN,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,CAChB;AAEV,OAAO,MAAMC,QAAQ,GAAIC,QAAgB,IAAKF,OAAO,CAACG,IAAI,CAACC,MAAM,IAAIF,QAAQ,CAACG,UAAU,CAACD,MAAM,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { keyInObject } from '../utils';
4
- const stylesToSkip = ['borderCurve', 'elevation', 'textAlignVertical', 'includeFontPadding', 'overlayColor', 'tintColor'];
4
+ const SKIP_STYLES = ['borderCurve', 'elevation', 'textAlignVertical', 'includeFontPadding', 'overlayColor', 'tintColor'];
5
+ const CSS_NUMBER_KEYS = ['animationIterationCount', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'columns', 'counterIncrement', 'counterReset', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'fontWeight', 'gridArea', 'gridColumn', 'gridColumnEnd', 'gridColumnSpan', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowSpan', 'gridRowStart', 'line-clamp', 'line-height', 'opacity', 'order', 'orphans', 'tabSize', 'widows', 'zIndex', 'zoom', 'fillOpacity', 'floodOpacity', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth'];
5
6
  const convertMap = {
6
7
  marginHorizontal: value => ({
7
8
  marginInline: value
@@ -65,20 +66,23 @@ const convertMap = {
65
66
  }),
66
67
  resizeMode: value => ({
67
68
  backgroundSize: value
68
- }),
69
- lineHeight: value => ({
70
- lineHeight: `${value}px`
71
69
  })
72
70
  };
71
+ const convertNumber = (key, value) => {
72
+ if (typeof value === 'number') {
73
+ return CSS_NUMBER_KEYS.includes(key, value) ? value : `${value}px`;
74
+ }
75
+ return value;
76
+ };
73
77
  export const getStyle = (key, value) => {
74
- if (stylesToSkip.includes(key)) {
78
+ if (SKIP_STYLES.includes(key)) {
75
79
  return {};
76
80
  }
77
81
  if (keyInObject(convertMap, key)) {
78
- return convertMap[key]?.(value) ?? {};
82
+ return convertMap[key]?.(convertNumber(key, value)) ?? {};
79
83
  }
80
84
  return {
81
- [key]: value
85
+ [key]: convertNumber(key, value)
82
86
  };
83
87
  };
84
88
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["keyInObject","stylesToSkip","convertMap","marginHorizontal","value","marginInline","marginVertical","marginBlock","paddingHorizontal","paddingInline","paddingVertical","paddingBlock","writingDirection","direction","borderBottomEndRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomLeftRadius","borderEndColor","borderInlineEndColor","borderStartColor","borderInlineStartColor","borderTopEndRadius","borderTopRightRadius","borderTopStartRadius","borderTopLeftRadius","borderEndWidth","borderInlineEndWidth","borderStartWidth","borderInlineStartWidth","end","right","start","left","marginEnd","marginRight","marginStart","marginLeft","paddingEnd","paddingRight","paddingStart","paddingLeft","transformMatrix","transform","join","resizeMode","backgroundSize","lineHeight","getStyle","key","includes"],"sourceRoot":"../../../../src","sources":["web/convert/style.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,UAAU;AAGtC,MAAMC,YAAY,GAAG,CACjB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,WAAW,CACd;AAED,MAAMC,UAAU,GAAG;EACfC,gBAAgB,EAAGC,KAAa,KAAM;IAClCC,YAAY,EAAED;EAClB,CAAC,CAAC;EACFE,cAAc,EAAGF,KAAa,KAAM;IAChCG,WAAW,EAAEH;EACjB,CAAC,CAAC;EACFI,iBAAiB,EAAGJ,KAAa,KAAM;IACnCK,aAAa,EAAEL;EACnB,CAAC,CAAC;EACFM,eAAe,EAAGN,KAAa,KAAM;IACjCO,YAAY,EAAEP;EAClB,CAAC,CAAC;EACFQ,gBAAgB,EAAGR,KAAa,KAAM;IAClCS,SAAS,EAAET;EACf,CAAC,CAAC;EACFU,qBAAqB,EAAGV,KAAa,KAAM;IACvCW,uBAAuB,EAAEX;EAC7B,CAAC,CAAC;EACFY,uBAAuB,EAAGZ,KAAa,KAAM;IACzCa,sBAAsB,EAAEb;EAC5B,CAAC,CAAC;EACFc,cAAc,EAAGd,KAAa,KAAM;IAChCe,oBAAoB,EAAEf;EAC1B,CAAC,CAAC;EACFgB,gBAAgB,EAAGhB,KAAa,KAAM;IAClCiB,sBAAsB,EAAEjB;EAC5B,CAAC,CAAC;EACFkB,kBAAkB,EAAGlB,KAAa,KAAM;IACpCmB,oBAAoB,EAAEnB;EAC1B,CAAC,CAAC;EACFoB,oBAAoB,EAAGpB,KAAa,KAAM;IACtCqB,mBAAmB,EAAErB;EACzB,CAAC,CAAC;EACFsB,cAAc,EAAGtB,KAAa,KAAM;IAChCuB,oBAAoB,EAAEvB;EAC1B,CAAC,CAAC;EACFwB,gBAAgB,EAAGxB,KAAa,KAAM;IAClCyB,sBAAsB,EAAEzB;EAC5B,CAAC,CAAC;EACF0B,GAAG,EAAG1B,KAAa,KAAM;IACrB2B,KAAK,EAAE3B;EACX,CAAC,CAAC;EACF4B,KAAK,EAAG5B,KAAa,KAAM;IACvB6B,IAAI,EAAE7B;EACV,CAAC,CAAC;EACF8B,SAAS,EAAG9B,KAAa,KAAM;IAC3B+B,WAAW,EAAE/B;EACjB,CAAC,CAAC;EACFgC,WAAW,EAAGhC,KAAa,KAAM;IAC7BiC,UAAU,EAAEjC;EAChB,CAAC,CAAC;EACFkC,UAAU,EAAGlC,KAAa,KAAM;IAC5BmC,YAAY,EAAEnC;EAClB,CAAC,CAAC;EACFoC,YAAY,EAAGpC,KAAa,KAAM;IAC9BqC,WAAW,EAAErC;EACjB,CAAC,CAAC;EACFsC,eAAe,EAAGtC,KAAoB,KAAM;IACxCuC,SAAS,EAAE,UAAUvC,KAAK,CAACwC,IAAI,CAAC,IAAI,CAAC;EACzC,CAAC,CAAC;EACFC,UAAU,EAAGzC,KAAa,KAAM;IAC5B0C,cAAc,EAAE1C;EACpB,CAAC,CAAC;EACF2C,UAAU,EAAG3C,KAAa,KAAM;IAC5B2C,UAAU,EAAE,GAAG3C,KAAK;EACxB,CAAC;AACL,CAA6D;AAE7D,OAAO,MAAM4C,QAAQ,GAAGA,CAACC,GAAW,EAAE7C,KAAU,KAAK;EACjD,IAAIH,YAAY,CAACiD,QAAQ,CAACD,GAAG,CAAC,EAAE;IAC5B,OAAO,CAAC,CAAC;EACb;EAEA,IAAIjD,WAAW,CAACE,UAAU,EAAE+C,GAAG,CAAC,EAAE;IAC9B,OAAO/C,UAAU,CAAC+C,GAAG,CAAC,GAAG7C,KAAK,CAAC,IAAI,CAAC,CAAC;EACzC;EAEA,OAAO;IACH,CAAC6C,GAAG,GAAG7C;EACX,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["keyInObject","SKIP_STYLES","CSS_NUMBER_KEYS","convertMap","marginHorizontal","value","marginInline","marginVertical","marginBlock","paddingHorizontal","paddingInline","paddingVertical","paddingBlock","writingDirection","direction","borderBottomEndRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomLeftRadius","borderEndColor","borderInlineEndColor","borderStartColor","borderInlineStartColor","borderTopEndRadius","borderTopRightRadius","borderTopStartRadius","borderTopLeftRadius","borderEndWidth","borderInlineEndWidth","borderStartWidth","borderInlineStartWidth","end","right","start","left","marginEnd","marginRight","marginStart","marginLeft","paddingEnd","paddingRight","paddingStart","paddingLeft","transformMatrix","transform","join","resizeMode","backgroundSize","convertNumber","key","includes","getStyle"],"sourceRoot":"../../../../src","sources":["web/convert/style.ts"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { media } from 'typestyle';
4
3
  import { deepMergeObjects, warn } from '../utils';
5
4
  import { validateShadow } from './shadow';
6
- import { convertBreakpoint } from './breakpoint';
7
5
  import { TEXT_SHADOW_STYLES } from './types';
8
6
  import { extractShadowValue, normalizeColor, normalizeNumericValue } from './utils';
9
7
  const createTextShadowValue = style => {
@@ -50,16 +48,18 @@ export const getTextShadowStyle = styles => {
50
48
  height
51
49
  } = extractShadowValue('textShadowOffset', breakpoint, styles);
52
50
  const radius = extractShadowValue('textShadowRadius', breakpoint, styles);
53
- return media(convertBreakpoint(breakpoint), {
54
- textShadow: createTextShadowValue({
55
- textShadowColor: color,
56
- textShadowOffset: {
57
- width,
58
- height
59
- },
60
- textShadowRadius: radius
61
- })
62
- });
51
+ return {
52
+ [breakpoint]: {
53
+ textShadow: createTextShadowValue({
54
+ textShadowColor: color,
55
+ textShadowOffset: {
56
+ width,
57
+ height
58
+ },
59
+ textShadowRadius: radius
60
+ })
61
+ }
62
+ };
63
63
  });
64
64
 
65
65
  // Merge all breakpoints styles into one
@@ -1 +1 @@
1
- {"version":3,"names":["media","deepMergeObjects","warn","validateShadow","convertBreakpoint","TEXT_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createTextShadowValue","style","textShadowColor","textShadowOffset","textShadowRadius","offsetX","width","offsetY","height","radius","color","getTextShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","textShadow","breakpointStyles","map","breakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/textShadow.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,WAAW;AAEjC,SAASC,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,kBAAkB,QAAyB,SAAS;AAC7D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,qBAAqB,GAAIC,KAAiB,IAAK;EACjD,MAAM;IAAEC,eAAe;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGH,KAAK;EACrE,MAAMI,OAAO,GAAGN,qBAAqB,CAACI,gBAAgB,CAACG,KAAK,CAAC;EAC7D,MAAMC,OAAO,GAAGR,qBAAqB,CAACI,gBAAgB,CAACK,MAAM,CAAC;EAC9D,MAAMC,MAAM,GAAGV,qBAAqB,CAACK,gBAAgB,CAAC;EACtD,MAAMM,KAAK,GAAGZ,cAAc,CAACI,eAAyB,CAAC;EAEvD,OAAO,GAAGG,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAIC,MAA2B,IAA0B;EACpF,MAAMC,aAAa,GAAGjB,kBAAkB,CAACkB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAExE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBvB,IAAI,CAAC,yDAAyDoB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEzF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACAzB,cAAc,CAACE,kBAAkB,EAAEgB,MAAM,EAAEM,cAAc,CAAC;EAC9D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B3B,IAAI,CAAC2B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,UAAU,EAAExB,qBAAqB,CAACY,MAAoB;IAC1D,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGb,kBAAkB,CAAC,iBAAiB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACvE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGX,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACpF,MAAMH,MAAM,GAAGZ,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IAEzE,OAAOrB,KAAK,CAACI,iBAAiB,CAACgC,UAAU,CAAC,EAAE;MACxCH,UAAU,EAAExB,qBAAqB,CAAC;QAC9BE,eAAe,EAAEQ,KAAK;QACtBP,gBAAgB,EAAE;UACdG,KAAK;UACLE;QACJ,CAAC;QACDJ,gBAAgB,EAAEK;MACtB,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;;EAEF;EACA,OAAOjB,gBAAgB,CAAC,GAAGiC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["deepMergeObjects","warn","validateShadow","TEXT_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createTextShadowValue","style","textShadowColor","textShadowOffset","textShadowRadius","offsetX","width","offsetY","height","radius","color","getTextShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","textShadow","breakpointStyles","map","breakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/textShadow.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,kBAAkB,QAAyB,SAAS;AAC7D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,qBAAqB,GAAIC,KAAiB,IAAK;EACjD,MAAM;IAAEC,eAAe;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGH,KAAK;EACrE,MAAMI,OAAO,GAAGN,qBAAqB,CAACI,gBAAgB,CAACG,KAAK,CAAC;EAC7D,MAAMC,OAAO,GAAGR,qBAAqB,CAACI,gBAAgB,CAACK,MAAM,CAAC;EAC9D,MAAMC,MAAM,GAAGV,qBAAqB,CAACK,gBAAgB,CAAC;EACtD,MAAMM,KAAK,GAAGZ,cAAc,CAACI,eAAyB,CAAC;EAEvD,OAAO,GAAGG,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAIC,MAA2B,IAAK;EAC/D,MAAMC,aAAa,GAAGjB,kBAAkB,CAACkB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAExE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBtB,IAAI,CAAC,yDAAyDmB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEzF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACAxB,cAAc,CAACC,kBAAkB,EAAEgB,MAAM,EAAEM,cAAc,CAAC;EAC9D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B1B,IAAI,CAAC0B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,UAAU,EAAExB,qBAAqB,CAACY,MAAoB;IAC1D,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGb,kBAAkB,CAAC,iBAAiB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACvE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGX,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACpF,MAAMH,MAAM,GAAGZ,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IAEzE,OAAO;MACH,CAACe,UAAU,GAAG;QACVH,UAAU,EAAExB,qBAAqB,CAAC;UAC9BE,eAAe,EAAEQ,KAAK;UACtBP,gBAAgB,EAAE;YACdG,KAAK;YACLE;UACJ,CAAC;UACDJ,gBAAgB,EAAEK;QACtB,CAAC;MACL;IACJ,CAAC;EACL,CAAC,CAAC;;EAEF;EACA,OAAOhB,gBAAgB,CAAC,GAAGgC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { media } from 'typestyle';
4
3
  import { deepMergeObjects, keyInObject } from '../utils';
5
4
  import { normalizeNumericValue } from './utils';
6
- import { convertBreakpoint } from './breakpoint';
7
5
  const normalizeTransform = (key, value) => {
8
6
  if (key.includes('scale')) {
9
7
  return value;
@@ -56,9 +54,11 @@ export const getTransformStyle = transforms => {
56
54
  }
57
55
  return [];
58
56
  });
59
- return media(convertBreakpoint(breakpoint), {
60
- transform: createTransformValue(transformsPerBreakpoint)
61
- });
57
+ return [{
58
+ [breakpoint]: {
59
+ transform: createTransformValue(transformsPerBreakpoint)
60
+ }
61
+ }];
62
62
  });
63
63
  return deepMergeObjects({
64
64
  transform: createTransformValue(normalTransforms)
@@ -1 +1 @@
1
- {"version":3,"names":["media","deepMergeObjects","keyInObject","normalizeNumericValue","convertBreakpoint","normalizeTransform","key","value","includes","createTransformValue","transforms","map","transform","Object","keys","undefined","join","filter","Boolean","getTransformStyle","breakpoints","Set","normalTransforms","forEach","property","Array","isArray","breakpoint","add","push","breakpointTransforms","from","flatMap","transformsPerBreakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/transform.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["deepMergeObjects","keyInObject","normalizeNumericValue","normalizeTransform","key","value","includes","createTransformValue","transforms","map","transform","Object","keys","undefined","join","filter","Boolean","getTransformStyle","breakpoints","Set","normalTransforms","forEach","property","Array","isArray","breakpoint","add","push","breakpointTransforms","from","flatMap","transformsPerBreakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/transform.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,WAAW,QAAQ,UAAU;AACxD,SAASC,qBAAqB,QAAQ,SAAS;AAI/C,MAAMC,kBAAkB,GAAGA,CAACC,GAAW,EAAEC,KAAU,KAAK;EACpD,IAAID,GAAG,CAACE,QAAQ,CAAC,OAAO,CAAC,EAAE;IACvB,OAAOD,KAAK;EAChB;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOH,qBAAqB,CAACG,KAAK,CAAC;EACvC;EAEA,OAAOA,KAAK;AAChB,CAAC;AAED,MAAME,oBAAoB,GAAIC,UAAsB,IAAKA,UAAU,CAC9DC,GAAG,CAACC,SAAS,IAAI;EACd,MAAM,CAACN,GAAG,CAAC,GAAGO,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC;EAEpC,IAAI,CAACN,GAAG,EAAE;IACN,OAAOS,SAAS;EACpB;EAEA,MAAMR,KAAK,GAAGK,SAAS,CAACN,GAAG,CAAC;EAE5B,QAAOA,GAAG;IACN,KAAK,QAAQ;IACb,KAAK,UAAU;MACX,OAAO,GAAGA,GAAG,IAAKC,KAAK,CAAmBS,IAAI,CAAC,GAAG,CAAC,GAAG;IAC1D;MACI,OAAO,GAAGV,GAAG,IAAID,kBAAkB,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAG;EAC1D;AACJ,CAAC,CAAC,CACDU,MAAM,CAACC,OAAO,CAAC,CACfF,IAAI,CAAC,GAAG,CAAC;AAEd,OAAO,MAAMG,iBAAiB,GAAIT,UAAsB,IAAK;EACzD,MAAMU,WAAW,GAAG,IAAIC,GAAG,CAAS,CAAC;EACrC,MAAMC,gBAA4B,GAAG,EAAE;EAEvCZ,UAAU,CAACa,OAAO,CAACX,SAAS,IAAI;IAC5B,MAAM,CAACY,QAAQ,CAAC,GAAGX,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC;IAEzC,IAAI,CAACY,QAAQ,EAAE;MACX;IACJ;IAEA,MAAMjB,KAAK,GAAGK,SAAS,CAACY,QAAQ,CAAC;IAEjC,IAAI,OAAOjB,KAAK,KAAK,QAAQ,IAAI,CAACkB,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,EAAE;MACpDM,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC,CAACgB,OAAO,CAACI,UAAU,IAAIP,WAAW,CAACQ,GAAG,CAACD,UAAU,CAAC,CAAC;MAErE;IACJ;IAEAL,gBAAgB,CAACO,IAAI,CAACjB,SAAS,CAAC;EACpC,CAAC,CAAC;EAEF,MAAMkB,oBAAoB,GAAGL,KAAK,CAACM,IAAI,CAACX,WAAW,CAAC,CAACY,OAAO,CAACL,UAAU,IAAI;IACvE,MAAMM,uBAAuB,GAAGvB,UAAU,CAACsB,OAAO,CAACpB,SAAS,IAAI;MAC5D,MAAM,CAACY,QAAQ,CAAC,GAAGX,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC;MAEzC,IAAI,CAACY,QAAQ,EAAE;QACX,OAAO,EAAE;MACb;MAEA,MAAMjB,KAAK,GAAGK,SAAS,CAACY,QAAQ,CAAC;MAEjC,IAAI,OAAOjB,KAAK,KAAK,QAAQ,IAAI,CAACkB,KAAK,CAACC,OAAO,CAACnB,KAAK,CAAC,EAAE;QACpD,OAAOJ,WAAW,CAACI,KAAK,EAAEoB,UAAU,CAAC,GAAG,CAAC;UAAE,CAACH,QAAQ,GAAGjB,KAAK,CAACoB,UAAU;QAAE,CAAC,CAAC,GAAG,EAAE;MACpF;MAEA,OAAO,EAAE;IACb,CAAC,CAAC;IAEF,OAAO,CAAC;MACJ,CAACA,UAAU,GAAG;QACVf,SAAS,EAAEH,oBAAoB,CAACwB,uBAAuB;MAC3D;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAO/B,gBAAgB,CAAsB;IACzCU,SAAS,EAAEH,oBAAoB,CAACa,gBAAgB;EACpD,CAAC,EAAE,GAAGQ,oBAAoB,CAAC;AAC/B,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { UnistyleDependency } from '../../specs/NativePlatform';
4
- import { UnistylesRuntime } from '../runtime';
3
+ import { UnistyleDependency } from '../specs/NativePlatform';
4
+ import { UnistylesRuntime } from './runtime';
5
5
  class UnistylesListenerBuilder {
6
6
  isInitialized = false;
7
7
  listeners = Array.from({
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnistyleDependency","UnistylesRuntime","UnistylesListenerBuilder","isInitialized","listeners","Array","from","length","Object","keys","Set","emitChange","dependency","forEach","listener","initListeners","darkMedia","addEventListener","ColorScheme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","UnistylesListener"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,gBAAgB,QAAQ,WAAW;AAE5C,MAAMC,wBAAwB,CAAC;EACnBC,aAAa,GAAG,KAAK;EACrBC,SAAS,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEC,MAAM,CAACC,IAAI,CAACT,kBAAkB,CAAC,CAACO,MAAM,GAAG;EAAE,CAAC,EAAE,MAAM,IAAIG,GAAG,CAAe,CAAC,CAAC;EAErHC,UAAU,GAAIC,UAA8B,IAAK;IAC7C,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEC,OAAO,CAACC,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC;EAC/D,CAAC;EAEDC,aAAa,GAAGA,CAAA,KAAM;IAClB,IAAI,IAAI,CAACZ,aAAa,EAAE;MACpB;IACJ;IAEA,IAAI,CAACA,aAAa,GAAG,IAAI;IACzBF,gBAAgB,CAACe,SAAS,EAAEC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACkB,WAAW,CAAC,CAAC;IAC7GjB,gBAAgB,CAACkB,UAAU,EAAEF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACkB,WAAW,CAAC,CAAC;IAC9GE,MAAM,CAACH,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACqB,WAAW,CAAC,CAAC;IACnGD,MAAM,CAACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACsB,UAAU,CAAC,CAAC;EAC3F,CAAC;EAEDC,YAAY,GAAGA,CAACC,YAAuC,EAAEV,QAAsB,KAAK;IAChFU,YAAY,CAACX,OAAO,CAACD,UAAU,IAAI,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEa,GAAG,CAACX,QAAQ,CAAC,CAAC;IAE7E,OAAO,MAAM;MACTU,YAAY,CAACX,OAAO,CAACD,UAAU,IAAI,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEc,MAAM,CAACZ,QAAQ,CAAC,CAAC;IACpF,CAAC;EACL,CAAC;AACL;AAEA,OAAO,MAAMa,iBAAiB,GAAG,IAAIzB,wBAAwB,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","parseMq","mq","width","fromW","toW","exec","height","fromH","toH","minWidth","undefined","Number","maxWidth","minHeight","maxHeight","isUnistylesMq","test"],"sourceRoot":"../../../src","sources":["web/mq.ts"],"mappings":";;AAEA,MAAMA,kBAAkB,GAAG,wCAAwC;AACnE,MAAMC,qBAAqB,GAAG,qCAAqC;AACnE,MAAMC,sBAAsB,GAAG,qCAAqC;AAEpE,OAAO,MAAMC,OAAO,GAAIC,EAAU,IAAiB;EAC/C,MAAM,GAAGC,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGN,qBAAqB,CAACO,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAClE,MAAM,GAAGK,MAAM,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGT,sBAAsB,CAACM,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAEpE,OAAO;IACHQ,QAAQ,EAAE,CAACP,KAAK,IAAIC,KAAK,KAAK,UAAU,GAAGO,SAAS,GAAGC,MAAM,CAACR,KAAK,CAAC;IACpES,QAAQ,EAAE,CAACV,KAAK,IAAIE,GAAG,KAAK,UAAU,GAAGM,SAAS,GAAGC,MAAM,CAACP,GAAG,CAAC;IAChES,SAAS,EAAE,CAACP,MAAM,IAAIC,KAAK,KAAK,UAAU,GAAGG,SAAS,GAAGC,MAAM,CAACJ,KAAK,CAAC;IACtEO,SAAS,EAAE,CAACR,MAAM,IAAIE,GAAG,KAAK,UAAU,GAAGE,SAAS,GAAGC,MAAM,CAACH,GAAG;EACrE,CAAC;AACL,CAAC;AAED,OAAO,MAAMO,aAAa,GAAId,EAAU,IAAKJ,kBAAkB,CAACmB,IAAI,CAACf,EAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","parseMq","mq","width","fromW","toW","exec","height","fromH","toH","minWidth","undefined","Number","maxWidth","minHeight","maxHeight","isUnistylesMq","test"],"sourceRoot":"../../../src","sources":["web/mq.ts"],"mappings":";;AAAA,MAAMA,kBAAkB,GAAG,wCAAwC;AACnE,MAAMC,qBAAqB,GAAG,qCAAqC;AACnE,MAAMC,sBAAsB,GAAG,qCAAqC;AAEpE,OAAO,MAAMC,OAAO,GAAIC,EAAU,IAAK;EACnC,MAAM,GAAGC,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGN,qBAAqB,CAACO,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAClE,MAAM,GAAGK,MAAM,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGT,sBAAsB,CAACM,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAEpE,OAAO;IACHQ,QAAQ,EAAE,CAACP,KAAK,IAAIC,KAAK,KAAK,UAAU,GAAGO,SAAS,GAAGC,MAAM,CAACR,KAAK,CAAC;IACpES,QAAQ,EAAE,CAACV,KAAK,IAAIE,GAAG,KAAK,UAAU,GAAGM,SAAS,GAAGC,MAAM,CAACP,GAAG,CAAC;IAChES,SAAS,EAAE,CAACP,MAAM,IAAIC,KAAK,KAAK,UAAU,GAAGG,SAAS,GAAGC,MAAM,CAACJ,KAAK,CAAC;IACtEO,SAAS,EAAE,CAACR,MAAM,IAAIE,GAAG,KAAK,UAAU,GAAGE,SAAS,GAAGC,MAAM,CAACH,GAAG;EACrE,CAAC;AACL,CAAC;AAED,OAAO,MAAMO,aAAa,GAAId,EAAU,IAAKJ,kBAAkB,CAACmB,IAAI,CAACf,EAAE,CAAC","ignoreList":[]}
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
2
 
3
- import { createTypeStyle } from 'typestyle';
4
- import { convertToTypeStyle } from './convert';
5
3
  import { UnistylesRuntime } from './runtime';
6
- import { keyInObject } from './utils';
4
+ import { extractMediaQueryValue, keyInObject, getMediaQuery, generateHash, extractUnistyleDependencies } from './utils';
7
5
  import { UnistylesListener } from './listener';
6
+ import { convertUnistyles } from './convert';
7
+ import { getVariants } from './variants';
8
8
  class UnistylesRegistryBuilder {
9
9
  stylesheets = new Map();
10
+ stylesCounter = new Map();
11
+ #styleTag = null;
12
+ disposeListenersMap = new Map();
13
+ dependenciesMap = new Map();
14
+ get styleTag() {
15
+ const tag = this.#styleTag;
16
+ if (!tag) {
17
+ const newTag = document.createElement('style');
18
+ newTag.id = 'unistyles-web';
19
+ this.#styleTag = newTag;
20
+ document.head.appendChild(newTag);
21
+ return newTag;
22
+ }
23
+ return tag;
24
+ }
10
25
  getComputedStylesheet = stylesheet => {
11
26
  if (typeof stylesheet !== 'function') {
12
27
  return stylesheet;
@@ -16,30 +31,153 @@ class UnistylesRegistryBuilder {
16
31
  return computedStylesheet;
17
32
  }
18
33
  const createdStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
19
- // @ts-expect-error uni__dependencies is hidden
20
- const dependencies = Object.values(createdStylesheet).flatMap(value => keyInObject(value, 'uni__dependencies') ? value.uni__dependencies : []);
21
- UnistylesListener.addListeners(dependencies, () => {
34
+ const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value));
35
+ this.addDependenciesToStylesheet(stylesheet, dependencies);
36
+ this.stylesheets.set(stylesheet, createdStylesheet);
37
+ return createdStylesheet;
38
+ };
39
+ addDependenciesToStylesheet = (stylesheet, dependencies) => {
40
+ this.disposeListenersMap.get(stylesheet)?.();
41
+ const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
42
+ dependencies.forEach(dependency => dependenciesMap.add(dependency));
43
+ const dispose = UnistylesListener.addListeners(Array.from(dependenciesMap), () => {
22
44
  const newComputedStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
23
45
  this.stylesheets.set(stylesheet, newComputedStylesheet);
24
46
  });
25
- this.stylesheets.set(stylesheet, createdStylesheet);
26
- return createdStylesheet;
47
+ this.dependenciesMap.set(stylesheet, dependenciesMap);
48
+ this.disposeListenersMap.set(stylesheet, dispose);
49
+ };
50
+ add = ({
51
+ key,
52
+ value,
53
+ stylesheet,
54
+ args,
55
+ variants
56
+ }) => {
57
+ const hash = generateHash(value);
58
+ const existingCounter = this.stylesCounter.get(hash);
59
+ if (!existingCounter || existingCounter.size === 0) {
60
+ const counter = new Set();
61
+ const dependencies = extractUnistyleDependencies(value);
62
+ counter.add(value);
63
+ this.stylesCounter.set(hash, counter);
64
+ this.applyStyles(hash, convertUnistyles(value));
65
+ UnistylesListener.addListeners(dependencies, async () => {
66
+ // Move this callback to the end of the event loop
67
+ await Promise.resolve();
68
+ const newComputedStyleSheet = this.getComputedStylesheet(stylesheet);
69
+ const newValue = newComputedStyleSheet[key];
70
+ const result = typeof newValue === 'function' ? newValue(...args) : newValue;
71
+ const {
72
+ variantsResult
73
+ } = Object.fromEntries(getVariants({
74
+ variantsResult: result
75
+ }, variants));
76
+ const resultWithVariants = {
77
+ ...result,
78
+ ...variantsResult
79
+ };
80
+ this.applyStyles(hash, convertUnistyles(resultWithVariants));
81
+ });
82
+ return hash;
83
+ }
84
+ existingCounter.add(value);
85
+ return hash;
27
86
  };
28
- createStyles = (stylesheet, key) => {
29
- const unistyles = createTypeStyle();
30
- const typestyleStylesheet = convertToTypeStyle(stylesheet);
31
- const className = unistyles.style({
32
- $debugName: `${key}-${Math.random().toString(16).slice(10)}`
33
- }, typestyleStylesheet);
34
- return {
35
- className,
36
- unistyles
37
- };
87
+ applyStyles = (hash, styles) => {
88
+ Object.entries(styles).forEach(([key, value]) => {
89
+ if (!this.styleTag.sheet) {
90
+ return;
91
+ }
92
+ if (typeof value === 'object' && !key.startsWith('_')) {
93
+ const mediaQuery = getMediaQuery(key);
94
+ const cssRules = Array.from(this.styleTag.sheet.cssRules);
95
+ let queryRule = cssRules.find(rule => {
96
+ if (!(rule instanceof CSSMediaRule)) {
97
+ return false;
98
+ }
99
+ return rule.media.item(0)?.includes(mediaQuery);
100
+ }) ?? null;
101
+ if (!queryRule) {
102
+ const mediaQueryValue = extractMediaQueryValue(mediaQuery);
103
+ const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
104
+ if (!(rule instanceof CSSMediaRule)) {
105
+ return acc;
106
+ }
107
+ const ruleMediaQueryValue = extractMediaQueryValue(rule.conditionText);
108
+ if (ruleMediaQueryValue === undefined) {
109
+ return;
110
+ }
111
+ return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
112
+ }, cssRules.length) : undefined;
113
+ queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
114
+ }
115
+ if (queryRule instanceof CSSMediaRule) {
116
+ Object.entries(value).forEach(([mqKey, mqValue]) => {
117
+ this.applyRule({
118
+ hash,
119
+ key: mqKey,
120
+ value: mqValue,
121
+ sheet: queryRule
122
+ });
123
+ });
124
+ }
125
+ return;
126
+ }
127
+
128
+ // Pseudo
129
+ if (typeof value === 'object') {
130
+ Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
131
+ this.applyRule({
132
+ hash: `${hash}${key.replace('_', ':')}`,
133
+ key: pseudoKey,
134
+ value: pseudoValue,
135
+ sheet: this.styleTag.sheet
136
+ });
137
+ });
138
+ return;
139
+ }
140
+ this.applyRule({
141
+ hash,
142
+ key,
143
+ value,
144
+ sheet: this.styleTag.sheet
145
+ });
146
+ });
147
+ };
148
+ applyRule = ({
149
+ hash,
150
+ key,
151
+ value,
152
+ sheet
153
+ }) => {
154
+ let rule = Array.from(sheet.cssRules).find(rule => {
155
+ if (!(rule instanceof CSSStyleRule)) {
156
+ return false;
157
+ }
158
+
159
+ // In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
160
+ return rule.selectorText.replace('::', ':').includes(hash);
161
+ }) ?? null;
162
+ if (!rule) {
163
+ rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
164
+ }
165
+ if (!(rule instanceof CSSStyleRule) || !keyInObject(rule.style, key)) {
166
+ return;
167
+ }
168
+ rule.style[key] = value;
38
169
  };
39
- updateStyles = (unistyles, stylesheet, className) => {
40
- const typestyleStylesheet = convertToTypeStyle(stylesheet);
41
- unistyles.reinit();
42
- unistyles.cssRule(`.${className}`, typestyleStylesheet);
170
+ remove = value => {
171
+ const hash = generateHash(value);
172
+ const existingStyles = this.stylesCounter.get(hash);
173
+ if (!existingStyles) {
174
+ return;
175
+ }
176
+ existingStyles.delete(value);
177
+ if (existingStyles.size === 0) {
178
+ const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
179
+ this.styleTag.sheet?.deleteRule(ruleIndex);
180
+ }
43
181
  };
44
182
  }
45
183
  export const UnistylesRegistry = new UnistylesRegistryBuilder();