diff --git a/CHANGELOG.md b/CHANGELOG.md index 12f1ef8..82eb96a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [2.4.0](https://github.com/nuxt/vue-meta/compare/v2.3.4...v2.4.0) (2020-06-10) + + +### Features + +* add support for global inject options ([#568](https://github.com/nuxt/vue-meta/issues/568)) ([8b02eb2](https://github.com/nuxt/vue-meta/commit/8b02eb2ac6693b07caeb76efab106af1d4b92988)) + ### [2.3.4](https://github.com/nuxt/vue-meta/compare/v2.3.3...v2.3.4) (2020-05-26) diff --git a/dist/vue-meta.common.js b/dist/vue-meta.common.js index b59ec24..a0b93d1 100644 --- a/dist/vue-meta.common.js +++ b/dist/vue-meta.common.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -14,7 +14,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau var deepmerge = _interopDefault(require('deepmerge')); -var version = "2.3.4"; +var version = "2.4.0"; function _typeof(obj) { "@babel/helpers - typeof"; @@ -114,9 +114,12 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _createForOfIteratorHelper(o) { +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; var i = 0; var F = function () {}; @@ -142,8 +145,7 @@ function _createForOfIteratorHelper(o) { throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - var it, - normalCompletion = true, + var normalCompletion = true, didErr = false, err; return { @@ -1629,10 +1631,12 @@ function refresh(rootVm, options) { * @return {Object} - the attribute generator */ -function attributeGenerator(options, type, data, addSrrAttribute) { - var _ref = options || {}, - attribute = _ref.attribute, - ssrAttribute = _ref.ssrAttribute; +function attributeGenerator(options, type, data, _ref) { + var addSsrAttribute = _ref.addSsrAttribute; + + var _ref2 = options || {}, + attribute = _ref2.attribute, + ssrAttribute = _ref2.ssrAttribute; var attributeStr = ''; @@ -1654,7 +1658,7 @@ function attributeGenerator(options, type, data, addSrrAttribute) { attributeStr += "".concat(attribute, "=\"").concat(encodeURI(JSON.stringify(data)), "\""); } - if (type === 'htmlAttrs' && addSrrAttribute) { + if (type === 'htmlAttrs' && addSsrAttribute) { return "".concat(ssrAttribute).concat(attributeStr ? ' ' : '').concat(attributeStr); } @@ -1695,6 +1699,8 @@ function tagGenerator(options, type, tags, generatorOptions) { var _ref2 = generatorOptions || {}, appId = _ref2.appId, + _ref2$isSSR = _ref2.isSSR, + isSSR = _ref2$isSSR === void 0 ? true : _ref2$isSSR, _ref2$body = _ref2.body, body = _ref2$body === void 0 ? false : _ref2$body, _ref2$pbody = _ref2.pbody, @@ -1724,7 +1730,7 @@ function tagGenerator(options, type, tags, generatorOptions) { return tagsStr; } - var attrs = tag.once ? '' : " ".concat(attribute, "=\"").concat(appId || ssrAppId, "\""); // build a string containing all attributes of this tag + var attrs = tag.once ? '' : " ".concat(attribute, "=\"").concat(appId || (isSSR === false ? '1' : ssrAppId), "\""); // build a string containing all attributes of this tag for (var attr in tag) { // these attributes are treated as children on the tag @@ -1779,7 +1785,7 @@ function tagGenerator(options, type, tags, generatorOptions) { * @return {Object} - the new injector */ -function generateServerInjector(options, metaInfo) { +function generateServerInjector(options, metaInfo, globalInjectOptions) { var serverInjector = { data: metaInfo, extraData: undefined, @@ -1790,25 +1796,25 @@ function generateServerInjector(options, metaInfo) { callInjectors: function callInjectors(opts) { var m = this.injectors; // only call title for the head - return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts); + return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.base.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts); }, injectors: { head: function head(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln - }); + })); }, bodyPrepend: function bodyPrepend(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln, pbody: true - }); + })); }, bodyAppend: function bodyAppend(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln, body: true - }); + })); } } }; @@ -1819,9 +1825,14 @@ function generateServerInjector(options, metaInfo) { } serverInjector.injectors[type] = { - text: function text(arg) { + text: function text(injectOptions) { + var addSsrAttribute = injectOptions === true; + injectOptions = _objectSpread2(_objectSpread2({ + addSsrAttribute: addSsrAttribute + }, globalInjectOptions), injectOptions); + if (type === 'title') { - return titleGenerator(options, type, serverInjector.data[type], arg); + return titleGenerator(options, type, serverInjector.data[type], injectOptions); } if (metaInfoAttributeKeys.includes(type)) { @@ -1829,34 +1840,36 @@ function generateServerInjector(options, metaInfo) { var data = serverInjector.data[type]; if (data) { + var appId = injectOptions.isSSR === false ? '1' : options.ssrAppId; + for (var attr in data) { - attributeData[attr] = _defineProperty({}, options.ssrAppId, data[attr]); + attributeData[attr] = _defineProperty({}, appId, data[attr]); } } if (serverInjector.extraData) { - for (var appId in serverInjector.extraData) { - var _data = serverInjector.extraData[appId][type]; + for (var _appId in serverInjector.extraData) { + var _data = serverInjector.extraData[_appId][type]; if (_data) { for (var _attr in _data) { - attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, appId, _data[_attr])); + attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, _appId, _data[_attr])); } } } } - return attributeGenerator(options, type, attributeData, arg); + return attributeGenerator(options, type, attributeData, injectOptions); } - var str = tagGenerator(options, type, serverInjector.data[type], arg); + var str = tagGenerator(options, type, serverInjector.data[type], injectOptions); if (serverInjector.extraData) { - for (var _appId in serverInjector.extraData) { - var _data2 = serverInjector.extraData[_appId][type]; + for (var _appId2 in serverInjector.extraData) { + var _data2 = serverInjector.extraData[_appId2][type]; var extraStr = tagGenerator(options, type, _data2, _objectSpread2({ - appId: _appId - }, arg)); + appId: _appId2 + }, injectOptions)); str = "".concat(str).concat(extraStr); } } @@ -1883,7 +1896,7 @@ function generateServerInjector(options, metaInfo) { * @return {Object} - server meta info with `toString` methods */ -function inject(rootVm, options) { +function inject(rootVm, options, injectOptions) { // make sure vue-meta was initiated if (!rootVm[rootConfigKey]) { showWarningNotSupported(); @@ -1894,7 +1907,7 @@ function inject(rootVm, options) { var rawInfo = getComponentMetaInfo(options, rootVm); var metaInfo = getMetaInfo(options, rawInfo, serverSequences, rootVm); // generate server injector - var serverInjector = generateServerInjector(options, metaInfo); // add meta info from additional apps + var serverInjector = generateServerInjector(options, metaInfo, injectOptions); // add meta info from additional apps var appsMetaInfo = getAppsMetaInfo(); @@ -1950,8 +1963,8 @@ function $meta(options) { refresh: function refresh$1() { return refresh($root, options); }, - inject: function inject$1() { - return inject($root, options) ; + inject: function inject$1(injectOptions) { + return inject($root, options, injectOptions) ; }, pause: function pause$1() { return pause($root); diff --git a/dist/vue-meta.esm.browser.js b/dist/vue-meta.esm.browser.js index bf3ceac..481bb85 100644 --- a/dist/vue-meta.esm.browser.js +++ b/dist/vue-meta.esm.browser.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -10,7 +10,7 @@ import deepmerge from 'deepmerge'; -var version = "2.3.4"; +var version = "2.4.0"; function _typeof(obj) { "@babel/helpers - typeof"; @@ -45,9 +45,12 @@ function _arrayLikeToArray(arr, len) { return arr2; } -function _createForOfIteratorHelper(o) { +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; var i = 0; var F = function () {}; @@ -73,8 +76,7 @@ function _createForOfIteratorHelper(o) { throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - var it, - normalCompletion = true, + var normalCompletion = true, didErr = false, err; return { @@ -1587,7 +1589,7 @@ function $meta(options) { refresh: function refresh$1() { return refresh($root, options); }, - inject: function inject() { + inject: function inject(injectOptions) { return showWarningNotSupportedInBrowserBundle('inject'); }, pause: function pause$1() { diff --git a/dist/vue-meta.esm.browser.min.js b/dist/vue-meta.esm.browser.min.js index 4ea9729..1a38009 100644 --- a/dist/vue-meta.esm.browser.min.js +++ b/dist/vue-meta.esm.browser.min.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -7,4 +7,4 @@ * - All the amazing contributors * @license MIT */ -import n from"deepmerge";function t(n){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function e(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[t++]}},e:function(n){throw n},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,a=!0,u=!1;return{s:function(){i=n[Symbol.iterator]()},n:function(){var n=i.next();return a=n.done,n},e:function(n){u=!0,o=n},f:function(){try{a||null==i.return||i.return()}finally{if(u)throw o}}}}function i(n){return Array.isArray(n)}function o(n){return void 0===n}function a(n){return"object"===t(n)}function u(n){return"object"===t(n)&&null!==n}function f(n){return"function"==typeof n}var c=(function(){try{return!o(window)}catch(n){return!1}}()?window:global).console||{};function s(n){c&&c.warn&&c.warn(n)}var d=function(n){return s("".concat(n," is not supported in browser builds"))},l={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},v="metaInfo",m="data-vue-meta",h="data-vue-meta-server-rendered",p="vmid",y="content",b="template",g=!0,w=10,A="ssr",I=Object.keys(l),T=[I[12],I[13]],N=[I[1],I[2],"changed"].concat(T),O=[I[3],I[4],I[5]],S=["link","style","script"],k=["once","skip","template"],M=["body","pbody"],j=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],K=null;function _(n,t,e){var r=n.t;t._vueMeta.i||!t._vueMeta.o&&"watcher"!==e||(t._vueMeta.i=null),t._vueMeta.i&&!t._vueMeta.u&&function(n,t){if(!(t=void 0===t?10:t))return void n();clearTimeout(K),K=setTimeout((function(){n()}),t)}((function(){t.$meta().refresh()}),r)}function D(n,t,e){if(!Array.prototype.findIndex){for(var r=0;r/g,">"],[/"/g,'"'],[/'/g,"'"]];function q(n,t,e){e=e||[];var r={T:function(n){return e.reduce((function(n,t){return n.replace(t[0],t[1])}),n)}};return T.forEach((function(n,e){if(0===e)R(t,n);else if(1===e)for(var i in t[n])R(t[n],i);r[n]=t[n]})),function n(t,e,r,o){var a=e.m,f=r.T,c=void 0===f?function(n){return n}:f,s={};for(var d in t){var l=t[d];if(V(N,d))s[d]=l;else{var v=T[0];if(r[v]&&V(r[v],d))s[d]=l;else{var m=t[a];if(m&&(v=T[1],r[v]&&r[v][m]&&V(r[v][m],d)))s[d]=l;else if("string"==typeof l?s[d]=c(l):i(l)?s[d]=l.map((function(t){return u(t)?n(t,e,r,!0):c(t)})):u(l)?s[d]=n(l,e,r,!0):s[d]=l,o){var h=c(d);d!==h&&(s[h]=s[d],delete s[d])}}}}return s}(t,n,r)}function F(n,t,e,r){var i=n.component,a=n.k,u=n.M;return!0!==e&&!0!==t[a]&&(o(e)&&t[a]&&(e=t[a],t[a]=!0),e?(o(r)&&(r=t[u]),t[u]=f(e)?e.call(i,r):e.replace(/%s/g,r),!0):(delete t[a],!1))}var G=!1;function Q(t,e,r){return r=r||{},void 0===e.title&&delete e.title,O.forEach((function(n){if(e[n])for(var t in e[n])t in e[n]&&void 0===e[n][t]&&(V(j,t)&&!G&&(s("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),G=!0),delete e[n][t])})),n(t,e,{S:function(n,t){return function(n,t,e){var r=n.component,i=n.m,o=n.k,a=n.M,u=[];return t.length||e.length?(t.forEach((function(n,t){if(n[i]){var f=D(e,(function(t){return t[i]===n[i]})),c=e[f];if(-1!==f){if(a in c&&void 0===c[a]||"innerHTML"in c&&void 0===c.innerHTML)return u.push(n),void e.splice(f,1);if(null!==c[a]&&null!==c.innerHTML){var s=n[o];if(s){if(!c[o])return F({component:r,k:o,M:a},c,s),void(c.template=!0);c[a]||F({component:r,k:o,M:a},c,void 0,n[a])}}else e.splice(f,1)}else u.push(n)}else u.push(n)})),u.concat(e)):u}(r,n,t)}})}function X(n,t){return function n(t,e,r){if(r=r||{},e._inactive)return r;var i=(t=t||{}).A,u=e.$metaInfo,f=e.$options,c=e.$children;if(f[i]){var s=u||f[i];a(s)&&(r=Q(r,s,t))}c.length&&c.forEach((function(e){(function(n){return(n=n||this)&&!o(n._vueMeta)})(e)&&(r=n(t,e,r))}));return r}(n||{},t,l)}var Y=[];function Z(n,t,e,r){var i=n.m,o=!1;return e.forEach((function(n){n[i]&&n.callback&&(o=!0,function(n,t){1===arguments.length&&(t=n,n=""),Y.push([n,t])}("".concat(t,"[data-").concat(i,'="').concat(n[i],'"]'),n.callback))})),r&&o?nn():o}function nn(){var n;"complete"!==(n||document).readyState?document.onreadystatechange=function(){tn()}:tn()}function tn(n){Y.forEach((function(t){var e=t[0],r=t[1],i="".concat(e,'[onload="this.__vm_l=1"]'),o=[];n||(o=x(z(i))),n&&n.matches(i)&&(o=[n]),o.forEach((function(n){if(!n.__vm_cb){var t=function(){n.__vm_cb=!0,W(n,"onload"),r(n)};n.__vm_l?t():n.__vm_ev||(n.__vm_ev=!0,n.addEventListener("load",t))}}))}))}var en,rn={};function on(n,t,e,r,i){var o=(t||{}).v,a=i.getAttribute(o);a&&(rn[e]=JSON.parse(decodeURI(a)),W(i,o));var u=rn[e]||{},f=[];for(var c in u)void 0!==u[c]&&n in u[c]&&(f.push(c),r[c]||delete u[c][n]);for(var s in r){var d=u[s];d&&d[n]===r[s]||(f.push(s),void 0!==r[s]&&(u[s]=u[s]||{},u[s][n]=r[s]))}for(var l=0,v=f;l1){var v=[];r=r.filter((function(n){var t=JSON.stringify(n),e=!V(v,t);return v.push(t),e}))}r.forEach((function(t){if(!t.skip){var r=document.createElement(e);t.once||r.setAttribute(u,n),Object.keys(t).forEach((function(n){if(!V(k,n))if("innerHTML"!==n)if("json"!==n)if("cssText"!==n)if("callback"!==n){var e=V(c,n)?"data-".concat(n):n,i=V(j,n);if(!i||t[n]){var o=i?"":t[n];r.setAttribute(e,o)}}else r.onload=function(){return t[n](r)};else r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else r.innerHTML=JSON.stringify(t.json);else r.innerHTML=t.innerHTML}));var i,o=l[function(n){var t=n.body,e=n.pbody;return t?"body":e?"pbody":"head"}(t)];o.some((function(n,t){return i=t,r.isEqualNode(n)}))&&(i||0===i)?o.splice(i,1):s.push(r)}}));var m=[];for(var h in l)Array.prototype.push.apply(m,l[h]);return m.forEach((function(n){n.parentNode.removeChild(n)})),s.forEach((function(n){n.hasAttribute("data-body")?o.appendChild(n):n.hasAttribute("data-pbody")?o.insertBefore(n,o.firstChild):i.appendChild(n)})),{oldTags:m,newTags:s}}function un(n,t,e){var r=t=t||{},o=r.g,a=r.j,u={},f=C(u,"html");if(n===a&&f.hasAttribute(o)){W(f,o);var c=!1;return S.forEach((function(n){e[n]&&Z(t,n,e[n])&&(c=!0)})),c&&nn(),!1}var s,d={},l={};for(var v in e)if(!V(N,v))if("title"!==v){if(V(O,v)){var m=v.substr(0,4);on(n,t,v,e[v],C(u,m))}else if(i(e[v])){var h=an(n,t,v,e[v],C(u,"head"),C(u,"body")),p=h.oldTags,y=h.newTags;y.length&&(d[v]=y,l[v]=p)}}else((s=e.title)||""===s)&&(document.title=s);return{D:d,K:l}}function fn(n,t,e){return{set:function(r){return function(n,t,e,r){if(n&&n.$el)return un(t,e,r);(en=en||{})[t]=r}(n,t,e,r)},remove:function(){return function(n,t,e){if(n&&n.$el){var i,o={},a=r(O);try{for(a.s();!(i=a.n()).done;){var u=i.value,f=u.substr(0,4);on(t,e,u,{},C(o,f))}}catch(n){a.e(n)}finally{a.f()}return function(n,t){var e=n.v;x(z("[".concat(e,'="').concat(t,'"]'))).map((function(n){return n.remove()}))}(e,t)}en[t]&&(delete en[t],sn())}(n,t,e)}}}function cn(){return en}function sn(n){!n&&Object.keys(en).length||(en=void 0)}function dn(n,t){if(t=t||{},!n._vueMeta)return s("This vue app/component has no vue-meta configuration"),{};var e=function(n,t,e,r){e=e||[];var i=(n=n||{}).m;return t.title&&(t.titleChunk=t.title),t.titleTemplate&&"%s"!==t.titleTemplate&&F({component:r,M:"title"},t,t.titleTemplate,t.titleChunk||""),t.base&&(t.base=Object.keys(t.base).length?[t.base]:[]),t.meta&&(t.meta=t.meta.filter((function(n,t,e){return!n[i]||t===D(e,(function(t){return t[i]===n[i]}))})),t.meta.forEach((function(t){return F(n,t)}))),q(n,t,e)}(t,X(t,n),U,n),r=un(n._vueMeta.l,t,e);r&&f(e.changed)&&(e.changed(e,r.D,r.K),r={addedTags:r.D,removedTags:r.K});var i=cn();if(i){for(var o in i)un(o,t,i[o]),delete i[o];sn(!0)}return{vm:n,metaInfo:e,tags:r}}function ln(n){n=n||{};var t=this.$root;return{getOptions:function(){return function(n){var t={};for(var e in n)t[e]=n[e];return t}(n)},setOptions:function(e){e&&e.I&&(n.I=!!e.I,H(t));if(e&&"debounceWait"in e){var r=parseInt(e.t);isNaN(r)||(n.t=r)}e&&"waitOnDestroyed"in e&&(n.O=!!e.O)},refresh:function(){return dn(t,n)},inject:function(){return d("inject")},pause:function(){return B(t)},resume:function(){return E(t)},addApp:function(e){return fn(t,e,n)}}}function vn(n,t){n.__vuemeta_installed||(n.__vuemeta_installed=!0,t=function(n){return{A:(n=a(n)?n:{}).keyName||v,v:n.attribute||m,g:n.ssrAttribute||h,m:n.tagIDKeyName||p,M:n.contentKeyName||y,k:n.metaTemplateKeyName||b,t:o(n.debounceWait)?w:n.debounceWait,O:o(n.waitOnDestroyed)?g:n.waitOnDestroyed,j:n.ssrAppId||A,I:!!n.refreshOnceOnNavigation}}(t),n.prototype.$meta=function(){return ln.call(this,t)},n.mixin(P(n,t)))}o(window)||o(window.Vue)||vn(window.Vue);var mn={version:"2.3.4",install:vn,generate:function(n,t){return d("generate")},hasMetaInfo:$};export default mn; +import n from"deepmerge";function t(n){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function e(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,f=!1;return{s:function(){r=n[Symbol.iterator]()},n:function(){var n=r.next();return u=n.done,n},e:function(n){f=!0,a=n},f:function(){try{u||null==r.return||r.return()}finally{if(f)throw a}}}}function i(n){return Array.isArray(n)}function o(n){return void 0===n}function a(n){return"object"===t(n)}function u(n){return"object"===t(n)&&null!==n}function f(n){return"function"==typeof n}var c=(function(){try{return!o(window)}catch(n){return!1}}()?window:global).console||{};function s(n){c&&c.warn&&c.warn(n)}var d=function(n){return s("".concat(n," is not supported in browser builds"))},l={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},v="metaInfo",m="data-vue-meta",h="data-vue-meta-server-rendered",p="vmid",y="content",b="template",g=!0,w=10,A="ssr",I=Object.keys(l),T=[I[12],I[13]],N=[I[1],I[2],"changed"].concat(T),O=[I[3],I[4],I[5]],S=["link","style","script"],k=["once","skip","template"],M=["body","pbody"],j=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],K=null;function _(n,t,e){var r=n.t;t._vueMeta.i||!t._vueMeta.o&&"watcher"!==e||(t._vueMeta.i=null),t._vueMeta.i&&!t._vueMeta.u&&function(n,t){if(!(t=void 0===t?10:t))return void n();clearTimeout(K),K=setTimeout((function(){n()}),t)}((function(){t.$meta().refresh()}),r)}function D(n,t,e){if(!Array.prototype.findIndex){for(var r=0;r/g,">"],[/"/g,'"'],[/'/g,"'"]];function q(n,t,e){e=e||[];var r={T:function(n){return e.reduce((function(n,t){return n.replace(t[0],t[1])}),n)}};return T.forEach((function(n,e){if(0===e)R(t,n);else if(1===e)for(var i in t[n])R(t[n],i);r[n]=t[n]})),function n(t,e,r,o){var a=e.m,f=r.T,c=void 0===f?function(n){return n}:f,s={};for(var d in t){var l=t[d];if(V(N,d))s[d]=l;else{var v=T[0];if(r[v]&&V(r[v],d))s[d]=l;else{var m=t[a];if(m&&(v=T[1],r[v]&&r[v][m]&&V(r[v][m],d)))s[d]=l;else if("string"==typeof l?s[d]=c(l):i(l)?s[d]=l.map((function(t){return u(t)?n(t,e,r,!0):c(t)})):u(l)?s[d]=n(l,e,r,!0):s[d]=l,o){var h=c(d);d!==h&&(s[h]=s[d],delete s[d])}}}}return s}(t,n,r)}function F(n,t,e,r){var i=n.component,a=n.k,u=n.M;return!0!==e&&!0!==t[a]&&(o(e)&&t[a]&&(e=t[a],t[a]=!0),e?(o(r)&&(r=t[u]),t[u]=f(e)?e.call(i,r):e.replace(/%s/g,r),!0):(delete t[a],!1))}var G=!1;function Q(t,e,r){return r=r||{},void 0===e.title&&delete e.title,O.forEach((function(n){if(e[n])for(var t in e[n])t in e[n]&&void 0===e[n][t]&&(V(j,t)&&!G&&(s("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),G=!0),delete e[n][t])})),n(t,e,{S:function(n,t){return function(n,t,e){var r=n.component,i=n.m,o=n.k,a=n.M,u=[];return t.length||e.length?(t.forEach((function(n,t){if(n[i]){var f=D(e,(function(t){return t[i]===n[i]})),c=e[f];if(-1!==f){if(a in c&&void 0===c[a]||"innerHTML"in c&&void 0===c.innerHTML)return u.push(n),void e.splice(f,1);if(null!==c[a]&&null!==c.innerHTML){var s=n[o];if(s){if(!c[o])return F({component:r,k:o,M:a},c,s),void(c.template=!0);c[a]||F({component:r,k:o,M:a},c,void 0,n[a])}}else e.splice(f,1)}else u.push(n)}else u.push(n)})),u.concat(e)):u}(r,n,t)}})}function X(n,t){return function n(t,e,r){if(r=r||{},e._inactive)return r;var i=(t=t||{}).A,u=e.$metaInfo,f=e.$options,c=e.$children;if(f[i]){var s=u||f[i];a(s)&&(r=Q(r,s,t))}c.length&&c.forEach((function(e){(function(n){return(n=n||this)&&!o(n._vueMeta)})(e)&&(r=n(t,e,r))}));return r}(n||{},t,l)}var Y=[];function Z(n,t,e,r){var i=n.m,o=!1;return e.forEach((function(n){n[i]&&n.callback&&(o=!0,function(n,t){1===arguments.length&&(t=n,n=""),Y.push([n,t])}("".concat(t,"[data-").concat(i,'="').concat(n[i],'"]'),n.callback))})),r&&o?nn():o}function nn(){var n;"complete"!==(n||document).readyState?document.onreadystatechange=function(){tn()}:tn()}function tn(n){Y.forEach((function(t){var e=t[0],r=t[1],i="".concat(e,'[onload="this.__vm_l=1"]'),o=[];n||(o=x(z(i))),n&&n.matches(i)&&(o=[n]),o.forEach((function(n){if(!n.__vm_cb){var t=function(){n.__vm_cb=!0,W(n,"onload"),r(n)};n.__vm_l?t():n.__vm_ev||(n.__vm_ev=!0,n.addEventListener("load",t))}}))}))}var en,rn={};function on(n,t,e,r,i){var o=(t||{}).v,a=i.getAttribute(o);a&&(rn[e]=JSON.parse(decodeURI(a)),W(i,o));var u=rn[e]||{},f=[];for(var c in u)void 0!==u[c]&&n in u[c]&&(f.push(c),r[c]||delete u[c][n]);for(var s in r){var d=u[s];d&&d[n]===r[s]||(f.push(s),void 0!==r[s]&&(u[s]=u[s]||{},u[s][n]=r[s]))}for(var l=0,v=f;l1){var v=[];r=r.filter((function(n){var t=JSON.stringify(n),e=!V(v,t);return v.push(t),e}))}r.forEach((function(t){if(!t.skip){var r=document.createElement(e);t.once||r.setAttribute(u,n),Object.keys(t).forEach((function(n){if(!V(k,n))if("innerHTML"!==n)if("json"!==n)if("cssText"!==n)if("callback"!==n){var e=V(c,n)?"data-".concat(n):n,i=V(j,n);if(!i||t[n]){var o=i?"":t[n];r.setAttribute(e,o)}}else r.onload=function(){return t[n](r)};else r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else r.innerHTML=JSON.stringify(t.json);else r.innerHTML=t.innerHTML}));var i,o=l[function(n){var t=n.body,e=n.pbody;return t?"body":e?"pbody":"head"}(t)];o.some((function(n,t){return i=t,r.isEqualNode(n)}))&&(i||0===i)?o.splice(i,1):s.push(r)}}));var m=[];for(var h in l)Array.prototype.push.apply(m,l[h]);return m.forEach((function(n){n.parentNode.removeChild(n)})),s.forEach((function(n){n.hasAttribute("data-body")?o.appendChild(n):n.hasAttribute("data-pbody")?o.insertBefore(n,o.firstChild):i.appendChild(n)})),{oldTags:m,newTags:s}}function un(n,t,e){var r=t=t||{},o=r.g,a=r.j,u={},f=C(u,"html");if(n===a&&f.hasAttribute(o)){W(f,o);var c=!1;return S.forEach((function(n){e[n]&&Z(t,n,e[n])&&(c=!0)})),c&&nn(),!1}var s,d={},l={};for(var v in e)if(!V(N,v))if("title"!==v){if(V(O,v)){var m=v.substr(0,4);on(n,t,v,e[v],C(u,m))}else if(i(e[v])){var h=an(n,t,v,e[v],C(u,"head"),C(u,"body")),p=h.oldTags,y=h.newTags;y.length&&(d[v]=y,l[v]=p)}}else((s=e.title)||""===s)&&(document.title=s);return{D:d,K:l}}function fn(n,t,e){return{set:function(r){return function(n,t,e,r){if(n&&n.$el)return un(t,e,r);(en=en||{})[t]=r}(n,t,e,r)},remove:function(){return function(n,t,e){if(n&&n.$el){var i,o={},a=r(O);try{for(a.s();!(i=a.n()).done;){var u=i.value,f=u.substr(0,4);on(t,e,u,{},C(o,f))}}catch(n){a.e(n)}finally{a.f()}return function(n,t){var e=n.v;x(z("[".concat(e,'="').concat(t,'"]'))).map((function(n){return n.remove()}))}(e,t)}en[t]&&(delete en[t],sn())}(n,t,e)}}}function cn(){return en}function sn(n){!n&&Object.keys(en).length||(en=void 0)}function dn(n,t){if(t=t||{},!n._vueMeta)return s("This vue app/component has no vue-meta configuration"),{};var e=function(n,t,e,r){e=e||[];var i=(n=n||{}).m;return t.title&&(t.titleChunk=t.title),t.titleTemplate&&"%s"!==t.titleTemplate&&F({component:r,M:"title"},t,t.titleTemplate,t.titleChunk||""),t.base&&(t.base=Object.keys(t.base).length?[t.base]:[]),t.meta&&(t.meta=t.meta.filter((function(n,t,e){return!n[i]||t===D(e,(function(t){return t[i]===n[i]}))})),t.meta.forEach((function(t){return F(n,t)}))),q(n,t,e)}(t,X(t,n),U,n),r=un(n._vueMeta.l,t,e);r&&f(e.changed)&&(e.changed(e,r.D,r.K),r={addedTags:r.D,removedTags:r.K});var i=cn();if(i){for(var o in i)un(o,t,i[o]),delete i[o];sn(!0)}return{vm:n,metaInfo:e,tags:r}}function ln(n){n=n||{};var t=this.$root;return{getOptions:function(){return function(n){var t={};for(var e in n)t[e]=n[e];return t}(n)},setOptions:function(e){e&&e.I&&(n.I=!!e.I,H(t));if(e&&"debounceWait"in e){var r=parseInt(e.t);isNaN(r)||(n.t=r)}e&&"waitOnDestroyed"in e&&(n.O=!!e.O)},refresh:function(){return dn(t,n)},inject:function(n){return d("inject")},pause:function(){return B(t)},resume:function(){return E(t)},addApp:function(e){return fn(t,e,n)}}}function vn(n,t){n.__vuemeta_installed||(n.__vuemeta_installed=!0,t=function(n){return{A:(n=a(n)?n:{}).keyName||v,v:n.attribute||m,g:n.ssrAttribute||h,m:n.tagIDKeyName||p,M:n.contentKeyName||y,k:n.metaTemplateKeyName||b,t:o(n.debounceWait)?w:n.debounceWait,O:o(n.waitOnDestroyed)?g:n.waitOnDestroyed,j:n.ssrAppId||A,I:!!n.refreshOnceOnNavigation}}(t),n.prototype.$meta=function(){return ln.call(this,t)},n.mixin(P(n,t)))}o(window)||o(window.Vue)||vn(window.Vue);var mn={version:"2.4.0",install:vn,generate:function(n,t){return d("generate")},hasMetaInfo:$};export default mn; diff --git a/dist/vue-meta.esm.js b/dist/vue-meta.esm.js index 6b3cc9b..c938bfe 100644 --- a/dist/vue-meta.esm.js +++ b/dist/vue-meta.esm.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -10,7 +10,7 @@ import deepmerge from 'deepmerge'; -var version = "2.3.4"; +var version = "2.4.0"; function _typeof(obj) { "@babel/helpers - typeof"; @@ -110,9 +110,12 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } -function _createForOfIteratorHelper(o) { +function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; var i = 0; var F = function () {}; @@ -138,8 +141,7 @@ function _createForOfIteratorHelper(o) { throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - var it, - normalCompletion = true, + var normalCompletion = true, didErr = false, err; return { @@ -1625,10 +1627,12 @@ function refresh(rootVm, options) { * @return {Object} - the attribute generator */ -function attributeGenerator(options, type, data, addSrrAttribute) { - var _ref = options || {}, - attribute = _ref.attribute, - ssrAttribute = _ref.ssrAttribute; +function attributeGenerator(options, type, data, _ref) { + var addSsrAttribute = _ref.addSsrAttribute; + + var _ref2 = options || {}, + attribute = _ref2.attribute, + ssrAttribute = _ref2.ssrAttribute; var attributeStr = ''; @@ -1650,7 +1654,7 @@ function attributeGenerator(options, type, data, addSrrAttribute) { attributeStr += "".concat(attribute, "=\"").concat(encodeURI(JSON.stringify(data)), "\""); } - if (type === 'htmlAttrs' && addSrrAttribute) { + if (type === 'htmlAttrs' && addSsrAttribute) { return "".concat(ssrAttribute).concat(attributeStr ? ' ' : '').concat(attributeStr); } @@ -1691,6 +1695,8 @@ function tagGenerator(options, type, tags, generatorOptions) { var _ref2 = generatorOptions || {}, appId = _ref2.appId, + _ref2$isSSR = _ref2.isSSR, + isSSR = _ref2$isSSR === void 0 ? true : _ref2$isSSR, _ref2$body = _ref2.body, body = _ref2$body === void 0 ? false : _ref2$body, _ref2$pbody = _ref2.pbody, @@ -1720,7 +1726,7 @@ function tagGenerator(options, type, tags, generatorOptions) { return tagsStr; } - var attrs = tag.once ? '' : " ".concat(attribute, "=\"").concat(appId || ssrAppId, "\""); // build a string containing all attributes of this tag + var attrs = tag.once ? '' : " ".concat(attribute, "=\"").concat(appId || (isSSR === false ? '1' : ssrAppId), "\""); // build a string containing all attributes of this tag for (var attr in tag) { // these attributes are treated as children on the tag @@ -1775,7 +1781,7 @@ function tagGenerator(options, type, tags, generatorOptions) { * @return {Object} - the new injector */ -function generateServerInjector(options, metaInfo) { +function generateServerInjector(options, metaInfo, globalInjectOptions) { var serverInjector = { data: metaInfo, extraData: undefined, @@ -1786,25 +1792,25 @@ function generateServerInjector(options, metaInfo) { callInjectors: function callInjectors(opts) { var m = this.injectors; // only call title for the head - return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts); + return (opts.body || opts.pbody ? '' : m.title.text(opts)) + m.meta.text(opts) + m.base.text(opts) + m.link.text(opts) + m.style.text(opts) + m.script.text(opts) + m.noscript.text(opts); }, injectors: { head: function head(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln - }); + })); }, bodyPrepend: function bodyPrepend(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln, pbody: true - }); + })); }, bodyAppend: function bodyAppend(ln) { - return serverInjector.callInjectors({ + return serverInjector.callInjectors(_objectSpread2(_objectSpread2({}, globalInjectOptions), {}, { ln: ln, body: true - }); + })); } } }; @@ -1815,9 +1821,14 @@ function generateServerInjector(options, metaInfo) { } serverInjector.injectors[type] = { - text: function text(arg) { + text: function text(injectOptions) { + var addSsrAttribute = injectOptions === true; + injectOptions = _objectSpread2(_objectSpread2({ + addSsrAttribute: addSsrAttribute + }, globalInjectOptions), injectOptions); + if (type === 'title') { - return titleGenerator(options, type, serverInjector.data[type], arg); + return titleGenerator(options, type, serverInjector.data[type], injectOptions); } if (metaInfoAttributeKeys.includes(type)) { @@ -1825,34 +1836,36 @@ function generateServerInjector(options, metaInfo) { var data = serverInjector.data[type]; if (data) { + var appId = injectOptions.isSSR === false ? '1' : options.ssrAppId; + for (var attr in data) { - attributeData[attr] = _defineProperty({}, options.ssrAppId, data[attr]); + attributeData[attr] = _defineProperty({}, appId, data[attr]); } } if (serverInjector.extraData) { - for (var appId in serverInjector.extraData) { - var _data = serverInjector.extraData[appId][type]; + for (var _appId in serverInjector.extraData) { + var _data = serverInjector.extraData[_appId][type]; if (_data) { for (var _attr in _data) { - attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, appId, _data[_attr])); + attributeData[_attr] = _objectSpread2(_objectSpread2({}, attributeData[_attr]), {}, _defineProperty({}, _appId, _data[_attr])); } } } } - return attributeGenerator(options, type, attributeData, arg); + return attributeGenerator(options, type, attributeData, injectOptions); } - var str = tagGenerator(options, type, serverInjector.data[type], arg); + var str = tagGenerator(options, type, serverInjector.data[type], injectOptions); if (serverInjector.extraData) { - for (var _appId in serverInjector.extraData) { - var _data2 = serverInjector.extraData[_appId][type]; + for (var _appId2 in serverInjector.extraData) { + var _data2 = serverInjector.extraData[_appId2][type]; var extraStr = tagGenerator(options, type, _data2, _objectSpread2({ - appId: _appId - }, arg)); + appId: _appId2 + }, injectOptions)); str = "".concat(str).concat(extraStr); } } @@ -1879,7 +1892,7 @@ function generateServerInjector(options, metaInfo) { * @return {Object} - server meta info with `toString` methods */ -function inject(rootVm, options) { +function inject(rootVm, options, injectOptions) { // make sure vue-meta was initiated if (!rootVm[rootConfigKey]) { showWarningNotSupported(); @@ -1890,7 +1903,7 @@ function inject(rootVm, options) { var rawInfo = getComponentMetaInfo(options, rootVm); var metaInfo = getMetaInfo(options, rawInfo, serverSequences, rootVm); // generate server injector - var serverInjector = generateServerInjector(options, metaInfo); // add meta info from additional apps + var serverInjector = generateServerInjector(options, metaInfo, injectOptions); // add meta info from additional apps var appsMetaInfo = getAppsMetaInfo(); @@ -1946,8 +1959,8 @@ function $meta(options) { refresh: function refresh$1() { return refresh($root, options); }, - inject: function inject$1() { - return inject($root, options) ; + inject: function inject$1(injectOptions) { + return inject($root, options, injectOptions) ; }, pause: function pause$1() { return pause($root); diff --git a/dist/vue-meta.js b/dist/vue-meta.js index bf287d6..c32eee0 100644 --- a/dist/vue-meta.js +++ b/dist/vue-meta.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -14,7 +14,7 @@ (global = global || self, global.VueMeta = factory()); }(this, (function () { 'use strict'; - var version = "2.3.4"; + var version = "2.4.0"; function _typeof(obj) { "@babel/helpers - typeof"; @@ -49,9 +49,12 @@ return arr2; } - function _createForOfIteratorHelper(o) { + function _createForOfIteratorHelper(o, allowArrayLike) { + var it; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; var i = 0; var F = function () {}; @@ -77,8 +80,7 @@ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - var it, - normalCompletion = true, + var normalCompletion = true, didErr = false, err; return { @@ -1678,7 +1680,7 @@ refresh: function refresh$1() { return refresh($root, options); }, - inject: function inject() { + inject: function inject(injectOptions) { return showWarningNotSupportedInBrowserBundle('inject'); }, pause: function pause$1() { diff --git a/dist/vue-meta.min.js b/dist/vue-meta.min.js index bba9a46..74258a0 100644 --- a/dist/vue-meta.min.js +++ b/dist/vue-meta.min.js @@ -1,5 +1,5 @@ /** - * vue-meta v2.3.4 + * vue-meta v2.4.0 * (c) 2020 * - Declan de Wet * - Sébastien Chopin (@Atinux) @@ -7,4 +7,4 @@ * - All the amazing contributors * @license MIT */ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n=n||self).VueMeta=t()}(this,(function(){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[e++]}},e:function(n){throw n},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,u=!0,a=!1;return{s:function(){i=n[Symbol.iterator]()},n:function(){var n=i.next();return u=n.done,n},e:function(n){a=!0,o=n},f:function(){try{u||null==i.return||i.return()}finally{if(a)throw o}}}}function r(n){return Array.isArray(n)}function i(n){return void 0===n}function o(t){return"object"===n(t)}function u(t){return"object"===n(t)&&null!==t}function a(n){return"function"==typeof n}var f=(function(){try{return!i(window)}catch(n){return!1}}()?window:global).console||{};function c(n){f&&f.warn&&f.warn(n)}var s=function(n){return c("".concat(n," is not supported in browser builds"))},d={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},l="metaInfo",v="data-vue-meta",m="data-vue-meta-server-rendered",y="vmid",h="content",p="template",b=!0,g=10,w="ssr",A=Object.keys(d),j=[A[12],A[13]],I=[A[1],A[2],"changed"].concat(j),O=[A[3],A[4],A[5]],T=["link","style","script"],N=["once","skip","template"],S=["body","pbody"],k=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],M=null;function D(n,t,e){var r=n.t;t._vueMeta.i||!t._vueMeta.o&&"watcher"!==e||(t._vueMeta.i=null),t._vueMeta.i&&!t._vueMeta.u&&function(n,t){if(!(t=void 0===t?10:t))return void n();clearTimeout(M),M=setTimeout((function(){n()}),t)}((function(){t.$meta().refresh()}),r)}function K(n,t,e){if(!Array.prototype.findIndex){for(var r=0;r/g,">"],[/"/g,'"'],[/'/g,"'"]];function U(n,t,e){e=e||[];var i={T:function(n){return e.reduce((function(n,t){return n.replace(t[0],t[1])}),n)}};return j.forEach((function(n,e){if(0===e)L(t,n);else if(1===e)for(var r in t[n])L(t[n],r);i[n]=t[n]})),function n(t,e,i,o){var a=e.m,f=i.T,c=void 0===f?function(n){return n}:f,s={};for(var d in t){var l=t[d];if(x(I,d))s[d]=l;else{var v=j[0];if(i[v]&&x(i[v],d))s[d]=l;else{var m=t[a];if(m&&(v=j[1],i[v]&&i[v][m]&&x(i[v][m],d)))s[d]=l;else if("string"==typeof l?s[d]=c(l):r(l)?s[d]=l.map((function(t){return u(t)?n(t,e,i,!0):c(t)})):u(l)?s[d]=n(l,e,i,!0):s[d]=l,o){var y=c(d);d!==y&&(s[y]=s[d],delete s[d])}}}}return s}(t,n,i)}var q=function(t){return function(t){return!!t&&"object"===n(t)}(t)&&!function(n){var t=Object.prototype.toString.call(n);return"[object RegExp]"===t||"[object Date]"===t||!1}(t)};function F(n,t){return n}function G(n){return Object.keys(n)}function Q(n,t){try{return t in n}catch(n){return!1}}function X(n,t,e){var r={};return e.N(n)&&G(n).forEach((function(t){r[t]=F(n[t])})),G(t).forEach((function(i){(function(n,t){return Q(n,t)&&!(Object.hasOwnProperty.call(n,t)&&Object.propertyIsEnumerable.call(n,t))})(n,i)||(Q(n,i)&&e.N(t[i])?r[i]=Y(n[i],t[i],e):r[i]=F(t[i]))})),r}function Y(n,t,e){(e=e||{}).S=e.S,e.N=e.N||q,e.cloneUnlessOtherwiseSpecified=F;var r=Array.isArray(t);return r===Array.isArray(n)?r?e.S(n,t,e):X(n,t,e):F(t)}var Z=Y;function nn(n,t,e,r){var o=n.component,u=n.k,f=n.M;return!0!==e&&!0!==t[u]&&(i(e)&&t[u]&&(e=t[u],t[u]=!0),e?(i(r)&&(r=t[f]),t[f]=a(e)?e.call(o,r):e.replace(/%s/g,r),!0):(delete t[u],!1))}var tn=!1;function en(n,t,e){return e=e||{},void 0===t.title&&delete t.title,O.forEach((function(n){if(t[n])for(var e in t[n])e in t[n]&&void 0===t[n][e]&&(x(k,e)&&!tn&&(c("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),tn=!0),delete t[n][e])})),Z(n,t,{S:function(n,t){return function(n,t,e){var r=n.component,i=n.m,o=n.k,u=n.M,a=[];return t.length||e.length?(t.forEach((function(n,t){if(n[i]){var f=K(e,(function(t){return t[i]===n[i]})),c=e[f];if(-1!==f){if(u in c&&void 0===c[u]||"innerHTML"in c&&void 0===c.innerHTML)return a.push(n),void e.splice(f,1);if(null!==c[u]&&null!==c.innerHTML){var s=n[o];if(s){if(!c[o])return nn({component:r,k:o,M:u},c,s),void(c.template=!0);c[u]||nn({component:r,k:o,M:u},c,void 0,n[u])}}else e.splice(f,1)}else a.push(n)}else a.push(n)})),a.concat(e)):a}(e,n,t)}})}function rn(n,t){return function n(t,e,r){if(r=r||{},e._inactive)return r;var u=(t=t||{}).A,a=e.$metaInfo,f=e.$options,c=e.$children;if(f[u]){var s=a||f[u];o(s)&&(r=en(r,s,t))}c.length&&c.forEach((function(e){(function(n){return(n=n||this)&&!i(n._vueMeta)})(e)&&(r=n(t,e,r))}));return r}(n||{},t,d)}var on=[];function un(n,t,e,r){var i=n.m,o=!1;return e.forEach((function(n){n[i]&&n.callback&&(o=!0,function(n,t){1===arguments.length&&(t=n,n=""),on.push([n,t])}("".concat(t,"[data-").concat(i,'="').concat(n[i],'"]'),n.callback))})),r&&o?an():o}function an(){var n;"complete"!==(n||document).readyState?document.onreadystatechange=function(){fn()}:fn()}function fn(n){on.forEach((function(t){var e=t[0],r=t[1],i="".concat(e,'[onload="this.__vm_l=1"]'),o=[];n||(o=_(V(i))),n&&n.matches(i)&&(o=[n]),o.forEach((function(n){if(!n.__vm_cb){var t=function(){n.__vm_cb=!0,E(n,"onload"),r(n)};n.__vm_l?t():n.__vm_ev||(n.__vm_ev=!0,n.addEventListener("load",t))}}))}))}var cn,sn={};function dn(n,t,e,r,i){var o=(t||{}).v,u=i.getAttribute(o);u&&(sn[e]=JSON.parse(decodeURI(u)),E(i,o));var a=sn[e]||{},f=[];for(var c in a)void 0!==a[c]&&n in a[c]&&(f.push(c),r[c]||delete a[c][n]);for(var s in r){var d=a[s];d&&d[n]===r[s]||(f.push(s),void 0!==r[s]&&(a[s]=a[s]||{},a[s][n]=r[s]))}for(var l=0,v=f;l1){var v=[];r=r.filter((function(n){var t=JSON.stringify(n),e=!x(v,t);return v.push(t),e}))}r.forEach((function(t){if(!t.skip){var r=document.createElement(e);t.once||r.setAttribute(a,n),Object.keys(t).forEach((function(n){if(!x(N,n))if("innerHTML"!==n)if("json"!==n)if("cssText"!==n)if("callback"!==n){var e=x(c,n)?"data-".concat(n):n,i=x(k,n);if(!i||t[n]){var o=i?"":t[n];r.setAttribute(e,o)}}else r.onload=function(){return t[n](r)};else r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else r.innerHTML=JSON.stringify(t.json);else r.innerHTML=t.innerHTML}));var i,o=l[function(n){var t=n.body,e=n.pbody;return t?"body":e?"pbody":"head"}(t)];o.some((function(n,t){return i=t,r.isEqualNode(n)}))&&(i||0===i)?o.splice(i,1):s.push(r)}}));var m=[];for(var y in l)Array.prototype.push.apply(m,l[y]);return m.forEach((function(n){n.parentNode.removeChild(n)})),s.forEach((function(n){n.hasAttribute("data-body")?o.appendChild(n):n.hasAttribute("data-pbody")?o.insertBefore(n,o.firstChild):i.appendChild(n)})),{oldTags:m,newTags:s}}function vn(n,t,e){var i=t=t||{},o=i.g,u=i.j,a={},f=z(a,"html");if(n===u&&f.hasAttribute(o)){E(f,o);var c=!1;return T.forEach((function(n){e[n]&&un(t,n,e[n])&&(c=!0)})),c&&an(),!1}var s,d={},l={};for(var v in e)if(!x(I,v))if("title"!==v){if(x(O,v)){var m=v.substr(0,4);dn(n,t,v,e[v],z(a,m))}else if(r(e[v])){var y=ln(n,t,v,e[v],z(a,"head"),z(a,"body")),h=y.oldTags,p=y.newTags;p.length&&(d[v]=p,l[v]=h)}}else((s=e.title)||""===s)&&(document.title=s);return{D:d,K:l}}function mn(n,t,r){return{set:function(e){return function(n,t,e,r){if(n&&n.$el)return vn(t,e,r);(cn=cn||{})[t]=r}(n,t,r,e)},remove:function(){return function(n,t,r){if(n&&n.$el){var i,o={},u=e(O);try{for(u.s();!(i=u.n()).done;){var a=i.value,f=a.substr(0,4);dn(t,r,a,{},z(o,f))}}catch(n){u.e(n)}finally{u.f()}return function(n,t){var e=n.v;_(V("[".concat(e,'="').concat(t,'"]'))).map((function(n){return n.remove()}))}(r,t)}cn[t]&&(delete cn[t],hn())}(n,t,r)}}}function yn(){return cn}function hn(n){!n&&Object.keys(cn).length||(cn=void 0)}function pn(n,t){if(t=t||{},!n._vueMeta)return c("This vue app/component has no vue-meta configuration"),{};var e=function(n,t,e,r){e=e||[];var i=(n=n||{}).m;return t.title&&(t.titleChunk=t.title),t.titleTemplate&&"%s"!==t.titleTemplate&&nn({component:r,M:"title"},t,t.titleTemplate,t.titleChunk||""),t.base&&(t.base=Object.keys(t.base).length?[t.base]:[]),t.meta&&(t.meta=t.meta.filter((function(n,t,e){return!n[i]||t===K(e,(function(t){return t[i]===n[i]}))})),t.meta.forEach((function(t){return nn(n,t)}))),U(n,t,e)}(t,rn(t,n),P,n),r=vn(n._vueMeta.l,t,e);r&&a(e.changed)&&(e.changed(e,r.D,r.K),r={addedTags:r.D,removedTags:r.K});var i=yn();if(i){for(var o in i)vn(o,t,i[o]),delete i[o];hn(!0)}return{vm:n,metaInfo:e,tags:r}}function bn(n){n=n||{};var t=this.$root;return{getOptions:function(){return function(n){var t={};for(var e in n)t[e]=n[e];return t}(n)},setOptions:function(e){e&&e.I&&(n.I=!!e.I,$(t));if(e&&"debounceWait"in e){var r=parseInt(e.t);isNaN(r)||(n.t=r)}e&&"waitOnDestroyed"in e&&(n.O=!!e.O)},refresh:function(){return pn(t,n)},inject:function(){return s("inject")},pause:function(){return R(t)},resume:function(){return W(t)},addApp:function(e){return mn(t,e,n)}}}function gn(n,t){n.__vuemeta_installed||(n.__vuemeta_installed=!0,t=function(n){return{A:(n=o(n)?n:{}).keyName||l,v:n.attribute||v,g:n.ssrAttribute||m,m:n.tagIDKeyName||y,M:n.contentKeyName||h,k:n.metaTemplateKeyName||p,t:i(n.debounceWait)?g:n.debounceWait,O:i(n.waitOnDestroyed)?b:n.waitOnDestroyed,j:n.ssrAppId||w,I:!!n.refreshOnceOnNavigation}}(t),n.prototype.$meta=function(){return bn.call(this,t)},n.mixin(H(n,t)))}return i(window)||i(window.Vue)||gn(window.Vue),{version:"2.3.4",install:gn,generate:function(n,t){return s("generate")},hasMetaInfo:J}})); +!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n=n||self).VueMeta=t()}(this,(function(){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,a=!0,f=!1;return{s:function(){r=n[Symbol.iterator]()},n:function(){var n=r.next();return a=n.done,n},e:function(n){f=!0,u=n},f:function(){try{a||null==r.return||r.return()}finally{if(f)throw u}}}}function r(n){return Array.isArray(n)}function i(n){return void 0===n}function o(t){return"object"===n(t)}function u(t){return"object"===n(t)&&null!==t}function a(n){return"function"==typeof n}var f=(function(){try{return!i(window)}catch(n){return!1}}()?window:global).console||{};function c(n){f&&f.warn&&f.warn(n)}var s=function(n){return c("".concat(n," is not supported in browser builds"))},d={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},l="metaInfo",v="data-vue-meta",m="data-vue-meta-server-rendered",y="vmid",h="content",p="template",b=!0,g=10,w="ssr",A=Object.keys(d),j=[A[12],A[13]],I=[A[1],A[2],"changed"].concat(j),O=[A[3],A[4],A[5]],T=["link","style","script"],N=["once","skip","template"],S=["body","pbody"],k=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],M=null;function D(n,t,e){var r=n.t;t._vueMeta.i||!t._vueMeta.o&&"watcher"!==e||(t._vueMeta.i=null),t._vueMeta.i&&!t._vueMeta.u&&function(n,t){if(!(t=void 0===t?10:t))return void n();clearTimeout(M),M=setTimeout((function(){n()}),t)}((function(){t.$meta().refresh()}),r)}function K(n,t,e){if(!Array.prototype.findIndex){for(var r=0;r/g,">"],[/"/g,'"'],[/'/g,"'"]];function U(n,t,e){e=e||[];var i={T:function(n){return e.reduce((function(n,t){return n.replace(t[0],t[1])}),n)}};return j.forEach((function(n,e){if(0===e)L(t,n);else if(1===e)for(var r in t[n])L(t[n],r);i[n]=t[n]})),function n(t,e,i,o){var a=e.m,f=i.T,c=void 0===f?function(n){return n}:f,s={};for(var d in t){var l=t[d];if(x(I,d))s[d]=l;else{var v=j[0];if(i[v]&&x(i[v],d))s[d]=l;else{var m=t[a];if(m&&(v=j[1],i[v]&&i[v][m]&&x(i[v][m],d)))s[d]=l;else if("string"==typeof l?s[d]=c(l):r(l)?s[d]=l.map((function(t){return u(t)?n(t,e,i,!0):c(t)})):u(l)?s[d]=n(l,e,i,!0):s[d]=l,o){var y=c(d);d!==y&&(s[y]=s[d],delete s[d])}}}}return s}(t,n,i)}var q=function(t){return function(t){return!!t&&"object"===n(t)}(t)&&!function(n){var t=Object.prototype.toString.call(n);return"[object RegExp]"===t||"[object Date]"===t||!1}(t)};function F(n,t){return n}function G(n){return Object.keys(n)}function Q(n,t){try{return t in n}catch(n){return!1}}function X(n,t,e){var r={};return e.N(n)&&G(n).forEach((function(t){r[t]=F(n[t])})),G(t).forEach((function(i){(function(n,t){return Q(n,t)&&!(Object.hasOwnProperty.call(n,t)&&Object.propertyIsEnumerable.call(n,t))})(n,i)||(Q(n,i)&&e.N(t[i])?r[i]=Y(n[i],t[i],e):r[i]=F(t[i]))})),r}function Y(n,t,e){(e=e||{}).S=e.S,e.N=e.N||q,e.cloneUnlessOtherwiseSpecified=F;var r=Array.isArray(t);return r===Array.isArray(n)?r?e.S(n,t,e):X(n,t,e):F(t)}var Z=Y;function nn(n,t,e,r){var o=n.component,u=n.k,f=n.M;return!0!==e&&!0!==t[u]&&(i(e)&&t[u]&&(e=t[u],t[u]=!0),e?(i(r)&&(r=t[f]),t[f]=a(e)?e.call(o,r):e.replace(/%s/g,r),!0):(delete t[u],!1))}var tn=!1;function en(n,t,e){return e=e||{},void 0===t.title&&delete t.title,O.forEach((function(n){if(t[n])for(var e in t[n])e in t[n]&&void 0===t[n][e]&&(x(k,e)&&!tn&&(c("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),tn=!0),delete t[n][e])})),Z(n,t,{S:function(n,t){return function(n,t,e){var r=n.component,i=n.m,o=n.k,u=n.M,a=[];return t.length||e.length?(t.forEach((function(n,t){if(n[i]){var f=K(e,(function(t){return t[i]===n[i]})),c=e[f];if(-1!==f){if(u in c&&void 0===c[u]||"innerHTML"in c&&void 0===c.innerHTML)return a.push(n),void e.splice(f,1);if(null!==c[u]&&null!==c.innerHTML){var s=n[o];if(s){if(!c[o])return nn({component:r,k:o,M:u},c,s),void(c.template=!0);c[u]||nn({component:r,k:o,M:u},c,void 0,n[u])}}else e.splice(f,1)}else a.push(n)}else a.push(n)})),a.concat(e)):a}(e,n,t)}})}function rn(n,t){return function n(t,e,r){if(r=r||{},e._inactive)return r;var u=(t=t||{}).A,a=e.$metaInfo,f=e.$options,c=e.$children;if(f[u]){var s=a||f[u];o(s)&&(r=en(r,s,t))}c.length&&c.forEach((function(e){(function(n){return(n=n||this)&&!i(n._vueMeta)})(e)&&(r=n(t,e,r))}));return r}(n||{},t,d)}var on=[];function un(n,t,e,r){var i=n.m,o=!1;return e.forEach((function(n){n[i]&&n.callback&&(o=!0,function(n,t){1===arguments.length&&(t=n,n=""),on.push([n,t])}("".concat(t,"[data-").concat(i,'="').concat(n[i],'"]'),n.callback))})),r&&o?an():o}function an(){var n;"complete"!==(n||document).readyState?document.onreadystatechange=function(){fn()}:fn()}function fn(n){on.forEach((function(t){var e=t[0],r=t[1],i="".concat(e,'[onload="this.__vm_l=1"]'),o=[];n||(o=_(V(i))),n&&n.matches(i)&&(o=[n]),o.forEach((function(n){if(!n.__vm_cb){var t=function(){n.__vm_cb=!0,E(n,"onload"),r(n)};n.__vm_l?t():n.__vm_ev||(n.__vm_ev=!0,n.addEventListener("load",t))}}))}))}var cn,sn={};function dn(n,t,e,r,i){var o=(t||{}).v,u=i.getAttribute(o);u&&(sn[e]=JSON.parse(decodeURI(u)),E(i,o));var a=sn[e]||{},f=[];for(var c in a)void 0!==a[c]&&n in a[c]&&(f.push(c),r[c]||delete a[c][n]);for(var s in r){var d=a[s];d&&d[n]===r[s]||(f.push(s),void 0!==r[s]&&(a[s]=a[s]||{},a[s][n]=r[s]))}for(var l=0,v=f;l1){var v=[];r=r.filter((function(n){var t=JSON.stringify(n),e=!x(v,t);return v.push(t),e}))}r.forEach((function(t){if(!t.skip){var r=document.createElement(e);t.once||r.setAttribute(a,n),Object.keys(t).forEach((function(n){if(!x(N,n))if("innerHTML"!==n)if("json"!==n)if("cssText"!==n)if("callback"!==n){var e=x(c,n)?"data-".concat(n):n,i=x(k,n);if(!i||t[n]){var o=i?"":t[n];r.setAttribute(e,o)}}else r.onload=function(){return t[n](r)};else r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText));else r.innerHTML=JSON.stringify(t.json);else r.innerHTML=t.innerHTML}));var i,o=l[function(n){var t=n.body,e=n.pbody;return t?"body":e?"pbody":"head"}(t)];o.some((function(n,t){return i=t,r.isEqualNode(n)}))&&(i||0===i)?o.splice(i,1):s.push(r)}}));var m=[];for(var y in l)Array.prototype.push.apply(m,l[y]);return m.forEach((function(n){n.parentNode.removeChild(n)})),s.forEach((function(n){n.hasAttribute("data-body")?o.appendChild(n):n.hasAttribute("data-pbody")?o.insertBefore(n,o.firstChild):i.appendChild(n)})),{oldTags:m,newTags:s}}function vn(n,t,e){var i=t=t||{},o=i.g,u=i.j,a={},f=z(a,"html");if(n===u&&f.hasAttribute(o)){E(f,o);var c=!1;return T.forEach((function(n){e[n]&&un(t,n,e[n])&&(c=!0)})),c&&an(),!1}var s,d={},l={};for(var v in e)if(!x(I,v))if("title"!==v){if(x(O,v)){var m=v.substr(0,4);dn(n,t,v,e[v],z(a,m))}else if(r(e[v])){var y=ln(n,t,v,e[v],z(a,"head"),z(a,"body")),h=y.oldTags,p=y.newTags;p.length&&(d[v]=p,l[v]=h)}}else((s=e.title)||""===s)&&(document.title=s);return{D:d,K:l}}function mn(n,t,r){return{set:function(e){return function(n,t,e,r){if(n&&n.$el)return vn(t,e,r);(cn=cn||{})[t]=r}(n,t,r,e)},remove:function(){return function(n,t,r){if(n&&n.$el){var i,o={},u=e(O);try{for(u.s();!(i=u.n()).done;){var a=i.value,f=a.substr(0,4);dn(t,r,a,{},z(o,f))}}catch(n){u.e(n)}finally{u.f()}return function(n,t){var e=n.v;_(V("[".concat(e,'="').concat(t,'"]'))).map((function(n){return n.remove()}))}(r,t)}cn[t]&&(delete cn[t],hn())}(n,t,r)}}}function yn(){return cn}function hn(n){!n&&Object.keys(cn).length||(cn=void 0)}function pn(n,t){if(t=t||{},!n._vueMeta)return c("This vue app/component has no vue-meta configuration"),{};var e=function(n,t,e,r){e=e||[];var i=(n=n||{}).m;return t.title&&(t.titleChunk=t.title),t.titleTemplate&&"%s"!==t.titleTemplate&&nn({component:r,M:"title"},t,t.titleTemplate,t.titleChunk||""),t.base&&(t.base=Object.keys(t.base).length?[t.base]:[]),t.meta&&(t.meta=t.meta.filter((function(n,t,e){return!n[i]||t===K(e,(function(t){return t[i]===n[i]}))})),t.meta.forEach((function(t){return nn(n,t)}))),U(n,t,e)}(t,rn(t,n),P,n),r=vn(n._vueMeta.l,t,e);r&&a(e.changed)&&(e.changed(e,r.D,r.K),r={addedTags:r.D,removedTags:r.K});var i=yn();if(i){for(var o in i)vn(o,t,i[o]),delete i[o];hn(!0)}return{vm:n,metaInfo:e,tags:r}}function bn(n){n=n||{};var t=this.$root;return{getOptions:function(){return function(n){var t={};for(var e in n)t[e]=n[e];return t}(n)},setOptions:function(e){e&&e.I&&(n.I=!!e.I,$(t));if(e&&"debounceWait"in e){var r=parseInt(e.t);isNaN(r)||(n.t=r)}e&&"waitOnDestroyed"in e&&(n.O=!!e.O)},refresh:function(){return pn(t,n)},inject:function(n){return s("inject")},pause:function(){return R(t)},resume:function(){return W(t)},addApp:function(e){return mn(t,e,n)}}}function gn(n,t){n.__vuemeta_installed||(n.__vuemeta_installed=!0,t=function(n){return{A:(n=o(n)?n:{}).keyName||l,v:n.attribute||v,g:n.ssrAttribute||m,m:n.tagIDKeyName||y,M:n.contentKeyName||h,k:n.metaTemplateKeyName||p,t:i(n.debounceWait)?g:n.debounceWait,O:i(n.waitOnDestroyed)?b:n.waitOnDestroyed,j:n.ssrAppId||w,I:!!n.refreshOnceOnNavigation}}(t),n.prototype.$meta=function(){return bn.call(this,t)},n.mixin(H(n,t)))}return i(window)||i(window.Vue)||gn(window.Vue),{version:"2.4.0",install:gn,generate:function(n,t){return s("generate")},hasMetaInfo:J}})); diff --git a/package.json b/package.json index acb5e90..bbb82d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-meta", - "version": "2.3.4", + "version": "2.4.0", "description": "Manage HTML metadata in Vue.js components with ssr support", "keywords": [ "attribute",