Comparing version 2.0.2 to 2.0.3
@@ -5,2 +5,8 @@ # Changelog | ||
## [2.0.3] 2018-06-21 | ||
### Updated | ||
- `style-value-types@2.0.1` | ||
## [2.0.2] 2018-05-16 | ||
@@ -7,0 +13,0 @@ |
import { onFrameRender } from 'framesync'; | ||
import { alpha, color, degrees, scale, px, percent } from 'style-value-types'; | ||
import { __assign } from 'tslib'; | ||
import { invariant } from 'hey-listen'; | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
var __assign = Object.assign || function __assign(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
var createStyler = function (_a) { | ||
var onRead = _a.onRead, onRender = _a.onRender, _b = _a.aliasMap, aliasMap = _b === void 0 ? {} : _b, _c = _a.useCache, useCache = _c === void 0 ? true : _c; | ||
var onRead = _a.onRead, | ||
onRender = _a.onRender, | ||
_b = _a.aliasMap, | ||
aliasMap = _b === void 0 ? {} : _b, | ||
_c = _a.useCache, | ||
useCache = _c === void 0 ? true : _c; | ||
return function (props) { | ||
@@ -49,3 +32,5 @@ var state = {}; | ||
function render(forceRender) { | ||
if (forceRender === void 0) { forceRender = false; } | ||
if (forceRender === void 0) { | ||
forceRender = false; | ||
} | ||
if (forceRender || hasChanged) { | ||
@@ -61,7 +46,3 @@ onRender(state, props, changedValues); | ||
var key = aliasMap[unmappedKey] || unmappedKey; | ||
return (key) | ||
? (useCache && state[key] !== undefined) | ||
? state[key] | ||
: onRead(key, props) | ||
: state; | ||
return key ? useCache && state[key] !== undefined ? state[key] : onRead(key, props) : state; | ||
}, | ||
@@ -72,8 +53,8 @@ set: function (values, value) { | ||
setValue(values, value); | ||
} else { | ||
return function (v) { | ||
return setValue(values, v); | ||
}; | ||
} | ||
else { | ||
return function (v) { return setValue(values, v); }; | ||
} | ||
} | ||
else { | ||
} else { | ||
for (var key in values) { | ||
@@ -87,3 +68,3 @@ if (values.hasOwnProperty(key)) { | ||
}, | ||
render: render, | ||
render: render | ||
}; | ||
@@ -95,3 +76,5 @@ }; | ||
var REPLACE_TEMPLATE = '$1-$2'; | ||
var camelToDash = function (str) { return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase(); }; | ||
var camelToDash = function (str) { | ||
return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase(); | ||
}; | ||
var setDomAttrs = function (element, attrs) { | ||
@@ -105,4 +88,4 @@ for (var key in attrs) { | ||
var camelCache = new Map(); | ||
var dashCache = new Map(); | ||
var camelCache = /*#__PURE__*/new Map(); | ||
var dashCache = /*#__PURE__*/new Map(); | ||
var prefixes = ['Webkit', 'Moz', 'O', 'ms', '']; | ||
@@ -112,8 +95,7 @@ var numPrefixes = prefixes.length; | ||
var testPrefix = function (key) { | ||
if (typeof document === 'undefined') | ||
return; | ||
if (typeof document === 'undefined') return; | ||
testElement = testElement || document.createElement('div'); | ||
for (var i = 0; i < numPrefixes; i++) { | ||
var prefix = prefixes[i]; | ||
var noPrefix = (prefix === ''); | ||
var noPrefix = prefix === ''; | ||
var prefixedPropertyName = noPrefix ? key : prefix + key.charAt(0).toUpperCase() + key.slice(1); | ||
@@ -126,9 +108,10 @@ if (prefixedPropertyName in testElement.style) { | ||
}; | ||
var prefixer = (function (key, asDashCase) { | ||
if (asDashCase === void 0) { asDashCase = false; } | ||
var prefixer = function (key, asDashCase) { | ||
if (asDashCase === void 0) { | ||
asDashCase = false; | ||
} | ||
var cache = asDashCase ? dashCache : camelCache; | ||
if (!cache.has(key)) | ||
testPrefix(key); | ||
if (!cache.has(key)) testPrefix(key); | ||
return cache.get(key) || key; | ||
}); | ||
}; | ||
@@ -139,3 +122,3 @@ var axes = ['', 'X', 'Y', 'Z']; | ||
var TRANSFORM_ORIGIN_Y = 'transformOriginY'; | ||
var transformProps = order.reduce(function (acc, key) { | ||
var transformProps = /*#__PURE__*/order.reduce(function (acc, key) { | ||
return axes.reduce(function (axesAcc, axesKey) { | ||
@@ -146,9 +129,15 @@ axesAcc.push(key + axesKey); | ||
}, ['x', 'y', 'z']); | ||
var transformPropDictionary = transformProps.reduce(function (dict, key) { | ||
var transformPropDictionary = /*#__PURE__*/transformProps.reduce(function (dict, key) { | ||
dict[key] = true; | ||
return dict; | ||
}, {}); | ||
var isTransformProp = function (key) { return transformPropDictionary[key] === true; }; | ||
var sortTransformProps = function (a, b) { return transformProps.indexOf(a) - transformProps.indexOf(b); }; | ||
var isTransformOriginProp = function (key) { return key === TRANSFORM_ORIGIN_X || key === TRANSFORM_ORIGIN_Y; }; | ||
var isTransformProp = function (key) { | ||
return transformPropDictionary[key] === true; | ||
}; | ||
var sortTransformProps = function (a, b) { | ||
return transformProps.indexOf(a) - transformProps.indexOf(b); | ||
}; | ||
var isTransformOriginProp = function (key) { | ||
return key === TRANSFORM_ORIGIN_X || key === TRANSFORM_ORIGIN_Y; | ||
}; | ||
@@ -195,3 +184,5 @@ var valueTypes = { | ||
}; | ||
var getValueType = (function (key) { return valueTypes[key]; }); | ||
var getValueType = function (key) { | ||
return valueTypes[key]; | ||
}; | ||
@@ -218,4 +209,8 @@ var aliasMap = { | ||
function buildStylePropertyString(state, changedValues, enableHardwareAcceleration, blacklist) { | ||
if (changedValues === void 0) { changedValues = true; } | ||
if (enableHardwareAcceleration === void 0) { enableHardwareAcceleration = true; } | ||
if (changedValues === void 0) { | ||
changedValues = true; | ||
} | ||
if (enableHardwareAcceleration === void 0) { | ||
enableHardwareAcceleration = true; | ||
} | ||
var valuesToChange = changedValues === true ? Object.keys(state) : changedValues; | ||
@@ -234,4 +229,3 @@ var propertyString = ''; | ||
for (var stateKey in state) { | ||
if (isTransformProp(stateKey) && | ||
valuesToChange.indexOf(stateKey) === -1) { | ||
if (isTransformProp(stateKey) && valuesToChange.indexOf(stateKey) === -1) { | ||
valuesToChange.push(stateKey); | ||
@@ -247,4 +241,3 @@ } | ||
var key = valuesToChange[i]; | ||
if (blacklist.has(key)) | ||
continue; | ||
if (blacklist.has(key)) continue; | ||
var isTransformKey = isTransformProp(key); | ||
@@ -254,10 +247,7 @@ var value = state[key]; | ||
if (isTransformKey) { | ||
if ((valueType.default && value !== valueType.default) || | ||
(!valueType.default && value !== 0)) { | ||
if (valueType.default && value !== valueType.default || !valueType.default && value !== 0) { | ||
transformIsDefault = false; | ||
} | ||
} | ||
if (valueType && | ||
(typeof value === NUMBER || typeof value === OBJECT) && | ||
valueType.transform) { | ||
if (valueType && (typeof value === NUMBER || typeof value === OBJECT) && valueType.transform) { | ||
value = valueType.transform(value); | ||
@@ -268,8 +258,6 @@ } | ||
transformHasZ = key === TRANSLATE_Z ? true : transformHasZ; | ||
} | ||
else if (isTransformOriginProp(key)) { | ||
} else if (isTransformOriginProp(key)) { | ||
state[key] = value; | ||
hasTransformOrigin = true; | ||
} | ||
else { | ||
} else { | ||
propertyString += styleRule(prefixer(key, true), value); | ||
@@ -279,4 +267,3 @@ } | ||
if (hasTransformOrigin) { | ||
propertyString += styleRule(TRANSFORM_ORIGIN, (state.transformOriginX || 0) + " " + (state.transformOriginY || | ||
0) + " " + (state.transformOriginZ || 0)); | ||
propertyString += styleRule(TRANSFORM_ORIGIN, (state.transformOriginX || 0) + " " + (state.transformOriginY || 0) + " " + (state.transformOriginZ || 0)); | ||
} | ||
@@ -294,29 +281,23 @@ if (hasTransform) { | ||
var SCROLL_TOP = 'scrollTop'; | ||
var scrollValues = new Set([SCROLL_LEFT, SCROLL_TOP]); | ||
var cssStyler = createStyler({ | ||
var scrollValues = /*#__PURE__*/new Set([SCROLL_LEFT, SCROLL_TOP]); | ||
var cssStyler = /*#__PURE__*/createStyler({ | ||
onRead: function (key, _a) { | ||
var element = _a.element, preparseOutput = _a.preparseOutput; | ||
var element = _a.element, | ||
preparseOutput = _a.preparseOutput; | ||
var valueType = getValueType(key); | ||
if (isTransformProp(key)) { | ||
return valueType ? valueType.default || 0 : 0; | ||
} | ||
else if (scrollValues.has(key)) { | ||
} else if (scrollValues.has(key)) { | ||
return element[key]; | ||
} else { | ||
var domValue = window.getComputedStyle(element, null).getPropertyValue(prefixer(key, true)) || 0; | ||
return preparseOutput && valueType && valueType.parse ? valueType.parse(domValue) : domValue; | ||
} | ||
else { | ||
var domValue = window | ||
.getComputedStyle(element, null) | ||
.getPropertyValue(prefixer(key, true)) || 0; | ||
return preparseOutput && valueType && valueType.parse | ||
? valueType.parse(domValue) | ||
: domValue; | ||
} | ||
}, | ||
onRender: function (state, _a, changedValues) { | ||
var element = _a.element, enableHardwareAcceleration = _a.enableHardwareAcceleration; | ||
var element = _a.element, | ||
enableHardwareAcceleration = _a.enableHardwareAcceleration; | ||
element.style.cssText += buildStylePropertyString(state, changedValues, enableHardwareAcceleration, scrollValues); | ||
if (changedValues.indexOf(SCROLL_LEFT) !== -1) | ||
element.scrollLeft = state.scrollLeft; | ||
if (changedValues.indexOf(SCROLL_TOP) !== -1) | ||
element.scrollTop = state.scrollTop; | ||
if (changedValues.indexOf(SCROLL_LEFT) !== -1) element.scrollLeft = state.scrollLeft; | ||
if (changedValues.indexOf(SCROLL_TOP) !== -1) element.scrollTop = state.scrollTop; | ||
}, | ||
@@ -326,9 +307,9 @@ aliasMap: aliasMap, | ||
}); | ||
var css = (function (element, props) { | ||
var css = function (element, props) { | ||
return cssStyler(__assign({ element: element, enableHardwareAcceleration: true, preparseOutput: true }, props)); | ||
}); | ||
}; | ||
var ZERO_NOT_ZERO = 0.0000001; | ||
var percentToPixels = function (percent$$1, length) { | ||
return (percent$$1 / 100) * length + 'px'; | ||
return percent$$1 / 100 * length + 'px'; | ||
}; | ||
@@ -363,11 +344,8 @@ var build = function (state, dimensions, isPath, pathLength) { | ||
hasTransform = true; | ||
} | ||
else if (isPath && (key === 'pathLength' || key === 'pathSpacing') && typeof value === 'number') { | ||
} else if (isPath && (key === 'pathLength' || key === 'pathSpacing') && typeof value === 'number') { | ||
hasDashArray = true; | ||
dashArrayStyles[key] = percentToPixels(value, pathLength); | ||
} | ||
else if (isPath && key === 'pathOffset') { | ||
} else if (isPath && key === 'pathOffset') { | ||
props['stroke-dashoffset'] = percentToPixels(-value, pathLength); | ||
} | ||
else { | ||
} else { | ||
props[camelToDash(key)] = value; | ||
@@ -384,3 +362,3 @@ } | ||
if (transform.hasOwnProperty(key)) { | ||
var defaultValue = (key === 'scale') ? '1' : '0'; | ||
var defaultValue = key === 'scale' ? '1' : '0'; | ||
props.transform += transform[key].replace(/undefined/g, defaultValue); | ||
@@ -403,5 +381,7 @@ } | ||
}; | ||
var getValueType$1 = (function (key) { return valueTypes$1[key]; }); | ||
var getValueType$1 = function (key) { | ||
return valueTypes$1[key]; | ||
}; | ||
var svgStyler = createStyler({ | ||
var svgStyler = /*#__PURE__*/createStyler({ | ||
onRead: function (key, _a) { | ||
@@ -411,4 +391,3 @@ var element = _a.element; | ||
return element.getAttribute(key); | ||
} | ||
else { | ||
} else { | ||
var valueType = getValueType$1(key); | ||
@@ -419,3 +398,6 @@ return valueType ? valueType.default : 0; | ||
onRender: function (state, _a, changedValues) { | ||
var dimensions = _a.dimensions, element = _a.element, isPath = _a.isPath, pathLength = _a.pathLength; | ||
var dimensions = _a.dimensions, | ||
element = _a.element, | ||
isPath = _a.isPath, | ||
pathLength = _a.pathLength; | ||
setDomAttrs(element, build(state, dimensions, isPath, pathLength)); | ||
@@ -429,4 +411,8 @@ }, | ||
}); | ||
var svg = (function (element) { | ||
var _a = element.getBBox(), x = _a.x, y = _a.y, width = _a.width, height = _a.height; | ||
var svg = function (element) { | ||
var _a = element.getBBox(), | ||
x = _a.x, | ||
y = _a.y, | ||
width = _a.width, | ||
height = _a.height; | ||
var props = { | ||
@@ -442,5 +428,5 @@ element: element, | ||
return svgStyler(props); | ||
}); | ||
}; | ||
var viewport = createStyler({ | ||
var viewport = /*#__PURE__*/createStyler({ | ||
useCache: false, | ||
@@ -451,3 +437,6 @@ onRead: function (key) { | ||
onRender: function (_a) { | ||
var _b = _a.scrollTop, scrollTop = _b === void 0 ? 0 : _b, _c = _a.scrollLeft, scrollLeft = _c === void 0 ? 0 : _c; | ||
var _b = _a.scrollTop, | ||
scrollTop = _b === void 0 ? 0 : _b, | ||
_c = _a.scrollLeft, | ||
scrollLeft = _c === void 0 ? 0 : _c; | ||
return window.scrollTo(scrollLeft, scrollTop); | ||
@@ -457,3 +446,3 @@ } | ||
var cache = new WeakMap(); | ||
var cache = /*#__PURE__*/new WeakMap(); | ||
var createDOMStyler = function (node, props) { | ||
@@ -463,7 +452,5 @@ var styler; | ||
styler = css(node, props); | ||
} | ||
else if (node instanceof SVGElement) { | ||
} else if (node instanceof SVGElement) { | ||
styler = svg(node); | ||
} | ||
else if (typeof window !== 'undefined' && node === window) { | ||
} else if (typeof window !== 'undefined' && node === window) { | ||
styler = viewport(node); | ||
@@ -478,6 +465,4 @@ } | ||
}; | ||
function index (nodeOrSelector, props) { | ||
var node = typeof nodeOrSelector === 'string' | ||
? document.querySelector(nodeOrSelector) | ||
: nodeOrSelector; | ||
function index(nodeOrSelector, props) { | ||
var node = typeof nodeOrSelector === 'string' ? document.querySelector(nodeOrSelector) : nodeOrSelector; | ||
return getStyler(node, props); | ||
@@ -484,0 +469,0 @@ } |
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('framesync'), require('style-value-types'), require('hey-listen')) : | ||
typeof define === 'function' && define.amd ? define(['exports', 'framesync', 'style-value-types', 'hey-listen'], factory) : | ||
(factory((global.stylefire = {}),null,global.valueTypes,null)); | ||
}(this, (function (exports,framesync,styleValueTypes,heyListen) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
typeof define === 'function' && define.amd ? define(['exports'], factory) : | ||
(factory((global.stylefire = {}))); | ||
}(this, (function (exports) { 'use strict'; | ||
@@ -30,2 +30,73 @@ /*! ***************************************************************************** | ||
var hasRAF = typeof window !== 'undefined' && window.requestAnimationFrame !== undefined; | ||
var prevTime = 0; | ||
var onNextFrame = hasRAF | ||
? function (callback) { return window.requestAnimationFrame(callback); } | ||
: function (callback) { | ||
var currentTime = Date.now(); | ||
var timeToCall = Math.max(0, 16.7 - (currentTime - prevTime)); | ||
prevTime = currentTime + timeToCall; | ||
setTimeout(function () { return callback(prevTime); }, timeToCall); | ||
}; | ||
function createRenderStep(startRenderLoop) { | ||
var functionsToRun = []; | ||
var functionsToRunNextFrame = []; | ||
var numThisFrame = 0; | ||
var isProcessing = false; | ||
var i = 0; | ||
return { | ||
cancel: function (callback) { | ||
var indexOfCallback = functionsToRunNextFrame.indexOf(callback); | ||
if (indexOfCallback !== -1) { | ||
functionsToRunNextFrame.splice(indexOfCallback, 1); | ||
} | ||
}, | ||
process: function () { | ||
isProcessing = true; | ||
_a = [functionsToRunNextFrame, functionsToRun], functionsToRun = _a[0], functionsToRunNextFrame = _a[1]; | ||
functionsToRunNextFrame.length = 0; | ||
numThisFrame = functionsToRun.length; | ||
for (i = 0; i < numThisFrame; i++) { | ||
functionsToRun[i](); | ||
} | ||
isProcessing = false; | ||
var _a; | ||
}, | ||
schedule: function (callback, immediate) { | ||
if (immediate === void 0) { immediate = false; } | ||
startRenderLoop(); | ||
var addToCurrentBuffer = immediate && isProcessing; | ||
var buffer = addToCurrentBuffer ? functionsToRun : functionsToRunNextFrame; | ||
if (buffer.indexOf(callback) === -1) { | ||
buffer.push(callback); | ||
if (addToCurrentBuffer) { | ||
numThisFrame = functionsToRun.length; | ||
} | ||
} | ||
}, | ||
}; | ||
} | ||
var HAS_PERFORMANCE_NOW = typeof performance !== 'undefined' && performance.now !== undefined; | ||
var willRenderNextFrame = false; | ||
function startRenderLoop() { | ||
if (willRenderNextFrame) | ||
return; | ||
willRenderNextFrame = true; | ||
onNextFrame(processFrame); | ||
} | ||
var frameStart = createRenderStep(startRenderLoop); | ||
var frameUpdate = createRenderStep(startRenderLoop); | ||
var frameRender = createRenderStep(startRenderLoop); | ||
var frameEnd = createRenderStep(startRenderLoop); | ||
function processFrame(framestamp) { | ||
willRenderNextFrame = false; | ||
frameStart.process(); | ||
frameUpdate.process(); | ||
frameRender.process(); | ||
frameEnd.process(); | ||
} | ||
var onFrameRender = frameRender.schedule; | ||
var createStyler = function (_a) { | ||
@@ -47,3 +118,3 @@ var onRead = _a.onRead, onRender = _a.onRender, _b = _a.aliasMap, aliasMap = _b === void 0 ? {} : _b, _c = _a.useCache, useCache = _c === void 0 ? true : _c; | ||
hasChanged = true; | ||
framesync.onFrameRender(render); | ||
onFrameRender(render); | ||
} | ||
@@ -149,43 +220,164 @@ } | ||
const clamp = (min, max) => (v) => Math.max(Math.min(v, max), min); | ||
const contains = (term) => (v) => typeof v === 'string' && v.indexOf(term) !== -1; | ||
const isFirstChars = (term) => (v) => typeof v === 'string' && v.indexOf(term) === 0; | ||
const getValueFromFunctionString = (value) => value.substring(value.indexOf('(') + 1, value.lastIndexOf(')')); | ||
const splitCommaDelimited = (value) => typeof value === 'string' ? value.split(/,\s*/) : [value]; | ||
const number = { | ||
test: (v) => typeof v === 'number', | ||
parse: parseFloat, | ||
transform: (v) => v | ||
}; | ||
const alpha = Object.assign({}, number, { transform: clamp(0, 1) }); | ||
const scale = Object.assign({}, number, { default: 1 }); | ||
const createUnitType = (unit) => { | ||
const containsUnit = contains(unit); | ||
return { | ||
test: (v) => typeof v === 'string' && containsUnit(v) && v.split(' ').length === 1, | ||
parse: parseFloat, | ||
transform: (v) => `${v}${unit}` | ||
}; | ||
}; | ||
const degrees = createUnitType('deg'); | ||
const percent = createUnitType('%'); | ||
const px = createUnitType('px'); | ||
const clampRgbUnit = clamp(0, 255); | ||
const onlyColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))$/i; | ||
const isRgba = (v) => v.red !== undefined; | ||
const isHsla = (v) => v.hue !== undefined; | ||
const splitColorValues = (terms) => { | ||
const numTerms = terms.length; | ||
return (v) => { | ||
if (typeof v !== 'string') | ||
return v; | ||
const values = {}; | ||
const valuesArray = splitCommaDelimited(getValueFromFunctionString(v)); | ||
for (let i = 0; i < numTerms; i++) { | ||
values[terms[i]] = | ||
valuesArray[i] !== undefined ? parseFloat(valuesArray[i]) : 1; | ||
} | ||
return values; | ||
}; | ||
}; | ||
const rgbaTemplate = ({ red, green, blue, alpha$$1 = 1 }) => `rgba(${red}, ${green}, ${blue}, ${alpha$$1})`; | ||
const hslaTemplate = ({ hue, saturation, lightness, alpha$$1 = 1 }) => `hsla(${hue}, ${saturation}, ${lightness}, ${alpha$$1})`; | ||
const rgbUnit = Object.assign({}, number, { transform: (v) => Math.round(clampRgbUnit(v)) }); | ||
const testRgbaString = isFirstChars('rgb'); | ||
const rgba = { | ||
test: v => (typeof v === 'string' ? testRgbaString(v) : isRgba(v)), | ||
parse: splitColorValues(['red', 'green', 'blue', 'alpha']), | ||
transform: ({ red, green, blue, alpha: alpha$$1 }) => rgbaTemplate({ | ||
red: rgbUnit.transform(red), | ||
green: rgbUnit.transform(green), | ||
blue: rgbUnit.transform(blue), | ||
alpha: alpha$$1 | ||
}) | ||
}; | ||
const testHslaString = isFirstChars('hsl'); | ||
const hsla = { | ||
test: v => (typeof v === 'string' ? testHslaString(v) : isHsla(v)), | ||
parse: splitColorValues(['hue', 'saturation', 'lightness', 'alpha']), | ||
transform: ({ hue, saturation, lightness, alpha: alpha$$1 }) => hslaTemplate({ | ||
hue: Math.round(hue), | ||
saturation: percent.transform(saturation), | ||
lightness: percent.transform(lightness), | ||
alpha: alpha$$1 | ||
}) | ||
}; | ||
const hex = Object.assign({}, rgba, { test: isFirstChars('#'), parse: (v) => { | ||
let r = ''; | ||
let g = ''; | ||
let b = ''; | ||
if (v.length > 4) { | ||
r = v.substr(1, 2); | ||
g = v.substr(3, 2); | ||
b = v.substr(5, 2); | ||
} | ||
else { | ||
r = v.substr(1, 1); | ||
g = v.substr(2, 1); | ||
b = v.substr(3, 1); | ||
r += r; | ||
g += g; | ||
b += b; | ||
} | ||
return { | ||
red: parseInt(r, 16), | ||
green: parseInt(g, 16), | ||
blue: parseInt(b, 16), | ||
alpha: 1 | ||
}; | ||
} }); | ||
const color = { | ||
test: (v) => (typeof v === 'string' && onlyColorRegex.test(v)) || | ||
rgba.test(v) || | ||
hsla.test(v) || | ||
hex.test(v), | ||
parse: (v) => { | ||
if (rgba.test(v)) { | ||
return rgba.parse(v); | ||
} | ||
else if (hsla.test(v)) { | ||
return hsla.parse(v); | ||
} | ||
else if (hex.test(v)) { | ||
return hex.parse(v); | ||
} | ||
return v; | ||
}, | ||
transform: (v) => { | ||
if (isRgba(v)) { | ||
return rgba.transform(v); | ||
} | ||
else if (isHsla(v)) { | ||
return hsla.transform(v); | ||
} | ||
return v; | ||
} | ||
}; | ||
var valueTypes = { | ||
color: styleValueTypes.color, | ||
backgroundColor: styleValueTypes.color, | ||
outlineColor: styleValueTypes.color, | ||
fill: styleValueTypes.color, | ||
stroke: styleValueTypes.color, | ||
borderColor: styleValueTypes.color, | ||
borderTopColor: styleValueTypes.color, | ||
borderRightColor: styleValueTypes.color, | ||
borderBottomColor: styleValueTypes.color, | ||
borderLeftColor: styleValueTypes.color, | ||
borderRadius: styleValueTypes.px, | ||
width: styleValueTypes.px, | ||
maxWidth: styleValueTypes.px, | ||
height: styleValueTypes.px, | ||
maxHeight: styleValueTypes.px, | ||
top: styleValueTypes.px, | ||
left: styleValueTypes.px, | ||
bottom: styleValueTypes.px, | ||
right: styleValueTypes.px, | ||
rotate: styleValueTypes.degrees, | ||
rotateX: styleValueTypes.degrees, | ||
rotateY: styleValueTypes.degrees, | ||
rotateZ: styleValueTypes.degrees, | ||
scale: styleValueTypes.scale, | ||
scaleX: styleValueTypes.scale, | ||
scaleY: styleValueTypes.scale, | ||
scaleZ: styleValueTypes.scale, | ||
skewX: styleValueTypes.degrees, | ||
skewY: styleValueTypes.degrees, | ||
distance: styleValueTypes.px, | ||
translateX: styleValueTypes.px, | ||
translateY: styleValueTypes.px, | ||
translateZ: styleValueTypes.px, | ||
perspective: styleValueTypes.px, | ||
opacity: styleValueTypes.alpha, | ||
transformOriginX: styleValueTypes.percent, | ||
transformOriginY: styleValueTypes.percent, | ||
transformOriginZ: styleValueTypes.px | ||
color: color, | ||
backgroundColor: color, | ||
outlineColor: color, | ||
fill: color, | ||
stroke: color, | ||
borderColor: color, | ||
borderTopColor: color, | ||
borderRightColor: color, | ||
borderBottomColor: color, | ||
borderLeftColor: color, | ||
borderRadius: px, | ||
width: px, | ||
maxWidth: px, | ||
height: px, | ||
maxHeight: px, | ||
top: px, | ||
left: px, | ||
bottom: px, | ||
right: px, | ||
rotate: degrees, | ||
rotateX: degrees, | ||
rotateY: degrees, | ||
rotateZ: degrees, | ||
scale: scale, | ||
scaleX: scale, | ||
scaleY: scale, | ||
scaleZ: scale, | ||
skewX: degrees, | ||
skewY: degrees, | ||
distance: px, | ||
translateX: px, | ||
translateY: px, | ||
translateZ: px, | ||
perspective: px, | ||
opacity: alpha, | ||
transformOriginX: percent, | ||
transformOriginY: percent, | ||
transformOriginZ: px | ||
}; | ||
var getValueType = (function (key) { return valueTypes[key]; }); | ||
var getValueType$1 = (function (key) { return valueTypes[key]; }); | ||
@@ -243,3 +435,3 @@ var aliasMap = { | ||
var value = state[key]; | ||
var valueType = getValueType(key); | ||
var valueType = getValueType$1(key); | ||
if (isTransformKey) { | ||
@@ -287,3 +479,3 @@ if ((valueType.default && value !== valueType.default) || | ||
var element = _a.element, preparseOutput = _a.preparseOutput; | ||
var valueType = getValueType(key); | ||
var valueType = getValueType$1(key); | ||
if (isTransformProp(key)) { | ||
@@ -380,12 +572,12 @@ return valueType ? valueType.default || 0 : 0; | ||
var valueTypes$1 = { | ||
fill: styleValueTypes.color, | ||
stroke: styleValueTypes.color, | ||
scale: styleValueTypes.scale, | ||
scaleX: styleValueTypes.scale, | ||
scaleY: styleValueTypes.scale, | ||
opacity: styleValueTypes.alpha, | ||
fillOpacity: styleValueTypes.alpha, | ||
strokeOpacity: styleValueTypes.alpha | ||
fill: color, | ||
stroke: color, | ||
scale: scale, | ||
scaleX: scale, | ||
scaleY: scale, | ||
opacity: alpha, | ||
fillOpacity: alpha, | ||
strokeOpacity: alpha | ||
}; | ||
var getValueType$1 = (function (key) { return valueTypes$1[key]; }); | ||
var getValueType$2 = (function (key) { return valueTypes$1[key]; }); | ||
@@ -399,3 +591,3 @@ var svgStyler = createStyler({ | ||
else { | ||
var valueType = getValueType$1(key); | ||
var valueType = getValueType$2(key); | ||
return valueType ? valueType.default : 0; | ||
@@ -439,2 +631,12 @@ } | ||
var HEY_LISTEN = 'Hey, listen! '; | ||
var invariant = function () { }; | ||
if (process.env.NODE_ENV !== 'production') { | ||
invariant = function (check, message) { | ||
if (!check) { | ||
throw new Error(HEY_LISTEN.toUpperCase() + message); | ||
} | ||
}; | ||
} | ||
var cache = new WeakMap(); | ||
@@ -452,3 +654,3 @@ var createDOMStyler = function (node, props) { | ||
} | ||
heyListen.invariant(styler !== undefined, 'No valid node provided. Node must be HTMLElement, SVGElement or window.'); | ||
invariant(styler !== undefined, 'No valid node provided. Node must be HTMLElement, SVGElement or window.'); | ||
cache.set(node, styler); | ||
@@ -455,0 +657,0 @@ return styler; |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.stylefire={})}(this,function(e){"use strict";var t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r=0,n="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),n=Math.max(0,16.7-(t-r));r=t+n,setTimeout(function(){return e(r)},n)};function o(e){var t=[],r=[],n=0,o=!1,a=0;return{cancel:function(e){var t=r.indexOf(e);-1!==t&&r.splice(t,1)},process:function(){for(o=!0,t=(e=[r,t])[0],(r=e[1]).length=0,n=t.length,a=0;a<n;a++)t[a]();var e;o=!1},schedule:function(a,i){void 0===i&&(i=!1),e();var s=i&&o,u=s?t:r;-1===u.indexOf(a)&&(u.push(a),s&&(n=t.length))}}}"undefined"!=typeof performance&&performance.now;var a=!1;function i(){a||(a=!0,n(l))}var s=o(i),u=o(i),f=o(i),c=o(i);function l(e){a=!1,s.process(),u.process(),f.process(),c.process()}var d,p=f.schedule,h=function(e){var t=e.onRead,r=e.onRender,n=e.aliasMap,o=void 0===n?{}:n,a=e.useCache,i=void 0===a||a;return function(e){var n={},a=[],s=!1,u=function(e,t){var r=o[e]||e,i=n[r];n[r]=t,n[r]!==i&&(-1===a.indexOf(r)&&a.push(r),s||(s=!0,p(f)))};function f(t){return void 0===t&&(t=!1),(t||s)&&(r(n,e,a),s=!1,a.length=0),this}return{get:function(r){var a=o[r]||r;return a?i&&void 0!==n[a]?n[a]:t(a,e):n},set:function(e,t){if("string"==typeof e){if(void 0===t)return function(t){return u(e,t)};u(e,t)}else for(var r in e)e.hasOwnProperty(r)&&u(r,e[r]);return this},render:f}}},v=/([a-z])([A-Z])/g,g=function(e){return e.replace(v,"$1-$2").toLowerCase()},m=new Map,w=new Map,y=["Webkit","Moz","O","ms",""],O=y.length,b=function(e,t){void 0===t&&(t=!1);var r=t?w:m;return r.has(e)||function(e){if("undefined"!=typeof document){d=d||document.createElement("div");for(var t=0;t<O;t++){var r=y[t],n=""===r,o=n?e:r+e.charAt(0).toUpperCase()+e.slice(1);o in d.style&&(m.set(e,o),w.set(e,(n?"":"-")+g(o)))}}}(e),r.get(e)||e},x=["","X","Y","Z"],Y=["translate","scale","rotate","skew","transformPerspective"].reduce(function(e,t){return x.reduce(function(e,r){return e.push(t+r),e},e)},["x","y","z"]),k=Y.reduce(function(e,t){return e[t]=!0,e},{}),X=function(e){return!0===k[e]},L=function(e,t){return Y.indexOf(e)-Y.indexOf(t)},M=function(e){return"transformOriginX"===e||"transformOriginY"===e},C=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},T=function(e,t){return function(r){return Math.max(Math.min(r,t),e)}},P=function(e){return{test:(t=e,function(e){return"string"==typeof e&&-1!==e.indexOf(t)}),parse:parseFloat,transform:function(t){return""+t+e}};var t},Z=function(e){return function(t){return"string"==typeof t&&0===t.indexOf(e)}},R=function(e){return e.substring(e.indexOf("(")+1,e.lastIndexOf(")"))},S=function(e){return"string"==typeof e?e.split(/,\s*/):[e]};function j(e){var t=e.length;return function(r){for(var n={},o=S(R(r)),a=0;a<t;a++)n[e[a]]=void 0!==o[a]?parseFloat(o[a]):1;return n}}var A={test:function(e){return"number"==typeof e},parse:parseFloat,transform:function(e){return e}},E=C({},A,{transform:T(0,1)}),F=P("deg"),H=P("%"),N=P("px"),V=C({},A,{default:1}),z=T(0,255),I=C({},A,{transform:function(e){return Math.round(z(e))}}),q={test:Z("rgb"),parse:j(["red","green","blue","alpha"]),transform:function(e){var t=e.red,r=e.green,n=e.blue,o=e.alpha;return function(e){var t=e.red,r=e.green,n=e.blue,o=e.alpha;return"rgba("+t+", "+r+", "+n+", "+(void 0===o?1:o)+")"}({red:I.transform(t),green:I.transform(r),blue:I.transform(n),alpha:o})}},B={test:Z("hsl"),parse:j(["hue","saturation","lightness","alpha"]),transform:function(e){var t=e.hue,r=e.saturation,n=e.lightness,o=e.alpha;return function(e){var t=e.hue,r=e.saturation,n=e.lightness,o=e.alpha;return"hsla("+t+", "+r+", "+n+", "+(void 0===o?1:o)+")"}({hue:Math.round(t),saturation:H.transform(r),lightness:H.transform(n),alpha:o})}},W=C({},q,{test:Z("#"),parse:function(e){var t,r,n;return e.length>4?(t=e.substr(1,2),r=e.substr(3,2),n=e.substr(5,2)):(t=e.substr(1,1),r=e.substr(2,1),n=e.substr(3,1),t+=t,r+=r,n+=n),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:1}}}),_={test:function(e){return q.test(e)||B.test(e)||W.test(e)},parse:function(e){return q.test(e)?q.parse(e):B.test(e)?B.parse(e):W.test(e)?W.parse(e):e},transform:function(e){return function(e){return void 0!==e.red}(e)?q.transform(e):function(e){return void 0!==e.hue}(e)?B.transform(e):e}},D={color:_,backgroundColor:_,outlineColor:_,fill:_,stroke:_,borderColor:_,borderTopColor:_,borderRightColor:_,borderBottomColor:_,borderLeftColor:_,borderRadius:N,width:N,maxWidth:N,height:N,maxHeight:N,top:N,left:N,bottom:N,right:N,rotate:F,rotateX:F,rotateY:F,rotateZ:F,scale:V,scaleX:V,scaleY:V,scaleZ:V,skewX:F,skewY:F,distance:N,translateX:N,translateY:N,translateZ:N,perspective:N,opacity:E,transformOriginX:H,transformOriginY:H,transformOriginZ:N},G=function(e){return D[e]},U="number",$="object",J="transform-origin",K="transform",Q="translateZ",ee=";transform: none",te=function(e,t){return";"+e+":"+t};function re(e,t,r,n){void 0===t&&(t=!0),void 0===r&&(r=!0);for(var o=!0===t?Object.keys(e):t,a="",i="",s=!1,u=!0,f=!1,c=!1,l=o.length,d=0;d<l;d++){var p=o[d];if(X(p)){for(var h in f=!0,e)X(h)&&-1===o.indexOf(h)&&o.push(h);break}}o.sort(L);var v=o.length;for(d=0;d<v;d++){p=o[d];if(!n.has(p)){var g=X(p),m=e[p],w=G(p);g&&(w.default&&m!==w.default||!w.default&&0!==m)&&(u=!1),w&&(typeof m===U||typeof m===$)&&w.transform&&(m=w.transform(m)),g?(i+=p+"("+m+") ",c=p===Q||c):M(p)?(e[p]=m,s=!0):a+=te(b(p,!0),m)}}return s&&(a+=te(J,(e.transformOriginX||0)+" "+(e.transformOriginY||0)+" "+(e.transformOriginZ||0))),f&&(!c&&r&&(i+=Q+"(0)"),a+=te(K,u?ee:i)),a}var ne=new Set(["scrollLeft","scrollTop"]),oe=h({onRead:function(e,t){var r=t.element,n=t.preparseOutput,o=G(e);if(X(e))return o&&o.default||0;if(ne.has(e))return r[e];var a=window.getComputedStyle(r,null).getPropertyValue(b(e,!0))||0;return n&&o&&o.parse?o.parse(a):a},onRender:function(e,t,r){var n=t.element,o=t.enableHardwareAcceleration;n.style.cssText+=re(e,r,o,ne),-1!==r.indexOf("scrollLeft")&&(n.scrollLeft=e.scrollLeft),-1!==r.indexOf("scrollTop")&&(n.scrollTop=e.scrollTop)},aliasMap:{x:"translateX",y:"translateY",z:"translateZ",originX:"transformOriginX",originY:"transformOriginY",originZ:"transformOriginZ"},uncachedValues:ne}),ae=function(e,t){return e/100*t+"px"},ie={fill:_,stroke:_,scale:V,scaleX:V,scaleY:V,opacity:E,fillOpacity:E,strokeOpacity:E},se=h({onRead:function(e,t){var r=t.element;if(X(e)){var n=function(e){return ie[e]}(e);return n?n.default:0}return r.getAttribute(e)},onRender:function(e,t,r){var n=t.dimensions;!function(e,t){for(var r in t)t.hasOwnProperty(r)&&e.setAttribute(r,t[r])}(t.element,function(e,t,r,n){var o=!1,a=!1,i={},s=r?{pathLength:"0",pathSpacing:""+n}:void 0,u=void 0!==e.scale?e.scale||1e-7:e.scaleX||1,f=void 0!==e.scaleY?e.scaleY||1e-7:u||1,c=t.width*((e.originX||50)/100)+t.x,l=t.height*((e.originY||50)/100)+t.y,d=1*u*-c,p=1*f*-l,h=c/u,v=l/f,m={translate:"translate("+e.translateX+", "+e.translateY+") ",scale:"translate("+d+", "+p+") scale("+u+", "+f+") translate("+h+", "+v+") ",rotate:"rotate("+e.rotate+", "+c+", "+l+") ",skewX:"skewX("+e.skewX+") ",skewY:"skewY("+e.skewY+") "};for(var w in e)if(e.hasOwnProperty(w)){var y=e[w];X(w)?o=!0:!r||"pathLength"!==w&&"pathSpacing"!==w||"number"!=typeof y?r&&"pathOffset"===w?i["stroke-dashoffset"]=ae(-y,n):i[g(w)]=y:(a=!0,s[w]=ae(y,n))}if(a&&(i["stroke-dasharray"]=s.pathLength+" "+s.pathSpacing),o)for(var w in i.transform="",m)if(m.hasOwnProperty(w)){var O="scale"===w?"1":"0";i.transform+=m[w].replace(/undefined/g,O)}return i}(e,n,t.isPath,t.pathLength))},aliasMap:{x:"translateX",y:"translateY",background:"fill"}}),ue=h({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,r=void 0===t?0:t,n=e.scrollLeft,o=void 0===n?0:n;return window.scrollTo(o,r)}}),fe=function(){};"production"!==process.env.NODE_ENV&&(fe=function(e,t){if(!e)throw new Error("Hey, listen! ".toUpperCase()+t)});var ce=new WeakMap,le=function(e,r){var n;return e instanceof HTMLElement?n=function(e,r){return oe(t({element:e,enableHardwareAcceleration:!0,preparseOutput:!0},r))}(e,r):e instanceof SVGElement?n=function(e){var t=e.getBBox(),r={element:e,dimensions:{x:t.x,y:t.y,width:t.width,height:t.height},isPath:!1};return"path"===e.tagName&&(r.isPath=!0,r.pathLength=e.getTotalLength()),se(r)}(e):"undefined"!=typeof window&&e===window&&(n=ue(e)),fe(void 0!==n,"No valid node provided. Node must be HTMLElement, SVGElement or window."),ce.set(e,n),n},de=function(e,t){return ce.has(e)?ce.get(e):le(e,t)};e.default=function(e,t){var r="string"==typeof e?document.querySelector(e):e;return de(r,t)},e.createStylerFactory=h,e.buildStyles=re,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.stylefire={})}(this,function(e){"use strict";var t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r=0,n="undefined"!=typeof window&&void 0!==window.requestAnimationFrame?function(e){return window.requestAnimationFrame(e)}:function(e){var t=Date.now(),n=Math.max(0,16.7-(t-r));r=t+n,setTimeout(function(){return e(r)},n)};function a(e){var t=[],r=[],n=0,a=!1,o=0;return{cancel:function(e){var t=r.indexOf(e);-1!==t&&r.splice(t,1)},process:function(){for(a=!0,t=(e=[r,t])[0],(r=e[1]).length=0,n=t.length,o=0;o<n;o++)t[o]();var e;a=!1},schedule:function(o,s){void 0===s&&(s=!1),e();var i=s&&a,f=i?t:r;-1===f.indexOf(o)&&(f.push(o),i&&(n=t.length))}}}"undefined"!=typeof performance&&performance.now;var o=!1;function s(){o||(o=!0,n(c))}var i=a(s),f=a(s),u=a(s),l=a(s);function c(e){o=!1,i.process(),f.process(),u.process(),l.process()}var p,d=u.schedule,h=function(e){var t=e.onRead,r=e.onRender,n=e.aliasMap,a=void 0===n?{}:n,o=e.useCache,s=void 0===o||o;return function(e){var n={},o=[],i=!1,f=function(e,t){var r=a[e]||e,s=n[r];n[r]=t,n[r]!==s&&(-1===o.indexOf(r)&&o.push(r),i||(i=!0,d(u)))};function u(t){return void 0===t&&(t=!1),(t||i)&&(r(n,e,o),i=!1,o.length=0),this}return{get:function(r){var o=a[r]||r;return o?s&&void 0!==n[o]?n[o]:t(o,e):n},set:function(e,t){if("string"==typeof e){if(void 0===t)return function(t){return f(e,t)};f(e,t)}else for(var r in e)e.hasOwnProperty(r)&&f(r,e[r]);return this},render:u}}},g=/([a-z])([A-Z])/g,m=function(e){return e.replace(g,"$1-$2").toLowerCase()},v=new Map,y=new Map,w=["Webkit","Moz","O","ms",""],b=w.length,O=function(e,t){void 0===t&&(t=!1);var r=t?y:v;return r.has(e)||function(e){if("undefined"!=typeof document){p=p||document.createElement("div");for(var t=0;t<b;t++){var r=w[t],n=""===r,a=n?e:r+e.charAt(0).toUpperCase()+e.slice(1);a in p.style&&(v.set(e,a),y.set(e,(n?"":"-")+m(a)))}}}(e),r.get(e)||e},x=["","X","Y","Z"],Y=["translate","scale","rotate","skew","transformPerspective"].reduce(function(e,t){return x.reduce(function(e,r){return e.push(t+r),e},e)},["x","y","z"]),k=Y.reduce(function(e,t){return e[t]=!0,e},{}),X=function(e){return!0===k[e]},$=function(e,t){return Y.indexOf(e)-Y.indexOf(t)},L=function(e){return"transformOriginX"===e||"transformOriginY"===e};const M=(e,t)=>r=>Math.max(Math.min(r,t),e),C=e=>t=>"string"==typeof t&&0===t.indexOf(e),T={test:e=>"number"==typeof e,parse:parseFloat,transform:e=>e},P=Object.assign({},T,{transform:M(0,1)}),Z=Object.assign({},T,{default:1}),j=e=>{const t=(e=>t=>"string"==typeof t&&-1!==t.indexOf(e))(e);return{test:e=>"string"==typeof e&&t(e)&&1===e.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}},R=j("deg"),S=j("%"),A=j("px"),E=M(0,255),F=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))$/i,H=e=>void 0!==e.red,N=e=>void 0!==e.hue,V=e=>{const t=e.length;return r=>{if("string"!=typeof r)return r;const n={},a=(e=>"string"==typeof e?e.split(/,\s*/):[e])((e=>e.substring(e.indexOf("(")+1,e.lastIndexOf(")")))(r));for(let r=0;r<t;r++)n[e[r]]=void 0!==a[r]?parseFloat(a[r]):1;return n}},z=Object.assign({},T,{transform:e=>Math.round(E(e))}),I=C("rgb"),q={test:e=>"string"==typeof e?I(e):H(e),parse:V(["red","green","blue","alpha"]),transform:({red:e,green:t,blue:r,alpha:n})=>(({red:e,green:t,blue:r,alpha$$1:n=1})=>`rgba(${e}, ${t}, ${r}, ${n})`)({red:z.transform(e),green:z.transform(t),blue:z.transform(r),alpha:n})},B=C("hsl"),W={test:e=>"string"==typeof e?B(e):N(e),parse:V(["hue","saturation","lightness","alpha"]),transform:({hue:e,saturation:t,lightness:r,alpha:n})=>(({hue:e,saturation:t,lightness:r,alpha$$1:n=1})=>`hsla(${e}, ${t}, ${r}, ${n})`)({hue:Math.round(e),saturation:S.transform(t),lightness:S.transform(r),alpha:n})},_=Object.assign({},q,{test:C("#"),parse:e=>{let t="",r="",n="";return e.length>4?(t=e.substr(1,2),r=e.substr(3,2),n=e.substr(5,2)):(t=e.substr(1,1),r=e.substr(2,1),n=e.substr(3,1),t+=t,r+=r,n+=n),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:1}}}),D={test:e=>"string"==typeof e&&F.test(e)||q.test(e)||W.test(e)||_.test(e),parse:e=>q.test(e)?q.parse(e):W.test(e)?W.parse(e):_.test(e)?_.parse(e):e,transform:e=>H(e)?q.transform(e):N(e)?W.transform(e):e};var G={color:D,backgroundColor:D,outlineColor:D,fill:D,stroke:D,borderColor:D,borderTopColor:D,borderRightColor:D,borderBottomColor:D,borderLeftColor:D,borderRadius:A,width:A,maxWidth:A,height:A,maxHeight:A,top:A,left:A,bottom:A,right:A,rotate:R,rotateX:R,rotateY:R,rotateZ:R,scale:Z,scaleX:Z,scaleY:Z,scaleZ:Z,skewX:R,skewY:R,distance:A,translateX:A,translateY:A,translateZ:A,perspective:A,opacity:P,transformOriginX:S,transformOriginY:S,transformOriginZ:A},U=function(e){return G[e]},J="number",K="object",Q="transform-origin",ee="transform",te="translateZ",re=";transform: none",ne=function(e,t){return";"+e+":"+t};function ae(e,t,r,n){void 0===t&&(t=!0),void 0===r&&(r=!0);for(var a=!0===t?Object.keys(e):t,o="",s="",i=!1,f=!0,u=!1,l=!1,c=a.length,p=0;p<c;p++){var d=a[p];if(X(d)){for(var h in u=!0,e)X(h)&&-1===a.indexOf(h)&&a.push(h);break}}a.sort($);var g=a.length;for(p=0;p<g;p++){d=a[p];if(!n.has(d)){var m=X(d),v=e[d],y=U(d);m&&(y.default&&v!==y.default||!y.default&&0!==v)&&(f=!1),y&&(typeof v===J||typeof v===K)&&y.transform&&(v=y.transform(v)),m?(s+=d+"("+v+") ",l=d===te||l):L(d)?(e[d]=v,i=!0):o+=ne(O(d,!0),v)}}return i&&(o+=ne(Q,(e.transformOriginX||0)+" "+(e.transformOriginY||0)+" "+(e.transformOriginZ||0))),u&&(!l&&r&&(s+=te+"(0)"),o+=ne(ee,f?re:s)),o}var oe=new Set(["scrollLeft","scrollTop"]),se=h({onRead:function(e,t){var r=t.element,n=t.preparseOutput,a=U(e);if(X(e))return a&&a.default||0;if(oe.has(e))return r[e];var o=window.getComputedStyle(r,null).getPropertyValue(O(e,!0))||0;return n&&a&&a.parse?a.parse(o):o},onRender:function(e,t,r){var n=t.element,a=t.enableHardwareAcceleration;n.style.cssText+=ae(e,r,a,oe),-1!==r.indexOf("scrollLeft")&&(n.scrollLeft=e.scrollLeft),-1!==r.indexOf("scrollTop")&&(n.scrollTop=e.scrollTop)},aliasMap:{x:"translateX",y:"translateY",z:"translateZ",originX:"transformOriginX",originY:"transformOriginY",originZ:"transformOriginZ"},uncachedValues:oe}),ie=function(e,t){return e/100*t+"px"},fe={fill:D,stroke:D,scale:Z,scaleX:Z,scaleY:Z,opacity:P,fillOpacity:P,strokeOpacity:P},ue=h({onRead:function(e,t){var r=t.element;if(X(e)){var n=function(e){return fe[e]}(e);return n?n.default:0}return r.getAttribute(e)},onRender:function(e,t,r){var n=t.dimensions;!function(e,t){for(var r in t)t.hasOwnProperty(r)&&e.setAttribute(r,t[r])}(t.element,function(e,t,r,n){var a=!1,o=!1,s={},i=r?{pathLength:"0",pathSpacing:""+n}:void 0,f=void 0!==e.scale?e.scale||1e-7:e.scaleX||1,u=void 0!==e.scaleY?e.scaleY||1e-7:f||1,l=t.width*((e.originX||50)/100)+t.x,c=t.height*((e.originY||50)/100)+t.y,p=1*f*-l,d=1*u*-c,h=l/f,g=c/u,v={translate:"translate("+e.translateX+", "+e.translateY+") ",scale:"translate("+p+", "+d+") scale("+f+", "+u+") translate("+h+", "+g+") ",rotate:"rotate("+e.rotate+", "+l+", "+c+") ",skewX:"skewX("+e.skewX+") ",skewY:"skewY("+e.skewY+") "};for(var y in e)if(e.hasOwnProperty(y)){var w=e[y];X(y)?a=!0:!r||"pathLength"!==y&&"pathSpacing"!==y||"number"!=typeof w?r&&"pathOffset"===y?s["stroke-dashoffset"]=ie(-w,n):s[m(y)]=w:(o=!0,i[y]=ie(w,n))}if(o&&(s["stroke-dasharray"]=i.pathLength+" "+i.pathSpacing),a)for(var y in s.transform="",v)if(v.hasOwnProperty(y)){var b="scale"===y?"1":"0";s.transform+=v[y].replace(/undefined/g,b)}return s}(e,n,t.isPath,t.pathLength))},aliasMap:{x:"translateX",y:"translateY",background:"fill"}}),le=h({useCache:!1,onRead:function(e){return"scrollTop"===e?window.pageYOffset:window.pageXOffset},onRender:function(e){var t=e.scrollTop,r=void 0===t?0:t,n=e.scrollLeft,a=void 0===n?0:n;return window.scrollTo(a,r)}}),ce=function(){};"production"!==process.env.NODE_ENV&&(ce=function(e,t){if(!e)throw new Error("Hey, listen! ".toUpperCase()+t)});var pe=new WeakMap,de=function(e,r){var n;return e instanceof HTMLElement?n=function(e,r){return se(t({element:e,enableHardwareAcceleration:!0,preparseOutput:!0},r))}(e,r):e instanceof SVGElement?n=function(e){var t=e.getBBox(),r={element:e,dimensions:{x:t.x,y:t.y,width:t.width,height:t.height},isPath:!1};return"path"===e.tagName&&(r.isPath=!0,r.pathLength=e.getTotalLength()),ue(r)}(e):"undefined"!=typeof window&&e===window&&(n=le(e)),ce(void 0!==n,"No valid node provided. Node must be HTMLElement, SVGElement or window."),pe.set(e,n),n},he=function(e,t){return pe.has(e)?pe.get(e):de(e,t)};e.default=function(e,t){var r="string"==typeof e?document.querySelector(e):e;return he(r,t)},e.createStylerFactory=h,e.buildStyles=ae,Object.defineProperty(e,"__esModule",{value:!0})}); |
import { Styler } from '../styler/types'; | ||
declare const _default: (element: HTMLElement, props?: { | ||
declare type Props = { | ||
enableHardwareAcceleration?: boolean; | ||
preparseOutput?: boolean; | ||
}) => Styler; | ||
}; | ||
declare const _default: (element: HTMLElement, props?: Props) => Styler; | ||
export default _default; |
@@ -7,27 +7,5 @@ 'use strict'; | ||
var styleValueTypes = require('style-value-types'); | ||
var tslib_1 = require('tslib'); | ||
var heyListen = require('hey-listen'); | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
var __assign = Object.assign || function __assign(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
var createStyler = function (_a) { | ||
@@ -314,3 +292,3 @@ var onRead = _a.onRead, onRender = _a.onRender, _b = _a.aliasMap, aliasMap = _b === void 0 ? {} : _b, _c = _a.useCache, useCache = _c === void 0 ? true : _c; | ||
var css = (function (element, props) { | ||
return cssStyler(__assign({ element: element, enableHardwareAcceleration: true, preparseOutput: true }, props)); | ||
return cssStyler(tslib_1.__assign({ element: element, enableHardwareAcceleration: true, preparseOutput: true }, props)); | ||
}); | ||
@@ -317,0 +295,0 @@ |
import { Styler } from '../styler/types'; | ||
export { Styler }; | ||
declare const _default: (props?: { | ||
[key: string]: any; | ||
}) => Styler; | ||
declare const _default: (props?: import("styler/types").Props) => Styler; | ||
export default _default; |
{ | ||
"name": "stylefire", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "Performant, simplified stylers for CSS, SVG, path and DOM scroll.", | ||
@@ -15,2 +15,3 @@ "main": "lib/index.js", | ||
"build": "rollup -c", | ||
"postbuild": "babel $npm_package_module --out-file $npm_package_module --no-babelrc --plugins annotate-pure-calls", | ||
"watch": "rollup -c -w", | ||
@@ -20,3 +21,3 @@ "lint": "tslint -c tslint.json 'src/**/*.{ts}'", | ||
"measure": "gzip -c dist/stylefire.min.js | wc -c", | ||
"prepublishOnly": "npm run lint && npm run build" | ||
"prepublishOnly": "yarn build" | ||
}, | ||
@@ -42,3 +43,7 @@ "repository": { | ||
"devDependencies": { | ||
"babel-cli": "^6.26.0", | ||
"babel-core": "^6.26.3", | ||
"babel-plugin-annotate-pure-calls": "^0.2.2", | ||
"jest": "^20.0.4", | ||
"rollup": "^0.59.1", | ||
"rollup-plugin-node-resolve": "^3.3.0", | ||
@@ -48,3 +53,4 @@ "rollup-plugin-typescript2": "^0.14.0", | ||
"ts-jest": "^20.0.10", | ||
"typescript": "^2.4.2", | ||
"typescript": "^2.9.2", | ||
"uglify-js": "^3.3.25", | ||
"webpack": "^3.0.0" | ||
@@ -66,3 +72,4 @@ }, | ||
"hey-listen": "^1.0.4", | ||
"style-value-types": "^1.0.6" | ||
"style-value-types": "2.0.1", | ||
"tslib": "^1.9.1" | ||
}, | ||
@@ -69,0 +76,0 @@ "unpkg": "./dist/stylefire.min.js", |
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
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
78327
1625
4
12
+ Addedtslib@^1.9.1
+ Addedstyle-value-types@2.0.1(transitive)
+ Addedtslib@1.14.1(transitive)
- Removedstyle-value-types@1.0.10(transitive)
Updatedstyle-value-types@2.0.1