react-native-css 0.0.0-nightly.ab09c28 → 0.0.0-nightly.d48061c

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 (145) hide show
  1. package/dist/commonjs/babel/index.js +6 -2
  2. package/dist/commonjs/babel/index.js.map +1 -1
  3. package/dist/commonjs/compiler/atRules.js +6 -26
  4. package/dist/commonjs/compiler/atRules.js.map +1 -1
  5. package/dist/commonjs/compiler/compiler.js +43 -23
  6. package/dist/commonjs/compiler/compiler.js.map +1 -1
  7. package/dist/commonjs/compiler/declarations.js +117 -38
  8. package/dist/commonjs/compiler/declarations.js.map +1 -1
  9. package/dist/commonjs/compiler/selector-builder.js +6 -4
  10. package/dist/commonjs/compiler/selector-builder.js.map +1 -1
  11. package/dist/commonjs/compiler/stylesheet.js +5 -4
  12. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  13. package/dist/commonjs/jest/index.js +0 -1
  14. package/dist/commonjs/jest/index.js.map +1 -1
  15. package/dist/commonjs/metro/index.js +8 -8
  16. package/dist/commonjs/metro/index.js.map +1 -1
  17. package/dist/commonjs/runtime/native/api.js +21 -2
  18. package/dist/commonjs/runtime/native/api.js.map +1 -1
  19. package/dist/commonjs/runtime/native/reactivity.js +1 -5
  20. package/dist/commonjs/runtime/native/reactivity.js.map +1 -1
  21. package/dist/commonjs/runtime/native/styles/calculate-props.js +2 -0
  22. package/dist/commonjs/runtime/native/styles/calculate-props.js.map +1 -1
  23. package/dist/commonjs/runtime/native/styles/line-height.js +25 -0
  24. package/dist/commonjs/runtime/native/styles/line-height.js.map +1 -0
  25. package/dist/commonjs/runtime/native/styles/resolve.js +2 -0
  26. package/dist/commonjs/runtime/native/styles/resolve.js.map +1 -1
  27. package/dist/commonjs/runtime/native/styles/shorthands/box-shadow.js +19 -11
  28. package/dist/commonjs/runtime/native/styles/shorthands/box-shadow.js.map +1 -1
  29. package/dist/commonjs/runtime/native/styles/units.js +10 -8
  30. package/dist/commonjs/runtime/native/styles/units.js.map +1 -1
  31. package/dist/commonjs/runtime/native/styles/variables.js +1 -1
  32. package/dist/commonjs/runtime/native/styles/variables.js.map +1 -1
  33. package/dist/commonjs/runtime/web/api.js +18 -0
  34. package/dist/commonjs/runtime/web/api.js.map +1 -1
  35. package/dist/commonjs/style-collection/root.js +1 -0
  36. package/dist/commonjs/style-collection/root.js.map +1 -1
  37. package/dist/module/babel/index.js +2 -2
  38. package/dist/module/babel/index.js.map +1 -1
  39. package/dist/module/compiler/atRules.js +6 -26
  40. package/dist/module/compiler/atRules.js.map +1 -1
  41. package/dist/module/compiler/compiler.js +45 -25
  42. package/dist/module/compiler/compiler.js.map +1 -1
  43. package/dist/module/compiler/compiler.types.js.map +1 -1
  44. package/dist/module/compiler/declarations.js +112 -38
  45. package/dist/module/compiler/declarations.js.map +1 -1
  46. package/dist/module/compiler/selector-builder.js +6 -4
  47. package/dist/module/compiler/selector-builder.js.map +1 -1
  48. package/dist/module/compiler/stylesheet.js +5 -4
  49. package/dist/module/compiler/stylesheet.js.map +1 -1
  50. package/dist/module/jest/index.js +1 -2
  51. package/dist/module/jest/index.js.map +1 -1
  52. package/dist/module/metro/index.js +8 -8
  53. package/dist/module/metro/index.js.map +1 -1
  54. package/dist/module/runtime/native/api.js +21 -3
  55. package/dist/module/runtime/native/api.js.map +1 -1
  56. package/dist/module/runtime/native/reactivity.js +0 -4
  57. package/dist/module/runtime/native/reactivity.js.map +1 -1
  58. package/dist/module/runtime/native/styles/calculate-props.js +2 -0
  59. package/dist/module/runtime/native/styles/calculate-props.js.map +1 -1
  60. package/dist/module/runtime/native/styles/line-height.js +20 -0
  61. package/dist/module/runtime/native/styles/line-height.js.map +1 -0
  62. package/dist/module/runtime/native/styles/resolve.js +2 -0
  63. package/dist/module/runtime/native/styles/resolve.js.map +1 -1
  64. package/dist/module/runtime/native/styles/shorthands/box-shadow.js +19 -11
  65. package/dist/module/runtime/native/styles/shorthands/box-shadow.js.map +1 -1
  66. package/dist/module/runtime/native/styles/units.js +11 -8
  67. package/dist/module/runtime/native/styles/units.js.map +1 -1
  68. package/dist/module/runtime/native/styles/variables.js +1 -1
  69. package/dist/module/runtime/native/styles/variables.js.map +1 -1
  70. package/dist/module/runtime/web/api.js +18 -1
  71. package/dist/module/runtime/web/api.js.map +1 -1
  72. package/dist/module/style-collection/root.js +1 -0
  73. package/dist/module/style-collection/root.js.map +1 -1
  74. package/dist/typescript/commonjs/src/babel/index.d.ts +3 -0
  75. package/dist/typescript/commonjs/src/babel/index.d.ts.map +1 -1
  76. package/dist/typescript/commonjs/src/compiler/atRules.d.ts +1 -1
  77. package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
  78. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  79. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +0 -5
  80. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  81. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +15 -4
  82. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  83. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts +1 -1
  84. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -1
  85. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  86. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  87. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  88. package/dist/typescript/commonjs/src/runtime/native/api.d.ts +13 -1
  89. package/dist/typescript/commonjs/src/runtime/native/api.d.ts.map +1 -1
  90. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts +0 -2
  91. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts.map +1 -1
  92. package/dist/typescript/commonjs/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  93. package/dist/typescript/commonjs/src/runtime/native/styles/line-height.d.ts +3 -0
  94. package/dist/typescript/commonjs/src/runtime/native/styles/line-height.d.ts.map +1 -0
  95. package/dist/typescript/commonjs/src/runtime/native/styles/resolve.d.ts.map +1 -1
  96. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  97. package/dist/typescript/commonjs/src/runtime/native/styles/units.d.ts.map +1 -1
  98. package/dist/typescript/commonjs/src/runtime/web/api.d.ts +8 -2
  99. package/dist/typescript/commonjs/src/runtime/web/api.d.ts.map +1 -1
  100. package/dist/typescript/module/src/babel/index.d.ts +3 -0
  101. package/dist/typescript/module/src/babel/index.d.ts.map +1 -1
  102. package/dist/typescript/module/src/compiler/atRules.d.ts +1 -1
  103. package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
  104. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  105. package/dist/typescript/module/src/compiler/compiler.types.d.ts +0 -5
  106. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  107. package/dist/typescript/module/src/compiler/declarations.d.ts +15 -4
  108. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  109. package/dist/typescript/module/src/compiler/selector-builder.d.ts +1 -1
  110. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -1
  111. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  112. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  113. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  114. package/dist/typescript/module/src/runtime/native/api.d.ts +13 -1
  115. package/dist/typescript/module/src/runtime/native/api.d.ts.map +1 -1
  116. package/dist/typescript/module/src/runtime/native/reactivity.d.ts +0 -2
  117. package/dist/typescript/module/src/runtime/native/reactivity.d.ts.map +1 -1
  118. package/dist/typescript/module/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  119. package/dist/typescript/module/src/runtime/native/styles/line-height.d.ts +3 -0
  120. package/dist/typescript/module/src/runtime/native/styles/line-height.d.ts.map +1 -0
  121. package/dist/typescript/module/src/runtime/native/styles/resolve.d.ts.map +1 -1
  122. package/dist/typescript/module/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  123. package/dist/typescript/module/src/runtime/native/styles/units.d.ts.map +1 -1
  124. package/dist/typescript/module/src/runtime/web/api.d.ts +8 -2
  125. package/dist/typescript/module/src/runtime/web/api.d.ts.map +1 -1
  126. package/package.json +11 -13
  127. package/src/babel/index.ts +2 -2
  128. package/src/compiler/atRules.ts +4 -26
  129. package/src/compiler/compiler.ts +51 -26
  130. package/src/compiler/compiler.types.ts +0 -5
  131. package/src/compiler/declarations.ts +159 -49
  132. package/src/compiler/selector-builder.ts +7 -5
  133. package/src/compiler/stylesheet.ts +6 -9
  134. package/src/jest/index.ts +1 -2
  135. package/src/metro/index.ts +12 -11
  136. package/src/runtime/native/{api.ts → api.tsx} +31 -4
  137. package/src/runtime/native/reactivity.ts +0 -4
  138. package/src/runtime/native/styles/calculate-props.ts +4 -0
  139. package/src/runtime/native/styles/line-height.ts +25 -0
  140. package/src/runtime/native/styles/resolve.ts +2 -0
  141. package/src/runtime/native/styles/shorthands/box-shadow.ts +24 -18
  142. package/src/runtime/native/styles/units.ts +13 -8
  143. package/src/runtime/native/styles/variables.ts +1 -1
  144. package/src/runtime/web/{api.ts → api.tsx} +28 -2
  145. package/src/style-collection/root.ts +2 -0
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
3
7
  /* eslint-disable */
