@colorye/react-native-css 0.3.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.
- package/README.md +198 -0
- package/crates/transformer/index.js +105 -0
- package/crates/transformer/transformer.darwin-arm64.node +0 -0
- package/crates/transformer/transformer.node +0 -0
- package/dist/babel.js +208 -0
- package/dist/exported-stylesheet.json +1 -0
- package/dist/features/build-transform.js +575 -0
- package/dist/features/css-calc.js +539 -0
- package/dist/features/css-media.js +77 -0
- package/dist/features/css-transform.js +426 -0
- package/dist/features/css-vars.js +153 -0
- package/dist/features/stylesheet.js +45 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.js +60 -0
- package/dist/interop.js +260 -0
- package/dist/transformer-runtime.js +274 -0
- package/dist/transformer.js +100 -0
- package/dist/utils/babel.js +363 -0
- package/dist/utils/css.js +263 -0
- package/dist/utils/helper.js +11 -0
- package/package.json +51 -0
- package/src/babel.js +271 -0
- package/src/exported-stylesheet.json +1 -0
- package/src/features/build-transform.js +536 -0
- package/src/features/css-calc.js +490 -0
- package/src/features/css-media.js +78 -0
- package/src/features/css-transform.js +446 -0
- package/src/features/css-vars.js +138 -0
- package/src/features/stylesheet.js +29 -0
- package/src/index.d.ts +89 -0
- package/src/index.js +29 -0
- package/src/interop.js +269 -0
- package/src/transformer-runtime.js +241 -0
- package/src/transformer.js +87 -0
- package/src/utils/babel.js +425 -0
- package/src/utils/css.js +221 -0
- package/src/utils/helper.js +3 -0
- package/types.d.ts +47 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
11
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
12
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
15
|
+
var RN = {};
|
|
16
|
+
try {
|
|
17
|
+
RN = require("react-native");
|
|
18
|
+
} catch (_unused) {
|
|
19
|
+
// Safe in Node/Babel build environment
|
|
20
|
+
}
|
|
21
|
+
var Appearance = RN.Appearance || {
|
|
22
|
+
getColorScheme: function getColorScheme() {
|
|
23
|
+
return "light";
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var Dimensions = RN.Dimensions || {
|
|
27
|
+
get: function get() {
|
|
28
|
+
return {
|
|
29
|
+
width: 375,
|
|
30
|
+
height: 812
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// ============================================================================
|
|
36
|
+
// Constants
|
|
37
|
+
// ============================================================================
|
|
38
|
+
var INHERIT_PROPERTIES = ["color", "fontFamily", "fontSize", "fontStyle", "fontWeight", "fontVariant", "letterSpacing", "lineHeight", "textAlign", "textTransform"];
|
|
39
|
+
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Cached Dimensions and Appearance
|
|
42
|
+
// ============================================================================
|
|
43
|
+
var cachedDimensions = null;
|
|
44
|
+
var cachedColorScheme = null;
|
|
45
|
+
var TRANSFORM_CACHE = {};
|
|
46
|
+
var currentCacheKey = null;
|
|
47
|
+
function getDimensions() {
|
|
48
|
+
if (!cachedDimensions) {
|
|
49
|
+
try {
|
|
50
|
+
var _Dimensions$get;
|
|
51
|
+
cachedDimensions = (Dimensions === null || Dimensions === void 0 || (_Dimensions$get = Dimensions.get) === null || _Dimensions$get === void 0 ? void 0 : _Dimensions$get.call(Dimensions, "window")) || {
|
|
52
|
+
width: 375,
|
|
53
|
+
height: 812
|
|
54
|
+
};
|
|
55
|
+
} catch (_unused2) {
|
|
56
|
+
cachedDimensions = {
|
|
57
|
+
width: 375,
|
|
58
|
+
height: 812
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return cachedDimensions;
|
|
63
|
+
}
|
|
64
|
+
function getColorScheme() {
|
|
65
|
+
if (cachedColorScheme === null) {
|
|
66
|
+
try {
|
|
67
|
+
var _Appearance$getColorS;
|
|
68
|
+
cachedColorScheme = (Appearance === null || Appearance === void 0 || (_Appearance$getColorS = Appearance.getColorScheme) === null || _Appearance$getColorS === void 0 ? void 0 : _Appearance$getColorS.call(Appearance)) || "light";
|
|
69
|
+
} catch (_unused3) {
|
|
70
|
+
cachedColorScheme = "light";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return cachedColorScheme;
|
|
74
|
+
}
|
|
75
|
+
function getCacheKey() {
|
|
76
|
+
var _getDimensions = getDimensions(),
|
|
77
|
+
width = _getDimensions.width,
|
|
78
|
+
height = _getDimensions.height;
|
|
79
|
+
var colorScheme = getColorScheme();
|
|
80
|
+
return "".concat(width, "x").concat(height, ":").concat(colorScheme);
|
|
81
|
+
}
|
|
82
|
+
function invalidateCache() {
|
|
83
|
+
cachedDimensions = null;
|
|
84
|
+
cachedColorScheme = null;
|
|
85
|
+
TRANSFORM_CACHE = {};
|
|
86
|
+
currentCacheKey = null;
|
|
87
|
+
}
|
|
88
|
+
function clearCache() {
|
|
89
|
+
TRANSFORM_CACHE = {};
|
|
90
|
+
currentCacheKey = null;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
var _Dimensions$addEventL, _Appearance$addChange;
|
|
94
|
+
Dimensions === null || Dimensions === void 0 || (_Dimensions$addEventL = Dimensions.addEventListener) === null || _Dimensions$addEventL === void 0 || _Dimensions$addEventL.call(Dimensions, "change", invalidateCache);
|
|
95
|
+
Appearance === null || Appearance === void 0 || (_Appearance$addChange = Appearance.addChangeListener) === null || _Appearance$addChange === void 0 || _Appearance$addChange.call(Appearance, invalidateCache);
|
|
96
|
+
} catch (_unused4) {}
|
|
97
|
+
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// Flatten Style
|
|
100
|
+
// ============================================================================
|
|
101
|
+
function getFlattenStyle(declarations) {
|
|
102
|
+
if (!Array.isArray(declarations)) {
|
|
103
|
+
return declarations;
|
|
104
|
+
}
|
|
105
|
+
var result = {};
|
|
106
|
+
function merge(item) {
|
|
107
|
+
if (!item) return;
|
|
108
|
+
if (Array.isArray(item)) {
|
|
109
|
+
for (var i = 0; i < item.length; i++) {
|
|
110
|
+
merge(item[i]);
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
Object.assign(result, item);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
for (var i = 0; i < declarations.length; i++) {
|
|
117
|
+
merge(declarations[i]);
|
|
118
|
+
}
|
|
119
|
+
var borderStyles = ["borderBottomStyle", "borderTopStyle", "borderLeftStyle", "borderRightStyle"];
|
|
120
|
+
for (var _i = 0, _borderStyles = borderStyles; _i < _borderStyles.length; _i++) {
|
|
121
|
+
var bs = _borderStyles[_i];
|
|
122
|
+
if (result[bs] !== undefined) {
|
|
123
|
+
if (result.borderStyle === undefined) {
|
|
124
|
+
result.borderStyle = ["solid", "dotted", "dashed"].includes(result[bs]) ? result[bs] : "solid";
|
|
125
|
+
}
|
|
126
|
+
delete result[bs];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (result.borderStyle !== undefined) {
|
|
130
|
+
if (typeof result.borderStyle !== "string" || !["solid", "dotted", "dashed"].includes(result.borderStyle)) {
|
|
131
|
+
delete result.borderStyle;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// ============================================================================
|
|
138
|
+
// Main Native Rust Stylesheet Transform
|
|
139
|
+
// ============================================================================
|
|
140
|
+
function transformStyles(stylesheet, classNames) {
|
|
141
|
+
if (!stylesheet || !classNames) return undefined;
|
|
142
|
+
if (stylesheet["default"] && _typeof(stylesheet["default"]) === "object" && !stylesheet[":root"]) {
|
|
143
|
+
stylesheet = stylesheet["default"];
|
|
144
|
+
}
|
|
145
|
+
var _getDimensions2 = getDimensions(),
|
|
146
|
+
width = _getDimensions2.width,
|
|
147
|
+
height = _getDimensions2.height;
|
|
148
|
+
var colorScheme = getColorScheme();
|
|
149
|
+
var cacheKey = getCacheKey();
|
|
150
|
+
if (cacheKey !== currentCacheKey) {
|
|
151
|
+
TRANSFORM_CACHE = {};
|
|
152
|
+
currentCacheKey = cacheKey;
|
|
153
|
+
}
|
|
154
|
+
if (TRANSFORM_CACHE[classNames] !== undefined) {
|
|
155
|
+
return TRANSFORM_CACHE[classNames];
|
|
156
|
+
}
|
|
157
|
+
var classes = classNames.trim().split(/\s+/);
|
|
158
|
+
var resolved = {};
|
|
159
|
+
var _iterator = _createForOfIteratorHelper(classes),
|
|
160
|
+
_step;
|
|
161
|
+
try {
|
|
162
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
163
|
+
var cls = _step.value;
|
|
164
|
+
if (!cls) continue;
|
|
165
|
+
var entry = stylesheet[cls];
|
|
166
|
+
if (!entry) continue;
|
|
167
|
+
if (entry._static) {
|
|
168
|
+
Object.assign(resolved, entry._static);
|
|
169
|
+
} else if (entry._dynamic) {
|
|
170
|
+
Object.assign(resolved, entry._dynamic);
|
|
171
|
+
} else if (_typeof(entry) === "object") {
|
|
172
|
+
Object.assign(resolved, entry);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
} catch (err) {
|
|
176
|
+
_iterator.e(err);
|
|
177
|
+
} finally {
|
|
178
|
+
_iterator.f();
|
|
179
|
+
}
|
|
180
|
+
var result = Object.keys(resolved).length > 0 ? resolved : undefined;
|
|
181
|
+
TRANSFORM_CACHE[classNames] = result;
|
|
182
|
+
return result;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// ============================================================================
|
|
186
|
+
// Inherit Style
|
|
187
|
+
// ============================================================================
|
|
188
|
+
function getInheritStyle(declarations) {
|
|
189
|
+
if (!declarations) return undefined;
|
|
190
|
+
var inheritDeclarations = {};
|
|
191
|
+
var _iterator2 = _createForOfIteratorHelper(INHERIT_PROPERTIES),
|
|
192
|
+
_step2;
|
|
193
|
+
try {
|
|
194
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
195
|
+
var key = _step2.value;
|
|
196
|
+
if (declarations[key] !== undefined) {
|
|
197
|
+
inheritDeclarations[key] = declarations[key];
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
} catch (err) {
|
|
201
|
+
_iterator2.e(err);
|
|
202
|
+
} finally {
|
|
203
|
+
_iterator2.f();
|
|
204
|
+
}
|
|
205
|
+
return Object.keys(inheritDeclarations).length > 0 ? inheritDeclarations : undefined;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// ============================================================================
|
|
209
|
+
// Main Entry Point
|
|
210
|
+
// ============================================================================
|
|
211
|
+
function getStyle(stylesheet, _ref) {
|
|
212
|
+
var _ref2 = _slicedToArray(_ref, 3),
|
|
213
|
+
inheritStyle = _ref2[0],
|
|
214
|
+
className = _ref2[1],
|
|
215
|
+
style = _ref2[2];
|
|
216
|
+
var inherited = getInheritStyle(getFlattenStyle(inheritStyle));
|
|
217
|
+
var transformed = transformStyles(stylesheet, className);
|
|
218
|
+
var result = getFlattenStyle([inherited, transformed, style]);
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// ============================================================================
|
|
223
|
+
// Lightweight Merge for Static Styles
|
|
224
|
+
// ============================================================================
|
|
225
|
+
function mergeStyles(inheritStyle, staticStyles, inlineStyle) {
|
|
226
|
+
if (!inheritStyle && !inlineStyle) {
|
|
227
|
+
return staticStyles;
|
|
228
|
+
}
|
|
229
|
+
var inherited;
|
|
230
|
+
if (inheritStyle) {
|
|
231
|
+
var flatInherit = getFlattenStyle(inheritStyle);
|
|
232
|
+
if (flatInherit) {
|
|
233
|
+
inherited = {};
|
|
234
|
+
var _iterator3 = _createForOfIteratorHelper(INHERIT_PROPERTIES),
|
|
235
|
+
_step3;
|
|
236
|
+
try {
|
|
237
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
238
|
+
var key = _step3.value;
|
|
239
|
+
if (flatInherit[key] !== undefined) {
|
|
240
|
+
inherited[key] = flatInherit[key];
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
} catch (err) {
|
|
244
|
+
_iterator3.e(err);
|
|
245
|
+
} finally {
|
|
246
|
+
_iterator3.f();
|
|
247
|
+
}
|
|
248
|
+
if (Object.keys(inherited).length === 0) {
|
|
249
|
+
inherited = undefined;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (!inherited && !inlineStyle) {
|
|
254
|
+
return staticStyles;
|
|
255
|
+
}
|
|
256
|
+
var result = {};
|
|
257
|
+
if (inherited) Object.assign(result, inherited);
|
|
258
|
+
if (staticStyles) {
|
|
259
|
+
for (var _key in staticStyles) {
|
|
260
|
+
if (!_key.startsWith("--")) {
|
|
261
|
+
result[_key] = staticStyles[_key];
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (inlineStyle) Object.assign(result, inlineStyle);
|
|
266
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
267
|
+
}
|
|
268
|
+
var _default = exports["default"] = {
|
|
269
|
+
getFlattenStyle: getFlattenStyle,
|
|
270
|
+
getStyle: getStyle,
|
|
271
|
+
getInheritStyle: getInheritStyle,
|
|
272
|
+
mergeStyles: mergeStyles,
|
|
273
|
+
clearCache: clearCache
|
|
274
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
exports.getStylesheet = getStylesheet;
|
|
8
|
+
exports.transform = transform;
|
|
9
|
+
exports.writeStylesheetJSON = writeStylesheetJSON;
|
|
10
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
11
|
+
var _path = _interopRequireDefault(require("path"));
|
|
12
|
+
var _stylesheet = _interopRequireDefault(require("./features/stylesheet"));
|
|
13
|
+
var _css = require("./utils/css");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
|
+
function getStylesheet(css, filename) {
|
|
16
|
+
var rawStylesheet = (0, _css.parseStylesheetWithLightning)(css);
|
|
17
|
+
var stylesheet = new _stylesheet["default"]();
|
|
18
|
+
stylesheet.setRawStylesheet(rawStylesheet);
|
|
19
|
+
var jsonContent = stylesheet.toJSON();
|
|
20
|
+
writeStylesheetJSON(jsonContent, filename);
|
|
21
|
+
return jsonContent;
|
|
22
|
+
}
|
|
23
|
+
function writeStylesheetJSON(content, filename) {
|
|
24
|
+
try {
|
|
25
|
+
var distPath = _path["default"].join(__dirname, "exported-stylesheet.json");
|
|
26
|
+
_fs["default"].writeFileSync(distPath, content, {
|
|
27
|
+
mode: 493
|
|
28
|
+
});
|
|
29
|
+
var srcPath = _path["default"].resolve(__dirname, "../src/exported-stylesheet.json");
|
|
30
|
+
if (_fs["default"].existsSync(_path["default"].dirname(srcPath))) {
|
|
31
|
+
_fs["default"].writeFileSync(srcPath, content, {
|
|
32
|
+
mode: 493
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (filename) {
|
|
36
|
+
_fs["default"].writeFileSync("".concat(filename, ".json"), content, {
|
|
37
|
+
mode: 493
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
} catch (_unused) {
|
|
41
|
+
// Silently fail - Babel will fall back to runtime
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function transform(_ref) {
|
|
45
|
+
var src = _ref.src,
|
|
46
|
+
filename = _ref.filename,
|
|
47
|
+
options = _ref.options;
|
|
48
|
+
var projectRoot = options && options.projectRoot ? options.projectRoot : process.cwd();
|
|
49
|
+
var resolveTransformer = function () {
|
|
50
|
+
try {
|
|
51
|
+
return require("@expo/metro-config/babel-transformer");
|
|
52
|
+
} catch (_unused2) {
|
|
53
|
+
try {
|
|
54
|
+
return require("@react-native/metro-babel-transformer");
|
|
55
|
+
} catch (_unused3) {
|
|
56
|
+
try {
|
|
57
|
+
return require("metro-react-native-babel-transformer");
|
|
58
|
+
} catch (_unused4) {
|
|
59
|
+
var resolveOptions = {
|
|
60
|
+
paths: [projectRoot]
|
|
61
|
+
};
|
|
62
|
+
try {
|
|
63
|
+
var resolved = require.resolve("@expo/metro-config/babel-transformer", resolveOptions);
|
|
64
|
+
return eval("require")(resolved);
|
|
65
|
+
} catch (_unused5) {
|
|
66
|
+
try {
|
|
67
|
+
var _resolved = require.resolve("@react-native/metro-babel-transformer", resolveOptions);
|
|
68
|
+
return eval("require")(_resolved);
|
|
69
|
+
} catch (_unused6) {
|
|
70
|
+
try {
|
|
71
|
+
var _resolved2 = require.resolve("metro-react-native-babel-transformer", resolveOptions);
|
|
72
|
+
return eval("require")(_resolved2);
|
|
73
|
+
} catch (_unused7) {
|
|
74
|
+
throw new Error("Failed to load any upstream babel-transformer. Please ensure either '@expo/metro-config', '@react-native/metro-babel-transformer', or 'metro-react-native-babel-transformer' is installed.");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}();
|
|
82
|
+
if (filename.endsWith(".css")) {
|
|
83
|
+
var jsonContent = getStylesheet(src, filename);
|
|
84
|
+
return resolveTransformer.transform({
|
|
85
|
+
src: "const sheet = ".concat(jsonContent, ";\nmodule.exports = sheet;\nmodule.exports.default = sheet;\nmodule.exports.__esModule = true;"),
|
|
86
|
+
filename: filename,
|
|
87
|
+
options: options
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return resolveTransformer.transform({
|
|
91
|
+
src: src,
|
|
92
|
+
filename: filename,
|
|
93
|
+
options: options
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
var _default = exports["default"] = {
|
|
97
|
+
transform: transform,
|
|
98
|
+
getStylesheet: getStylesheet,
|
|
99
|
+
writeStylesheetJSON: writeStylesheetJSON
|
|
100
|
+
};
|