@reshadow/core
Advanced tools
Comparing version 0.0.1-alpha.71 to 0.1.0-canary.3
269
index.js
@@ -5,4 +5,17 @@ "use strict"; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
/* eslint-disable guard-for-in */ | ||
var _Symbol = function _Symbol(key) { | ||
@@ -17,2 +30,3 @@ return typeof Symbol !== 'undefined' ? Symbol(key) : key; | ||
__use__: _Symbol('__use__'), | ||
__composes__: _Symbol('__composes__'), | ||
__elements__: '__elements__', | ||
@@ -37,4 +51,4 @@ __style__: '$$style', | ||
var create = function create(args) { | ||
var len = args.length; | ||
function create() { | ||
var len = arguments.length; | ||
var newStyle = {}; | ||
@@ -44,5 +58,6 @@ var id = ''; | ||
var uses = null; | ||
var composes = {}; | ||
for (var i = 0; i < len; i++) { | ||
var _style = args[i]; | ||
var _style = arguments[i]; | ||
if (!_style) continue; | ||
@@ -52,6 +67,6 @@ | ||
_style[KEYS.__id__] = ++index; | ||
_style[KEYS.__store__] = _defineProperty({}, '_' + _style[KEYS.__id__], _style); | ||
_style[KEYS.__store__] = _defineProperty({}, "_".concat(_style[KEYS.__id__]), _style); | ||
} | ||
id += '_' + _style[KEYS.__id__]; | ||
id += "_".concat(_style[KEYS.__id__]); | ||
@@ -66,2 +81,16 @@ if (_style[KEYS.__style__]) { | ||
if (_style.__comp__) { | ||
if (typeof _style.__comp__ === 'string') { | ||
_style.__comp__ = JSON.parse(_style.__comp__.slice(1, -1)); | ||
} | ||
for (var elem in _style.__comp__) { | ||
var _composes$elem; | ||
composes[elem] = composes[elem] || []; | ||
(_composes$elem = composes[elem]).push.apply(_composes$elem, _toConsumableArray(_style.__comp__[elem])); | ||
} | ||
} | ||
if (_style[KEYS.__store__][id]) { | ||
@@ -81,3 +110,4 @@ newStyle = _style[KEYS.__store__][id]; | ||
newStyle[KEYS.__id__] = index; | ||
newStyle[KEYS.__store__] = _defineProperty({}, '_' + _style[KEYS.__id__], newStyle); | ||
newStyle[KEYS.__store__] = _defineProperty({}, "_".concat(_style[KEYS.__id__]), newStyle); | ||
newStyle.__comp__ = composes; | ||
} | ||
@@ -92,3 +122,3 @@ | ||
return newStyle; | ||
}; | ||
} | ||
@@ -125,3 +155,3 @@ var isSSR = !(typeof window !== 'undefined' && window.document && window.document.createElement); | ||
var css = function css(code, hash) { | ||
var inject = function inject(code, hash, styles) { | ||
var id = "reshadow-".concat(hash); | ||
@@ -152,4 +182,49 @@ | ||
css.innerHTML = code; | ||
styles.__hash__ = hash; | ||
return styles; | ||
}; | ||
var __fn__ = function __fn__(styles) { | ||
var fn = function fn(props) { | ||
var result = __map__(styles, _objectSpread({ | ||
'-root': true | ||
}, props)); | ||
return result; | ||
}; | ||
Object.setPrototypeOf(fn, styles); | ||
return fn; | ||
}; | ||
var __css__ = function __css__(styles) { | ||
var mappers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var hash = styles.__hash__; | ||
if (typeof styles.__comp__ === 'string') { | ||
styles.__comp__ = JSON.parse(styles.__comp__.slice(1, -1)); | ||
} | ||
return Object.assign(__fn__(styles), { | ||
__with__: function __with__() { | ||
var _styles = Object.create(styles); | ||
var vars = {}; | ||
var len = arguments.length; | ||
for (var i = 0; i < len; i++) { | ||
var name = "--_".concat(hash, "-").concat(i); | ||
vars[name] = arguments[i]; | ||
if (i in mappers) { | ||
vars[name] = mappers[i][0] + vars[name] + mappers[i][1]; | ||
} | ||
} | ||
_styles[KEYS.__style__] = vars; | ||
return __fn__(_styles); | ||
} | ||
}); | ||
}; | ||
var styles = {}; | ||
@@ -159,3 +234,3 @@ var style; | ||
var styled = function styled(elem) { | ||
var _styled = function _styled(elem) { | ||
var curr = stack.pop() || []; | ||
@@ -169,12 +244,10 @@ styles = curr[0] || styles; | ||
styled[KEYS.__styles__] = styles; | ||
var set = function set(args, newStyle) { | ||
var newStyles = create(args); | ||
function styled() { | ||
var newStyles = create.apply(null, arguments); | ||
stack.push([styles, style]); | ||
styles = newStyles; | ||
style = newStyle; | ||
style = styles[KEYS.__style__]; | ||
if (styles[KEYS.__style__]) { | ||
style = style ? Object.assign({}, style, styles[KEYS.__style__]) : styles[KEYS.__style__]; | ||
style = style ? _objectSpread({}, style, {}, styles[KEYS.__style__]) : styles[KEYS.__style__]; | ||
} | ||
@@ -184,5 +257,7 @@ | ||
styled[KEYS.__style__] = style; | ||
}; | ||
return _styled; | ||
} | ||
var USE_PREFIX = 'use--'; | ||
styled[KEYS.__styles__] = styles; | ||
var USE_PREFIX = '-'; | ||
var ELEMENT_PREFIX = '__'; | ||
@@ -226,2 +301,107 @@ var MOD_PREFIX = '_'; | ||
function processCompositionQueue(queue, done, key, value) { | ||
var nextQueue = []; | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
try { | ||
for (var _iterator = queue[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var compose = _step.value; | ||
if (compose[key] === value) { | ||
compose.__$keys__--; | ||
if (compose.__$keys__ === 0) { | ||
done.push(compose); | ||
} else { | ||
nextQueue.push(compose); | ||
} | ||
} else if (!(key in compose)) { | ||
nextQueue.push(compose); | ||
} | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator["return"] != null) { | ||
_iterator["return"](); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
return nextQueue; | ||
} | ||
function buildQueue(element, styles) { | ||
var currStyles = styles; | ||
var composes = currStyles.__comp__ || {}; | ||
var elementComposes = composes[element] || []; | ||
var commonComposes = composes.__common__ || []; | ||
var queue = []; | ||
for (var i = 0, len = Math.max(elementComposes.length, commonComposes.length); i < len; i++) { | ||
if (elementComposes[i]) { | ||
elementComposes[i].__$keys__ = Number(elementComposes[i].__keys__); | ||
queue.push(elementComposes[i]); | ||
} | ||
if (commonComposes[i]) { | ||
commonComposes[i].__$keys__ = Number(commonComposes[i].__keys__); | ||
queue.push(commonComposes[i]); | ||
} | ||
} | ||
return queue; | ||
} | ||
function __map__(styles, props) { | ||
var _ref; | ||
var cn = ''; | ||
var currStyles = styles; | ||
var currProps = props; | ||
var vars = _objectSpread({}, styles[KEYS.__style__]); | ||
var queue = buildQueue('', currStyles); | ||
var done = []; | ||
for (var key in currProps) { | ||
if (key === KEYS.__use__ || key === KEYS.__style__) { | ||
continue; | ||
} | ||
var value = currProps[key]; | ||
cn = appendModifier(currStyles, key, value, cn); | ||
queue = processCompositionQueue(queue, done, key, value); | ||
} | ||
for (var i = 0; i < done.length; i++) { | ||
var currDone = done[i]; | ||
var composed = currStyles[currDone.__value__]; | ||
composed = composed.replace(/\\:/g, ':'); | ||
cn = appendClassName(composed, cn); | ||
if (currDone.__vars__) { | ||
for (var v in currDone.__vars__) { | ||
var _key = "--_".concat(v); | ||
if (!(_key in vars)) continue; | ||
cn = appendClassName(vars[_key]['_-root'], cn); | ||
Object.assign(vars, vars[_key][KEYS.__style__]); | ||
delete vars[_key]; | ||
} | ||
} | ||
} | ||
return _ref = {}, _defineProperty(_ref, KEYS.__style__, vars), _defineProperty(_ref, '_-root', cn), _ref; | ||
} | ||
function map(element) { | ||
@@ -231,4 +411,8 @@ var currStyles = styled[KEYS.__styles__]; | ||
var cn = appendElement(currStyles, element); | ||
var vars = null; | ||
var vars = _objectSpread({}, styled[KEYS.__style__]); | ||
var uses = currStyles[KEYS.__use__] || {}; | ||
var queue = buildQueue(element, currStyles); | ||
var done = []; | ||
var len = arguments.length; | ||
@@ -242,6 +426,2 @@ var useProps; | ||
if (!vars && KEYS.__style__ in currProps) { | ||
vars = styled[KEYS.__style__]; | ||
} | ||
for (var key in currProps) { | ||
@@ -258,5 +438,5 @@ if (key === KEYS.__use__ || key === KEYS.__style__ || key in nextProps) { | ||
if (valueType === 'string' || valueType === 'boolean' || valueType === 'number') { | ||
var useKey = key + '_' + value; | ||
var useKey = "".concat(key, "_").concat(value); | ||
if (key + '_' + true in uses || useKey in uses) { | ||
if ("".concat(key, "_", true) in uses || useKey in uses) { | ||
cn = appendModifier(currStyles, USE_PREFIX + key, value, cn); | ||
@@ -271,2 +451,3 @@ | ||
nextProps[key] = value; | ||
queue = processCompositionQueue(queue, done, key, value); | ||
} | ||
@@ -276,5 +457,9 @@ } | ||
if (useProps) { | ||
for (var _key in useProps) { | ||
var _value = useProps[_key]; | ||
cn = appendModifier(currStyles, USE_PREFIX + _key, _value, cn); | ||
for (var mod in useProps) { | ||
var _value = useProps[mod]; | ||
var _key2 = USE_PREFIX + mod; | ||
cn = appendModifier(currStyles, _key2, _value, cn); | ||
queue = processCompositionQueue(queue, done, _key2, _value); | ||
} | ||
@@ -284,6 +469,25 @@ } | ||
cn = appendClassName(nextProps[KEYS.__classProp__], cn); | ||
for (var _i = 0; _i < done.length; _i++) { | ||
var currDone = done[_i]; | ||
var composed = currStyles[currDone.__value__]; | ||
composed = composed.replace(/\\:/g, ':'); | ||
cn = appendClassName(composed, cn); | ||
if (currDone.__vars__) { | ||
for (var v in currDone.__vars__) { | ||
var _key3 = "--_".concat(v); | ||
if (!(_key3 in vars)) continue; | ||
cn = appendClassName(vars[_key3]['_-root'], cn); | ||
Object.assign(vars, vars[_key3][KEYS.__style__]); | ||
delete vars[_key3]; | ||
} | ||
} | ||
} | ||
if (cn) nextProps[KEYS.__classProp__] = cn; | ||
if (vars) { | ||
nextProps.style = typeof style === 'string' ? vars + (nextProps.style || '') : Object.assign({}, vars, nextProps.style || {}); | ||
nextProps.style = typeof style === 'string' ? vars + (nextProps.style || '') : Object.assign(vars, nextProps.style || {}); | ||
} | ||
@@ -298,11 +502,10 @@ | ||
use: use, | ||
css: css, | ||
inject: inject, | ||
create: create, | ||
set: set, | ||
map: map, | ||
__css__: css, | ||
__css__: __css__, | ||
__extract__: function __extract__() { | ||
var _ref; | ||
var _ref2; | ||
return _ref = {}, _defineProperty(_ref, KEYS.__styles__, styled[[KEYS.__styles__]]), _defineProperty(_ref, KEYS.__style__, styled[[KEYS.__style__]]), _ref; | ||
return _ref2 = {}, _defineProperty(_ref2, KEYS.__styles__, styled[[KEYS.__styles__]]), _defineProperty(_ref2, KEYS.__style__, styled[[KEYS.__style__]]), _ref2; | ||
}, | ||
@@ -309,0 +512,0 @@ // ssr |
{ | ||
"name": "@reshadow/core", | ||
"version": "0.0.1-alpha.71", | ||
"version": "0.1.0-canary.3+7814285", | ||
"description": "reshadow core runtime", | ||
@@ -27,3 +27,4 @@ "main": "index.js", | ||
"react-dom": "^16.7.0" | ||
} | ||
}, | ||
"gitHead": "78142850d408c7018e5cd31cfadf01e440b9a9a8" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
21891
398
1