4
- module.exports = function () {
8
+ function _default() {
5
9
  return {
6
10
  plugins: [require("./import-plugin").default, "react-native-worklets/plugin"]
7
11
  };
8
- };
12
+ }
9
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["module","exports","plugins","require","default"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":";;AAAA;AACAA,MAAM,CAACC,OAAO,GAAG,YAAY;EAC3B,OAAO;IACLC,OAAO,EAAE,CACPC,OAAO,CAAC,iBAAiB,CAAC,CAACC,OAAO,EAClC,8BAA8B;EAElC,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_default","plugins","require","default"],"sourceRoot":"../../../src","sources":["babel/index.ts"],"mappings":";;;;;;AAAA;AACe,SAAAA,SAAA,EAAY;EACzB,OAAO;IACLC,OAAO,EAAE,CACPC,OAAO,CAAC,iBAAiB,CAAC,CAACC,OAAO,EAClC,8BAA8B;EAElC,CAAC;AACH","ignoreList":[]}
@@ -11,34 +11,12 @@ var _splitByDelimiter = require("./split-by-delimiter.js");
11
11
  * @react-native *
12
12
  ***********************************************/
13
13
 
14
- function maybeMutateReactNativeOptions(rule, builder) {
14
+ function maybeMutateReactNativeOptions(rule, _builder) {
15
15
  if (rule.type !== "custom" || rule.value?.name !== "react-native") {
16
16
  return;
17
17
  }
18
- const {
19
- declarations
20
- } = rule.value.body.value;
21
- if (!declarations) return;
22
- for (const declaration of declarations) {
23
- if (declaration.property !== "custom") continue;
24
- switch (declaration.value.name) {
25
- case "preserve-variables":
26
- {
27
- declaration.value.value.forEach(token => {
28
- if (token.type !== "dashed-ident") {
29
- return;
30
- }
31
- if (token.value !== "true" && token.value !== "false") {
32
- return;
33
- }
34
- builder.setOptions("preserveVariables", token.value === "true");
35
- });
36
- break;
37
- }
38
- default:
39
- break;
40
- }
41
- }
18
+
19
+ // TODO: Add inline options
42
20
  }
43
21
 
44
22
  /***********************************************
@@ -57,7 +35,9 @@ function parsePropAtRule(rules) {
57
35
  "stroke-width": ["strokeWidth"],
58
36
  "-webkit-line-clamp": ["numberOfLines"],
59
37
  "-rn-ripple-color": ["android_ripple", "color"],
60
- "-rn-ripple-style": ["android_ripple", "borderless"]
38
+ "-rn-ripple-style": ["android_ripple", "borderless"],
39
+ "-rn-ripple-radius": ["android_ripple", "radius"],
40
+ "-rn-ripple-layer": ["android_ripple", "foreground"]
61
41
  };
62
42
  if (!rules) return mapping;
63
43
  for (const rule of rules) {
@@ -1 +1 @@
1
- {"version":3,"names":["_selectors","require","_splitByDelimiter","maybeMutateReactNativeOptions","rule","builder","type","value","name","declarations","body","declaration","property","forEach","token","setOptions","isPropAtRule","parsePropAtRule","rules","mapping","prelude","length","filter","item","propAtRuleBlock","block","blocks","blockRules","splitByDelimiter","from","to","fromToken","toRNProperty","flatMap","index"],"sourceRoot":"../../../src","sources":["compiler/atRules.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_selectors","require","_splitByDelimiter","maybeMutateReactNativeOptions","rule","_builder","type","value","name","isPropAtRule","parsePropAtRule","rules","mapping","prelude","length","filter","item","propAtRuleBlock","block","blocks","blockRules","splitByDelimiter","token","from","to","fromToken","toRNProperty","flatMap","index"],"sourceRoot":"../../../src","sources":["compiler/atRules.ts"],"mappings":"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","ignoreList":[]}
@@ -41,7 +41,46 @@ function compile(code, options = {}) {
41
41
  }
42
42
  }
43
43
  const builder = new _stylesheet.StylesheetBuilder(options);
44
- logger(`Start lightningcss`);
44
+ logger(`Lightningcss first pass`);
45
+
46
+ /**
47
+ * Use the lightningcss library to traverse the CSS AST and extract style declarations and animations
48
+ *
49
+ * devongovett on Aug 20, 2023
50
+ * > calc simplification happens during the initial parse phase, which is before custom visitors run. Currently there is not an additional simplification pass done after transforms, resulting in the output you see here.
51
+ * https://github.com/parcel-bundler/lightningcss/issues/554#issuecomment-1685143494
52
+ *
53
+ * Due to the above issue, we run lightningcss twice
54
+ */
55
+ const {
56
+ code: firstPass
57
+ } = (0, _lightningcss.transform)({
58
+ code: typeof code === "string" ? new TextEncoder().encode(code) : code,
59
+ include: _lightningcss.Features.DoublePositionGradients | _lightningcss.Features.ColorFunction,
60
+ exclude: _lightningcss.Features.VendorPrefixes,
61
+ visitor: {
62
+ Length(length) {
63
+ if (length.unit !== "rem" || options.inlineRem === false) {
64
+ return length;
65
+ }
66
+ return {
67
+ unit: "px",
68
+ value: (0, _declarations.round)(length.value * (options.inlineRem ?? 14))
69
+ };
70
+ }
71
+ },
72
+ filename: options.filename ?? "style.css",
73
+ projectRoot: options.projectRoot ?? process.cwd()
74
+ });
75
+ if (isLoggerEnabled) {
76
+ const MAX_LOG_SIZE = 100 * 1024; // 100KB
77
+ if (firstPass.length <= MAX_LOG_SIZE) {
78
+ logger(firstPass.toString());
79
+ } else {
80
+ logger(`firstPass buffer too large to log in full (${firstPass.length} bytes). Preview: ` + firstPass.subarray(0, 1024).toString() + "...");
81
+ }
82
+ }
83
+ logger(`Lightningcss second pass`);
45
84
  const customAtRules = {
46
85
  "react-native": {
47
86
  body: "declaration-list"
@@ -50,6 +89,7 @@ function compile(code, options = {}) {
50
89
  const visitor = {
51
90
  Rule(rule) {
52
91
  (0, _atRules.maybeMutateReactNativeOptions)(rule, builder);
92
+ return rule;
53
93
  },
54
94
  StyleSheetExit(sheet) {
55
95
  if (isLoggerEnabled) {
@@ -66,31 +106,11 @@ function compile(code, options = {}) {
66
106
  // We have processed this rule, so now delete it from the AST
67
107
  }
68
108
  logger(`Exiting lightningcss`);
109
+ return sheet;
69
110
  }
70
111
  };
71
- if (options.stripUnusedVariables) {
72
- const onVarUsage = token => {
73
- if (token.type === "function") {
74
- token.value.arguments.forEach(token => onVarUsage(token));
75
- } else if (token.type === "var") {
76
- builder.varUsage.add(token.value.name.ident);
77
- if (token.value.fallback) {
78
- const fallbackValues = token.value.fallback;
79
- fallbackValues.forEach(varObj => onVarUsage(varObj));
80
- }
81
- }
82
- };
83
- visitor.Declaration = decl => {
84
- if (decl.property === "unparsed" || decl.property === "custom") {
85
- decl.value.value.forEach(token => onVarUsage(token));
86
- }
87
- return decl;
88
- };
89
- }
90
-
91
- // Use the lightningcss library to traverse the CSS AST and extract style declarations and animations
92
112
  (0, _lightningcss.transform)({
93
- code: typeof code === "string" ? new TextEncoder().encode(code) : code,
113
+ code: firstPass,
94
114
  visitor,
95
115
  filename: options.filename ?? "style.css",
96
116
  projectRoot: options.projectRoot ?? process.cwd()
@@ -1 +1 @@
1
- {"version":3,"names":["_nodeUtil","require","_debug","_lightningcss","_atRules","_containerQuery","_declarations","_keyframes","_mediaQuery","_stylesheet","_supports","defaultLogger","debug","compile","code","options","logger","isLoggerEnabled","enabled","Boolean","features","Object","assign","selectorPrefix","startsWith","slice","JSON","stringify","process","env","NODE_ENV","toString","builder","StylesheetBuilder","customAtRules","body","visitor","Rule","rule","maybeMutateReactNativeOptions","StyleSheetExit","sheet","rules","length","inspect","depth","colors","compact","extractRule","stripUnusedVariables","onVarUsage","token","type","value","arguments","forEach","varUsage","add","name","ident","fallback","fallbackValues","varObj","Declaration","decl","property","lightningcss","TextEncoder","encode","filename","projectRoot","cwd","stylesheet","getNativeStyleSheet","warnings","getWarnings","extractKeyFrames","extractContainer","extractMedia","declarationBlock","declarations","newNestedRule","declaration","parseDeclaration","applyRuleToSelectors","importantDeclarations","important","mapping","parsePropAtRule","fork","selectors","newRule","nestedRule","layerRule","supportsConditionValid","condition","mediaRule","media","mediaQuery","query","mediaQueries","mediaType","qualifier","push","m","parseMediaQuery","containerRule","parseContainerCondition","n","addContainerQuery"],"sourceRoot":"../../../src","sources":["compiler/compiler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nodeUtil","require","_debug","_lightningcss","_atRules","_containerQuery","_declarations","_keyframes","_mediaQuery","_stylesheet","_supports","defaultLogger","debug","compile","code","options","logger","isLoggerEnabled","enabled","Boolean","features","Object","assign","selectorPrefix","startsWith","slice","JSON","stringify","process","env","NODE_ENV","toString","builder","StylesheetBuilder","firstPass","lightningcss","TextEncoder","encode","include","Features","DoublePositionGradients","ColorFunction","exclude","VendorPrefixes","visitor","Length","length","unit","inlineRem","value","round","filename","projectRoot","cwd","MAX_LOG_SIZE","subarray","customAtRules","body","Rule","rule","maybeMutateReactNativeOptions","StyleSheetExit","sheet","rules","inspect","depth","colors","compact","extractRule","stylesheet","getNativeStyleSheet","warnings","getWarnings","type","extractKeyFrames","extractContainer","extractMedia","declarationBlock","declarations","newNestedRule","declaration","parseDeclaration","applyRuleToSelectors","importantDeclarations","important","mapping","parsePropAtRule","fork","selectors","newRule","nestedRule","layerRule","supportsConditionValid","condition","mediaRule","media","mediaQuery","query","mediaQueries","mediaType","qualifier","push","m","parseMediaQuery","containerRule","parseContainerCondition","name","n","addContainerQuery"],"sourceRoot":"../../../src","sources":["compiler/compiler.ts"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ exports.parseAlignItems = parseAlignItems;
13
13
  exports.parseAlignSelf = parseAlignSelf;
14
14
  exports.parseAngle = parseAngle;
15
15
  exports.parseAspectRatio = parseAspectRatio;
16
+ exports.parseBackfaceVisibility = parseBackfaceVisibility;
16
17
  exports.parseBorderBlockWidth = parseBorderBlockWidth;
17
18
  exports.parseBorderInlineStyle = parseBorderInlineStyle;
18
19
  exports.parseBorderInlineWidth = parseBorderInlineWidth;
@@ -21,6 +22,7 @@ exports.parseBorderSideWidthDeclaration = parseBorderSideWidthDeclaration;
21
22
  exports.parseBorderStyle = parseBorderStyle;
22
23
  exports.parseBorderStyleDeclaration = parseBorderStyleDeclaration;
23
24
  exports.parseBoxShadow = parseBoxShadow;
25
+ exports.parseBoxSizing = parseBoxSizing;
24
26
  exports.parseCalcArguments = parseCalcArguments;
25
27
  exports.parseCalcFn = parseCalcFn;
26
28
  exports.parseColor = parseColor;
@@ -30,6 +32,7 @@ exports.parseCustomDeclaration = parseCustomDeclaration;
30
32
  exports.parseDeclaration = parseDeclaration;
31
33
  exports.parseDimension = parseDimension;
32
34
  exports.parseDimensionPercentageFor_LengthValue = parseDimensionPercentageFor_LengthValue;
35
+ exports.parseDirection = parseDirection;
33
36
  exports.parseDisplay = parseDisplay;
34
37
  exports.parseEnv = parseEnv;
35
38
  exports.parseFontColorDeclaration = parseFontColorDeclaration;
@@ -46,6 +49,7 @@ exports.parseJustifyContent = parseJustifyContent;
46
49
  exports.parseLength = parseLength;
47
50
  exports.parseLengthDeclaration = parseLengthDeclaration;
48
51
  exports.parseLengthOrCoercePercentageToRuntime = parseLengthOrCoercePercentageToRuntime;
52
+ exports.parseLengthPercentageDeclaration = parseLengthPercentageDeclaration;
49
53
  exports.parseLengthPercentageOrAuto = parseLengthPercentageOrAuto;
50
54
  exports.parseLengthPercentageOrAutoDeclaration = parseLengthPercentageOrAutoDeclaration;
51
55
  exports.parseLineHeight = parseLineHeight;
@@ -59,6 +63,7 @@ exports.parseSize = parseSize;
59
63
  exports.parseSize2DDimensionPercentage = parseSize2DDimensionPercentage;
60
64
  exports.parseSize2DDimensionPercentageDeclaration = parseSize2DDimensionPercentageDeclaration;
61
65
  exports.parseSizeDeclaration = parseSizeDeclaration;
66
+ exports.parseSizeWithAutoDeclaration = parseSizeWithAutoDeclaration;
62
67
  exports.parseTextAlign = parseTextAlign;
63
68
  exports.parseTextDecorationLine = parseTextDecorationLine;
64
69
  exports.parseTextDecorationLineDeclaration = parseTextDecorationLineDeclaration;
@@ -78,15 +83,13 @@ var _colorjs = _interopRequireDefault(require("colorjs.io"));
78
83
  var _keyframes = require("./keyframes.js");
79
84
  var _selectors = require("./selectors.js");
80
85
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
81
- // cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto
86
+ // cSpell:ignore rcap,vmin,svmin,lvmin,dvmin,cqmin,vmax,svmax,lvmax,dvmax,cqmax,currentcolor,oklab,oklch,prophoto,squircle,oldstyle,nums
82
87
 
83
88
  const CommaSeparator = Symbol("CommaSeparator");
84
89
  const propertyRename = {
85
90
  "background-image": "experimental_backgroundImage"
86
91
  };
87
-
88
- // TODO: We need a better way to handle this
89
- const unparsedRuntimeParsing = new Set(["animation", "border", "box-shadow", "text-shadow", "transform", "scale", "rotate", "translate"]);
92
+ const unparsedRuntimeParsing = new Set(["animation", "border", "box-shadow", "line-height", "rotate", "scale", "text-shadow", "transform", "translate"]);
90
93
  const parsers = {
91
94
  "align-content": parseAlignContent,
92
95
  "align-items": parseAlignItems,
@@ -101,6 +104,7 @@ const parsers = {
101
104
  "animation-play-state": addAnimationValue,
102
105
  "animation-timing-function": addAnimationValue,
103
106
  "aspect-ratio": parseAspectRatio,
107
+ "backface-visibility": parseBackfaceVisibility,
104
108
  "background-color": parseColorDeclaration,
105
109
  "background-image": parseBackgroundImage,
106
110
  "block-size": parseSizeDeclaration,
@@ -156,8 +160,9 @@ const parsers = {
156
160
  "border-top-style": parseBorderStyleDeclaration,
157
161
  "border-top-width": parseBorderSideWidthDeclaration,
158
162
  "border-width": parseBorderWidth,
159
- "bottom": parseSizeDeclaration,
163
+ "bottom": parseSizeWithAutoDeclaration,
160
164
  "box-shadow": parseBoxShadow,
165
+ "box-sizing": parseBoxSizing,
161
166
  "caret-color": parseColorOrAutoDeclaration,
162
167
  "color": parseFontColorDeclaration,
163
168
  "column-gap": parseGap,
@@ -165,10 +170,11 @@ const parsers = {
165
170
  "container-name": parseContainerName,
166
171
  "container-type": parseContainerType,
167
172
  "display": parseDisplay,
173
+ "direction": parseDirection,
168
174
  "fill": parseSVGPaint,
169
175
  "filter": parseFilter,
170
176
  "flex": parseFlex,
171
- "flex-basis": parseLengthPercentageOrAutoDeclaration,
177
+ "flex-basis": parseLengthPercentageDeclaration,
172
178
  "flex-direction": ({
173
179
  value
174
180
  }) => value,
@@ -189,30 +195,30 @@ const parsers = {
189
195
  "font-variant-caps": parseFontVariantCapsDeclaration,
190
196
  "font-weight": parseFontWeightDeclaration,
191
197
  "gap": parseGap,
192
- "height": parseSizeDeclaration,
193
- "inline-size": parseSizeDeclaration,
198
+ "height": parseSizeWithAutoDeclaration,
199
+ "inline-size": parseSizeWithAutoDeclaration,
194
200
  "inset": parseInset,
195
201
  "inset-block": parseInsetBlock,
196
- "inset-block-end": parseLengthPercentageOrAutoDeclaration,
197
- "inset-block-start": parseLengthPercentageOrAutoDeclaration,
202
+ "inset-block-end": parseLengthPercentageDeclaration,
203
+ "inset-block-start": parseLengthPercentageDeclaration,
198
204
  "inset-inline": parseInsetInline,
199
- "inset-inline-end": parseLengthPercentageOrAutoDeclaration,
200
- "inset-inline-start": parseLengthPercentageOrAutoDeclaration,
205
+ "inset-inline-end": parseLengthPercentageDeclaration,
206
+ "inset-inline-start": parseLengthPercentageDeclaration,
201
207
  "justify-content": parseJustifyContent,
202
- "left": parseSizeDeclaration,
208
+ "left": parseSizeWithAutoDeclaration,
203
209
  "letter-spacing": parseLetterSpacing,
204
210
  "line-height": parseLineHeightDeclaration,
205
211
  "margin": parseMargin,
206
212
  "margin-block": parseMarginBlock,
207
213
  "margin-block-end": parseLengthPercentageOrAutoDeclaration,
208
214
  "margin-block-start": parseLengthPercentageOrAutoDeclaration,
209
- "margin-bottom": parseSizeDeclaration,
215
+ "margin-bottom": parseSizeWithAutoDeclaration,
210
216
  "margin-inline": parseMarginInline,
211
217
  "margin-inline-end": parseLengthPercentageOrAutoDeclaration,
212
218
  "margin-inline-start": parseLengthPercentageOrAutoDeclaration,
213
- "margin-left": parseSizeDeclaration,
214
- "margin-right": parseSizeDeclaration,
215
- "margin-top": parseSizeDeclaration,
219
+ "margin-left": parseSizeWithAutoDeclaration,
220
+ "margin-right": parseSizeWithAutoDeclaration,
221
+ "margin-top": parseSizeWithAutoDeclaration,
216
222
  "max-block-size": parseSizeDeclaration,
217
223
  "max-height": parseSizeDeclaration,
218
224
  "max-inline-size": parseSizeDeclaration,
@@ -223,21 +229,24 @@ const parsers = {
223
229
  "min-width": parseSizeDeclaration,
224
230
  "opacity": ({
225
231
  value
226
- }) => value,
232
+ }) => round(value),
233
+ "outline-color": parseColorDeclaration,
234
+ "outline-style": parseOutlineStyle,
235
+ "outline-width": parseBorderSideWidthDeclaration,
227
236
  "overflow": parseOverflow,
228
237
  "padding": parsePadding,
229
238
  "padding-block": parsePaddingBlock,
230
- "padding-block-end": parseLengthPercentageOrAutoDeclaration,
231
- "padding-block-start": parseLengthPercentageOrAutoDeclaration,
239
+ "padding-block-end": parseLengthPercentageDeclaration,
240
+ "padding-block-start": parseLengthPercentageDeclaration,
232
241
  "padding-bottom": parseSizeDeclaration,
233
242
  "padding-inline": parsePaddingInline,
234
- "padding-inline-end": parseLengthPercentageOrAutoDeclaration,
235
- "padding-inline-start": parseLengthPercentageOrAutoDeclaration,
243
+ "padding-inline-end": parseLengthPercentageDeclaration,
244
+ "padding-inline-start": parseLengthPercentageDeclaration,
236
245
  "padding-left": parseSizeDeclaration,
237
246
  "padding-right": parseSizeDeclaration,
238
247
  "padding-top": parseSizeDeclaration,
239
248
  "position": parsePosition,
240
- "right": parseSizeDeclaration,
249
+ "right": parseSizeWithAutoDeclaration,
241
250
  "rotate": parseRotate,
242
251
  "row-gap": parseGap,
243
252
  "scale": parseScale,
@@ -252,7 +261,7 @@ const parsers = {
252
261
  "text-transform": ({
253
262
  value
254
263
  }) => value.case,
255
- "top": parseSizeDeclaration,
264
+ "top": parseSizeWithAutoDeclaration,
256
265
  "transform": parseTransform,
257
266
  "transition": addTransitionValue,
258
267
  "transition-delay": addTransitionValue,
@@ -263,7 +272,7 @@ const parsers = {
263
272
  "user-select": parseUserSelect,
264
273
  "vertical-align": parseVerticalAlign,
265
274
  "visibility": parseVisibility,
266
- "width": parseSizeDeclaration,
275
+ "width": parseSizeWithAutoDeclaration,
267
276
  "z-index": parseZIndex
268
277
  };
269
278
 
@@ -468,16 +477,24 @@ function parseMarginBlock({
468
477
  value
469
478
  }, builder) {
470
479
  builder.addShorthand("margin-block", {
471
- "margin-block-start": parseLengthPercentageOrAuto(value.blockStart, builder),
472
- "margin-block-end": parseLengthPercentageOrAuto(value.blockEnd, builder)
480
+ "margin-block-start": parseLengthPercentageOrAuto(value.blockStart, builder, {
481
+ allowAuto: true
482
+ }),
483
+ "margin-block-end": parseLengthPercentageOrAuto(value.blockEnd, builder, {
484
+ allowAuto: true
485
+ })
473
486
  });
474
487
  }
475
488
  function parseMarginInline({
476
489
  value
477
490
  }, builder) {
478
491
  builder.addShorthand("margin-inline", {
479
- "margin-inline-start": parseLengthPercentageOrAuto(value.inlineStart, builder),
480
- "margin-inline-end": parseLengthPercentageOrAuto(value.inlineEnd, builder)
492
+ "margin-inline-start": parseLengthPercentageOrAuto(value.inlineStart, builder, {
493
+ allowAuto: true
494
+ }),
495
+ "margin-inline-end": parseLengthPercentageOrAuto(value.inlineEnd, builder, {
496
+ allowAuto: true
497
+ })
481
498
  });
482
499
  }
483
500
  function parsePadding({
@@ -679,13 +696,24 @@ function parseCustomDeclaration(declaration, builder) {
679
696
  if (property === "-webkit-line-clamp") {
680
697
  builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property));
681
698
  } else if (property === "-rn-ripple-style") {
682
- builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property) === "borderless");
699
+ if (parseUnparsed(declaration.value.value, builder, property) === "borderless") {
700
+ builder.addDescriptor(property, true);
701
+ }
702
+ } else if (property === "-rn-ripple-layer") {
703
+ if (parseUnparsed(declaration.value.value, builder, property) === "foreground") {
704
+ builder.addDescriptor(property, true);
705
+ }
683
706
  } else if (property === "object-fit") {
684
707
  // https://github.com/parcel-bundler/lightningcss/issues/1046
685
708
  parseObjectFit(declaration.value, builder);
686
709
  } else if (property === "object-position") {
687
710
  // https://github.com/parcel-bundler/lightningcss/issues/1047
688
711
  parseObjectPosition(declaration.value, builder);
712
+ } else if (property === "outline-offset") {
713
+ // https://github.com/parcel-bundler/lightningcss/issues/1048
714
+ builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property));
715
+ } else if (property === "corner-shape") {
716
+ parseCornerShape(declaration.value, builder);
689
717
  } else if (validProperties.has(property) || property.startsWith("--") || property.startsWith("-rn-")) {
690
718
  builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property));
691
719
  } else {
@@ -948,9 +976,9 @@ function parseLength(length, builder) {
948
976
  case "px":
949
977
  {
950
978
  if (length.value === Infinity) {
951
- return 9999;
979
+ return Number.MAX_SAFE_INTEGER;
952
980
  } else if (length.value === -Infinity) {
953
- return -9999;
981
+ return Number.MIN_SAFE_INTEGER;
954
982
  } else {
955
983
  // Normalize large values to safe integers, e.g. `calc(infinity * 1px)`
956
984
  const value = Math.max(Math.min(length.value, Number.MAX_SAFE_INTEGER), Number.MIN_SAFE_INTEGER);
@@ -1058,6 +1086,11 @@ function parseAngle(angle, builder) {
1058
1086
  function parseSizeDeclaration(declaration, builder) {
1059
1087
  return parseSize(declaration.value, builder);
1060
1088
  }
1089
+ function parseSizeWithAutoDeclaration(declaration, builder) {
1090
+ return parseSize(declaration.value, builder, {
1091
+ allowAuto: true
1092
+ });
1093
+ }
1061
1094
  function parsePointerEvents({
1062
1095
  value
1063
1096
  }, builder) {
@@ -1273,9 +1306,14 @@ function parseColor(cssColor, builder) {
1273
1306
  });
1274
1307
  }
1275
1308
  }
1276
- function parseLengthPercentageOrAutoDeclaration(value, builder) {
1309
+ function parseLengthPercentageDeclaration(value, builder) {
1277
1310
  return parseLengthPercentageOrAuto(value.value, builder);
1278
1311
  }
1312
+ function parseLengthPercentageOrAutoDeclaration(value, builder) {
1313
+ return parseLengthPercentageOrAuto(value.value, builder, {
1314
+ allowAuto: true
1315
+ });
1316
+ }
1279
1317
  function parseLengthPercentageOrAuto(lengthPercentageOrAuto, builder, {
1280
1318
  allowAuto = false
1281
1319
  } = {}) {
@@ -1321,7 +1359,7 @@ function parseJustifyContent(declaration, builder) {
1321
1359
  return value;
1322
1360
  }
1323
1361
  function parseAlignContent(declaration, builder) {
1324
- const allowed = new Set(["flex-start", "flex-end", "center", "stretch", "space-between", "space-around"]);
1362
+ const allowed = new Set(["flex-start", "flex-end", "center", "stretch", "space-between", "space-around", "space-evenly"]);
1325
1363
  let value;
1326
1364
  switch (declaration.value.type) {
1327
1365
  case "normal":
@@ -1465,7 +1503,7 @@ function parseTextDecorationLine(value, builder) {
1465
1503
  function parsePosition({
1466
1504
  value
1467
1505
  }, builder) {
1468
- if (value.type === "absolute" || value.type === "relative") {
1506
+ if (value.type === "absolute" || value.type === "relative" || value.type === "static") {
1469
1507
  return value.type;
1470
1508
  }
1471
1509
  builder.addWarning("value", value.type);
@@ -1549,7 +1587,7 @@ function parseFontFamily({
1549
1587
  return value[0];
1550
1588
  }
1551
1589
  function parseLineHeightDeclaration(declaration, builder) {
1552
- return parseLineHeight(declaration.value, builder);
1590
+ builder.addDescriptor("line-height", [{}, "lineHeight", [parseLineHeight(declaration.value, builder)], 1]);
1553
1591
  }
1554
1592
  function parseLineHeight(value, builder) {
1555
1593
  switch (value.type) {
@@ -1675,11 +1713,18 @@ function parseBoxShadow({
1675
1713
  builder.addDescriptor(`boxShadow.[${index}].inset`, shadow.inset ? true : undefined);
1676
1714
  }
1677
1715
  }
1716
+ function parseBoxSizing(declaration, builder) {
1717
+ if (["border-box", "content-box"].includes(declaration.value)) {
1718
+ return declaration.value;
1719
+ }
1720
+ builder.addWarning("value", declaration.value);
1721
+ return undefined;
1722
+ }
1678
1723
  function parseDisplay({
1679
1724
  value
1680
1725
  }, builder) {
1681
1726
  if (value.type === "keyword") {
1682
- if (value.value === "none") {
1727
+ if (value.value === "none" || value.value === "contents") {
1683
1728
  return value.value;
1684
1729
  } else {
1685
1730
  builder.addWarning("value", value.value);
@@ -1730,6 +1775,14 @@ function parseDisplay({
1730
1775
  }
1731
1776
  }
1732
1777
  }
1778
+ function parseDirection(declaration, builder) {
1779
+ if (["ltr", "rtl"].includes(declaration.value)) {
1780
+ builder.addDescriptor("direction", declaration.value);
1781
+ builder.addDescriptor("--__rn-css-direction", declaration.value);
1782
+ }
1783
+ builder.addWarning("value", declaration.value);
1784
+ return;
1785
+ }
1733
1786
  function parseAspectRatio({
1734
1787
  value
1735
1788
  }) {
@@ -1746,6 +1799,16 @@ function parseAspectRatio({
1746
1799
  }
1747
1800
  }
1748
1801
  }
1802
+ function parseBackfaceVisibility({
1803
+ value
1804
+ }, builder) {
1805
+ if (["visible", "hidden"].includes(value)) {
1806
+ return value;
1807
+ } else {
1808
+ builder.addWarning("value", value);
1809
+ return;
1810
+ }
1811
+ }
1749
1812
  function parseDimension({
1750
1813
  unit,
1751
1814
  value
@@ -1982,7 +2045,7 @@ function equal(a, b) {
1982
2045
  return false;
1983
2046
  }
1984
2047
  function parseTime(time) {
1985
- return time.type === "milliseconds" ? time.value : time.value * 1000;
2048
+ return round(time.type === "milliseconds" ? time.value : time.value * 1000);
1986
2049
  }
1987
2050
  function parseSize2DDimensionPercentageDeclaration(declaration, builder) {
1988
2051
  return parseSize2DDimensionPercentage(declaration.value, builder);
@@ -2155,6 +2218,14 @@ function parseObjectPosition(declaration, builder) {
2155
2218
  });
2156
2219
  builder.addDescriptor("object-position", [{}, "join", [parseUnparsed(declaration.value, builder, "object-position"), " "]]);
2157
2220
  }
2221
+ function parseCornerShape(declaration, builder) {
2222
+ const shape = parseUnparsed(declaration.value, builder, "corner-shape");
2223
+ if (shape === "round") {
2224
+ builder.addDescriptor("borderCurve", "circular");
2225
+ } else if (shape === "squircle") {
2226
+ builder.addDescriptor("borderCurve", "continuous");
2227
+ }
2228
+ }
2158
2229
  function parseVisibility(declaration, builder) {
2159
2230
  if (declaration.value === "visible") {
2160
2231
  builder.addDescriptor("opacity", 1);
@@ -2164,6 +2235,14 @@ function parseVisibility(declaration, builder) {
2164
2235
  builder.addWarning("value", declaration.value);
2165
2236
  }
2166
2237
  }
2238
+ function parseOutlineStyle(declaration, builder) {
2239
+ const allowed = ["solid", "dotted", "dashed"];
2240
+ if (declaration.value.type !== "auto" && allowed.includes(declaration.value.value)) {
2241
+ builder.addDescriptor("outlineStyle", declaration.value.value);
2242
+ } else {
2243
+ builder.addWarning("value", declaration.value.type === "auto" ? "auto" : declaration.value.value);
2244
+ }
2245
+ }
2167
2246
  function parseFilter(declaration, builder) {
2168
2247
  if (declaration.value.type === "none") {
2169
2248
  return "unset";