@stylexjs/shared 0.2.0-beta.10 → 0.2.0-beta.11
Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.validateNamespace = validateNamespace;
|
7
|
-
var
|
7
|
+
var _stylexInclude = require("../stylex-include");
|
8
8
|
var messages = _interopRequireWildcard(require("../messages"));
|
9
9
|
var _objectUtils = require("../utils/object-utils");
|
10
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
@@ -38,7 +38,7 @@ function validateNamespace(namespace) {
|
|
38
38
|
}
|
39
39
|
continue;
|
40
40
|
}
|
41
|
-
if (val instanceof
|
41
|
+
if (val instanceof _stylexInclude.IncludedStyles) {
|
42
42
|
if (conditions.length === 0) {
|
43
43
|
continue;
|
44
44
|
}
|
@@ -80,7 +80,7 @@ function validateConditionalStyles(val) {
|
|
80
80
|
}
|
81
81
|
continue;
|
82
82
|
}
|
83
|
-
if (v instanceof
|
83
|
+
if (v instanceof _stylexInclude.IncludedStyles) {
|
84
84
|
throw new Error(messages.ONLY_TOP_LEVEL_INLCUDES);
|
85
85
|
}
|
86
86
|
if ((0, _objectUtils.isPlainObject)(v)) {
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports._flattenRawStyleObject = _flattenRawStyleObject;
|
7
7
|
exports.flattenRawStyleObject = flattenRawStyleObject;
|
8
|
-
var
|
8
|
+
var _index = _interopRequireDefault(require("./index"));
|
9
9
|
var _PreRule = require("./PreRule");
|
10
|
-
var
|
10
|
+
var _stylexInclude = require("../stylex-include");
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
12
|
/**
|
13
13
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
@@ -27,14 +27,14 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
|
|
27
27
|
const value = style[key];
|
28
28
|
|
29
29
|
// Included Styles
|
30
|
-
if (typeof value === 'object' && value instanceof
|
30
|
+
if (typeof value === 'object' && value instanceof _stylexInclude.IncludedStyles) {
|
31
31
|
flattened.push([key, new _PreRule.PreIncludedStylesRule(value)]);
|
32
32
|
continue;
|
33
33
|
}
|
34
34
|
|
35
35
|
// Default styles
|
36
36
|
if (value === null || typeof value === 'string' || typeof value === 'number') {
|
37
|
-
const pairs = (0,
|
37
|
+
const pairs = (0, _index.default)([key, value], options);
|
38
38
|
for (const [property, value] of pairs) {
|
39
39
|
if (value === null) {
|
40
40
|
flattened.push([property, new _PreRule.NullPreRule()]);
|
@@ -49,7 +49,7 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
|
|
49
49
|
if (Array.isArray(value)) {
|
50
50
|
const equivalentPairs = {};
|
51
51
|
for (const eachVal of value) {
|
52
|
-
const pairs = (0,
|
52
|
+
const pairs = (0, _index.default)([key, eachVal], options);
|
53
53
|
for (const [property, val] of pairs) {
|
54
54
|
if (Array.isArray(val)) {
|
55
55
|
if (equivalentPairs[property] == null) {
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = styleXCreateVars;
|
7
|
+
var _hash = _interopRequireDefault(require("./hash"));
|
8
|
+
var _objectUtils = require("./utils/object-utils");
|
9
|
+
var _defaultOptions = require("./utils/default-options");
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
/**
|
12
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
13
|
+
*
|
14
|
+
* This source code is licensed under the MIT license found in the
|
15
|
+
* LICENSE file in the root directory of this source tree.
|
16
|
+
*
|
17
|
+
*
|
18
|
+
*/
|
19
|
+
|
20
|
+
// Similar to `stylex.create` it takes an object of variables with their values
|
21
|
+
// and returns a string after hashing it.
|
22
|
+
function styleXCreateVars(variables, options) {
|
23
|
+
const {
|
24
|
+
classNamePrefix,
|
25
|
+
themeName
|
26
|
+
} = {
|
27
|
+
..._defaultOptions.defaultOptions,
|
28
|
+
...options
|
29
|
+
};
|
30
|
+
const themeNameHash = classNamePrefix + (0, _hash.default)(themeName);
|
31
|
+
const variablesMap = (0, _objectUtils.objMap)(variables, (value, key) => {
|
32
|
+
// Created hashed variable names with fileName//themeName//key
|
33
|
+
const nameHash = classNamePrefix + (0, _hash.default)(`${themeName}.${key}`);
|
34
|
+
return {
|
35
|
+
nameHash,
|
36
|
+
value
|
37
|
+
};
|
38
|
+
});
|
39
|
+
const themeVariablesObject = (0, _objectUtils.objMap)(variablesMap, _ref => {
|
40
|
+
let {
|
41
|
+
nameHash
|
42
|
+
} = _ref;
|
43
|
+
return `var(--${nameHash})`;
|
44
|
+
});
|
45
|
+
const cssVariablesString = constructCssVariablesString(variablesMap);
|
46
|
+
return [{
|
47
|
+
...themeVariablesObject,
|
48
|
+
__themeName__: themeNameHash
|
49
|
+
}, {
|
50
|
+
css: cssVariablesString
|
51
|
+
}];
|
52
|
+
}
|
53
|
+
function constructCssVariablesString(variables) {
|
54
|
+
const vars = (0, _objectUtils.objEntries)(variables).map(_ref2 => {
|
55
|
+
let [_, value] = _ref2;
|
56
|
+
return `--${value.nameHash}:${value.value};`;
|
57
|
+
}).join('');
|
58
|
+
return `:root{${vars}}`;
|
59
|
+
}
|
package/package.json
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "@stylexjs/shared",
|
3
|
-
"version": "0.2.0-beta.
|
4
|
-
"description": "Shared Code for Stylex compile and runtime.",
|
3
|
+
"version": "0.2.0-beta.11",
|
5
4
|
"main": "lib/index.js",
|
6
|
-
"repository": "https://www.github.com/
|
7
|
-
"author": "Naman Goel <nmn@fb.com>",
|
5
|
+
"repository": "https://www.github.com/facebook/stylex",
|
8
6
|
"license": "MIT",
|
9
7
|
"scripts": {
|
10
8
|
"build": "babel src/ --out-dir lib/ --copy-files",
|