fela-font-renderer
Advanced tools
Comparing version 4.1.0 to 4.1.1
@@ -196,2 +196,7 @@ (function (global, factory) { | ||
/* weak */ | ||
function isChildSelector(property) { | ||
return property.charAt(0) === '>'; | ||
} | ||
/* weak */ | ||
function isMediaQuery(property) { | ||
@@ -201,2 +206,6 @@ return property.substr(0, 6) === '@media'; | ||
function isUndefinedValue(value) { | ||
return value === undefined || typeof value === 'string' && value.indexOf('undefined') > -1; | ||
} | ||
/* weak */ | ||
@@ -287,3 +296,3 @@ function applyMediaRulesInOrder(order) { | ||
if (value instanceof Object) { | ||
if (isPseudoSelector(property) || isAttributeSelector(property)) { | ||
if (isPseudoSelector(property) || isAttributeSelector(property) || isChildSelector(property)) { | ||
classNames += renderer._renderStyleToClassNames(value, pseudo + property, media); | ||
@@ -297,7 +306,14 @@ } else if (isMediaQuery(property)) { | ||
} else { | ||
var delcarationReference = media + pseudo + property + value; | ||
if (!renderer.cache[delcarationReference]) { | ||
var declarationReference = media + pseudo + property + value; | ||
if (!renderer.cache[declarationReference]) { | ||
// we remove undefined values to enable | ||
// usage of optional props without side-effects | ||
if (isUndefinedValue(value)) { | ||
renderer.cache[declarationReference] = ''; | ||
continue; | ||
} | ||
var className = generateClassName(++renderer.uniqueRuleIdentifier); | ||
renderer.cache[delcarationReference] = className; | ||
renderer.cache[declarationReference] = className; | ||
@@ -325,3 +341,3 @@ var cssDeclaration = generateCSSDeclaration(property, value); | ||
classNames += ' ' + renderer.cache[delcarationReference]; | ||
classNames += ' ' + renderer.cache[declarationReference]; | ||
} | ||
@@ -328,0 +344,0 @@ } |
@@ -1,1 +0,1 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("hyphenate-style-name")):"function"==typeof define&&define.amd?define(["hyphenate-style-name"],n):e.FelaFontRenderer=n(e.hyphenateStyleName)}(this,function(e){"use strict";function n(n,r){return e(n)+":"+r}function r(e){var r="";for(var t in e)r&&(r+=";"),r+=n(t,e[t]);return r}function t(e){return"@font-face{"+r(e)+"}"}function i(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],i=Object.keys(e).reduce(function(n,t){return n+t+"{"+r(e[t])+"}"},"");return t.reduce(function(e,r){return e+"@"+r+"keyframes "+n+"{"+i+"}"},"")}function o(e,n){return"@media "+e+"{"+n+"}"}function u(e){return"k"+e}function a(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e<=52?_[e-1]+n:a(e/52|0,_[e%52]+n)}function f(e,n){return 0===e.length?n:e+" and "+n}function c(e,n){return e+"{"+n+"}"}function s(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"."+e+n}function l(e){return e.replace(/\s{2,}/g,"")}function d(e,n,r){for(var t=0;t<n.length;++t)e=n[t](e,r);return e}function y(e,n){if("string"==typeof e)return l(e);var t=d(e,n,N);return r(t)}function m(e,n){return"string"==typeof e?e:n+JSON.stringify(e)}function h(e){return"["===e.charAt(0)}function v(e){return":"===e.charAt(0)}function p(e){return"@media"===e.substr(0,6)}function g(e){for(var n={},r=0,t=e.length;r<t;++r)n[e[r]]="";return n}function b(e){return'"'===e.charAt(0)?e:'"'+e+'"'}function S(e){for(var n=0,r=A.length;n<r;++n){var t=A[n];if(e.indexOf(t)!==-1)return q[t]}}function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={listeners:[],keyframePrefixes:e.keyframePrefixes||["-webkit-","-moz-"],plugins:e.plugins||[],mediaQueryOrder:e.mediaQueryOrder||[],clear:function(){r.fontFaces="",r.keyframes="",r.statics="",r.rules="",r.mediaRules=g(r.mediaQueryOrder),r.rendered=[],r.uniqueRuleIdentifier=0,r.uniqueKeyframeIdentifier=0,r.cache={},r._emitChange({type:P})},renderRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=d(e(n),r.plugins,T);return r._renderStyleToClassNames(t).slice(1)},_renderStyleToClassNames:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o="";for(var u in e){var l=e[u];if(l instanceof Object){if(v(u)||h(u))o+=r._renderStyleToClassNames(l,t+u,i);else if(p(u)){var d=f(i,u.slice(6).trim());o+=r._renderStyleToClassNames(l,t,d)}}else{var y=i+t+u+l;if(!r.cache[y]){var m=a(++r.uniqueRuleIdentifier);r.cache[y]=m;var g=n(u,l),b=s(m,t),S=c(b,g);i?(r.mediaRules.hasOwnProperty(i)||(r.mediaRules[i]=""),r.mediaRules[i]+=S):r.rules+=S,r._emitChange({selector:b,declaration:g,media:i,type:T})}o+=" "+r.cache[y]}}return o},renderKeyframe:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e(n),o=JSON.stringify(t);if(!r.cache[o]){var a=u(++r.uniqueKeyframeIdentifier),f=d(t,r.plugins,j),c=i(f,a,r.keyframePrefixes);r.cache[o]=a,r.keyframes+=c,r._emitChange({name:a,keyframe:c,type:j})}return r.cache[o]},renderFont:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=e+JSON.stringify(i);if(!r.cache[o]){var u=b(e),a=F.extends({},i,{src:n.map(function(e){return"url('"+e+"') format('"+S(e)+"')"}).join(","),fontFamily:u}),f=t(a);r.cache[o]=u,r.fontFaces+=f,r._emitChange({fontFamily:u,fontFace:f,type:w})}return r.cache[o]},renderStatic:function(e,n){var t=m(e,n);if(!r.cache[t]){var i=y(e,r.plugins);r.cache[t]=!0,"string"==typeof e?(r.statics+=i,r._emitChange({type:N,css:i})):(r.statics+=c(n,i),r._emitChange({selector:n,declaration:i,type:T,media:""}))}},renderToString:function(){var e=r.fontFaces+r.statics+r.keyframes+r.rules;for(var n in r.mediaRules)e+=o(n,r.mediaRules[n]);return e},subscribe:function(e){return r.listeners.push(e),{unsubscribe:function(){return r.listeners.splice(r.listeners.indexOf(e),1)}}},_emitChange:function(e){for(var n=0,t=r.listeners.length;n<t;++n)r.listeners[n](e)}};if(r.keyframePrefixes.push(""),r.clear(),e.enhancers)for(var l=0,O=e.enhancers.length;l<O;++l)r=e.enhancers[l](r);return r}function R(e,n){return function(r){r.type!==T||r.media?n.textContent=e.renderToString():n.sheet.insertRule(r.selector+"{"+r.declaration+"}",n.sheet.cssRules.length)}}function C(e){return e&&1===e.nodeType}function k(e,n){if(!C(n))throw new Error("You need to specify a valid element node (nodeType = 1) to render into.");n.setAttribute("data-fela-stylesheet","");var r=R(e,n);e.subscribe(r);var t=e.renderToString();n.textContent!==t&&(n.textContent=t)}function x(e,n){return e.fontRenderer=O(),n&&k(e.fontRenderer,n),e.renderFont=function(n,r,t){return e.fontRenderer.renderFont(n,r,t)},e}e="default"in e?e.default:e;var F={};F.typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F.defineProperty=function(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e},F.extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e};var _="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",T=1,j=2,w=3,N=4,P=5,q={".woff":"woff",".eot":"eot",".ttf":"truetype",".svg":"svg"},A=Object.keys(q),I=function(e){return function(n){return x(n,e)}};return I}); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("hyphenate-style-name")):"function"==typeof define&&define.amd?define(["hyphenate-style-name"],n):e.FelaFontRenderer=n(e.hyphenateStyleName)}(this,function(e){"use strict";function n(n,r){return e(n)+":"+r}function r(e){var r="";for(var t in e)r&&(r+=";"),r+=n(t,e[t]);return r}function t(e){return"@font-face{"+r(e)+"}"}function i(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],i=Object.keys(e).reduce(function(n,t){return n+t+"{"+r(e[t])+"}"},"");return t.reduce(function(e,r){return e+"@"+r+"keyframes "+n+"{"+i+"}"},"")}function o(e,n){return"@media "+e+"{"+n+"}"}function u(e){return"k"+e}function a(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e<=52?j[e-1]+n:a(e/52|0,j[e%52]+n)}function f(e,n){return 0===e.length?n:e+" and "+n}function c(e,n){return e+"{"+n+"}"}function s(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"."+e+n}function l(e){return e.replace(/\s{2,}/g,"")}function d(e,n,r){for(var t=0;t<n.length;++t)e=n[t](e,r);return e}function y(e,n){if("string"==typeof e)return l(e);var t=d(e,n,q);return r(t)}function h(e,n){return"string"==typeof e?e:n+JSON.stringify(e)}function m(e){return"["===e.charAt(0)}function v(e){return":"===e.charAt(0)}function p(e){return">"===e.charAt(0)}function g(e){return"@media"===e.substr(0,6)}function b(e){return void 0===e||"string"==typeof e&&e.indexOf("undefined")>-1}function O(e){for(var n={},r=0,t=e.length;r<t;++r)n[e[r]]="";return n}function S(e){return'"'===e.charAt(0)?e:'"'+e+'"'}function R(e){for(var n=0,r=J.length;n<r;++n){var t=J[n];if(e.indexOf(t)!==-1)return I[t]}}function x(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={listeners:[],keyframePrefixes:e.keyframePrefixes||["-webkit-","-moz-"],plugins:e.plugins||[],mediaQueryOrder:e.mediaQueryOrder||[],clear:function(){r.fontFaces="",r.keyframes="",r.statics="",r.rules="",r.mediaRules=O(r.mediaQueryOrder),r.rendered=[],r.uniqueRuleIdentifier=0,r.uniqueKeyframeIdentifier=0,r.cache={},r._emitChange({type:A})},renderRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=d(e(n),r.plugins,w);return r._renderStyleToClassNames(t).slice(1)},_renderStyleToClassNames:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o="";for(var u in e){var l=e[u];if(l instanceof Object){if(v(u)||m(u)||p(u))o+=r._renderStyleToClassNames(l,t+u,i);else if(g(u)){var d=f(i,u.slice(6).trim());o+=r._renderStyleToClassNames(l,t,d)}}else{var y=i+t+u+l;if(!r.cache[y]){if(b(l)){r.cache[y]="";continue}var h=a(++r.uniqueRuleIdentifier);r.cache[y]=h;var O=n(u,l),S=s(h,t),R=c(S,O);i?(r.mediaRules.hasOwnProperty(i)||(r.mediaRules[i]=""),r.mediaRules[i]+=R):r.rules+=R,r._emitChange({selector:S,declaration:O,media:i,type:w})}o+=" "+r.cache[y]}}return o},renderKeyframe:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e(n),o=JSON.stringify(t);if(!r.cache[o]){var a=u(++r.uniqueKeyframeIdentifier),f=d(t,r.plugins,N),c=i(f,a,r.keyframePrefixes);r.cache[o]=a,r.keyframes+=c,r._emitChange({name:a,keyframe:c,type:N})}return r.cache[o]},renderFont:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=e+JSON.stringify(i);if(!r.cache[o]){var u=S(e),a=T.extends({},i,{src:n.map(function(e){return"url('"+e+"') format('"+R(e)+"')"}).join(","),fontFamily:u}),f=t(a);r.cache[o]=u,r.fontFaces+=f,r._emitChange({fontFamily:u,fontFace:f,type:P})}return r.cache[o]},renderStatic:function(e,n){var t=h(e,n);if(!r.cache[t]){var i=y(e,r.plugins);r.cache[t]=!0,"string"==typeof e?(r.statics+=i,r._emitChange({type:q,css:i})):(r.statics+=c(n,i),r._emitChange({selector:n,declaration:i,type:w,media:""}))}},renderToString:function(){var e=r.fontFaces+r.statics+r.keyframes+r.rules;for(var n in r.mediaRules)e+=o(n,r.mediaRules[n]);return e},subscribe:function(e){return r.listeners.push(e),{unsubscribe:function(){return r.listeners.splice(r.listeners.indexOf(e),1)}}},_emitChange:function(e){for(var n=0,t=r.listeners.length;n<t;++n)r.listeners[n](e)}};if(r.keyframePrefixes.push(""),r.clear(),e.enhancers)for(var l=0,x=e.enhancers.length;l<x;++l)r=e.enhancers[l](r);return r}function C(e,n){return function(r){r.type!==w||r.media?n.textContent=e.renderToString():n.sheet.insertRule(r.selector+"{"+r.declaration+"}",n.sheet.cssRules.length)}}function k(e){return e&&1===e.nodeType}function F(e,n){if(!k(n))throw new Error("You need to specify a valid element node (nodeType = 1) to render into.");n.setAttribute("data-fela-stylesheet","");var r=C(e,n);e.subscribe(r);var t=e.renderToString();n.textContent!==t&&(n.textContent=t)}function _(e,n){return e.fontRenderer=x(),n&&F(e.fontRenderer,n),e.renderFont=function(n,r,t){return e.fontRenderer.renderFont(n,r,t)},e}e="default"in e?e.default:e;var T={};T.typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T.defineProperty=function(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e},T.extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e};var j="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",w=1,N=2,P=3,q=4,A=5,I={".woff":"woff",".eot":"eot",".ttf":"truetype",".svg":"svg"},J=Object.keys(I),K=function(e){return function(n){return _(n,e)}};return K}); |
{ | ||
"name": "fela-font-renderer", | ||
"version": "4.1.0", | ||
"version": "4.1.1", | ||
"description": "Fela enhancer to render fonts into a separate stylesheet", | ||
@@ -24,4 +24,4 @@ "main": "index.js", | ||
"peerDependencies": { | ||
"fela": "4.1.0" | ||
"fela": "4.1.1" | ||
} | ||
} |
# fela-font-renderer | ||
<img alt="npm downloads" src="https://img.shields.io/npm/dm/fela-font-renderer.svg"> | ||
<img alt="gzipped size" src="https://img.shields.io/badge/gzipped-2.16kb-brightgreen.svg"> | ||
<img alt="gzipped size" src="https://img.shields.io/badge/gzipped-2.21kb-brightgreen.svg"> | ||
@@ -16,5 +16,5 @@ Allocates all `renderFont` calls to a separate renderer which renders into a separate `mountNode` to prevent refetching the `@font-face` every time. | ||
<!-- Fela (Development): Unminified version including all warnings --> | ||
<script src="https://unpkg.com/fela-font-renderer@4.1.0/dist/fela-font-renderer.js"></script> | ||
<script src="https://unpkg.com/fela-font-renderer@4.1.1/dist/fela-font-renderer.js"></script> | ||
<!-- Fela (Production): Minified version --> | ||
<script src="https://unpkg.com/fela-font-renderer@4.1.0/dist/fela-font-renderer.min.js"></script> | ||
<script src="https://unpkg.com/fela-font-renderer@4.1.1/dist/fela-font-renderer.min.js"></script> | ||
``` | ||
@@ -21,0 +21,0 @@ |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
59002
421
0