@stylexjs/babel-plugin 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +134 -122
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -298,21 +298,21 @@ const checkRuntimeInjection = unionOf3(boolean(), string(), object({
298
298
  }));
299
299
  const DEFAULT_INJECT_PATH = '@stylexjs/stylex/lib/stylex-inject';
300
300
  class StateManager {
301
- importPaths = new Set();
302
- stylexImport = new Set();
303
- stylexPropsImport = new Set();
304
- stylexAttrsImport = new Set();
305
- stylexCreateImport = new Set();
306
- stylexIncludeImport = new Set();
307
- stylexFirstThatWorksImport = new Set();
308
- stylexKeyframesImport = new Set();
309
- stylexDefineVarsImport = new Set();
310
- stylexCreateThemeImport = new Set();
311
- stylexTypesImport = new Set();
301
+ importPaths = (() => new Set())();
302
+ stylexImport = (() => new Set())();
303
+ stylexPropsImport = (() => new Set())();
304
+ stylexAttrsImport = (() => new Set())();
305
+ stylexCreateImport = (() => new Set())();
306
+ stylexIncludeImport = (() => new Set())();
307
+ stylexFirstThatWorksImport = (() => new Set())();
308
+ stylexKeyframesImport = (() => new Set())();
309
+ stylexDefineVarsImport = (() => new Set())();
310
+ stylexCreateThemeImport = (() => new Set())();
311
+ stylexTypesImport = (() => new Set())();
312
312
  injectImportInserted = null;
313
- styleMap = new Map();
314
- styleVars = new Map();
315
- styleVarsToKeep = new Set();
313
+ styleMap = (() => new Map())();
314
+ styleVars = (() => new Map())();
315
+ styleVarsToKeep = (() => new Set())();
316
316
  inStyleXCreate = false;
317
317
  constructor(state) {
318
318
  this._state = state;
@@ -794,7 +794,7 @@ stylexInclude$2.IncludedStyles = void 0;
794
794
  stylexInclude$2.default = stylexInclude$1;
795
795
  var messages$3 = _interopRequireWildcard$4(messages$4);
796
796
  function _getRequireWildcardCache$4(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache$4 = function (e) { return e ? t : r; })(e); }
797
- function _interopRequireWildcard$4(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$4(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
797
+ function _interopRequireWildcard$4(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$4(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
798
798
  let number = 0;
799
799
  function uuid() {
800
800
  return `__included_${++number}__`;
@@ -1129,7 +1129,7 @@ Object.defineProperty(splitCssValue, "__esModule", {
1129
1129
  });
1130
1130
  splitCssValue.default = splitValue;
1131
1131
  var _postcssValueParser$6 = _interopRequireDefault$h(require$$0);
1132
- function _interopRequireDefault$h(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1132
+ function _interopRequireDefault$h(e) { return e && e.__esModule ? e : { default: e }; }
1133
1133
  function printNode(node) {
1134
1134
  switch (node.type) {
1135
1135
  case 'word':
@@ -1161,7 +1161,7 @@ Object.defineProperty(legacyExpandShorthands, "__esModule", {
1161
1161
  });
1162
1162
  legacyExpandShorthands.default = void 0;
1163
1163
  var _splitCssValue = _interopRequireDefault$g(splitCssValue);
1164
- function _interopRequireDefault$g(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1164
+ function _interopRequireDefault$g(e) { return e && e.__esModule ? e : { default: e }; }
1165
1165
  const shorthands$1 = {
1166
1166
  border: rawValue => {
1167
1167
  return [['borderTop', rawValue], ['borderEnd', rawValue], ['borderBottom', rawValue], ['borderStart', rawValue]];
@@ -1407,7 +1407,7 @@ preprocessRules.getExpandedKeys = getExpandedKeys;
1407
1407
  var _applicationOrder = _interopRequireDefault$f(applicationOrder);
1408
1408
  var _legacyExpandShorthands = _interopRequireDefault$f(legacyExpandShorthands);
1409
1409
  var _propertySpecificity = _interopRequireDefault$f(propertySpecificity);
1410
- function _interopRequireDefault$f(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1410
+ function _interopRequireDefault$f(e) { return e && e.__esModule ? e : { default: e }; }
1411
1411
  const expansions = {
1412
1412
  'application-order': _applicationOrder.default,
1413
1413
  'property-specificity': _propertySpecificity.default,
@@ -1494,7 +1494,7 @@ Object.defineProperty(fontSizePxToRem, "__esModule", {
1494
1494
  });
1495
1495
  fontSizePxToRem.default = convertFontSizeToRem;
1496
1496
  var _postcssValueParser$5 = _interopRequireDefault$e(require$$0);
1497
- function _interopRequireDefault$e(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1497
+ function _interopRequireDefault$e(e) { return e && e.__esModule ? e : { default: e }; }
1498
1498
  const ROOT_FONT_SIZE = 16;
1499
1499
  function convertFontSizeToRem(ast, key) {
1500
1500
  if (key !== 'fontSize') {
@@ -1519,7 +1519,7 @@ Object.defineProperty(leadingZero, "__esModule", {
1519
1519
  });
1520
1520
  leadingZero.default = normalizeLeadingZero;
1521
1521
  var _postcssValueParser$4 = _interopRequireDefault$d(require$$0);
1522
- function _interopRequireDefault$d(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1522
+ function _interopRequireDefault$d(e) { return e && e.__esModule ? e : { default: e }; }
1523
1523
  function normalizeLeadingZero(ast, _) {
1524
1524
  ast.walk(node => {
1525
1525
  if (node.type !== 'word') {
@@ -1562,7 +1562,7 @@ Object.defineProperty(timings$1, "__esModule", {
1562
1562
  });
1563
1563
  timings$1.default = normalizeTimings;
1564
1564
  var _postcssValueParser$3 = _interopRequireDefault$c(require$$0);
1565
- function _interopRequireDefault$c(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1565
+ function _interopRequireDefault$c(e) { return e && e.__esModule ? e : { default: e }; }
1566
1566
  function normalizeTimings(ast, _) {
1567
1567
  ast.walk(node => {
1568
1568
  if (node.type !== 'word') {
@@ -1639,7 +1639,7 @@ Object.defineProperty(zeroDimensions, "__esModule", {
1639
1639
  });
1640
1640
  zeroDimensions.default = normalizeZeroDimensions;
1641
1641
  var _postcssValueParser$2 = _interopRequireDefault$b(require$$0);
1642
- function _interopRequireDefault$b(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1642
+ function _interopRequireDefault$b(e) { return e && e.__esModule ? e : { default: e }; }
1643
1643
  const angles = ['deg', 'grad', 'turn', 'rad'];
1644
1644
  const timings = ['ms', 's'];
1645
1645
  const fraction = 'fr';
@@ -1683,7 +1683,7 @@ Object.defineProperty(detectUnclosedFns$1, "__esModule", {
1683
1683
  detectUnclosedFns$1.default = detectUnclosedFns;
1684
1684
  var messages$2 = _interopRequireWildcard$3(messages$4);
1685
1685
  function _getRequireWildcardCache$3(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache$3 = function (e) { return e ? t : r; })(e); }
1686
- function _interopRequireWildcard$3(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$3(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
1686
+ function _interopRequireWildcard$3(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$3(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
1687
1687
  function detectUnclosedFns(ast, _) {
1688
1688
  ast.walk(node => {
1689
1689
  if (node.type === 'function' && node.unclosed) {
@@ -1700,7 +1700,7 @@ Object.defineProperty(convertCamelCaseValues, "__esModule", {
1700
1700
  });
1701
1701
  convertCamelCaseValues.default = convertCamelCasedValues;
1702
1702
  var _dashify$2 = _interopRequireDefault$a(dashify$1);
1703
- function _interopRequireDefault$a(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1703
+ function _interopRequireDefault$a(e) { return e && e.__esModule ? e : { default: e }; }
1704
1704
  function convertCamelCasedValues(ast, key) {
1705
1705
  if (key !== 'transitionProperty' && key !== 'willChange') {
1706
1706
  return ast;
@@ -1730,7 +1730,7 @@ var _zeroDimensions = _interopRequireDefault$9(zeroDimensions);
1730
1730
  var _detectUnclosedFns = _interopRequireDefault$9(detectUnclosedFns$1);
1731
1731
  var _postcssValueParser$1 = _interopRequireDefault$9(require$$0);
1732
1732
  var _convertCamelCaseValues = _interopRequireDefault$9(convertCamelCaseValues);
1733
- function _interopRequireDefault$9(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1733
+ function _interopRequireDefault$9(e) { return e && e.__esModule ? e : { default: e }; }
1734
1734
  const normalizers = [_detectUnclosedFns.default, _whitespace.default, _timings.default, _zeroDimensions.default, _leadingZero.default, _quotes.default, _convertCamelCaseValues.default];
1735
1735
  function normalizeValue(value, key, _ref) {
1736
1736
  let {
@@ -1753,7 +1753,7 @@ transformValue$1.default = transformValue;
1753
1753
  var getNumberSuffix_1 = transformValue$1.getNumberSuffix = getNumberSuffix;
1754
1754
  var timeUnits_1 = transformValue$1.timeUnits = lengthUnits_1 = transformValue$1.lengthUnits = void 0;
1755
1755
  var _normalizeValue = _interopRequireDefault$8(normalizeValue$1);
1756
- function _interopRequireDefault$8(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1756
+ function _interopRequireDefault$8(e) { return e && e.__esModule ? e : { default: e }; }
1757
1757
  function transformValue(key, rawValue, options) {
1758
1758
  const value = typeof rawValue === 'number' ? String(Math.round(rawValue * 10000) / 10000) + getNumberSuffix(key) : rawValue;
1759
1759
  if ((key === 'content' || key === 'hyphenateCharacter' || key === 'hyphenate-character') && typeof value === 'string') {
@@ -1768,9 +1768,12 @@ function transformValue(key, rawValue, options) {
1768
1768
  return (0, _normalizeValue.default)(value, key, options);
1769
1769
  }
1770
1770
  function getNumberSuffix(key) {
1771
- if (unitlessNumberProperties.has(key)) {
1771
+ if (unitlessNumberProperties.has(key) || key.startsWith('--')) {
1772
1772
  return '';
1773
1773
  }
1774
+ if (!(key in numberPropertySuffixes)) {
1775
+ return 'px';
1776
+ }
1774
1777
  const suffix = numberPropertySuffixes[key];
1775
1778
  if (suffix == null) {
1776
1779
  return 'px';
@@ -1778,7 +1781,7 @@ function getNumberSuffix(key) {
1778
1781
  return suffix;
1779
1782
  }
1780
1783
  }
1781
- const unitlessNumberProperties = new Set(['WebkitLineClamp', 'animationIterationCount', 'aspectRatio', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'counterSet', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexOrder', 'gridRow', 'gridColumn', 'fontWeight', 'hyphenateLimitChars', 'lineClamp', 'lineHeight', 'maskBorderOutset', 'maskBorderSlice', 'maskBorderWidth', 'opacity', 'order', 'orphans', 'tabSize', 'widows', 'zIndex', 'fillOpacity', 'floodOpacity', 'rotate', 'scale', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'scale', 'mathDepth']);
1784
+ const unitlessNumberProperties = new Set(['WebkitLineClamp', 'animationIterationCount', 'aspectRatio', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'counterSet', 'counterReset', 'columnCount', 'flex', 'flexGrow', 'flexShrink', 'flexOrder', 'gridRow', 'gridRowStart', 'gridRowEnd', 'gridColumn', 'gridColumnStart', 'gridColumnEnd', 'gridArea', 'fontWeight', 'hyphenateLimitChars', 'lineClamp', 'lineHeight', 'maskBorderOutset', 'maskBorderSlice', 'maskBorderWidth', 'opacity', 'order', 'orphans', 'tabSize', 'widows', 'zIndex', 'fillOpacity', 'floodOpacity', 'rotate', 'scale', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'scale', 'mathDepth']);
1782
1785
  const numberPropertySuffixes = {
1783
1786
  animationDelay: 'ms',
1784
1787
  animationDuration: 'ms',
@@ -1787,7 +1790,7 @@ const numberPropertySuffixes = {
1787
1790
  voiceDuration: 'ms'
1788
1791
  };
1789
1792
  timeUnits_1 = transformValue$1.timeUnits = new Set(Object.keys(numberPropertySuffixes));
1790
- lengthUnits_1 = transformValue$1.lengthUnits = new Set(['backgroundPositionX', 'backgroundPositionY', 'blockSize', 'borderBlockEndWidth', 'borderBlockStartWidth', 'borderBlockWidth', 'borderVerticalWidth', 'borderVerticalWidth', 'borderBottomLeftRadius', 'borderBottomRightRadius', 'borderBottomWidth', 'borderEndEndRadius', 'borderEndStartRadius', 'borderImageWidth', 'borderInlineEndWidth', 'borderEndWidth', 'borderInlineStartWidth', 'borderStartWidth', 'borderInlineWidth', 'borderHorizontalWidth', 'borderLeftWidth', 'borderRightWidth', 'borderSpacing', 'borderStartEndRadius', 'borderStartStartRadius', 'borderTopLeftRadius', 'borderTopRightRadius', 'borderTopWidth', 'bottom', 'columnGap', 'columnRuleWidth', 'columnWidth', 'containIntrinsicBlockSize', 'containIntrinsicHeight', 'containIntrinsicInlineSize', 'containIntrinsicWidth', 'flexBasis', 'fontSize', 'fontSmooth', 'height', 'inlineSize', 'insetBlockEnd', 'insetBlockStart', 'insetInlineEnd', 'insetInlineStart', 'left', 'letterSpacing', 'marginBlockEnd', 'marginBlockStart', 'marginBottom', 'marginInlineEnd', 'marginEnd', 'marginInlineStart', 'marginStart', 'marginLeft', 'marginRight', 'marginTop', 'maskBorderOutset', 'maskBorderWidth', 'maxBlockSize', 'maxHeight', 'maxInlineSize', 'maxWidth', 'minBlockSize', 'minHeight', 'minInlineSize', 'minWidth', 'offsetDistance', 'outlineOffset', 'outlineWidth', 'overflowClipMargin', 'paddingBlockEnd', 'paddingBlockStart', 'paddingBottom', 'paddingInlineEnd', 'paddingEnd', 'paddingInlineStart', 'paddingStart', 'paddingLeft', 'paddingRight', 'paddingTop', 'perspective', 'right', 'rowGap', 'scrollMarginBlockEnd', 'scrollMarginBlockStart', 'scrollMarginBottom', 'scrollMarginInlineEnd', 'scrollMarginInlineStart', 'scrollMarginLeft', 'scrollMarginRight', 'scrollMarginTop', 'scrollPaddingBlockEnd', 'scrollPaddingBlockStart', 'scrollPaddingBottom', 'scrollPaddingInlineEnd', 'scrollPaddingInlineStart', 'scrollPaddingLeft', 'scrollPaddingRight', 'scrollPaddingTop', 'scrollSnapMarginBottom', 'scrollSnapMarginLeft', 'scrollSnapMarginRight', 'scrollSnapMarginTop', 'shapeMargin', 'tabSize', 'textDecorationThickness', 'textIndent', 'textUnderlineOffset', 'top', 'transformOrigin', 'translate', 'verticalAlign', 'width', 'wordSpacing', 'border', 'borderBlock', 'borderBlockEnd', 'borderBlockStart', 'borderBottom', 'borderLeft', 'borderRadius', 'borderRight', 'borderTop', 'borderWidth', 'columnRule', 'containIntrinsicSize', 'gap', 'inset', 'insetBlock', 'insetInline', 'margin', 'marginBlock', 'marginVertical', 'marginInline', 'marginHorizontal', 'offset', 'outline', 'padding', 'paddingBlock', 'paddingVertical', 'paddingInline', 'paddingHorizontal', 'scrollMargin', 'scrollMarginBlock', 'scrollMarginInline', 'scrollPadding', 'scrollPaddingBlock', 'scrollPaddingInline', 'scrollSnapMargin']);
1793
+ lengthUnits_1 = transformValue$1.lengthUnits = new Set(['backgroundPositionX', 'backgroundPositionY', 'blockSize', 'borderBlockEndWidth', 'borderBlockStartWidth', 'borderBlockWidth', 'borderVerticalWidth', 'borderVerticalWidth', 'borderBottomLeftRadius', 'borderBottomRightRadius', 'borderBottomWidth', 'borderEndEndRadius', 'borderEndStartRadius', 'borderInlineEndWidth', 'borderEndWidth', 'borderInlineStartWidth', 'borderStartWidth', 'borderInlineWidth', 'borderHorizontalWidth', 'borderLeftWidth', 'borderRightWidth', 'borderSpacing', 'borderStartEndRadius', 'borderStartStartRadius', 'borderTopLeftRadius', 'borderTopRightRadius', 'borderTopWidth', 'bottom', 'columnGap', 'columnRuleWidth', 'columnWidth', 'containIntrinsicBlockSize', 'containIntrinsicHeight', 'containIntrinsicInlineSize', 'containIntrinsicWidth', 'flexBasis', 'fontSize', 'fontSmooth', 'height', 'inlineSize', 'insetBlockEnd', 'insetBlockStart', 'insetInlineEnd', 'insetInlineStart', 'left', 'letterSpacing', 'marginBlockEnd', 'marginBlockStart', 'marginBottom', 'marginInlineEnd', 'marginEnd', 'marginInlineStart', 'marginStart', 'marginLeft', 'marginRight', 'marginTop', 'maskBorderOutset', 'maskBorderWidth', 'maxBlockSize', 'maxHeight', 'maxInlineSize', 'maxWidth', 'minBlockSize', 'minHeight', 'minInlineSize', 'minWidth', 'offsetDistance', 'outlineOffset', 'outlineWidth', 'overflowClipMargin', 'paddingBlockEnd', 'paddingBlockStart', 'paddingBottom', 'paddingInlineEnd', 'paddingEnd', 'paddingInlineStart', 'paddingStart', 'paddingLeft', 'paddingRight', 'paddingTop', 'perspective', 'right', 'rowGap', 'scrollMarginBlockEnd', 'scrollMarginBlockStart', 'scrollMarginBottom', 'scrollMarginInlineEnd', 'scrollMarginInlineStart', 'scrollMarginLeft', 'scrollMarginRight', 'scrollMarginTop', 'scrollPaddingBlockEnd', 'scrollPaddingBlockStart', 'scrollPaddingBottom', 'scrollPaddingInlineEnd', 'scrollPaddingInlineStart', 'scrollPaddingLeft', 'scrollPaddingRight', 'scrollPaddingTop', 'scrollSnapMarginBottom', 'scrollSnapMarginLeft', 'scrollSnapMarginRight', 'scrollSnapMarginTop', 'shapeMargin', 'tabSize', 'textDecorationThickness', 'textIndent', 'textUnderlineOffset', 'top', 'transformOrigin', 'translate', 'verticalAlign', 'width', 'wordSpacing', 'border', 'borderBlock', 'borderBlockEnd', 'borderBlockStart', 'borderBottom', 'borderLeft', 'borderRadius', 'borderRight', 'borderTop', 'borderWidth', 'columnRule', 'containIntrinsicSize', 'gap', 'inset', 'insetBlock', 'insetInline', 'margin', 'marginBlock', 'marginVertical', 'marginInline', 'marginHorizontal', 'offset', 'outline', 'padding', 'paddingBlock', 'paddingVertical', 'paddingInline', 'paddingHorizontal', 'scrollMargin', 'scrollMarginBlock', 'scrollMarginInline', 'scrollPadding', 'scrollPaddingBlock', 'scrollPaddingInline', 'scrollSnapMargin']);
1791
1794
 
1792
1795
  var generateCssRule = {};
1793
1796
 
@@ -1866,28 +1869,24 @@ const propertyToLTR = {
1866
1869
  let [_key, val] = _ref16;
1867
1870
  return ['border-bottom-right-radius', val];
1868
1871
  },
1869
- 'text-align': _ref17 => {
1872
+ float: _ref17 => {
1870
1873
  let [key, val] = _ref17;
1871
1874
  return [key, logicalToPhysical$1[val] ?? val];
1872
1875
  },
1873
- float: _ref18 => {
1876
+ clear: _ref18 => {
1874
1877
  let [key, val] = _ref18;
1875
1878
  return [key, logicalToPhysical$1[val] ?? val];
1876
1879
  },
1877
- clear: _ref19 => {
1878
- let [key, val] = _ref19;
1879
- return [key, logicalToPhysical$1[val] ?? val];
1880
- },
1881
- start: _ref20 => {
1882
- let [_key, val] = _ref20;
1880
+ start: _ref19 => {
1881
+ let [_key, val] = _ref19;
1883
1882
  return ['left', val];
1884
1883
  },
1885
- end: _ref21 => {
1886
- let [_key, val] = _ref21;
1884
+ end: _ref20 => {
1885
+ let [_key, val] = _ref20;
1887
1886
  return ['right', val];
1888
1887
  },
1889
- 'background-position': _ref22 => {
1890
- let [key, val] = _ref22;
1888
+ 'background-position': _ref21 => {
1889
+ let [key, val] = _ref21;
1891
1890
  return [key, val.split(' ').map(word => word === 'start' ? 'left' : word === 'end' ? 'right' : word).join(' ')];
1892
1891
  }
1893
1892
  };
@@ -1906,7 +1905,7 @@ Object.defineProperty(generateRtl, "__esModule", {
1906
1905
  });
1907
1906
  generateRtl.default = generateRTL;
1908
1907
  var _postcssValueParser = _interopRequireDefault$7(require$$0);
1909
- function _interopRequireDefault$7(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1908
+ function _interopRequireDefault$7(e) { return e && e.__esModule ? e : { default: e }; }
1910
1909
  const cursorFlip = {
1911
1910
  'e-resize': 'w-resize',
1912
1911
  'w-resize': 'e-resize',
@@ -1961,123 +1960,116 @@ function flipShadow(value) {
1961
1960
  return rtl;
1962
1961
  }
1963
1962
  }
1964
- const shadowsFlip = {
1965
- 'box-shadow': _ref => {
1966
- let [key, val] = _ref;
1967
- const rtlVal = flipShadow(val);
1968
- return rtlVal ? [key, rtlVal] : null;
1969
- },
1970
- 'text-shadow': _ref2 => {
1971
- let [key, val] = _ref2;
1972
- const rtlVal = flipShadow(val);
1973
- return rtlVal ? [key, rtlVal] : null;
1974
- }
1975
- };
1976
1963
  const logicalToPhysical = {
1977
1964
  start: 'right',
1978
1965
  end: 'left'
1979
1966
  };
1980
1967
  const propertyToRTL = {
1981
- 'margin-start': _ref3 => {
1982
- let [_key, val] = _ref3;
1968
+ 'margin-start': _ref => {
1969
+ let [_key, val] = _ref;
1983
1970
  return ['margin-right', val];
1984
1971
  },
1985
- 'margin-end': _ref4 => {
1986
- let [_key, val] = _ref4;
1972
+ 'margin-end': _ref2 => {
1973
+ let [_key, val] = _ref2;
1987
1974
  return ['margin-left', val];
1988
1975
  },
1989
- 'padding-start': _ref5 => {
1990
- let [_key, val] = _ref5;
1976
+ 'padding-start': _ref3 => {
1977
+ let [_key, val] = _ref3;
1991
1978
  return ['padding-right', val];
1992
1979
  },
1993
- 'padding-end': _ref6 => {
1994
- let [_key, val] = _ref6;
1980
+ 'padding-end': _ref4 => {
1981
+ let [_key, val] = _ref4;
1995
1982
  return ['padding-left', val];
1996
1983
  },
1997
- 'border-start': _ref7 => {
1998
- let [_key, val] = _ref7;
1984
+ 'border-start': _ref5 => {
1985
+ let [_key, val] = _ref5;
1999
1986
  return ['border-right', val];
2000
1987
  },
2001
- 'border-end': _ref8 => {
2002
- let [_key, val] = _ref8;
1988
+ 'border-end': _ref6 => {
1989
+ let [_key, val] = _ref6;
2003
1990
  return ['border-left', val];
2004
1991
  },
2005
- 'border-start-width': _ref9 => {
2006
- let [_key, val] = _ref9;
1992
+ 'border-start-width': _ref7 => {
1993
+ let [_key, val] = _ref7;
2007
1994
  return ['border-right-width', val];
2008
1995
  },
2009
- 'border-end-width': _ref10 => {
2010
- let [_key, val] = _ref10;
1996
+ 'border-end-width': _ref8 => {
1997
+ let [_key, val] = _ref8;
2011
1998
  return ['border-left-width', val];
2012
1999
  },
2013
- 'border-start-color': _ref11 => {
2014
- let [_key, val] = _ref11;
2000
+ 'border-start-color': _ref9 => {
2001
+ let [_key, val] = _ref9;
2015
2002
  return ['border-right-color', val];
2016
2003
  },
2017
- 'border-end-color': _ref12 => {
2018
- let [_key, val] = _ref12;
2004
+ 'border-end-color': _ref10 => {
2005
+ let [_key, val] = _ref10;
2019
2006
  return ['border-left-color', val];
2020
2007
  },
2021
- 'border-start-style': _ref13 => {
2022
- let [_key, val] = _ref13;
2008
+ 'border-start-style': _ref11 => {
2009
+ let [_key, val] = _ref11;
2023
2010
  return ['border-right-style', val];
2024
2011
  },
2025
- 'border-end-style': _ref14 => {
2026
- let [_key, val] = _ref14;
2012
+ 'border-end-style': _ref12 => {
2013
+ let [_key, val] = _ref12;
2027
2014
  return ['border-left-style', val];
2028
2015
  },
2029
- 'border-top-start-radius': _ref15 => {
2030
- let [_key, val] = _ref15;
2016
+ 'border-top-start-radius': _ref13 => {
2017
+ let [_key, val] = _ref13;
2031
2018
  return ['border-top-right-radius', val];
2032
2019
  },
2033
- 'border-bottom-start-radius': _ref16 => {
2034
- let [_key, val] = _ref16;
2020
+ 'border-bottom-start-radius': _ref14 => {
2021
+ let [_key, val] = _ref14;
2035
2022
  return ['border-bottom-right-radius', val];
2036
2023
  },
2037
- 'border-top-end-radius': _ref17 => {
2038
- let [_key, val] = _ref17;
2024
+ 'border-top-end-radius': _ref15 => {
2025
+ let [_key, val] = _ref15;
2039
2026
  return ['border-top-left-radius', val];
2040
2027
  },
2041
- 'border-bottom-end-radius': _ref18 => {
2042
- let [_key, val] = _ref18;
2028
+ 'border-bottom-end-radius': _ref16 => {
2029
+ let [_key, val] = _ref16;
2043
2030
  return ['border-bottom-left-radius', val];
2044
2031
  },
2045
- 'text-align': _ref19 => {
2046
- let [key, val] = _ref19;
2047
- return logicalToPhysical[val] != null ? [key, logicalToPhysical[val]] : null;
2048
- },
2049
- float: _ref20 => {
2050
- let [key, val] = _ref20;
2032
+ float: _ref17 => {
2033
+ let [key, val] = _ref17;
2051
2034
  return logicalToPhysical[val] != null ? [key, logicalToPhysical[val]] : null;
2052
2035
  },
2053
- clear: _ref21 => {
2054
- let [key, val] = _ref21;
2036
+ clear: _ref18 => {
2037
+ let [key, val] = _ref18;
2055
2038
  return logicalToPhysical[val] != null ? [key, logicalToPhysical[val]] : null;
2056
2039
  },
2057
- start: _ref22 => {
2058
- let [_key, val] = _ref22;
2040
+ start: _ref19 => {
2041
+ let [_key, val] = _ref19;
2059
2042
  return ['right', val];
2060
2043
  },
2061
- end: _ref23 => {
2062
- let [_key, val] = _ref23;
2044
+ end: _ref20 => {
2045
+ let [_key, val] = _ref20;
2063
2046
  return ['left', val];
2064
2047
  },
2065
- 'background-position': _ref24 => {
2066
- let [key, val] = _ref24;
2048
+ 'background-position': _ref21 => {
2049
+ let [key, val] = _ref21;
2067
2050
  const words = val.split(' ');
2068
2051
  if (!words.includes('start') && !words.includes('end')) {
2069
2052
  return null;
2070
2053
  }
2071
2054
  return [key, words.map(word => word === 'start' ? 'right' : word === 'end' ? 'left' : word).join(' ')];
2072
2055
  },
2073
- cursor: _ref25 => {
2074
- let [key, val] = _ref25;
2056
+ cursor: _ref22 => {
2057
+ let [key, val] = _ref22;
2075
2058
  return cursorFlip[val] != null ? [key, cursorFlip[val]] : null;
2076
2059
  },
2077
- ...shadowsFlip
2060
+ 'box-shadow': _ref23 => {
2061
+ let [key, val] = _ref23;
2062
+ const rtlVal = flipShadow(val);
2063
+ return rtlVal ? [key, rtlVal] : null;
2064
+ },
2065
+ 'text-shadow': _ref24 => {
2066
+ let [key, val] = _ref24;
2067
+ const rtlVal = flipShadow(val);
2068
+ return rtlVal ? [key, rtlVal] : null;
2069
+ }
2078
2070
  };
2079
- function generateRTL(_ref26) {
2080
- let [key, value] = _ref26;
2071
+ function generateRTL(_ref25) {
2072
+ let [key, value] = _ref25;
2081
2073
  if (propertyToRTL[key]) {
2082
2074
  return propertyToRTL[key]([key, value]);
2083
2075
  }
@@ -2158,11 +2150,11 @@ longHandLogical.add('border-block-width');
2158
2150
  shorthandsOfLonghands.add('border-block-start');
2159
2151
  shorthandsOfLonghands.add('border-top');
2160
2152
  longHandLogical.add('border-block-start-color');
2161
- longHandLogical.add('border-top-color');
2153
+ longHandPhysical.add('border-top-color');
2162
2154
  longHandLogical.add('border-block-start-style');
2163
- longHandLogical.add('border-top-style');
2155
+ longHandPhysical.add('border-top-style');
2164
2156
  longHandLogical.add('border-block-start-width');
2165
- longHandLogical.add('border-top-width');
2157
+ longHandPhysical.add('border-top-width');
2166
2158
  shorthandsOfLonghands.add('border-block-end');
2167
2159
  shorthandsOfLonghands.add('border-bottom');
2168
2160
  longHandLogical.add('border-block-end-color');
@@ -2647,7 +2639,7 @@ var _generateLtr$1 = _interopRequireDefault$6(generateLtr);
2647
2639
  var _generateRtl$1 = _interopRequireDefault$6(generateRtl);
2648
2640
  var _genCSSRule = genCSSRule$1;
2649
2641
  var _propertyPriorities$1 = _interopRequireDefault$6(propertyPriorities);
2650
- function _interopRequireDefault$6(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2642
+ function _interopRequireDefault$6(e) { return e && e.__esModule ? e : { default: e }; }
2651
2643
  function generateRule(className, key, value, pseudos, atRules) {
2652
2644
  const pairs = Array.isArray(value) ? value.map(eachValue => [key, eachValue]) : [[key, value]];
2653
2645
  const ltrPairs = pairs.map(_generateLtr$1.default);
@@ -2676,8 +2668,8 @@ var _defaultOptions$4 = defaultOptions;
2676
2668
  var _objectUtils$5 = objectUtils;
2677
2669
  var messages$1 = _interopRequireWildcard$2(messages$4);
2678
2670
  function _getRequireWildcardCache$2(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache$2 = function (e) { return e ? t : r; })(e); }
2679
- function _interopRequireWildcard$2(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$2(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
2680
- function _interopRequireDefault$5(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2671
+ function _interopRequireWildcard$2(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$2(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
2672
+ function _interopRequireDefault$5(e) { return e && e.__esModule ? e : { default: e }; }
2681
2673
  function convertStyleToClassName(objEntry, pseudos, atRules) {
2682
2674
  let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _defaultOptions$4.defaultOptions;
2683
2675
  const {
@@ -2819,7 +2811,7 @@ flattenRawStyleObj.flattenRawStyleObject = flattenRawStyleObject;
2819
2811
  var _index$1 = _interopRequireDefault$4(preprocessRules);
2820
2812
  var _PreRule = PreRule$1;
2821
2813
  var _stylexInclude$3 = stylexInclude$2;
2822
- function _interopRequireDefault$4(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2814
+ function _interopRequireDefault$4(e) { return e && e.__esModule ? e : { default: e }; }
2823
2815
  function flattenRawStyleObject(style, options) {
2824
2816
  return _flattenRawStyleObject(style, [], [], options);
2825
2817
  }
@@ -2940,7 +2932,7 @@ var _stylexInclude$2 = stylexInclude$2;
2940
2932
  var messages = _interopRequireWildcard$1(messages$4);
2941
2933
  var _objectUtils$3 = objectUtils;
2942
2934
  function _getRequireWildcardCache$1(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache$1 = function (e) { return e ? t : r; })(e); }
2943
- function _interopRequireWildcard$1(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$1(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
2935
+ function _interopRequireWildcard$1(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache$1(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
2944
2936
  function validateNamespace(namespace) {
2945
2937
  let conditions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
2946
2938
  if (!(0, _objectUtils$3.isPlainObject)(namespace)) {
@@ -3292,7 +3284,7 @@ var _objectUtils$1 = objectUtils;
3292
3284
  var _defaultOptions$2 = defaultOptions;
3293
3285
  var _stylexVarsUtils$1 = stylexVarsUtils;
3294
3286
  var _types$2 = types$2;
3295
- function _interopRequireDefault$3(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3287
+ function _interopRequireDefault$3(e) { return e && e.__esModule ? e : { default: e }; }
3296
3288
  function styleXDefineVars(variables, options) {
3297
3289
  const {
3298
3290
  classNamePrefix,
@@ -3318,7 +3310,7 @@ function styleXDefineVars(variables, options) {
3318
3310
  }
3319
3311
  return {
3320
3312
  nameHash,
3321
- value
3313
+ value: value
3322
3314
  };
3323
3315
  });
3324
3316
  const themeVariablesObject = (0, _objectUtils$1.objMap)(variablesMap, _ref => {
@@ -3384,7 +3376,7 @@ var _hash$2 = _interopRequireDefault$2(hash$1);
3384
3376
  var _stylexVarsUtils = stylexVarsUtils;
3385
3377
  var _types$1 = types$2;
3386
3378
  var _defaultOptions$1 = defaultOptions;
3387
- function _interopRequireDefault$2(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3379
+ function _interopRequireDefault$2(e) { return e && e.__esModule ? e : { default: e }; }
3388
3380
  function styleXCreateTheme(themeVars, variables, options) {
3389
3381
  if (typeof themeVars.__themeName__ !== 'string') {
3390
3382
  throw new Error('Can only override variables theme created with stylex.defineVars().');
@@ -3411,7 +3403,7 @@ function styleXCreateTheme(themeVars, variables, options) {
3411
3403
  const stylesToInject = {};
3412
3404
  for (const atRule of sortedAtRules) {
3413
3405
  const decls = rulesByAtRule[atRule].join('');
3414
- const rule = `.${overrideClassName}{${decls}}`;
3406
+ const rule = `.${overrideClassName}, .${overrideClassName}:root{${decls}}`;
3415
3407
  if (atRule === 'default') {
3416
3408
  stylesToInject[overrideClassName] = {
3417
3409
  ltr: rule,
@@ -3446,7 +3438,7 @@ var _transformValue = _interopRequireDefault$1(transformValue$1);
3446
3438
  var _dashify = _interopRequireDefault$1(dashify$1);
3447
3439
  var _objectUtils = objectUtils;
3448
3440
  var _defaultOptions = defaultOptions;
3449
- function _interopRequireDefault$1(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3441
+ function _interopRequireDefault$1(e) { return e && e.__esModule ? e : { default: e }; }
3450
3442
  function styleXKeyframes(frames) {
3451
3443
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _defaultOptions.defaultOptions;
3452
3444
  const {
@@ -3494,11 +3486,25 @@ Object.defineProperty(stylexFirstThatWorks$1, "__esModule", {
3494
3486
  value: true
3495
3487
  });
3496
3488
  stylexFirstThatWorks$1.default = stylexFirstThatWorks;
3489
+ const isVar = arg => typeof arg === 'string' && arg.match(/^var\(--[a-zA-Z0-9-_]+\)$/);
3497
3490
  function stylexFirstThatWorks() {
3498
3491
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3499
3492
  args[_key] = arguments[_key];
3500
3493
  }
3501
- return [...args].reverse();
3494
+ const firstVar = args.findIndex(isVar);
3495
+ if (firstVar === -1) {
3496
+ return [...args].reverse();
3497
+ }
3498
+ const priorities = args.slice(0, firstVar).reverse();
3499
+ const rest = args.slice(firstVar);
3500
+ const firstNonVar = rest.findIndex(arg => !isVar(arg));
3501
+ const varParts = rest.slice(0, firstNonVar === -1 ? rest.length : firstNonVar + 1).reverse();
3502
+ const vars = varParts.map(arg => isVar(arg) ? arg.slice(4, -1) : arg);
3503
+ const returnValue = [vars.reduce((soFar, varName) => soFar ? `var(${varName}, ${String(soFar)})` : varName.startsWith('--') ? `var(${varName})` : varName, ''), ...priorities];
3504
+ if (returnValue.length === 1) {
3505
+ return returnValue[0];
3506
+ }
3507
+ return returnValue;
3502
3508
  }
3503
3509
 
3504
3510
  var fileBasedIdentifier = {};
@@ -3542,8 +3548,8 @@ var _types = _interopRequireWildcard(types$2);
3542
3548
  var types$1 = lib.types = _types;
3543
3549
  var _propertyPriorities = propertyPriorities;
3544
3550
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
3545
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
3546
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3551
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
3552
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3547
3553
  create_1 = lib.create = _stylexCreate.default;
3548
3554
  defineVars_1 = lib.defineVars = _stylexDefineVars.default;
3549
3555
  createTheme_1 = lib.createTheme = _stylexCreateTheme.default;
@@ -3660,10 +3666,13 @@ function evaluateImportedFile(filePath, namedExport, state) {
3660
3666
  }
3661
3667
  function evaluateThemeRef(fileName, exportName, state) {
3662
3668
  const resolveKey = key => {
3669
+ if (key.startsWith('--')) {
3670
+ return `var(${key})`;
3671
+ }
3663
3672
  const strToHash = key === '__themeName__' ? utils_1.genFileBasedIdentifier({
3664
3673
  fileName,
3665
3674
  exportName
3666
- }) : key.startsWith('--') ? `var(${key})` : utils_1.genFileBasedIdentifier({
3675
+ }) : utils_1.genFileBasedIdentifier({
3667
3676
  fileName,
3668
3677
  exportName,
3669
3678
  key
@@ -4059,6 +4068,9 @@ function _evaluate(path, state) {
4059
4068
  if ((isStringLiteral(object) || isNumericLiteral(object)) && isIdentifier(property)) {
4060
4069
  const val = object.node.value;
4061
4070
  func = val[property.node.name];
4071
+ if (typeof val === 'string') {
4072
+ context = object.node.value;
4073
+ }
4062
4074
  }
4063
4075
  if (func == null) {
4064
4076
  const parsedObj = evaluate(object, state.traversalState, state.functions);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stylexjs/babel-plugin",
3
- "version": "0.7.4",
3
+ "version": "0.8.0",
4
4
  "description": "StyleX babel plugin.",
5
5
  "main": "lib/index.js",
6
6
  "repository": "https://github.com/facebook/stylex",
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@babel/helper-module-imports": "^7.22.15",
17
- "@stylexjs/shared": "0.7.4",
18
- "@stylexjs/stylex": "0.7.4",
17
+ "@stylexjs/shared": "0.8.0",
18
+ "@stylexjs/stylex": "0.8.0",
19
19
  "@babel/core": "^7.23.6",
20
20
  "@babel/traverse": "^7.23.6",
21
21
  "@babel/types": "^7.23.6"