fela-font-renderer
Advanced tools
Comparing version 4.3.2 to 4.3.3
@@ -224,2 +224,6 @@ (function (global, factory) { | ||
function isBase64(property) { | ||
return property.indexOf('data:') !== -1; | ||
} | ||
var formats = { | ||
@@ -232,3 +236,19 @@ '.woff': 'woff', | ||
var base64Formats = { | ||
'image/svg+xml': 'svg', | ||
'application/x-font-woff': 'woff', | ||
'application/font-woff': 'woff', | ||
'application/x-font-woff2': 'woff2', | ||
'application/font-woff2': 'woff2', | ||
'font/woff2': 'woff2', | ||
'application/octet-stream': 'ttf', | ||
'application/x-font-ttf': 'ttf', | ||
'application/x-font-truetype': 'ttf', | ||
'application/x-font-opentype': 'otf', | ||
'application/vnd.ms-fontobject': 'eot', | ||
'application/font-sfnt': 'sfnt' | ||
}; | ||
var extensions = Object.keys(formats); | ||
var base64MimeTypes = Object.keys(base64Formats); | ||
@@ -243,6 +263,25 @@ function checkFontFormat(src) { | ||
warning$1(true, 'A invalid font-format was used in "' + src + '". Use one of these: ' + Object.keys(formats).join(', ') + '.'); | ||
if (isBase64(src)) { | ||
for (var _i = 0, _len = base64MimeTypes.length; _i < _len; ++_i) { | ||
var mimeType = base64MimeTypes[_i]; | ||
if (src.indexOf(mimeType) !== -1) { | ||
return base64Formats[mimeType]; | ||
} | ||
} | ||
warning$1(true, 'A invalid base64 font was used. Please use one of the following mime type: ' + Object.keys(base64Formats).join(', ') + '.'); | ||
} else { | ||
warning$1(true, 'A invalid font-format was used in "' + src + '". Use one of these: ' + Object.keys(formats).join(', ') + '.'); | ||
} | ||
return ''; | ||
} | ||
function checkFontUrl(src) { | ||
if (isBase64(src)) { | ||
return src; | ||
} | ||
return '\'' + src + '\''; | ||
} | ||
function arrayEach(array, iterator) { | ||
@@ -319,3 +358,3 @@ for (var i = 0, len = array.length; i < len; ++i) { | ||
src: files.map(function (src) { | ||
return 'url(\'' + src + '\') format(\'' + checkFontFormat(src) + '\')'; | ||
return 'url(' + checkFontUrl(src) + ') format(\'' + checkFontFormat(src) + '\')'; | ||
}).join(','), | ||
@@ -322,0 +361,0 @@ fontFamily: fontFamily |
@@ -1,1 +0,1 @@ | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("css-in-js-utils/lib/cssifyDeclaration"),require("css-in-js-utils/lib/cssifyObject")):"function"==typeof define&&define.amd?define(["css-in-js-utils/lib/cssifyDeclaration","css-in-js-utils/lib/cssifyObject"],n):e.FelaFontRenderer=n(e.cssifyDeclaration,e.cssifyObject)}(this,function(e,n){"use strict";function t(e){return"@font-face{"+n(e)+"}"}function r(e,n,t){for(var r=0,i=e.length;r<i;++r)t=n(t,e[r]);return t}function i(e,n,t){for(var r in e)t=n(t,e[r],r);return t}function u(e,t){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],o=i(e,function(e,t,r){return""+e+r+"{"+n(t)+"}"},"");return r(u,function(e,n){return e+"@"+n+"keyframes "+t+"{"+o+"}"},"")}function o(e,n){return n?"@media "+e+"{"+n+"}":""}function f(e){return"k"+e}function s(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e<=N?T[e-1]+n:s(e/N|0,T[e%N]+n)}function c(e,n){return 0===e.length?n:e+" and "+n}function a(e,n){return e+"{"+n+"}"}function l(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"."+e+n}function d(e){return e.replace(/\s{2,}/g,"")}function y(e,n,t){return e.length>0?r(e,function(e,n){return e=n(e,t)},n):n}function m(e,t){if("string"==typeof e)return d(e);var r=y(t,e,Q);return n(r)}function h(e,n){return"string"==typeof e?e:n?n+JSON.stringify(e):""}function p(e){return"@media"===e.substr(0,6)}function v(e){return J.test(e)}function g(e){return void 0===e||"string"==typeof e&&e.indexOf("undefined")!==-1}function b(e){return"object"===("undefined"==typeof e?"undefined":q.typeof(e))&&!Array.isArray(e)}function O(e){return"&"===e.charAt(0)?e.slice(1):e}function x(e){return r(e,function(e,n){return e[n]="",e},{})}function R(e){return'"'===e.charAt(0)?e:'"'+e+'"'}function S(e){for(var n=0,t=E.length;n<t;++n){var r=E[n];if(e.indexOf(r)!==-1)return z[r]}return""}function j(e,n){for(var t=0,r=e.length;t<r;++t)n(e[t],t)}function P(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={listeners:[],keyframePrefixes:n.keyframePrefixes||["-webkit-","-moz-"],plugins:n.plugins||[],mediaQueryOrder:n.mediaQueryOrder||[],selectorPrefix:n.selectorPrefix||"",fontFaces:"",keyframes:"",statics:"",rules:"",mediaRules:x(n.mediaQueryOrder||[]),uniqueRuleIdentifier:0,uniqueKeyframeIdentifier:0,cache:{},renderRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=y(r.plugins,e(n),I);return r._renderStyleToClassNames(t).slice(1)},renderKeyframe:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e(n),i=JSON.stringify(t);if(!r.cache.hasOwnProperty(i)){var o=f(++r.uniqueKeyframeIdentifier),s=y(r.plugins,t,A),c=u(s,o,r.keyframePrefixes);r.cache[i]=o,r.keyframes+=c,r._emitChange({name:o,keyframe:c,type:A})}return r.cache[i]},renderFont:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=e+JSON.stringify(i);if(!r.cache.hasOwnProperty(u)){var o=R(e),f=q.extends({},i,{src:n.map(function(e){return"url('"+e+"') format('"+S(e)+"')"}).join(","),fontFamily:o}),s=t(f);r.cache[u]=o,r.fontFaces+=s,r._emitChange({fontFamily:o,fontFace:s,type:K})}return r.cache[u]},renderStatic:function(e,n){var t=h(e,n);if(!r.cache.hasOwnProperty(t)){var i=m(e,r.plugins);r.cache[t]="","string"==typeof e?(r.statics+=i,r._emitChange({type:Q,css:i})):n&&(r.statics+=a(n,i),r._emitChange({selector:n,declaration:i,type:I,static:!0,media:""}))}},renderToString:function(){var e=r.fontFaces+r.statics+r.keyframes+r.rules;return i(r.mediaRules,function(e,n,t){return e+o(t,n)},e)},subscribe:function(e){return r.listeners.push(e),{unsubscribe:function(){return r.listeners.splice(r.listeners.indexOf(e),1)}}},clear:function(){r.fontFaces="",r.keyframes="",r.statics="",r.rules="",r.mediaRules=x(r.mediaQueryOrder),r.uniqueRuleIdentifier=0,r.uniqueKeyframeIdentifier=0,r.cache={},r._emitChange({type:D})},_renderStyleToClassNames:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",u="";for(var o in n){var f=n[o];if(b(f)){if(v(o))u+=r._renderStyleToClassNames(f,t+O(o),i);else if(p(o)){var d=c(i,o.slice(6).trim());u+=r._renderStyleToClassNames(f,t,d)}}else{var y=i+t+o+f;if(!r.cache.hasOwnProperty(y)){if(g(f)){r.cache[y]="";continue}var m=r.selectorPrefix+s(++r.uniqueRuleIdentifier);r.cache[y]=m;var h=e(o,f),x=l(m,t),R=a(x,h);i.length>0?(r.mediaRules.hasOwnProperty(i)||(r.mediaRules[i]=""),r.mediaRules[i]+=R):r.rules+=R,r._emitChange({selector:x,declaration:h,media:i,type:I})}u+=" "+r.cache[y]}}return u},_emitChange:function(e){j(r.listeners,function(n){return n(e)})}};return r.keyframePrefixes.push(""),r.clear(),n.enhancers&&j(n.enhancers,function(e){r=e(r)}),r}function k(e,n){return function(t){if(t.type!==I||t.media)n.textContent=e.renderToString();else try{n.sheet.insertRule(t.selector+"{"+t.declaration+"}",n.sheet.cssRules.length)}catch(e){}}}function C(e){return e&&1===e.nodeType}function w(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 t=k(e,n);e.subscribe(t);var r=e.renderToString();n.textContent!==r&&(n.textContent=r)}function F(e,n){return e.fontRenderer=P(),n&&w(e.fontRenderer,n),e.renderFont=function(n,t,r){return e.fontRenderer.renderFont(n,t,r)},e}function _(e){return function(n){return F(n,e)}}e="default"in e?e.default:e,n="default"in n?n.default:n;var q={};q.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},q.defineProperty=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},q.extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e};var T="abcdefghijklmnopqrstuvwxyz",N=T.length,I=1,A=2,K=3,Q=4,D=5,J=/^(:|\[|>|&)/,z={".woff":"woff",".eot":"eot",".ttf":"truetype",".svg":"svg"},E=Object.keys(z);return _}); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("css-in-js-utils/lib/cssifyDeclaration"),require("css-in-js-utils/lib/cssifyObject")):"function"==typeof define&&define.amd?define(["css-in-js-utils/lib/cssifyDeclaration","css-in-js-utils/lib/cssifyObject"],n):e.FelaFontRenderer=n(e.cssifyDeclaration,e.cssifyObject)}(this,function(e,n){"use strict";function t(e){return"@font-face{"+n(e)+"}"}function r(e,n,t){for(var r=0,i=e.length;r<i;++r)t=n(t,e[r]);return t}function i(e,n,t){for(var r in e)t=n(t,e[r],r);return t}function o(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[""],f=i(e,function(e,t,r){return""+e+r+"{"+n(t)+"}"},"");return r(o,function(e,n){return e+"@"+n+"keyframes "+t+"{"+f+"}"},"")}function f(e,n){return n?"@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<=A?I[e-1]+n:a(e/A|0,I[e%A]+n)}function c(e,n){return 0===e.length?n:e+" and "+n}function s(e,n){return e+"{"+n+"}"}function l(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"."+e+n}function d(e){return e.replace(/\s{2,}/g,"")}function y(e,n,t){return e.length>0?r(e,function(e,n){return e=n(e,t)},n):n}function p(e,t){if("string"==typeof e)return d(e);var r=y(t,e,J);return n(r)}function m(e,n){return"string"==typeof e?e:n?n+JSON.stringify(e):""}function h(e){return"@media"===e.substr(0,6)}function v(e){return E.test(e)}function g(e){return void 0===e||"string"==typeof e&&e.indexOf("undefined")!==-1}function b(e){return"object"===("undefined"==typeof e?"undefined":N.typeof(e))&&!Array.isArray(e)}function x(e){return"&"===e.charAt(0)?e.slice(1):e}function O(e){return r(e,function(e,n){return e[n]="",e},{})}function w(e){return'"'===e.charAt(0)?e:'"'+e+'"'}function j(e){return e.indexOf("data:")!==-1}function R(e){for(var n=0,t=G.length;n<t;++n){var r=G[n];if(e.indexOf(r)!==-1)return Y[r]}if(j(e))for(var i=0,o=H.length;i<o;++i){var f=H[i];if(e.indexOf(f)!==-1)return B[f]}return""}function S(e){return j(e)?e:"'"+e+"'"}function k(e,n){for(var t=0,r=e.length;t<r;++t)n(e[t],t)}function P(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={listeners:[],keyframePrefixes:n.keyframePrefixes||["-webkit-","-moz-"],plugins:n.plugins||[],mediaQueryOrder:n.mediaQueryOrder||[],selectorPrefix:n.selectorPrefix||"",fontFaces:"",keyframes:"",statics:"",rules:"",mediaRules:O(n.mediaQueryOrder||[]),uniqueRuleIdentifier:0,uniqueKeyframeIdentifier:0,cache:{},renderRule:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=y(r.plugins,e(n),K);return r._renderStyleToClassNames(t).slice(1)},renderKeyframe:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e(n),i=JSON.stringify(t);if(!r.cache.hasOwnProperty(i)){var f=u(++r.uniqueKeyframeIdentifier),a=y(r.plugins,t,Q),c=o(a,f,r.keyframePrefixes);r.cache[i]=f,r.keyframes+=c,r._emitChange({name:f,keyframe:c,type:Q})}return r.cache[i]},renderFont:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=e+JSON.stringify(i);if(!r.cache.hasOwnProperty(o)){var f=w(e),u=N.extends({},i,{src:n.map(function(e){return"url("+S(e)+") format('"+R(e)+"')"}).join(","),fontFamily:f}),a=t(u);r.cache[o]=f,r.fontFaces+=a,r._emitChange({fontFamily:f,fontFace:a,type:D})}return r.cache[o]},renderStatic:function(e,n){var t=m(e,n);if(!r.cache.hasOwnProperty(t)){var i=p(e,r.plugins);r.cache[t]="","string"==typeof e?(r.statics+=i,r._emitChange({type:J,css:i})):n&&(r.statics+=s(n,i),r._emitChange({selector:n,declaration:i,type:K,static:!0,media:""}))}},renderToString:function(){var e=r.fontFaces+r.statics+r.keyframes+r.rules;return i(r.mediaRules,function(e,n,t){return e+f(t,n)},e)},subscribe:function(e){return r.listeners.push(e),{unsubscribe:function(){return r.listeners.splice(r.listeners.indexOf(e),1)}}},clear:function(){r.fontFaces="",r.keyframes="",r.statics="",r.rules="",r.mediaRules=O(r.mediaQueryOrder),r.uniqueRuleIdentifier=0,r.uniqueKeyframeIdentifier=0,r.cache={},r._emitChange({type:z})},_renderStyleToClassNames:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o="";for(var f in n){var u=n[f];if(b(u)){if(v(f))o+=r._renderStyleToClassNames(u,t+x(f),i);else if(h(f)){var d=c(i,f.slice(6).trim());o+=r._renderStyleToClassNames(u,t,d)}}else{var y=i+t+f+u;if(!r.cache.hasOwnProperty(y)){if(g(u)){r.cache[y]="";continue}var p=r.selectorPrefix+a(++r.uniqueRuleIdentifier);r.cache[y]=p;var m=e(f,u),O=l(p,t),w=s(O,m);i.length>0?(r.mediaRules.hasOwnProperty(i)||(r.mediaRules[i]=""),r.mediaRules[i]+=w):r.rules+=w,r._emitChange({selector:O,declaration:m,media:i,type:K})}o+=" "+r.cache[y]}}return o},_emitChange:function(e){k(r.listeners,function(n){return n(e)})}};return r.keyframePrefixes.push(""),r.clear(),n.enhancers&&k(n.enhancers,function(e){r=e(r)}),r}function C(e,n){return function(t){if(t.type!==K||t.media)n.textContent=e.renderToString();else try{n.sheet.insertRule(t.selector+"{"+t.declaration+"}",n.sheet.cssRules.length)}catch(e){}}}function F(e){return e&&1===e.nodeType}function _(e,n){if(!F(n))throw new Error("You need to specify a valid element node (nodeType = 1) to render into.");n.setAttribute("data-fela-stylesheet","");var t=C(e,n);e.subscribe(t);var r=e.renderToString();n.textContent!==r&&(n.textContent=r)}function q(e,n){return e.fontRenderer=P(),n&&_(e.fontRenderer,n),e.renderFont=function(n,t,r){return e.fontRenderer.renderFont(n,t,r)},e}function T(e){return function(n){return q(n,e)}}e="default"in e?e.default:e,n="default"in n?n.default:n;var N={};N.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},N.defineProperty=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},N.extends=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e};var I="abcdefghijklmnopqrstuvwxyz",A=I.length,K=1,Q=2,D=3,J=4,z=5,E=/^(:|\[|>|&)/,Y={".woff":"woff",".eot":"eot",".ttf":"truetype",".svg":"svg"},B={"image/svg+xml":"svg","application/x-font-woff":"woff","application/font-woff":"woff","application/x-font-woff2":"woff2","application/font-woff2":"woff2","font/woff2":"woff2","application/octet-stream":"ttf","application/x-font-ttf":"ttf","application/x-font-truetype":"ttf","application/x-font-opentype":"otf","application/vnd.ms-fontobject":"eot","application/font-sfnt":"sfnt"},G=Object.keys(Y),H=Object.keys(B);return T}); |
{ | ||
"name": "fela-font-renderer", | ||
"version": "4.3.2", | ||
"version": "4.3.3", | ||
"description": "Fela enhancer to render fonts into a separate stylesheet", | ||
@@ -25,4 +25,4 @@ "module": "index.es2015.js", | ||
"peerDependencies": { | ||
"fela": "4.3.2" | ||
"fela": "4.3.3" | ||
} | ||
} |
# 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.31kb-brightgreen.svg"> | ||
<img alt="gzipped size" src="https://img.shields.io/badge/gzipped-2.47kb-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.3.2/dist/fela-font-renderer.js"></script> | ||
<script src="https://unpkg.com/fela-font-renderer@4.3.3/dist/fela-font-renderer.js"></script> | ||
<!-- Fela (Production): Minified version --> | ||
<script src="https://unpkg.com/fela-font-renderer@4.3.2/dist/fela-font-renderer.min.js"></script> | ||
<script src="https://unpkg.com/fela-font-renderer@4.3.3/dist/fela-font-renderer.min.js"></script> | ||
``` | ||
@@ -21,0 +21,0 @@ |
Sorry, the diff of this file is not supported yet
67422
462