From 0647fa6508d29345de5c189d6976f587127b4dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Dobro=C5=88?= Date: Mon, 28 Aug 2023 19:05:37 +0200 Subject: [PATCH] Deploy website - based on 7a34fb10891e8f8d67984a2c3d6fdf06de6c6503 --- 1.15068a59.js | 1 - 1.aa3ee44f.js | 1 + 109e4bea.069ceebf.js | 1 + 109e4bea.31d47291.js | 1 - 1265782a.58bc9055.js | 1 - 1265782a.76805dfd.js | 1 + 141bc010.37b93640.js | 1 + 141bc010.f803f040.js | 1 - 17896441.05aafa0e.js | 1 - 17896441.6cbbea2a.js | 1 + 2.1cc5800a.js | 2 + ...s.LICENSE.txt => 2.1cc5800a.js.LICENSE.txt | 0 2.273be2be.js | 2 - 214de4a4.8623d3b3.js | 1 - 214de4a4.fb35cb6e.js | 1 + 25.534340cd.js => 25.56836361.js | 4 +- ....LICENSE.txt => 25.56836361.js.LICENSE.txt | 0 26.3878667c.js | 1 - 26.6c3a51bf.js | 1 + 27.f120064e.js => 27.ff20e69f.js | 2 +- 28.947030c5.js => 28.f400695b.js | 2 +- 2a3fc721.24fd3eea.js => 2a3fc721.e1dc58f9.js | 2 +- 404.html | 18 +++--- 4639f76b.d896ff2b.js => 4639f76b.f610f6d6.js | 2 +- 4858b1b7.895abed0.js => 4858b1b7.6ed45db3.js | 2 +- 5a9f41da.26041b8f.js | 1 + 5a9f41da.3dcc64d4.js | 1 - 7d8c3b13.52e335e3.js => 7d8c3b13.b46f02e6.js | 2 +- 989b5495.a6fff982.js | 1 + 989b5495.c14e4bcb.js | 1 - a8db9197.efec1a00.js => a8db9197.92e31284.js | 2 +- ...storm-06bfa3ee831f873f33fe6b391e3d02e6.png | Bin 0 -> 40705 bytes ...rases-eb4a116c58df459c3e9177f1bff9b1b0.png | Bin 0 -> 53593 bytes ...cheme-50a6d63fcfe3a82c6ab32aafeb595150.png | Bin 0 -> 150151 bytes ...tions-f0e43c8488ccab12e882c4627182863b.png | Bin 0 -> 235912 bytes c04ba58a.8767820c.js => c04ba58a.88f0526d.js | 2 +- c369aacc.6d68d582.js | 1 - c369aacc.80b039cc.js | 1 + d6d61612.c9d79280.js => d6d61612.22b53822.js | 2 +- de6ece39.7635b5a4.js | 1 - de6ece39.8c300e7b.js | 1 + docs/api_intro/index.html | 40 ++++++------ docs/autoparam/index.html | 40 ++++++------ docs/best_practices/index.html | 38 +++++------ docs/collection/index.html | 40 ++++++------ docs/common/index.html | 40 ++++++------ docs/enums/index.html | 42 ++++++------ docs/getting_started/index.html | 61 +++++++++--------- docs/implicit_params/index.html | 40 ++++++------ docs/inline_translating/index.html | 42 ++++++------ docs/locales/index.html | 38 +++++------ docs/params/index.html | 44 ++++++------- docs/plurals/index.html | 40 ++++++------ docs/pronouns/index.html | 43 ++++++------ docs/standards/index.html | 38 +++++------ docs/transform/index.html | 38 +++++------ docs/translating/index.html | 43 ++++++------ docs/utilities/index.html | 40 ++++++------ ece76bd1.066934bd.js | 1 + ece76bd1.b4ffe8be.js | 1 - f853931b.9666f4f7.js | 1 - f853931b.da9f95d7.js | 1 + ffa1bb28.6ea3c5e6.js => ffa1bb28.a692b927.js | 2 +- index.html | 30 ++++----- main.9ac894b9.js | 2 + ...ICENSE.txt => main.9ac894b9.js.LICENSE.txt | 0 main.db059073.js | 2 - opensearch.xml | 4 +- runtime~main.139bf20f.js | 1 + runtime~main.313c8ebb.js | 1 - search/index.html | 30 ++++----- styles.b8a3fd33.css => styles.161b7d60.css | 2 +- styles.24fa58e9.js => styles.8aa66ec0.js | 2 +- 73 files changed, 428 insertions(+), 425 deletions(-) delete mode 100644 1.15068a59.js create mode 100644 1.aa3ee44f.js create mode 100644 109e4bea.069ceebf.js delete mode 100644 109e4bea.31d47291.js delete mode 100644 1265782a.58bc9055.js create mode 100644 1265782a.76805dfd.js create mode 100644 141bc010.37b93640.js delete mode 100644 141bc010.f803f040.js delete mode 100644 17896441.05aafa0e.js create mode 100644 17896441.6cbbea2a.js create mode 100644 2.1cc5800a.js rename 2.273be2be.js.LICENSE.txt => 2.1cc5800a.js.LICENSE.txt (100%) delete mode 100644 2.273be2be.js delete mode 100644 214de4a4.8623d3b3.js create mode 100644 214de4a4.fb35cb6e.js rename 25.534340cd.js => 25.56836361.js (80%) rename 25.534340cd.js.LICENSE.txt => 25.56836361.js.LICENSE.txt (100%) delete mode 100644 26.3878667c.js create mode 100644 26.6c3a51bf.js rename 27.f120064e.js => 27.ff20e69f.js (99%) rename 28.947030c5.js => 28.f400695b.js (68%) rename 2a3fc721.24fd3eea.js => 2a3fc721.e1dc58f9.js (99%) rename 4639f76b.d896ff2b.js => 4639f76b.f610f6d6.js (99%) rename 4858b1b7.895abed0.js => 4858b1b7.6ed45db3.js (55%) create mode 100644 5a9f41da.26041b8f.js delete mode 100644 5a9f41da.3dcc64d4.js rename 7d8c3b13.52e335e3.js => 7d8c3b13.b46f02e6.js (99%) create mode 100644 989b5495.a6fff982.js delete mode 100644 989b5495.c14e4bcb.js rename a8db9197.efec1a00.js => a8db9197.92e31284.js (99%) create mode 100644 assets/images/phpstorm-06bfa3ee831f873f33fe6b391e3d02e6.png create mode 100644 assets/images/phrases-eb4a116c58df459c3e9177f1bff9b1b0.png create mode 100644 assets/images/scheme-50a6d63fcfe3a82c6ab32aafeb595150.png create mode 100644 assets/images/translations-f0e43c8488ccab12e882c4627182863b.png rename c04ba58a.8767820c.js => c04ba58a.88f0526d.js (50%) delete mode 100644 c369aacc.6d68d582.js create mode 100644 c369aacc.80b039cc.js rename d6d61612.c9d79280.js => d6d61612.22b53822.js (95%) delete mode 100644 de6ece39.7635b5a4.js create mode 100644 de6ece39.8c300e7b.js create mode 100644 ece76bd1.066934bd.js delete mode 100644 ece76bd1.b4ffe8be.js delete mode 100644 f853931b.9666f4f7.js create mode 100644 f853931b.da9f95d7.js rename ffa1bb28.6ea3c5e6.js => ffa1bb28.a692b927.js (98%) create mode 100644 main.9ac894b9.js rename main.db059073.js.LICENSE.txt => main.9ac894b9.js.LICENSE.txt (100%) delete mode 100644 main.db059073.js create mode 100644 runtime~main.139bf20f.js delete mode 100644 runtime~main.313c8ebb.js rename styles.b8a3fd33.css => styles.161b7d60.css (96%) rename styles.24fa58e9.js => styles.8aa66ec0.js (97%) diff --git a/1.15068a59.js b/1.15068a59.js deleted file mode 100644 index 3060030..0000000 --- a/1.15068a59.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{128:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return h}));var r=n(0),o=n.n(r),i=n(90),u=n(93),a=!!u.useAllDocsData,c=function(e){return"docs-preferred-version-"+e},s={save:function(e,t,n){"none"===t||window.localStorage.setItem(c(e),n)},read:function(e,t){return"none"===t?null:window.localStorage.getItem(c(e))},clear:function(e,t){"none"===t||window.localStorage.removeItem(c(e))}};function f(e){var t=e.pluginIds,n=e.versionPersistence,r=e.allDocsData;var o={};return t.forEach((function(e){o[e]=function(e){var t=s.read(e,n);return r[e].versions.some((function(e){return e.name===t}))?{preferredVersionName:t}:(s.clear(e,n),{preferredVersionName:null})}(e)})),o}function l(){var e=Object(u.useAllDocsData)(),t=Object(i.a)().docs.versionPersistence,n=Object(r.useMemo)((function(){return Object.keys(e)}),[e]),o=Object(r.useState)((function(){return function(e){var t={};return e.forEach((function(e){t[e]={preferredVersionName:null}})),t}(n)})),a=o[0],c=o[1];return Object(r.useEffect)((function(){c(f({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]),[a,Object(r.useMemo)((function(){return{savePreferredVersion:function(e,n){s.save(e,t,n),c((function(t){var r;return Object.assign({},t,((r={})[e]={preferredVersionName:n},r))}))}}}),[c])]}var d=Object(r.createContext)(null);function p(e){var t=e.children;return a?o.a.createElement(v,null,t):o.a.createElement(o.a.Fragment,null,t)}function v(e){var t=e.children,n=l();return o.a.createElement(d.Provider,{value:n},t)}function h(){var e=Object(r.useContext)(d);if(!e)throw new Error("Can't find docs preferred context, maybe you forgot to use the DocsPreferredVersionContextProvider ?");return e}},129:function(e,t,n){"use strict";(function(e){function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o,i,u,a,c=r(n(7)),s=r(n(130)),f=r(n(132)),l=r(n(0)),d=r(n(21)),p="bodyAttributes",v="htmlAttributes",h="titleAttributes",b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},g=(Object.keys(b).map((function(e){return b[e]})),"charset"),m="cssText",y="href",w="http-equiv",T="innerHTML",O="itemprop",A="name",C="property",j="rel",E="src",P={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},D="defaultTitle",S="defer",k="encodeSpecialCharacters",L="onChangeClientState",x="titleTemplate",I=Object.keys(P).reduce((function(e,t){return e[P[t]]=t,e}),{}),V=[b.NOSCRIPT,b.SCRIPT,b.STYLE],N="data-react-helmet",R="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},M=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},_=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},U=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},q=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},Y=function(e){var t=J(e,b.TITLE),n=J(e,x);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=J(e,D);return t||r||void 0},F=function(e){return J(e,L)||function(){}},W=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return H({},e,t)}),{})},K=function(e,t){return t.filter((function(e){return void 0!==e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},$=(o=Date.now(),function(e){var t=Date.now();t-o>16?(o=t,e(t)):setTimeout((function(){$(e)}),0)}),G=function(e){return clearTimeout(e)},Q="undefined"!=typeof window?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||$:e.requestAnimationFrame||$,X="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||G:e.cancelAnimationFrame||G,Z=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},ee=null,te=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,i=e.linkTags,u=e.metaTags,a=e.noscriptTags,c=e.onChangeClientState,s=e.scriptTags,f=e.styleTags,l=e.title,d=e.titleAttributes;oe(b.BODY,r),oe(b.HTML,o),re(l,d);var p={baseTag:ie(b.BASE,n),linkTags:ie(b.LINK,i),metaTags:ie(b.META,u),noscriptTags:ie(b.NOSCRIPT,a),scriptTags:ie(b.SCRIPT,s),styleTags:ie(b.STYLE,f)},v={},h={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(v[e]=n),r.length&&(h[e]=p[e].oldTags)})),t&&t(),c(e,v,h)},ne=function(e){return Array.isArray(e)?e.join(""):e},re=function(e,t){void 0!==e&&document.title!==e&&(document.title=ne(e)),oe(b.TITLE,t)},oe=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(N),o=r?r.split(","):[],i=[].concat(o),u=Object.keys(t),a=0;a=0;l--)n.removeAttribute(i[l]);o.length===i.length?n.removeAttribute(N):n.getAttribute(N)!==u.join(",")&&n.setAttribute(N,u.join(","))}},ie=function(e,t){var n=document.head||document.querySelector(b.HEAD),r=n.querySelectorAll(e+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],u=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===T)n.innerHTML=t.innerHTML;else if(r===m)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var a=void 0===t[r]?"":t[r];n.setAttribute(r,a)}n.setAttribute(N,"true"),o.some((function(e,t){return u=t,n.isEqualNode(e)}))?o.splice(u,1):i.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:i}},ue=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[P[n]||n]=e[n],t}),t)},ce=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})[N]=!0,o=ae(n,r),[l.createElement(b.TITLE,o,e)];var e,n,r,o},toString:function(){return function(e,t,n,r){var o=ue(n),i=ne(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+q(i,r)+"":"<"+e+' data-react-helmet="true">'+q(i,r)+""}(e,t.title,t.titleAttributes,n)}};case p:case v:return{toComponent:function(){return ae(t)},toString:function(){return ue(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})[N]=!0,r);return Object.keys(t).forEach((function(e){var n=P[e]||e;if(n===T||n===m){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),l.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===T||e===m)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+q(r[t],n)+'"';return e?e+" "+o:o}),""),i=r.innerHTML||r.cssText||"",u=-1===V.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(u?"/>":">"+i+"")}),"")}(e,t,n)}}}},se=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,i=e.linkTags,u=e.metaTags,a=e.noscriptTags,c=e.scriptTags,s=e.styleTags,f=e.title,l=void 0===f?"":f,d=e.titleAttributes;return{base:ce(b.BASE,t,r),bodyAttributes:ce(p,n,r),htmlAttributes:ce(v,o,r),link:ce(b.LINK,i,r),meta:ce(b.META,u,r),noscript:ce(b.NOSCRIPT,a,r),script:ce(b.SCRIPT,c,r),style:ce(b.STYLE,s,r),title:ce(b.TITLE,{title:l,titleAttributes:d},r)}},fe=s((function(e){return{baseTag:K([y],e),bodyAttributes:W(p,e),defer:J(e,S),encode:J(e,k),htmlAttributes:W(v,e),linkTags:z(b.LINK,[j,y],e),metaTags:z(b.META,[A,g,w,C,O],e),noscriptTags:z(b.NOSCRIPT,[T],e),onChangeClientState:F(e),scriptTags:z(b.SCRIPT,[E,T],e),styleTags:z(b.STYLE,[m],e),title:Y(e),titleAttributes:W(h,e)}}),(function(e){ee&&X(ee),e.defer?ee=Q((function(){te(e,(function(){ee=null}))})):(te(e),ee=null)}),se)((function(){return null})),le=(i=fe,a=u=function(e){function t(){return M(this,t),U(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!f(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,i=e.nestedChildren;return H({},r,((t={})[n.type]=[].concat(r[n.type]||[],[H({},o,this.mapNestedChildrenToProps(n,i))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,i=e.newChildProps,u=e.nestedChildren;switch(r.type){case b.TITLE:return H({},o,((t={})[r.type]=u,t.titleAttributes=H({},i),t));case b.BODY:return H({},o,{bodyAttributes:H({},i)});case b.HTML:return H({},o,{htmlAttributes:H({},i)})}return H({},o,((n={})[r.type]=H({},i),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=H({},t);return Object.keys(e).forEach((function(t){var r;n=H({},n,((r={})[t]=e[t],r))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return l.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,i=o.children,u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[I[n]||n]=e[n],t}),t)}(B(o,["children"]));switch(n.warnOnInvalidChildren(e,i),e.type){case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:u,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:u,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=B(e,["children"]),r=H({},n);return t&&(r=this.mapChildrenToProps(t,r)),l.createElement(i,r)},_(t,null,[{key:"canUseDOM",set:function(e){i.canUseDOM=e}}]),t}(l.Component),u.propTypes={base:c.object,bodyAttributes:c.object,children:c.oneOfType([c.arrayOf(c.node),c.node]),defaultTitle:c.string,defer:c.bool,encodeSpecialCharacters:c.bool,htmlAttributes:c.object,link:c.arrayOf(c.object),meta:c.arrayOf(c.object),noscript:c.arrayOf(c.object),onChangeClientState:c.func,script:c.arrayOf(c.object),style:c.arrayOf(c.object),title:c.string,titleAttributes:c.object,titleTemplate:c.string},u.defaultProps={defer:!0,encodeSpecialCharacters:!0},u.peek=i.peek,u.rewind=function(){var e=i.rewind();return e||(e=se({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},a);le.renderStatic=le.rewind,t.Helmet=le}).call(this,n(30))},130:function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=n(0),i=r(o),u=r(n(131));function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var s,f=[];function l(){s=e(f.map((function(e){return e.props}))),d.canUseDOM?t(s):n&&(s=n(s))}var d=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o.peek=function(){return s},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=s;return s=void 0,f=[],e};var a=o.prototype;return a.shouldComponentUpdate=function(e){return!u(e,this.props)},a.componentWillMount=function(){f.push(this),l()},a.componentDidUpdate=function(){l()},a.componentWillUnmount=function(){var e=f.indexOf(this);f.splice(e,1),l()},a.render=function(){return i.createElement(r,this.props)},o}(o.Component);return a(d,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),a(d,"canUseDOM",c),d}}},131:function(e,t){e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),u=Object.keys(t);if(i.length!==u.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),c=0;c0)&&(l.unobserve(t),l.disconnect(),n())}))}))).observe(t))},to:C||""},d&&{isActive:b,activeClassName:h}))}},92:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return u}));var r=n(88),o=n(98);function i(){var e=Object(r.a)().siteConfig,t=(e=void 0===e?{}:e).baseUrl,n=void 0===t?"/":t,i=e.url;return{withBaseUrl:function(e,t){return function(e,t,n,r){var i=void 0===r?{}:r,u=i.forcePrependBaseUrl,a=void 0!==u&&u,c=i.absolute,s=void 0!==c&&c;if(!n)return n;if(n.startsWith("#"))return n;if(Object(o.b)(n))return n;if(a)return t+n;var f=n.startsWith(t)?n:t+n.replace(/^\//,"");return s?e+f:f}(i,n,e,t)}}}function u(e,t){return void 0===t&&(t={}),(0,i().withBaseUrl)(e,t)}},93:function(e,t,n){try{e.exports=n(133)}catch(r){e.exports={}}},94:function(e,t,n){"use strict";n.r(t);var r=n(13);n.d(t,"MemoryRouter",(function(){return r.d})),n.d(t,"Prompt",(function(){return r.f})),n.d(t,"Redirect",(function(){return r.g})),n.d(t,"Route",(function(){return r.h})),n.d(t,"Router",(function(){return r.i})),n.d(t,"StaticRouter",(function(){return r.j})),n.d(t,"Switch",(function(){return r.k})),n.d(t,"__RouterContext",(function(){return r.l})),n.d(t,"generatePath",(function(){return r.m})),n.d(t,"matchPath",(function(){return r.n})),n.d(t,"useHistory",(function(){return r.o})),n.d(t,"useLocation",(function(){return r.p})),n.d(t,"useParams",(function(){return r.q})),n.d(t,"useRouteMatch",(function(){return r.r})),n.d(t,"withRouter",(function(){return r.s})),n.d(t,"BrowserRouter",(function(){return r.a})),n.d(t,"HashRouter",(function(){return r.b})),n.d(t,"Link",(function(){return r.c})),n.d(t,"NavLink",(function(){return r.e}))},95:function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(129);t.a=function(e){return o.a.createElement(i.Helmet,Object.assign({},e))}},97:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return a}));var r=n(0),o=n(128),i=n(93);function u(e){void 0===e&&(e="default");var t=Object(i.useDocsData)(e),n=Object(o.b)(),u=n[0],a=n[1],c=u[e].preferredVersionName;return{preferredVersion:c?t.versions.find((function(e){return e.name===c})):null,savePreferredVersionName:Object(r.useCallback)((function(t){a.savePreferredVersion(e,t)}),[a])}}function a(){var e=Object(i.useAllDocsData)(),t=Object(o.b)()[0];var n=Object.keys(e),r={};return n.forEach((function(n){r[n]=function(n){var r=e[n],o=t[n].preferredVersionName;return o?r.versions.find((function(e){return e.name===o})):null}(n)})),r}},98:function(e,t,n){"use strict";function r(e){return!0===/^(\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}))}}]); \ No newline at end of file diff --git a/1.aa3ee44f.js b/1.aa3ee44f.js new file mode 100644 index 0000000..58eb6f1 --- /dev/null +++ b/1.aa3ee44f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{128:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return v}));var r=n(0),o=n.n(r),i=n(90),c=n(93);const a=!!c.useAllDocsData,u=e=>"docs-preferred-version-"+e;var s={save:(e,t,n)=>{"none"===t||window.localStorage.setItem(u(e),n)},read:(e,t)=>"none"===t?null:window.localStorage.getItem(u(e)),clear:(e,t)=>{"none"===t||window.localStorage.removeItem(u(e))}};function f({pluginIds:e,versionPersistence:t,allDocsData:n}){const r={};return e.forEach((e=>{r[e]=function(e){const r=s.read(e,t);return n[e].versions.some((e=>e.name===r))?{preferredVersionName:r}:(s.clear(e,t),{preferredVersionName:null})}(e)})),r}function l(){const e=Object(c.useAllDocsData)(),t=Object(i.a)().docs.versionPersistence,n=Object(r.useMemo)((()=>Object.keys(e)),[e]),[o,a]=Object(r.useState)((()=>function(e){const t={};return e.forEach((e=>{t[e]={preferredVersionName:null}})),t}(n)));Object(r.useEffect)((()=>{a(f({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,Object(r.useMemo)((()=>({savePreferredVersion:function(e,n){s.save(e,t,n),a((t=>({...t,[e]:{preferredVersionName:n}})))}})),[a])]}const d=Object(r.createContext)(null);function p({children:e}){return a?o.a.createElement(h,null,e):o.a.createElement(o.a.Fragment,null,e)}function h({children:e}){const t=l();return o.a.createElement(d.Provider,{value:t},e)}function v(){const e=Object(r.useContext)(d);if(!e)throw new Error("Can't find docs preferred context, maybe you forgot to use the DocsPreferredVersionContextProvider ?");return e}},129:function(e,t,n){"use strict";(function(e){function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(t,"__esModule",{value:!0});var o,i,c,a,u=r(n(7)),s=r(n(130)),f=r(n(132)),l=r(n(0)),d=r(n(21)),p="bodyAttributes",h="htmlAttributes",v="titleAttributes",b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},g=(Object.keys(b).map((function(e){return b[e]})),"charset"),m="cssText",y="href",w="http-equiv",T="innerHTML",O="itemprop",A="name",C="property",j="rel",E="src",P={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},D="defaultTitle",S="defer",k="encodeSpecialCharacters",L="onChangeClientState",x="titleTemplate",I=Object.keys(P).reduce((function(e,t){return e[P[t]]=t,e}),{}),V=[b.NOSCRIPT,b.SCRIPT,b.STYLE],N="data-react-helmet",R="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},M=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},_=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},U=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},q=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},Y=function(e){var t=z(e,b.TITLE),n=z(e,x);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=z(e,D);return t||r||void 0},F=function(e){return z(e,L)||function(){}},W=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return H({},e,t)}),{})},K=function(e,t){return t.filter((function(e){return void 0!==e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},J=(o=Date.now(),function(e){var t=Date.now();t-o>16?(o=t,e(t)):setTimeout((function(){J(e)}),0)}),G=function(e){return clearTimeout(e)},Q="undefined"!=typeof window?window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||J:e.requestAnimationFrame||J,X="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||G:e.cancelAnimationFrame||G,Z=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},ee=null,te=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,i=e.linkTags,c=e.metaTags,a=e.noscriptTags,u=e.onChangeClientState,s=e.scriptTags,f=e.styleTags,l=e.title,d=e.titleAttributes;oe(b.BODY,r),oe(b.HTML,o),re(l,d);var p={baseTag:ie(b.BASE,n),linkTags:ie(b.LINK,i),metaTags:ie(b.META,c),noscriptTags:ie(b.NOSCRIPT,a),scriptTags:ie(b.SCRIPT,s),styleTags:ie(b.STYLE,f)},h={},v={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(h[e]=n),r.length&&(v[e]=p[e].oldTags)})),t&&t(),u(e,h,v)},ne=function(e){return Array.isArray(e)?e.join(""):e},re=function(e,t){void 0!==e&&document.title!==e&&(document.title=ne(e)),oe(b.TITLE,t)},oe=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(N),o=r?r.split(","):[],i=[].concat(o),c=Object.keys(t),a=0;a=0;l--)n.removeAttribute(i[l]);o.length===i.length?n.removeAttribute(N):n.getAttribute(N)!==c.join(",")&&n.setAttribute(N,c.join(","))}},ie=function(e,t){var n=document.head||document.querySelector(b.HEAD),r=n.querySelectorAll(e+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],c=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===T)n.innerHTML=t.innerHTML;else if(r===m)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var a=void 0===t[r]?"":t[r];n.setAttribute(r,a)}n.setAttribute(N,"true"),o.some((function(e,t){return c=t,n.isEqualNode(e)}))?o.splice(c,1):i.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:i}},ce=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[P[n]||n]=e[n],t}),t)},ue=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})[N]=!0,o=ae(n,r),[l.createElement(b.TITLE,o,e)];var e,n,r,o},toString:function(){return function(e,t,n,r){var o=ce(n),i=ne(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+q(i,r)+"":"<"+e+' data-react-helmet="true">'+q(i,r)+""}(e,t.title,t.titleAttributes,n)}};case p:case h:return{toComponent:function(){return ae(t)},toString:function(){return ce(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})[N]=!0,r);return Object.keys(t).forEach((function(e){var n=P[e]||e;if(n===T||n===m){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),l.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===T||e===m)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+q(r[t],n)+'"';return e?e+" "+o:o}),""),i=r.innerHTML||r.cssText||"",c=-1===V.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(c?"/>":">"+i+"")}),"")}(e,t,n)}}}},se=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,i=e.linkTags,c=e.metaTags,a=e.noscriptTags,u=e.scriptTags,s=e.styleTags,f=e.title,l=void 0===f?"":f,d=e.titleAttributes;return{base:ue(b.BASE,t,r),bodyAttributes:ue(p,n,r),htmlAttributes:ue(h,o,r),link:ue(b.LINK,i,r),meta:ue(b.META,c,r),noscript:ue(b.NOSCRIPT,a,r),script:ue(b.SCRIPT,u,r),style:ue(b.STYLE,s,r),title:ue(b.TITLE,{title:l,titleAttributes:d},r)}},fe=s((function(e){return{baseTag:K([y],e),bodyAttributes:W(p,e),defer:z(e,S),encode:z(e,k),htmlAttributes:W(h,e),linkTags:$(b.LINK,[j,y],e),metaTags:$(b.META,[A,g,w,C,O],e),noscriptTags:$(b.NOSCRIPT,[T],e),onChangeClientState:F(e),scriptTags:$(b.SCRIPT,[E,T],e),styleTags:$(b.STYLE,[m],e),title:Y(e),titleAttributes:W(v,e)}}),(function(e){ee&&X(ee),e.defer?ee=Q((function(){te(e,(function(){ee=null}))})):(te(e),ee=null)}),se)((function(){return null})),le=(i=fe,a=c=function(e){function t(){return M(this,t),U(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!f(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,i=e.nestedChildren;return H({},r,((t={})[n.type]=[].concat(r[n.type]||[],[H({},o,this.mapNestedChildrenToProps(n,i))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,i=e.newChildProps,c=e.nestedChildren;switch(r.type){case b.TITLE:return H({},o,((t={})[r.type]=c,t.titleAttributes=H({},i),t));case b.BODY:return H({},o,{bodyAttributes:H({},i)});case b.HTML:return H({},o,{htmlAttributes:H({},i)})}return H({},o,((n={})[r.type]=H({},i),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=H({},t);return Object.keys(e).forEach((function(t){var r;n=H({},n,((r={})[t]=e[t],r))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return l.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,i=o.children,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[I[n]||n]=e[n],t}),t)}(B(o,["children"]));switch(n.warnOnInvalidChildren(e,i),e.type){case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:c,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:c,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=B(e,["children"]),r=H({},n);return t&&(r=this.mapChildrenToProps(t,r)),l.createElement(i,r)},_(t,null,[{key:"canUseDOM",set:function(e){i.canUseDOM=e}}]),t}(l.Component),c.propTypes={base:u.object,bodyAttributes:u.object,children:u.oneOfType([u.arrayOf(u.node),u.node]),defaultTitle:u.string,defer:u.bool,encodeSpecialCharacters:u.bool,htmlAttributes:u.object,link:u.arrayOf(u.object),meta:u.arrayOf(u.object),noscript:u.arrayOf(u.object),onChangeClientState:u.func,script:u.arrayOf(u.object),style:u.arrayOf(u.object),title:u.string,titleAttributes:u.object,titleTemplate:u.string},c.defaultProps={defer:!0,encodeSpecialCharacters:!0},c.peek=i.peek,c.rewind=function(){var e=i.rewind();return e||(e=se({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},a);le.renderStatic=le.rewind,t.Helmet=le}).call(this,n(30))},130:function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var o=n(0),i=r(o),c=r(n(131));function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=!("undefined"==typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!=typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!=typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if(void 0!==n&&"function"!=typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!=typeof r)throw new Error("Expected WrappedComponent to be a React component.");var s,f=[];function l(){s=e(f.map((function(e){return e.props}))),d.canUseDOM?t(s):n&&(s=n(s))}var d=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o.peek=function(){return s},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=s;return s=void 0,f=[],e};var a=o.prototype;return a.shouldComponentUpdate=function(e){return!c(e,this.props)},a.componentWillMount=function(){f.push(this),l()},a.componentDidUpdate=function(){l()},a.componentWillUnmount=function(){var e=f.indexOf(this);f.splice(e,1),l()},a.render=function(){return i.createElement(r,this.props)},o}(o.Component);return a(d,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),a(d,"canUseDOM",u),d}}},131:function(e,t){e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),c=Object.keys(t);if(i.length!==c.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),u=0;uo.useAllPluginInstancesData("docusaurus-plugin-content-docs"),t.useDocsData=e=>o.usePluginData("docusaurus-plugin-content-docs",e),t.useActivePlugin=(e={})=>{const n=t.useAllDocsData(),{pathname:o}=r.useLocation();return i.getActivePlugin(n,o,e)},t.useActivePluginAndVersion=(e={})=>{const n=t.useActivePlugin(e),{pathname:o}=r.useLocation();if(n){return{activePlugin:n,activeVersion:i.getActiveVersion(n.pluginData,o)}}},t.useVersions=e=>t.useDocsData(e).versions,t.useLatestVersion=e=>{const n=t.useDocsData(e);return i.getLatestVersion(n)},t.useActiveVersion=e=>{const n=t.useDocsData(e),{pathname:o}=r.useLocation();return i.getActiveVersion(n,o)},t.useActiveDocContext=e=>{const n=t.useDocsData(e),{pathname:o}=r.useLocation();return i.getActiveDocContext(n,o)},t.useDocVersionSuggestions=e=>{const n=t.useDocsData(e),{pathname:o}=r.useLocation();return i.getDocVersionSuggestions(n,o)}},134:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return o})),n.d(t,"useAllPluginInstancesData",(function(){return i})),n.d(t,"usePluginData",(function(){return c}));var r=n(88);function o(){const{globalData:e}=Object(r.a)();if(!e)throw new Error("Docusaurus global data not found");return e}function i(e){const t=o()[e];if(!t)throw new Error("Docusaurus plugin global data not found for pluginName="+e);return t}function c(e,t="default"){const n=i(e)[t];if(!n)throw new Error(`Docusaurus plugin global data not found for pluginName=${e} and pluginId=${t}`);return n}},135:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDocVersionSuggestions=t.getActiveDocContext=t.getActiveVersion=t.getLatestVersion=t.getActivePlugin=void 0;const r=n(94);t.getActivePlugin=function(e,t,n={}){const o=Object.entries(e).find((([e,n])=>!!r.matchPath(t,{path:n.path,exact:!1,strict:!1}))),i=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!i&&n.failfast)throw new Error(`Can't find active docs plugin for pathname=${t}, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return i},t.getLatestVersion=e=>e.versions.find((e=>e.isLast)),t.getActiveVersion=(e,n)=>{const o=t.getLatestVersion(e);return[...e.versions.filter((e=>e!==o)),o].find((e=>!!r.matchPath(n,{path:e.path,exact:!1,strict:!1})))},t.getActiveDocContext=(e,n)=>{const o=t.getActiveVersion(e,n),i=null==o?void 0:o.docs.find((e=>!!r.matchPath(n,{path:e.path,exact:!0,strict:!1})));return{activeVersion:o,activeDoc:i,alternateDocVersions:i?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(i.id):{}}},t.getDocVersionSuggestions=(e,n)=>{const r=t.getLatestVersion(e),o=t.getActiveDocContext(e,n),i=o.activeVersion!==r;return{latestDocSuggestion:i?null==o?void 0:o.alternateDocVersions[r.name]:void 0,latestVersionSuggestion:i?r:void 0}}},88:function(e,t,n){"use strict";var r=n(0),o=n(25);t.a=function(){const e=Object(r.useContext)(o.a);if(null===e)throw new Error("Docusaurus context not provided");return e}},89:function(e,t,n){"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{}});var s=n(92),f=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);oe.startsWith("/"))(A=T)?g(A):A:void 0;var A;const C=Object(r.useRef)(!1),j=n?i.e:i.c,E=a.a.canUseIntersectionObserver;let P;Object(r.useEffect)((()=>(!E&&w&&window.docusaurus.prefetch(O),()=>{E&&P&&P.disconnect()})),[O,E,w]);const D=null!==(t=null==O?void 0:O.startsWith("#"))&&void 0!==t&&t,S=!O||!w||D;return O&&w&&!D&&!v&&m.collectLink(O),S?o.a.createElement("a",Object.assign({href:O},y&&!w&&{target:"_blank",rel:"noopener noreferrer"},b)):o.a.createElement(j,Object.assign({},b,{onMouseEnter:()=>{C.current||(window.docusaurus.preload(O),C.current=!0)},innerRef:e=>{var t,n;E&&e&&w&&(t=e,n=()=>{window.docusaurus.prefetch(O)},P=new window.IntersectionObserver((e=>{e.forEach((e=>{t===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(P.unobserve(t),P.disconnect(),n())}))})),P.observe(t))},to:O||""},n&&{isActive:h,activeClassName:p}))}},92:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return c}));var r=n(88),o=n(98);function i(){const{siteConfig:{baseUrl:e="/",url:t}={}}=Object(r.a)();return{withBaseUrl:(n,r)=>function(e,t,n,{forcePrependBaseUrl:r=!1,absolute:i=!1}={}){if(!n)return n;if(n.startsWith("#"))return n;if(Object(o.b)(n))return n;if(r)return t+n;const c=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+c:c}(t,e,n,r)}}function c(e,t={}){const{withBaseUrl:n}=i();return n(e,t)}},93:function(e,t,n){try{e.exports=n(133)}catch(r){e.exports={}}},94:function(e,t,n){"use strict";n.r(t);var r=n(13);n.d(t,"MemoryRouter",(function(){return r.d})),n.d(t,"Prompt",(function(){return r.f})),n.d(t,"Redirect",(function(){return r.g})),n.d(t,"Route",(function(){return r.h})),n.d(t,"Router",(function(){return r.i})),n.d(t,"StaticRouter",(function(){return r.j})),n.d(t,"Switch",(function(){return r.k})),n.d(t,"__RouterContext",(function(){return r.l})),n.d(t,"generatePath",(function(){return r.m})),n.d(t,"matchPath",(function(){return r.n})),n.d(t,"useHistory",(function(){return r.o})),n.d(t,"useLocation",(function(){return r.p})),n.d(t,"useParams",(function(){return r.q})),n.d(t,"useRouteMatch",(function(){return r.r})),n.d(t,"withRouter",(function(){return r.s})),n.d(t,"BrowserRouter",(function(){return r.a})),n.d(t,"HashRouter",(function(){return r.b})),n.d(t,"Link",(function(){return r.c})),n.d(t,"NavLink",(function(){return r.e}))},95:function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(129);t.a=function(e){return o.a.createElement(i.Helmet,Object.assign({},e))}},97:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return a}));var r=n(0),o=n(128),i=n(93);function c(e="default"){const t=Object(i.useDocsData)(e),[n,c]=Object(o.b)(),{preferredVersionName:a}=n[e];return{preferredVersion:a?t.versions.find((e=>e.name===a)):null,savePreferredVersionName:Object(r.useCallback)((t=>{c.savePreferredVersion(e,t)}),[c])}}function a(){const e=Object(i.useAllDocsData)(),[t]=Object(o.b)();const n=Object.keys(e),r={};return n.forEach((n=>{r[n]=function(n){const r=e[n],{preferredVersionName:o}=t[n];return o?r.versions.find((e=>e.name===o)):null}(n)})),r}},98:function(e,t,n){"use strict";function r(e){return!0===/^(\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}))}}]); \ No newline at end of file diff --git a/109e4bea.069ceebf.js b/109e4bea.069ceebf.js new file mode 100644 index 0000000..58e37e0 --- /dev/null +++ b/109e4bea.069ceebf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{55:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return s})),t.d(n,"rightToc",(function(){return p})),t.d(n,"default",(function(){return b}));var r=t(1),o=t(6),a=(t(0),t(87)),i={id:"pronouns",title:"Pronouns",sidebar_label:"Pronouns"},s={unversionedId:"pronouns",id:"pronouns",isDocsHomePage:!1,title:"Pronouns",description:"fbt",source:"@site/..\\docs\\pronouns.md",slug:"/pronouns",permalink:"/fbt/docs/pronouns",version:"current",lastUpdatedBy:"Richard Dobro\u0148",lastUpdatedAt:1693241492,sidebar_label:"Pronouns",sidebar:"docs",previous:{title:"Enumerations",permalink:"/fbt/docs/enums"},next:{title:"Auto-parameterization",permalink:"/fbt/docs/autoparam"}},p=[{value:"Pronoun example:",id:"pronoun-example",children:[{value:"Optional attributes",id:"optional-attributes",children:[]}]},{value:"Combinations",id:"combinations",children:[]}],c={rightToc:p};function b(e){var n=e.components,t=Object(o.a)(e,["components"]);return Object(a.b)("wrapper",Object(r.a)({},c,t,{components:n,mdxType:"MDXLayout"}),Object(a.b)("p",null,Object(a.b)("inlineCode",{parentName:"p"},"fbt:pronoun")," and ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::pronoun")," both take a required ",Object(a.b)("inlineCode",{parentName:"p"},"FbtConstants::PRONOUN_USAGE")," enum and a ",Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"https://github.com/richardDobron/fbt/blob/main/src/fbt/Runtime/Gender.php"}),Object(a.b)("inlineCode",{parentName:"a"},"Gender::GENDER_CONST"))," enum:"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"class FbtConstants\n{\n public const PRONOUN_USAGE = [\n \"OBJECT\" => 0,\n \"POSSESSIVE\" => 1,\n \"REFLEXIVE\" => 2,\n \"SUBJECT\" => 3\n ];\n}\n\nclass Gender\n{\n public const GENDER_CONST = [\n 'NOT_A_PERSON' => 0,\n 'FEMALE_SINGULAR' => 1,\n 'MALE_SINGULAR' => 2,\n 'FEMALE_SINGULAR_GUESS' => 3,\n 'MALE_SINGULAR_GUESS' => 4,\n 'MIXED_SINGULAR' => 5,\n 'MIXED_PLURAL' => 5,\n 'NEUTER_SINGULAR' => 6,\n 'UNKNOWN_SINGULAR' => 7,\n 'FEMALE_PLURAL' => 8,\n 'MALE_PLURAL' => 9,\n 'NEUTER_PLURAL' => 10,\n 'UNKNOWN_PLURAL' => 11,\n ];\n}\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"\u26a0\ufe0f NOTE: This is not the same gender as used in ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:param"),", ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:name"),", or ",Object(a.b)("inlineCode",{parentName:"strong"},"subject"),"!")),Object(a.b)("p",null,"The ",Object(a.b)("inlineCode",{parentName:"p"},"IntlVariations")," used in those cases only has ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_MALE"),", ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_FEMALE"),", and ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_UNKNOWN"),"."),Object(a.b)("h2",{id:"pronoun-example"},"Pronoun example:"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),'\n {{ $ent->getName() }}\n shared\n \n photo with you.\n\n')),Object(a.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(a.b)("ul",null,Object(a.b)("li",{parentName:"ul"},Object(a.b)("strong",{parentName:"li"},"capitalize")," ",Object(a.b)("inlineCode",{parentName:"li"},"bool"),": Whether to capitalize the pronoun in the source string."),Object(a.b)("li",{parentName:"ul"},Object(a.b)("strong",{parentName:"li"},"human")," ",Object(a.b)("inlineCode",{parentName:"li"},"bool"),": Whether to elide the NOT_A_PERSON option in the text variations generated.")),Object(a.b)("p",null,"The example above generates:"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),'{\n "hashToText": {\n "23fa7e4d6a4686bb6ff609c00726cf33": "{name} shared her photo with you.",\n "dd86ffccd845f2767c691f8d48f69e25": "{name} shared his photo with you.",\n "2584ed80718ca4138cd95adcf492de53": "{name} shared their photo with you."\n },\n ...,\n "type": "table",\n "desc": "pronoun example",\n "jsfbt": {\n "t": {\n "1": "{name} shared her photo with you.",\n "2": "{name} shared his photo with you.",\n "*": "{name} shared their photo with you."\n },\n "m": [\n null\n ]\n }\n}\n')),Object(a.b)("h2",{id:"combinations"},"Combinations"),Object(a.b)("p",null,"Conceptually, pronouns work as though there was an ",Object(a.b)("inlineCode",{parentName:"p"},"enum")," supplied for the given ",Object(a.b)("inlineCode",{parentName:"p"},"type"),".\nBelow is the table of possible values for their various types.\n",Object(a.b)("em",{parentName:"p"},"Note how ",Object(a.b)("inlineCode",{parentName:"em"},"reflexive")," and ",Object(a.b)("inlineCode",{parentName:"em"},"object")," have 4 types")),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),"subject: he/she/they\npossessive: his/her/their\nreflexive: himself/herself/themselves/themself\nobject: him/her/them/this\n\n V Name Subject Possessive Reflexive Object\n=============================================================\n 0 NOT_A_PERSON they their themself this\n 1 FEMALE_SINGULAR she her herself her\n 2 MALE_SINGULAR he his himself him\n 3 FEMALE_SINGULAR_GUESS she her herself her\n 4 MALE_SINGULAR_GUESS he his himself him\n 5 MIXED_SINGULAR they their themselves them\n 5 MIXED_PLURAL they their themselves them\n 6 NEUTER_SINGULAR they their themself them\n 7 UNKNOWN_SINGULAR they their themself them\n 8 FEMALE_PLURAL they their themselves them\n 9 MALE_PLURAL they their themselves them\n10 NEUTER_PLURAL they their themselves them\n11 UNKNOWN_PLURAL they their themselves them\n")))}b.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return m}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=o.a.createContext({}),b=function(e){var n=o.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},l=function(e){var n=b(e.components);return o.a.createElement(c.Provider,{value:n},e.children)},h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},u=o.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),l=b(t),u=r,m=l["".concat(i,".").concat(u)]||l[u]||h[u]||a;return t?o.a.createElement(m,s(s({ref:n},c),{},{components:t})):o.a.createElement(m,s({ref:n},c))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=u;var s={};for(var p in n)hasOwnProperty.call(n,p)&&(s[p]=n[p]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var c=2;c 0,\n \"POSSESSIVE\" => 1,\n \"REFLEXIVE\" => 2,\n \"SUBJECT\" => 3\n ];\n}\n\nclass Gender\n{\n const GENDER_CONST = [\n 'NOT_A_PERSON' => 0,\n 'FEMALE_SINGULAR' => 1,\n 'MALE_SINGULAR' => 2,\n 'FEMALE_SINGULAR_GUESS' => 3,\n 'MALE_SINGULAR_GUESS' => 4,\n 'MIXED_SINGULAR' => 5,\n 'MIXED_PLURAL' => 5,\n 'NEUTER_SINGULAR' => 6,\n 'UNKNOWN_SINGULAR' => 7,\n 'FEMALE_PLURAL' => 8,\n 'MALE_PLURAL' => 9,\n 'NEUTER_PLURAL' => 10,\n 'UNKNOWN_PLURAL' => 11,\n ];\n}\n")),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},"\u26a0\ufe0f NOTE: This is not the same gender as used in ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:param"),", ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:name"),", or ",Object(a.b)("inlineCode",{parentName:"strong"},"subject"),"!"),"\nThe ",Object(a.b)("inlineCode",{parentName:"p"},"IntlVariations")," used in those cases only has ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_MALE"),", ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_FEMALE"),", and ",Object(a.b)("inlineCode",{parentName:"p"},"GENDER_UNKNOWN"),"."),Object(a.b)("h2",{id:"pronoun-example"},"Pronoun example:"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),'\n getName()?>\n shared\n \n photo with you.\n\n')),Object(a.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(a.b)("ul",null,Object(a.b)("li",{parentName:"ul"},Object(a.b)("strong",{parentName:"li"},"capitalize")," ",Object(a.b)("inlineCode",{parentName:"li"},"bool"),": Whether to capitalize the pronoun in the source string."),Object(a.b)("li",{parentName:"ul"},Object(a.b)("strong",{parentName:"li"},"human")," ",Object(a.b)("inlineCode",{parentName:"li"},"bool"),": Whether to elide the NOT_A_PERSON option in the text variations generated.")),Object(a.b)("p",null,"The example above generates:"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),'{\n "hashToText": {\n "23fa7e4d6a4686bb6ff609c00726cf33": "{name} shared her photo with you.",\n "dd86ffccd845f2767c691f8d48f69e25": "{name} shared his photo with you.",\n "2584ed80718ca4138cd95adcf492de53": "{name} shared their photo with you."\n },\n ...,\n "type": "table",\n "desc": "pronoun example",\n "jsfbt": {\n "t": {\n "1": "{name} shared her photo with you.",\n "2": "{name} shared his photo with you.",\n "*": "{name} shared their photo with you."\n },\n "m": [\n null\n ]\n }\n}\n')),Object(a.b)("h2",{id:"combinations"},"Combinations"),Object(a.b)("p",null,"Conceptually, pronouns work as though there was an ",Object(a.b)("inlineCode",{parentName:"p"},"enum")," supplied for the given ",Object(a.b)("inlineCode",{parentName:"p"},"type"),".\nBelow is the table of possible values for their various types.\n",Object(a.b)("em",{parentName:"p"},"Note how ",Object(a.b)("inlineCode",{parentName:"em"},"reflexive")," and ",Object(a.b)("inlineCode",{parentName:"em"},"object")," have 4 types")),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),"subject: he/she/they\npossessive: his/her/their\nreflexive: himself/herself/themselves/themself\nobject: him/her/them/this\n\n V Name Subject Possessive Reflexive Object\n=============================================================\n 0 NOT_A_PERSON they their themself this\n 1 FEMALE_SINGULAR she her herself her\n 2 MALE_SINGULAR he his himself him\n 3 FEMALE_SINGULAR_GUESS she her herself her\n 4 MALE_SINGULAR_GUESS he his himself him\n 5 MIXED_SINGULAR they their themselves them\n 5 MIXED_PLURAL they their themselves them\n 6 NEUTER_SINGULAR they their themself them\n 7 UNKNOWN_SINGULAR they their themself them\n 8 FEMALE_PLURAL they their themselves them\n 9 MALE_PLURAL they their themselves them\n10 NEUTER_PLURAL they their themselves them\n11 UNKNOWN_PLURAL they their themselves them\n")))}b.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return m}));var r=t(0),o=t.n(r);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=o.a.createContext({}),b=function(e){var n=o.a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},l=function(e){var n=b(e.components);return o.a.createElement(c.Provider,{value:n},e.children)},h={inlineCode:"code",wrapper:function(e){var n=e.children;return o.a.createElement(o.a.Fragment,{},n)}},u=o.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),l=b(t),u=r,m=l["".concat(i,".").concat(u)]||l[u]||h[u]||a;return t?o.a.createElement(m,s(s({ref:n},c),{},{components:t})):o.a.createElement(m,s({ref:n},c))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=u;var s={};for(var p in n)hasOwnProperty.call(n,p)&&(s[p]=n[p]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var c=2;c")," or ",Object(i.b)("inlineCode",{parentName:"p"},"fbt::param"),":"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-html"}),'\n Hello,\n getName()?>.\n\n')),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt('Hello, ' . fbt::param('name', $person->getName()), 'param example')\n")),Object(i.b)("p",null,"These both ",Object(i.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"extract")," to the same following text:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),'"Hello, {name}"\n')),Object(i.b)("p",null,"Tokens are delimited with the braces above and translations are expected to keep the same total token ",Object(i.b)("em",{parentName:"p"},"count")," and same token ",Object(i.b)("em",{parentName:"p"},"names")," for any given ",Object(i.b)("inlineCode",{parentName:"p"},"fbt")," callsite."),Object(i.b)("h3",{id:"required-attributes"},"Required attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"name")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Name of the token")),Object(i.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"gender")," ",Object(i.b)("inlineCode",{parentName:"li"},"IntlVariations::GENDER_*"),":",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"Pass the gender of the parameter for correctly variated text."))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"number")," ",Object(i.b)("inlineCode",{parentName:"li"},"number|true"),":",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"Passing a value of type ",Object(i.b)("inlineCode",{parentName:"li"},"number")," into the ",Object(i.b)("inlineCode",{parentName:"li"},"number")," option uses that\nvalue as the input for which we determine the ",Object(i.b)("a",Object(a.a)({parentName:"li"},{href:"http://cldr.unicode.org/index/cldr-spec/plural-rules"}),"CLDR plural value"),"."),Object(i.b)("li",{parentName:"ul"},"You can pass ",Object(i.b)("inlineCode",{parentName:"li"},"true")," to simply use the parameter value (the same value that replaces the token).")))),Object(i.b)("hr",null),Object(i.b)("h2",{id:"fbtname"},"fbt::name"),Object(i.b)("p",null,Object(i.b)("inlineCode",{parentName:"p"},"")," is just a special form of ",Object(i.b)("inlineCode",{parentName:"p"},"fbt:param")," that ",Object(i.b)("inlineCode",{parentName:"p"},"requires")," that you pass in the gender for the interpolated variable."),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),'\n Hello,\n getName()?>.\n\n')),Object(i.b)("p",null,"Here, gender must be one of the 3 supported gender values in ",Object(i.b)("inlineCode",{parentName:"p"},"IntlVariations"),":"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::GENDER_MALE: 1;\nIntlVariations::GENDER_FEMALE: 2;\nIntlVariations::GENDER_UNKNOWN: 3;\n")),Object(i.b)("hr",null),Object(i.b)("h3",{id:"duplicate-tokens"},"Duplicate tokens"),Object(i.b)("p",null,"Tokens with the same name, but different values are prohibited in FBT.\nIf you want the same interpolation to show up, you must use\n",Object(i.b)("inlineCode",{parentName:"p"},"fbt:same-param")," or ",Object(i.b)("inlineCode",{parentName:"p"},"fbt::sameParam"),". This construct only takes a name\nand no value, as the value to the first instance is re-used for the\nsecond token."),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"\n \">\n \n \n shared a link. Tell\n \n you liked it.\n\n\nfbt(\n fbt::name(\n 'name',\n '' . $name . '',\n $gender\n ) .\n ' shared a link. Tell ' . fbt::sameParam('name') . ' you liked it.',\n 'param example'\n)\n")))}c.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=r.a.createContext({}),c=function(e){var t=r.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=c(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,p=b(e,["components","mdxType","originalType","parentName"]),m=c(n),u=a,d=m["".concat(o,".").concat(u)]||m[u]||s[u]||i;return n?r.a.createElement(d,l(l({ref:t},p),{},{components:n})):r.a.createElement(d,l({ref:t},p))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var l={};for(var b in t)hasOwnProperty.call(t,b)&&(l[b]=t[b]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var p=2;p")," or ",Object(i.b)("inlineCode",{parentName:"p"},"fbt::param"),":"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-html"}),'\n Hello,\n {{ $person->getName() }}.\n\n')),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt('Hello, ' . fbt::param('name', $person->getName()), 'param example')\n")),Object(i.b)("p",null,"These both ",Object(i.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"extract")," to the same following text:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),'"Hello, {name}"\n')),Object(i.b)("p",null,"Tokens are delimited with the braces above and translations are expected to keep the same total token ",Object(i.b)("em",{parentName:"p"},"count")," and same token ",Object(i.b)("em",{parentName:"p"},"names")," for any given ",Object(i.b)("inlineCode",{parentName:"p"},"fbt")," callsite."),Object(i.b)("h3",{id:"required-attributes"},"Required attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"name")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Name of the token")),Object(i.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"gender")," ",Object(i.b)("inlineCode",{parentName:"li"},"IntlVariations::GENDER_*"),":",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"Pass the gender of the parameter for correctly variated text."))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"number")," ",Object(i.b)("inlineCode",{parentName:"li"},"number|true"),":",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"Passing a value of type ",Object(i.b)("inlineCode",{parentName:"li"},"number")," into the ",Object(i.b)("inlineCode",{parentName:"li"},"number")," option uses that\nvalue as the input for which we determine the ",Object(i.b)("a",Object(a.a)({parentName:"li"},{href:"http://cldr.unicode.org/index/cldr-spec/plural-rules"}),"CLDR plural value"),"."),Object(i.b)("li",{parentName:"ul"},"You can pass ",Object(i.b)("inlineCode",{parentName:"li"},"true")," to simply use the parameter value (the same value that replaces the token).")))),Object(i.b)("hr",null),Object(i.b)("h2",{id:"fbtname"},"fbt::name"),Object(i.b)("p",null,Object(i.b)("inlineCode",{parentName:"p"},"")," is just a special form of ",Object(i.b)("inlineCode",{parentName:"p"},"fbt:param")," that ",Object(i.b)("inlineCode",{parentName:"p"},"requires")," that you pass in the gender for the interpolated variable."),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),'\n Hello,\n {{$person->getName()}}.\n\n')),Object(i.b)("p",null,"Here, gender must be one of the 3 supported gender values in ",Object(i.b)("inlineCode",{parentName:"p"},"IntlVariations"),":"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::GENDER_MALE: 1;\nIntlVariations::GENDER_FEMALE: 2;\nIntlVariations::GENDER_UNKNOWN: 3;\n")),Object(i.b)("hr",null),Object(i.b)("h3",{id:"duplicate-tokens"},"Duplicate tokens"),Object(i.b)("p",null,"Tokens with the same name, but different values are prohibited in FBT.\nIf you want the same interpolation to show up, you must use\n",Object(i.b)("inlineCode",{parentName:"p"},"fbt:same-param")," or ",Object(i.b)("inlineCode",{parentName:"p"},"fbt::sameParam"),". This construct only takes a name\nand no value, as the value to the first instance is re-used for the\nsecond token."),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"\n \n {{$name}}\n \n shared a link. Tell\n \n you liked it.\n\n\nfbt(\n fbt::name(\n 'name',\n '{{$name}}',\n $gender\n ) .\n ' shared a link. Tell ' . fbt::sameParam('name') . ' you liked it.',\n 'param example'\n)\n")))}c.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return m})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=r.a.createContext({}),c=function(e){var t=r.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},m=function(e){var t=c(e.components);return r.a.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,p=b(e,["components","mdxType","originalType","parentName"]),m=c(n),u=a,d=m["".concat(o,".").concat(u)]||m[u]||s[u]||i;return n?r.a.createElement(d,l(l({ref:t},p),{},{components:n})):r.a.createElement(d,l({ref:t},p))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var l={};for(var b in t)hasOwnProperty.call(t,b)&&(l[b]=t[b]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var p=2;p: ,\n ...\n },\n "jsfbt": string|{t:, m:}\n ],\n ...\n "translationGroups": [{\n "fb-locale": "xx_XX",\n "translations": {\n : {\n "tokens": [, ..., ],\n "types": [, ..., ]\n "translations": [{\n "translation": ,\n "variations": [variationValue1,...,variationValueN]\n },\n ...,\n ]\n }\n }\n }]\n}\n')),Object(i.b)("p",null,"The ",Object(i.b)("inlineCode",{parentName:"p"},"")," and ",Object(i.b)("inlineCode",{parentName:"p"},"")," correspond in the above example.\nThat is ",Object(i.b)("inlineCode",{parentName:"p"},"translations[]")," is the translation entry for\n",Object(i.b)("inlineCode",{parentName:"p"},"phrases.hashToText[]"),"."),Object(i.b)("p",null,"Here ",Object(i.b)("inlineCode",{parentName:"p"},"tokens"),", ",Object(i.b)("inlineCode",{parentName:"p"},"types")," and ",Object(i.b)("inlineCode",{parentName:"p"},"variations")," are all associative arrays. That is, in\nthe above example, ",Object(i.b)("inlineCode",{parentName:"p"},"types[i]")," represents the variation type (or mask) of\n",Object(i.b)("inlineCode",{parentName:"p"},"tokens[i]")," and ",Object(i.b)("inlineCode",{parentName:"p"},"variations[i]")," is the variation value of ",Object(i.b)("inlineCode",{parentName:"p"},"token[i]")," for the\ngiven translation entry."),Object(i.b)("h2",{id:"database-schema"},"Database schema:"),Object(i.b)("p",null,Object(i.b)("img",{alt:"Database Schema",src:n(143).default})),Object(i.b)("h2",{id:"example-translation"},"Example translation:"),Object(i.b)("h3",{id:"fbt_phrases"},"fbt_phrases"),Object(i.b)("p",null,Object(i.b)("img",{alt:"fbt_phrases table",src:n(144).default})),Object(i.b)("h3",{id:"translations"},"translations"),Object(i.b)("p",null,"If you use tokens, they must be defined in same order and the following form: ",Object(i.b)("inlineCode",{parentName:"p"},"token_name"),"%",Object(i.b)("inlineCode",{parentName:"p"},"token_type"),"."),Object(i.b)("p",null,Object(i.b)("img",{alt:"translations table",src:n(145).default}),"\n..."),Object(i.b)("h2",{id:"variation-types"},"Variation types"),Object(i.b)("p",null,"Variation types can be one of"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::BITMASK_NUMBER: 28\nIntlVariations::BITMASK_GENDER: 3\n")),Object(i.b)("p",null,"This signifies what the given token can variate on. Token types of type ",Object(i.b)("inlineCode",{parentName:"p"},"GENDER")," can be:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::GENDER_MALE: 1\nIntlVariations::GENDER_FEMALE: 2\nIntlVariations::GENDER_UNKNOWN: 3\n")),Object(i.b)("p",null,"while token types of ",Object(i.b)("inlineCode",{parentName:"p"},"NUMBER")," can be:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"\nIntlVariations::NUMBER_ONE: 4\nIntlVariations::NUMBER_TWO: 8\nIntlVariations::NUMBER_MANY: 12\nIntlVariations::NUMBER_ZERO: 16\nIntlVariations::NUMBER_FEW: 20\nIntlVariations::NUMBER_OTHER: 24\n")))}c.isMDXComponent=!0},87:function(t,e,n){"use strict";n.d(e,"a",(function(){return p})),n.d(e,"b",(function(){return O}));var a=n(0),r=n.n(a);function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function l(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var b=r.a.createContext({}),c=function(t){var e=r.a.useContext(b),n=e;return t&&(n="function"==typeof t?t(e):l(l({},e),t)),n},p=function(t){var e=c(t.components);return r.a.createElement(b.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return r.a.createElement(r.a.Fragment,{},e)}},m=r.a.forwardRef((function(t,e){var n=t.components,a=t.mdxType,i=t.originalType,s=t.parentName,b=o(t,["components","mdxType","originalType","parentName"]),p=c(n),m=a,O=p["".concat(s,".").concat(m)]||p[m]||d[m]||i;return n?r.a.createElement(O,l(l({ref:e},b),{},{components:n})):r.a.createElement(O,l({ref:e},b))}));function O(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var i=n.length,s=new Array(i);s[0]=m;var l={};for(var o in e)hasOwnProperty.call(e,o)&&(l[o]=e[o]);l.originalType=t,l.mdxType="string"==typeof t?t:a,s[1]=l;for(var b=2;b: ,\n ...\n },\n "jsfbt": string|{t:
, m:}\n ],\n ...\n "translationGroups": [{\n "fb-locale": "xx_XX",\n "translations": {\n : {\n "tokens": [, ..., ],\n "types": [, ..., ]\n "translations": [{\n "translation": ,\n "variations": [variationValue1,...,variationValueN]\n },\n ...,\n ]\n }\n }\n }]\n}\n')),Object(i.b)("p",null,"The ",Object(i.b)("inlineCode",{parentName:"p"},"")," and ",Object(i.b)("inlineCode",{parentName:"p"},"")," correspond in the above example.\nThat is ",Object(i.b)("inlineCode",{parentName:"p"},"translations[]")," is the translation entry for\n",Object(i.b)("inlineCode",{parentName:"p"},"phrases.hashToText[]"),"."),Object(i.b)("p",null,"Here ",Object(i.b)("inlineCode",{parentName:"p"},"tokens"),", ",Object(i.b)("inlineCode",{parentName:"p"},"types")," and ",Object(i.b)("inlineCode",{parentName:"p"},"variations")," are all associative arrays. That is, in\nthe above example, ",Object(i.b)("inlineCode",{parentName:"p"},"types[i]")," represents the variation type (or mask) of\n",Object(i.b)("inlineCode",{parentName:"p"},"tokens[i]")," and ",Object(i.b)("inlineCode",{parentName:"p"},"variations[i]")," is the variation value of ",Object(i.b)("inlineCode",{parentName:"p"},"token[i]")," for the\ngiven translation entry."),Object(i.b)("h2",{id:"variation-types"},"Variation types"),Object(i.b)("p",null,"Variation types can be one of"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::BITMASK_NUMBER: 28\nIntlVariations::BITMASK_GENDER: 3\n")),Object(i.b)("p",null,"This signifies what the given token can variate on. Token types of type ",Object(i.b)("inlineCode",{parentName:"p"},"GENDER")," can be:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"IntlVariations::GENDER_MALE: 1\nIntlVariations::GENDER_FEMALE: 2\nIntlVariations::GENDER_UNKNOWN: 3\n")),Object(i.b)("p",null,"while token types of ",Object(i.b)("inlineCode",{parentName:"p"},"NUMBER")," can be:"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),"\nIntlVariations::NUMBER_ONE: 4\nIntlVariations::NUMBER_TWO: 8\nIntlVariations::NUMBER_MANY: 12\nIntlVariations::NUMBER_ZERO: 16\nIntlVariations::NUMBER_FEW: 20\nIntlVariations::NUMBER_OTHER: 24\n")))}c.isMDXComponent=!0},87:function(t,e,n){"use strict";n.d(e,"a",(function(){return p})),n.d(e,"b",(function(){return j}));var a=n(0),r=n.n(a);function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function l(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var b=r.a.createContext({}),c=function(t){var e=r.a.useContext(b),n=e;return t&&(n="function"==typeof t?t(e):l(l({},e),t)),n},p=function(t){var e=c(t.components);return r.a.createElement(b.Provider,{value:e},t.children)},d={inlineCode:"code",wrapper:function(t){var e=t.children;return r.a.createElement(r.a.Fragment,{},e)}},O=r.a.forwardRef((function(t,e){var n=t.components,a=t.mdxType,i=t.originalType,o=t.parentName,b=s(t,["components","mdxType","originalType","parentName"]),p=c(n),O=a,j=p["".concat(o,".").concat(O)]||p[O]||d[O]||i;return n?r.a.createElement(j,l(l({ref:e},b),{},{components:n})):r.a.createElement(j,l({ref:e},b))}));function j(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var i=n.length,o=new Array(i);o[0]=O;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l.mdxType="string"==typeof t?t:a,o[1]=l;for(var b=2;b=a}));if(t){if(t.getBoundingClientRect().top>=a){var n=e[e.indexOf(t)-1];return null!=n?n:t}return t}return e[e.length-1]}();if(n)for(var l=0,c=!1,m=document.getElementsByClassName(e);l1,B=p?p+" "+d+" "+m:m,D=Object(c.a)(k,{absolute:!0});return l.a.createElement(l.a.Fragment,null,l.a.createElement(r.a,null,l.a.createElement("title",null,B),l.a.createElement("meta",{property:"og:title",content:B}),E&&l.a.createElement("meta",{name:"description",content:E}),E&&l.a.createElement("meta",{property:"og:description",content:E}),j&&j.length&&l.a.createElement("meta",{name:"keywords",content:j.join(",")}),k&&l.a.createElement("meta",{property:"og:image",content:D}),k&&l.a.createElement("meta",{property:"twitter:image",content:D}),k&&l.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+p}),f&&l.a.createElement("meta",{property:"og:url",content:n+f}),f&&l.a.createElement("link",{rel:"canonical",href:n+f})),l.a.createElement("div",{className:Object(h.a)("container padding-vert--lg",_.a.docItemWrapper)},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:Object(h.a)("col",(t={},t[_.a.docItemCol]=!x,t))},l.a.createElement(u,null),l.a.createElement("div",{className:_.a.docItemContainer},l.a.createElement("article",null,S&&l.a.createElement("div",null,l.a.createElement("span",{className:"badge badge--secondary"},"Version: ",A.label)),!C&&l.a.createElement("header",null,l.a.createElement("h1",{className:_.a.docTitle},p)),l.a.createElement("div",{className:"markdown"},l.a.createElement(g,null))),(N||w||O)&&l.a.createElement("div",{className:"margin-vert--xl"},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col"},N&&l.a.createElement("a",{href:N,target:"_blank",rel:"noreferrer noopener"},l.a.createElement("svg",{fill:"currentColor",height:"1.2em",width:"1.2em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 40 40",style:{marginRight:"0.3em",verticalAlign:"sub"}},l.a.createElement("g",null,l.a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"}))),"Edit this page")),(w||O)&&l.a.createElement("div",{className:"col text--right"},l.a.createElement("em",null,l.a.createElement("small",null,"Last updated"," ",w&&l.a.createElement(l.a.Fragment,null,"on"," ",l.a.createElement("time",{dateTime:new Date(1e3*w).toISOString(),className:_.a.docLastUpdatedAt},new Date(1e3*w).toLocaleDateString()),O&&" "),O&&l.a.createElement(l.a.Fragment,null,"by ",l.a.createElement("strong",null,O)),!1))))),l.a.createElement("div",{className:"margin-vert--lg"},l.a.createElement(o,{metadata:v})))),!x&&g.rightToc&&l.a.createElement("div",{className:"col col--3"},l.a.createElement(b,{headings:g.rightToc})))))}}}]); \ No newline at end of file diff --git a/17896441.6cbbea2a.js b/17896441.6cbbea2a.js new file mode 100644 index 0000000..95dba8e --- /dev/null +++ b/17896441.6cbbea2a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{84:function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(95),i=a(88),c=a(92),s=a(91);var o=function(e){const{metadata:t}=e;return l.a.createElement("nav",{className:"pagination-nav","aria-label":"Blog list page navigation"},l.a.createElement("div",{className:"pagination-nav__item"},t.previous&&l.a.createElement(s.a,{className:"pagination-nav__link",to:t.previous.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"},"Previous"),l.a.createElement("div",{className:"pagination-nav__label"},"\xab ",t.previous.title))),l.a.createElement("div",{className:"pagination-nav__item pagination-nav__item--next"},t.next&&l.a.createElement(s.a,{className:"pagination-nav__link",to:t.next.permalink},l.a.createElement("div",{className:"pagination-nav__sublabel"},"Next"),l.a.createElement("div",{className:"pagination-nav__label"},t.next.title," \xbb"))))},m=a(93),d=a(97);var u=function(){const{siteConfig:{title:e}}=Object(i.a)(),{pluginId:t}=Object(m.useActivePlugin)({failfast:!0}),{savePreferredVersionName:a}=Object(d.a)(t),n=Object(m.useActiveVersion)(t),{latestDocSuggestion:r,latestVersionSuggestion:c}=Object(m.useDocVersionSuggestions)(t);if(!c)return l.a.createElement(l.a.Fragment,null);const o=null!=r?r:(u=c).docs.find((e=>e.id===u.mainDocId));var u;return l.a.createElement("div",{className:"alert alert--warning margin-bottom--md",role:"alert"},"current"===n.name?l.a.createElement("div",null,"This is unreleased documentation for ",e," ",l.a.createElement("strong",null,n.label)," version."):l.a.createElement("div",null,"This is documentation for ",e," ",l.a.createElement("strong",null,n.label),", which is no longer actively maintained."),l.a.createElement("div",{className:"margin-top--md"},"For up-to-date documentation, see the"," ",l.a.createElement("strong",null,l.a.createElement(s.a,{to:o.path,onClick:()=>a(c.name)},"latest version"))," ","(",c.label,")."))};var g=function(e,t,a){const[l,r]=Object(n.useState)(void 0);Object(n.useEffect)((()=>{function n(){const n=function(){const e=Array.from(document.getElementsByClassName("anchor")),t=e.find((e=>{const{top:t}=e.getBoundingClientRect();return t>=a}));if(t){if(t.getBoundingClientRect().top>=a){const a=e[e.indexOf(t)-1];return null!=a?a:t}return t}return e[e.length-1]}();if(n){let a=0,i=!1;const c=document.getElementsByClassName(e);for(;a{document.removeEventListener("scroll",n),document.removeEventListener("resize",n)}}))},E=a(58),v=a.n(E);const p="table-of-contents__link";function f({headings:e,isChild:t}){return e.length?l.a.createElement("ul",{className:t?"":"table-of-contents table-of-contents__left-border"},e.map((e=>l.a.createElement("li",{key:e.id},l.a.createElement("a",{href:"#"+e.id,className:p,dangerouslySetInnerHTML:{__html:e.value}}),l.a.createElement(f,{isChild:!0,headings:e.children}))))):null}var b=function({headings:e}){return g(p,"table-of-contents__link--active",100),l.a.createElement("div",{className:v.a.tableOfContents},l.a.createElement(f,{headings:e}))},h=a(89),N=a(59),_=a.n(N);t.default=function(e){const{siteConfig:t}=Object(i.a)(),{url:a,title:n,titleDelimiter:s}=t,{content:d}=e,{metadata:g}=d,{description:E,title:v,permalink:p,editUrl:f,lastUpdatedAt:N,lastUpdatedBy:w}=g,{frontMatter:{image:O,keywords:y,hide_title:k,hide_table_of_contents:j}}=d,{pluginId:C}=Object(m.useActivePlugin)({failfast:!0}),x=Object(m.useVersions)(C),I=Object(m.useActiveVersion)(C),L=x.length>1,A=v?`${v} ${s} ${n}`:n,S=Object(c.a)(O,{absolute:!0});return l.a.createElement(l.a.Fragment,null,l.a.createElement(r.a,null,l.a.createElement("title",null,A),l.a.createElement("meta",{property:"og:title",content:A}),E&&l.a.createElement("meta",{name:"description",content:E}),E&&l.a.createElement("meta",{property:"og:description",content:E}),y&&y.length&&l.a.createElement("meta",{name:"keywords",content:y.join(",")}),O&&l.a.createElement("meta",{property:"og:image",content:S}),O&&l.a.createElement("meta",{property:"twitter:image",content:S}),O&&l.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+v}),p&&l.a.createElement("meta",{property:"og:url",content:a+p}),p&&l.a.createElement("link",{rel:"canonical",href:a+p})),l.a.createElement("div",{className:Object(h.a)("container padding-vert--lg",_.a.docItemWrapper)},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:Object(h.a)("col",{[_.a.docItemCol]:!j})},l.a.createElement(u,null),l.a.createElement("div",{className:_.a.docItemContainer},l.a.createElement("article",null,L&&l.a.createElement("div",null,l.a.createElement("span",{className:"badge badge--secondary"},"Version: ",I.label)),!k&&l.a.createElement("header",null,l.a.createElement("h1",{className:_.a.docTitle},v)),l.a.createElement("div",{className:"markdown"},l.a.createElement(d,null))),(f||N||w)&&l.a.createElement("div",{className:"margin-vert--xl"},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col"},f&&l.a.createElement("a",{href:f,target:"_blank",rel:"noreferrer noopener"},l.a.createElement("svg",{fill:"currentColor",height:"1.2em",width:"1.2em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 40 40",style:{marginRight:"0.3em",verticalAlign:"sub"}},l.a.createElement("g",null,l.a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"}))),"Edit this page")),(N||w)&&l.a.createElement("div",{className:"col text--right"},l.a.createElement("em",null,l.a.createElement("small",null,"Last updated"," ",N&&l.a.createElement(l.a.Fragment,null,"on"," ",l.a.createElement("time",{dateTime:new Date(1e3*N).toISOString(),className:_.a.docLastUpdatedAt},new Date(1e3*N).toLocaleDateString()),w&&" "),w&&l.a.createElement(l.a.Fragment,null,"by ",l.a.createElement("strong",null,w)),!1))))),l.a.createElement("div",{className:"margin-vert--lg"},l.a.createElement(o,{metadata:g})))),!j&&d.rightToc&&l.a.createElement("div",{className:"col col--3"},l.a.createElement(b,{headings:d.rightToc})))))}}}]); \ No newline at end of file diff --git a/2.1cc5800a.js b/2.1cc5800a.js new file mode 100644 index 0000000..0af18ba --- /dev/null +++ b/2.1cc5800a.js @@ -0,0 +1,2 @@ +/*! For license information please see 2.1cc5800a.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{102:function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return r}));const n="default";function r(e,t){return`docs-${e}-${t}`}},103:function(e,t,a){var n;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e=[],t=0;t{const n=new URLSearchParams(t.search);a?n.set("q",a):n.delete("q"),e.replace({search:n.toString()})},generateSearchPageLink:e=>`${a}search?q=${encodeURIComponent(e)}`}}},113:function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),r=a.n(n);function c(){return r.a.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.a.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},114:function(e,t,a){"use strict";var n=a(0);const r=a.n(n).a.createContext(void 0);t.a=r},115:function(e,t,a){"use strict";var n=a(0),r=a(10);const c=()=>({scrollX:r.a.canUseDOM?window.pageXOffset:0,scrollY:r.a.canUseDOM?window.pageYOffset:0});t.a=(e,t=[])=>{const[a,r]=Object(n.useState)(c()),o=()=>{const t=c();r(t),e&&e(t)};return Object(n.useEffect)((()=>(window.addEventListener("scroll",o),()=>window.removeEventListener("scroll",o,{passive:!0}))),t),a}},116:function(e,t,a){"use strict";var n=a(0);t.a=function(e=!0){Object(n.useEffect)((()=>(document.body.style.overflow=e?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[e])}},117:function(e,t,a){"use strict";a.d(t,"b",(function(){return r}));var n=a(0);const r={desktop:"desktop",mobile:"mobile"};t.a=function(){const e="undefined"!=typeof window;function t(){if(e)return window.innerWidth>996?r.desktop:r.mobile}const[a,c]=Object(n.useState)(t);return Object(n.useEffect)((()=>{if(e)return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);function a(){c(t())}}),[]),a}},118:function(e,t,a){"use strict";var n=a(104),r=a(92),c=a(98),o=a(90);t.a=()=>{const{navbar:{logo:e}}=Object(o.a)(),{isDarkTheme:t}=Object(n.a)(),a=Object(r.a)(e.href||"/");let l={};e.target?l={target:e.target}:Object(c.a)(a)||(l={rel:"noopener noreferrer",target:"_blank"});const s=e.srcDark&&t?e.srcDark:e.src;return{logoLink:a,logoLinkProps:l,logoImageUrl:Object(r.a)(s),logoAlt:e.alt}}},119:function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=(e,t)=>{const a=e=>e.endsWith("/")?e:e+"/";return a(e)===a(t)}},136:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;tthis.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=ta?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-4=0||Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n]);return a}(t,["className","icons"])),c=(0,l.default)("react-toggle",{"react-toggle--checked":this.state.checked,"react-toggle--focus":this.state.hasFocus,"react-toggle--disabled":this.props.disabled},a);return o.default.createElement("div",{className:c,onClick:this.handleClick,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd},o.default.createElement("div",{className:"react-toggle-track"},o.default.createElement("div",{className:"react-toggle-track-check"},this.getIcon("checked")),o.default.createElement("div",{className:"react-toggle-track-x"},this.getIcon("unchecked"))),o.default.createElement("div",{className:"react-toggle-thumb"}),o.default.createElement("input",n({},r,{ref:function(t){e.input=t},onFocus:this.handleFocus,onBlur:this.handleBlur,className:"react-toggle-screenreader-only",type:"checkbox"})))}}]),t}(c.PureComponent);t.default=h,h.displayName="Toggle",h.defaultProps={icons:{checked:o.default.createElement(i.default,null),unchecked:o.default.createElement(u.default,null)}},h.propTypes={checked:s.default.bool,disabled:s.default.bool,defaultChecked:s.default.bool,onChange:s.default.func,onFocus:s.default.func,onBlur:s.default.func,className:s.default.string,name:s.default.string,value:s.default.string,id:s.default.string,"aria-labelledby":s.default.string,"aria-label":s.default.string,icons:s.default.oneOfType([s.default.bool,s.default.shape({checked:s.default.node,unchecked:s.default.node})])}},137:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=a(0),c=(n=r)&&n.__esModule?n:{default:n};t.default=function(){return c.default.createElement("svg",{width:"14",height:"11",viewBox:"0 0 14 11"},c.default.createElement("title",null,"switch-check"),c.default.createElement("path",{d:"M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0",fill:"#fff",fillRule:"evenodd"}))}},138:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r=a(0),c=(n=r)&&n.__esModule?n:{default:n};t.default=function(){return c.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},c.default.createElement("title",null,"switch-x"),c.default.createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},139:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=function(e){if(e){var t=e.changedTouches;if(t&&t.length>0){var a=t[0];return{x:a.clientX,y:a.clientY}}var n=e.pageX;if(void 0!==n)return{x:n,y:e.pageY}}return{x:0,y:0}}},140:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return i}));var n=a(1),r=a(0),c=a.n(r),o=a(99),l=a(93),s=a(97);function i({label:e,to:t,docsPluginId:a,...r}){var i;const u=Object(l.useActiveVersion)(a),{preferredVersion:d}=Object(s.a)(a),m=Object(l.useLatestVersion)(a),h=null!==(i=null!=u?u:d)&&void 0!==i?i:m,f=null!=e?e:h.label,b=null!=t?t:(e=>e.docs.find((t=>t.id===e.mainDocId)))(h).path;return c.a.createElement(o.a,Object(n.a)({},r,{label:f,to:b}))}},141:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return u}));var n=a(1),r=a(0),c=a.n(r),o=a(99),l=a(93),s=a(97);const i=e=>e.docs.find((t=>t.id===e.mainDocId));function u({mobile:e,docsPluginId:t,dropdownActiveClassDisabled:a,dropdownItemsBefore:r,dropdownItemsAfter:u,...d}){var m,h;const f=Object(l.useActiveDocContext)(t),b=Object(l.useVersions)(t),v=Object(l.useLatestVersion)(t),{preferredVersion:p,savePreferredVersionName:g}=Object(s.a)(t);const E=null!==(m=null!==(h=f.activeVersion)&&void 0!==h?h:p)&&void 0!==m?m:v,k=e?"Versions":E.label,O=e?void 0:i(E).path;return c.a.createElement(o.a,Object(n.a)({},d,{mobile:e,label:k,to:O,items:function(){const e=b.map((e=>{const t=(null==f?void 0:f.alternateDocVersions[e.name])||i(e);return{isNavLink:!0,label:e.label,to:t.path,isActive:()=>e===(null==f?void 0:f.activeVersion),onClick:()=>{g(e.name)}}})),t=[...r,...e,...u];if(!(t.length<=1))return t}(),isActive:a?()=>!1:void 0}))}},142:function(e,t,a){"use strict";a.r(t),a.d(t,"default",(function(){return u}));var n=a(1),r=a(0),c=a.n(r),o=a(99),l=a(93),s=a(89),i=a(97);function u({docId:e,activeSidebarClassName:t,label:a,docsPluginId:r,...u}){var d;const{activeVersion:m,activeDoc:h}=Object(l.useActiveDocContext)(r),{preferredVersion:f}=Object(i.a)(r),b=Object(l.useLatestVersion)(r),v=null!==(d=null!=m?m:f)&&void 0!==d?d:b,p=v.docs.find((t=>t.id===e));if(!p)throw new Error(`DocNavbarItem: couldn't find any doc with id=${e} in version ${v.name}.\nAvailable docIds=\n- ${v.docs.join("\n- ")}`);return c.a.createElement(o.a,Object(n.a)({exact:!0},u,{className:Object(s.a)(u.className,{[t]:h&&h.sidebar===p.sidebar}),label:null!=a?a:p.id,to:p.path}))}},96:function(e,t,a){"use strict";var n=a(0),r=a.n(n),c=a(89),o=a(90),l=a(110),s=a(50),i=a.n(s);var u=function(){const{isAnnouncementBarClosed:e,closeAnnouncementBar:t}=Object(l.a)(),{announcementBar:a}=Object(o.a)();if(!a)return null;const{content:n,backgroundColor:s,textColor:u,isCloseable:d}=a;return!n||d&&e?null:r.a.createElement("div",{className:i.a.announcementBar,style:{backgroundColor:s,color:u},role:"banner"},r.a.createElement("div",{className:Object(c.a)(i.a.announcementBarContent,{[i.a.announcementBarCloseable]:d}),dangerouslySetInnerHTML:{__html:n}}),d?r.a.createElement("button",{type:"button",className:i.a.announcementBarClose,onClick:t,"aria-label":"Close"},r.a.createElement("span",{"aria-hidden":"true"},"\xd7")):null)},d=a(1),m=a(91),h=a(88),f=a(22),b=a(94),v=a(92),p=a(95),g=a(112);function E(){return r.a.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.a.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var k=a(113);function O(){return(O=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var a=0,n=new Array(t);ae.isLast)),i=null!==(c=null!=o?o:l)&&void 0!==c?c:s;return Object(L.b)(n,i.name)}))]}}();return{facetFilters:["language:"+e,t.map((e=>"docusaurus_tag:"+e))]}}let I=null;function D({hit:e,children:t}){return r.a.createElement(m.a,{to:e.url},t)}function M({state:e,onClose:t}){const{generateSearchPageLink:a}=Object(g.a)();return r.a.createElement(m.a,{to:a(e.query),onClick:t},"See all ",e.context.nbHits," results")}function P({contextualSearch:e,...t}){const{siteMetadata:c}=Object(h.a)(),o=T(),l={...e?o:{},...t.searchParameters},{withBaseUrl:s}=Object(v.b)(),i=Object(b.useHistory)(),u=Object(n.useRef)(null),[m,g]=Object(n.useState)(!1),[E,k]=Object(n.useState)(null),O=Object(n.useCallback)((()=>I?Promise.resolve():Promise.all([a.e(27).then(a.bind(null,166)),Promise.all([a.e(0),a.e(28)]).then(a.bind(null,165)),a.e(0).then(a.t.bind(null,86,7))]).then((([{DocSearchModal:e}])=>{I=e}))),[]),j=Object(n.useCallback)((()=>{O().then((()=>{g(!0)}))}),[O,g]),y=Object(n.useCallback)((()=>{g(!1)}),[g]),w=Object(n.useCallback)((e=>{O().then((()=>{g(!0),k(e.key)}))}),[O,g,k]),C=Object(n.useRef)({navigate({suggestionUrl:e}){i.push(e)}}).current,N=Object(n.useRef)((e=>e.map((e=>{const t=document.createElement("a");return t.href=e.url,{...e,url:s(`${t.pathname}${t.hash}`)}})))).current,S=Object(n.useMemo)((()=>e=>r.a.createElement(M,Object(d.a)({},e,{onClose:y}))),[y]),L=Object(n.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",c.docusaurusVersion),e)),[c.docusaurusVersion]);return function(e){var t=e.isOpen,a=e.onOpen,n=e.onClose,c=e.onInput,o=e.searchButtonRef;r.a.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,a=t.tagName;return t.isContentEditable||"INPUT"===a||"SELECT"===a||"TEXTAREA"===a}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?n():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||a()),o&&o.current===document.activeElement&&c&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&c(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,a,n,c,o])}({isOpen:m,onOpen:j,onClose:y,onInput:w,searchButtonRef:u}),r.a.createElement(r.a.Fragment,null,r.a.createElement(p.a,null,r.a.createElement("link",{rel:"preconnect",href:`https://${t.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.a.createElement(_,{onTouchStart:O,onFocus:O,onMouseOver:O,onClick:j,ref:u}),m&&Object(f.createPortal)(r.a.createElement(I,Object(d.a)({onClose:y,initialScrollY:window.scrollY,initialQuery:E,navigator:C,transformItems:N,hitComponent:D,resultsFooterComponent:S,transformSearchClient:L},t,{searchParameters:l})),document.body))}var B=function(){const{siteConfig:e}=Object(h.a)();return r.a.createElement(P,e.themeConfig.algolia)},x=a(136),A=a.n(x),V=a(51),R=a.n(V);const U=({icon:e,style:t})=>r.a.createElement("span",{className:Object(c.a)(R.a.toggle,R.a.dark),style:t},e),F=({icon:e,style:t})=>r.a.createElement("span",{className:Object(c.a)(R.a.toggle,R.a.light),style:t},e);var X=function(e){const{colorMode:{switchConfig:{darkIcon:t,darkIconStyle:a,lightIcon:n,lightIconStyle:c}}}=Object(o.a)(),{isClient:l}=Object(h.a)();return r.a.createElement(A.a,Object(d.a)({disabled:!l,icons:{checked:r.a.createElement(U,{icon:t,style:a}),unchecked:r.a.createElement(F,{icon:n,style:c})}},e))},$=a(104);var H=function(e){const[t,a]=Object(n.useState)(e);return Object(n.useEffect)((()=>{const e=()=>a(window.location.hash);return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)}),[]),[t,a]},K=a(115);var Y=e=>{const[t,a]=Object(n.useState)(!0),[r,c]=Object(n.useState)(!1),[o,l]=Object(n.useState)(0),[s,i]=Object(n.useState)(0),u=Object(n.useCallback)((e=>{null!==e&&i(e.getBoundingClientRect().height)}),[]),d=Object(b.useLocation)(),[m,h]=H(d.hash);return Object(K.a)((({scrollY:t})=>{if(!e)return;if(0===t&&a(!0),t=o?a(!1):t+i{e&&(a(!0),h(d.hash))}),[d]),Object(n.useEffect)((()=>{e&&m&&c(!0)}),[m]),{navbarRef:u,isNavbarVisible:t}},q=a(116),G=a(117),W=a(118),z=a(52),J=a.n(z),Q=a(99);const Z={default:()=>Q.a,docsVersion:()=>a(140).default,docsVersionDropdown:()=>a(141).default,doc:()=>a(142).default};function ee({type:e,...t}){const a=((e="default")=>{const t=Z[e];if(!t)throw new Error(`No NavbarItem component found for type=${e}.`);return t()})(e);return r.a.createElement(a,t)}const te="right";var ae=function(){const{isClient:e}=Object(h.a)(),{navbar:{title:t,items:a,hideOnScroll:l,style:s},colorMode:{disableSwitch:i}}=Object(o.a)(),[u,f]=Object(n.useState)(!1),[b,v]=Object(n.useState)(!1),{isDarkTheme:p,setLightTheme:g,setDarkTheme:E}=Object($.a)(),{navbarRef:k,isNavbarVisible:O}=Y(l),{logoLink:j,logoLinkProps:y,logoImageUrl:w,logoAlt:C}=Object(W.a)();Object(q.a)(u);const _=Object(n.useCallback)((()=>{f(!0)}),[f]),N=Object(n.useCallback)((()=>{f(!1)}),[f]),S=Object(n.useCallback)((e=>e.target.checked?E():g()),[g,E]),L=Object(G.a)();Object(n.useEffect)((()=>{L===G.b.desktop&&f(!1)}),[L]);const{leftItems:T,rightItems:I}=function(e){return{leftItems:e.filter((e=>{var t;return"left"===(null!==(t=e.position)&&void 0!==t?t:te)})),rightItems:e.filter((e=>{var t;return"right"===(null!==(t=e.position)&&void 0!==t?t:te)}))}}(a);return r.a.createElement("nav",{ref:k,className:Object(c.a)("navbar","navbar--fixed-top",{"navbar--dark":"dark"===s,"navbar--primary":"primary"===s,"navbar-sidebar--show":u,[J.a.navbarHideable]:l,[J.a.navbarHidden]:!O})},r.a.createElement("div",{className:"navbar__inner"},r.a.createElement("div",{className:"navbar__items"},null!=a&&0!==a.length&&r.a.createElement("div",{"aria-label":"Navigation bar toggle",className:"navbar__toggle",role:"button",tabIndex:0,onClick:_,onKeyDown:_},r.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"30",height:"30",viewBox:"0 0 30 30",role:"img",focusable:"false"},r.a.createElement("title",null,"Menu"),r.a.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))),r.a.createElement(m.a,Object(d.a)({className:"navbar__brand",to:j},y),null!=w&&r.a.createElement("img",{key:e,className:"navbar__logo",src:w,alt:C}),null!=t&&r.a.createElement("strong",{className:Object(c.a)("navbar__title",{[J.a.hideLogoText]:b})},t)),T.map(((e,t)=>r.a.createElement(ee,Object(d.a)({},e,{key:t}))))),r.a.createElement("div",{className:"navbar__items navbar__items--right"},I.map(((e,t)=>r.a.createElement(ee,Object(d.a)({},e,{key:t})))),!i&&r.a.createElement(X,{className:J.a.displayOnlyInLargeViewport,"aria-label":"Dark mode toggle",checked:p,onChange:S}),r.a.createElement(B,{handleSearchBarToggle:v,isSearchBarExpanded:b}))),r.a.createElement("div",{role:"presentation",className:"navbar-sidebar__backdrop",onClick:N}),r.a.createElement("div",{className:"navbar-sidebar"},r.a.createElement("div",{className:"navbar-sidebar__brand"},r.a.createElement(m.a,Object(d.a)({className:"navbar__brand",onClick:N,to:j},y),null!=w&&r.a.createElement("img",{key:e,className:"navbar__logo",src:w,alt:C}),null!=t&&r.a.createElement("strong",{className:"navbar__title"},t)),!i&&u&&r.a.createElement(X,{"aria-label":"Dark mode toggle in sidebar",checked:p,onChange:S})),r.a.createElement("div",{className:"navbar-sidebar__items"},r.a.createElement("div",{className:"menu"},r.a.createElement("ul",{className:"menu__list"},a.map(((e,t)=>r.a.createElement(ee,Object(d.a)({mobile:!0},e,{onClick:N,key:t})))))))))},ne=a(53),re=a.n(ne);function ce({to:e,href:t,label:a,prependBaseUrlToHref:n,...c}){const o=Object(v.a)(e),l=Object(v.a)(t,{forcePrependBaseUrl:!0});return r.a.createElement(m.a,Object(d.a)({className:"footer__link-item"},t?{target:"_blank",rel:"noopener noreferrer",href:n?l:t}:{to:o},c),a)}const oe=({url:e,alt:t})=>r.a.createElement("img",{className:"footer__logo",alt:t,src:e});var le=function(){const{footer:e}=Object(o.a)(),{copyright:t,links:a=[],logo:n={}}=e||{},l=Object(v.a)(n.src);return e?r.a.createElement("footer",{className:Object(c.a)("footer",{"footer--dark":"dark"===e.style})},r.a.createElement("div",{className:"container"},a&&a.length>0&&r.a.createElement("div",{className:"row footer__links"},a.map(((e,t)=>r.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?r.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?r.a.createElement("ul",{className:"footer__items"},e.items.map(((e,t)=>e.html?r.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):r.a.createElement("li",{key:e.href||e.to,className:"footer__item"},r.a.createElement(ce,e))))):null)))),(n||t)&&r.a.createElement("div",{className:"text--center"},n&&n.src&&r.a.createElement("div",{className:"margin-bottom--sm"},n.href?r.a.createElement("a",{href:n.href,target:"_blank",rel:"noopener noreferrer",className:re.a.footerLogoLink},r.a.createElement(oe,{alt:n.alt,url:l})):r.a.createElement(oe,{alt:n.alt,url:l})),r.a.createElement("div",{dangerouslySetInnerHTML:{__html:t}})))):null},se=a(10);const ie="light",ue="dark",de=e=>e===ue?ue:ie,me=()=>se.a.canUseDOM?de(document.documentElement.getAttribute("data-theme")):ie,he=e=>{try{localStorage.setItem("theme",de(e))}catch(t){console.error(t)}};var fe=()=>{const{colorMode:{disableSwitch:e=!1}}=Object(o.a)(),[t,a]=Object(n.useState)(me),r=Object(n.useCallback)((()=>{a(ie),he(ie)}),[]),c=Object(n.useCallback)((()=>{a(ue),he(ue)}),[]);return Object(n.useEffect)((()=>{document.documentElement.setAttribute("data-theme",de(t))}),[t]),Object(n.useEffect)((()=>{if(!e)try{const e=localStorage.getItem("theme");null!==e&&a(de(e))}catch(t){console.error(t)}}),[a]),Object(n.useEffect)((()=>{e||window.matchMedia("(prefers-color-scheme: dark)").addListener((({matches:e})=>{a(e?ue:ie)}))}),[]),{isDarkTheme:t===ue,setLightTheme:r,setDarkTheme:c}},be=a(114);var ve=function(e){const{isDarkTheme:t,setLightTheme:a,setDarkTheme:n}=fe();return r.a.createElement(be.a.Provider,{value:{isDarkTheme:t,setLightTheme:a,setDarkTheme:n}},e.children)};const pe="docusaurus.tab.";var ge=()=>{const[e,t]=Object(n.useState)({}),a=Object(n.useCallback)(((e,t)=>{try{localStorage.setItem("docusaurus.tab."+e,t)}catch(a){console.error(a)}}),[]);return Object(n.useEffect)((()=>{try{const e={};for(let t=0;t{t((t=>({...t,[e]:n}))),a(e,n)}}};const Ee="docusaurus.announcement.dismiss",ke="docusaurus.announcement.id";var Oe=()=>{const{announcementBar:e}=Object(o.a)(),[t,a]=Object(n.useState)(!0),r=Object(n.useCallback)((()=>{localStorage.setItem(Ee,"true"),a(!0)}),[]);return Object(n.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=localStorage.getItem(ke);"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;localStorage.setItem(ke,t),r&&localStorage.setItem(Ee,"false"),(r||"false"===localStorage.getItem(Ee))&&a(!1)}),[]),{isAnnouncementBarClosed:t,closeAnnouncementBar:r}},je=a(111);var ye=function(e){const{tabGroupChoices:t,setTabGroupChoices:a}=ge(),{isAnnouncementBarClosed:n,closeAnnouncementBar:c}=Oe();return r.a.createElement(je.a.Provider,{value:{tabGroupChoices:t,setTabGroupChoices:a,isAnnouncementBarClosed:n,closeAnnouncementBar:c}},e.children)},we=a(128);function Ce({children:e}){return r.a.createElement(ve,null,r.a.createElement(ye,null,r.a.createElement(we.a,null,e)))}function _e({language:e,version:t,tag:a}){return r.a.createElement(p.a,null,e&&r.a.createElement("meta",{name:"docsearch:language",content:""+e}),t&&r.a.createElement("meta",{name:"docsearch:version",content:t}),a&&r.a.createElement("meta",{name:"docsearch:docusaurus_tag",content:a}))}function Ne(e){const{siteConfig:t}=Object(h.a)(),{favicon:a,title:n,themeConfig:{image:c,metadatas:o},url:l,titleDelimiter:s}=t,{title:i,description:u,image:m,keywords:f,permalink:b,searchMetadatas:g}=e,E=i?`${i} ${s} ${n}`:n,k=m||c,O=Object(v.a)(k,{absolute:!0}),j=Object(v.a)(a);return r.a.createElement(r.a.Fragment,null,r.a.createElement(p.a,null,r.a.createElement("html",{lang:"en"}),E&&r.a.createElement("title",null,E),E&&r.a.createElement("meta",{property:"og:title",content:E}),a&&r.a.createElement("link",{rel:"shortcut icon",href:j}),u&&r.a.createElement("meta",{name:"description",content:u}),u&&r.a.createElement("meta",{property:"og:description",content:u}),f&&f.length&&r.a.createElement("meta",{name:"keywords",content:f.join(",")}),k&&r.a.createElement("meta",{property:"og:image",content:O}),k&&r.a.createElement("meta",{property:"twitter:image",content:O}),k&&r.a.createElement("meta",{name:"twitter:image:alt",content:"Image for "+E}),b&&r.a.createElement("meta",{property:"og:url",content:l+b}),b&&r.a.createElement("link",{rel:"canonical",href:l+b}),r.a.createElement("meta",{name:"twitter:card",content:"summary_large_image"})),r.a.createElement(_e,Object(d.a)({tag:L.a,language:"en"},g)),r.a.createElement(p.a,null,o.map(((e,t)=>r.a.createElement("meta",Object(d.a)({key:"metadata_"+t},e))))))}a(54);t.a=function(e){const{children:t,noFooter:a,wrapperClassName:n}=e;return r.a.createElement(Ce,null,r.a.createElement(Ne,e),r.a.createElement(u,null),r.a.createElement(ae,null),r.a.createElement("div",{className:Object(c.a)("main-wrapper",n)},t),!a&&r.a.createElement(le,null))}},99:function(e,t,a){"use strict";var n=a(1),r=a(0),c=a.n(r),o=a(89),l=a(91),s=a(92),i=a(94),u=a(119);function d({activeBasePath:e,activeBaseRegex:t,to:a,href:r,label:o,activeClassName:i="navbar__link--active",prependBaseUrlToHref:u,...d}){const m=Object(s.a)(a),h=Object(s.a)(e),f=Object(s.a)(r,{forcePrependBaseUrl:!0});return c.a.createElement(l.a,Object(n.a)({},r?{target:"_blank",rel:"noopener noreferrer",href:u?f:r}:{isNavLink:!0,activeClassName:i,to:m,...e||t?{isActive:(e,a)=>t?new RegExp(t).test(a.pathname):a.pathname.startsWith(h)}:null},d),o)}function m({items:e,position:t,className:a,...l}){const s=Object(r.useRef)(null),i=Object(r.useRef)(null),[u,m]=Object(r.useState)(!1);Object(r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[s]);const h=(e,t=!1)=>Object(o.a)({"navbar__item navbar__link":!t,dropdown__link:t},e);return e?c.a.createElement("div",{ref:s,className:Object(o.a)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--left":"left"===t,"dropdown--right":"right"===t,"dropdown--show":u})},c.a.createElement(d,Object(n.a)({className:h(a)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),m(!u))}}),l.label),c.a.createElement("ul",{ref:i,className:"dropdown__menu"},e.map((({className:t,...a},r)=>c.a.createElement("li",{key:r},c.a.createElement(d,Object(n.a)({onKeyDown:t=>{if(r===e.length-1&&"Tab"===t.key){t.preventDefault(),m(!1);const e=s.current.nextElementSibling;e&&e.focus()}},activeClassName:"dropdown__link--active",className:h(t,!0)},a))))))):c.a.createElement(d,Object(n.a)({className:h(a)},l))}function h({items:e,className:t,position:a,...l}){const{pathname:s}=Object(i.useLocation)(),[m,h]=Object(r.useState)((()=>{var t;return null===(t=!(null==e?void 0:e.some((e=>Object(u.a)(e.to,s)))))||void 0===t||t})),f=(e,t=!1)=>Object(o.a)("menu__link",{"menu__link--sublist":t},e);return e?c.a.createElement("li",{className:Object(o.a)("menu__list-item",{"menu__list-item--collapsed":m})},c.a.createElement(d,Object(n.a)({role:"button",className:f(t,!0)},l,{onClick:()=>{h((e=>!e))}}),l.label),c.a.createElement("ul",{className:"menu__list"},e.map((({className:e,...t},a)=>c.a.createElement("li",{className:"menu__list-item",key:a},c.a.createElement(d,Object(n.a)({activeClassName:"menu__link--active",className:f(e)},t,{onClick:l.onClick}))))))):c.a.createElement("li",{className:"menu__list-item"},c.a.createElement(d,Object(n.a)({className:f(t)},l)))}t.a=function({mobile:e=!1,...t}){const a=e?h:m;return c.a.createElement(a,t)}}}]); \ No newline at end of file diff --git a/2.273be2be.js.LICENSE.txt b/2.1cc5800a.js.LICENSE.txt similarity index 100% rename from 2.273be2be.js.LICENSE.txt rename to 2.1cc5800a.js.LICENSE.txt diff --git a/2.273be2be.js b/2.273be2be.js deleted file mode 100644 index c841bd2..0000000 --- a/2.273be2be.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 2.273be2be.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{102:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}));var a="default";function r(e,t){return"docs-"+e+"-"+t}},103:function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t996?r.desktop:r.mobile}var n=Object(a.useState)(t),c=n[0],o=n[1];return Object(a.useEffect)((function(){if(e)return window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)};function n(){o(t())}}),[]),c}},118:function(e,t,n){"use strict";var a=n(104),r=n(92),c=n(98),o=n(90);t.a=function(){var e=Object(o.a)().navbar.logo,t=Object(a.a)().isDarkTheme,n=Object(r.a)(e.href||"/"),l={};e.target?l={target:e.target}:Object(c.a)(n)||(l={rel:"noopener noreferrer",target:"_blank"});var i=e.srcDark&&t?e.srcDark:e.src;return{logoLink:n,logoLinkProps:l,logoImageUrl:Object(r.a)(i),logoAlt:e.alt}}},119:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var a=function(e,t){var n=function(e){return e.endsWith("/")?e:e+"/"};return n(e)===n(t)}},136:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;tthis.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=tn?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-4=0||Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=e[a]);return n}(t,["className","icons"])),c=(0,l.default)("react-toggle",{"react-toggle--checked":this.state.checked,"react-toggle--focus":this.state.hasFocus,"react-toggle--disabled":this.props.disabled},n);return o.default.createElement("div",{className:c,onClick:this.handleClick,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd},o.default.createElement("div",{className:"react-toggle-track"},o.default.createElement("div",{className:"react-toggle-track-check"},this.getIcon("checked")),o.default.createElement("div",{className:"react-toggle-track-x"},this.getIcon("unchecked"))),o.default.createElement("div",{className:"react-toggle-thumb"}),o.default.createElement("input",a({},r,{ref:function(t){e.input=t},onFocus:this.handleFocus,onBlur:this.handleBlur,className:"react-toggle-screenreader-only",type:"checkbox"})))}}]),t}(c.PureComponent);t.default=m,m.displayName="Toggle",m.defaultProps={icons:{checked:o.default.createElement(s.default,null),unchecked:o.default.createElement(u.default,null)}},m.propTypes={checked:i.default.bool,disabled:i.default.bool,defaultChecked:i.default.bool,onChange:i.default.func,onFocus:i.default.func,onBlur:i.default.func,className:i.default.string,name:i.default.string,value:i.default.string,id:i.default.string,"aria-labelledby":i.default.string,"aria-label":i.default.string,icons:i.default.oneOfType([i.default.bool,i.default.shape({checked:i.default.node,unchecked:i.default.node})])}},137:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,r=n(0),c=(a=r)&&a.__esModule?a:{default:a};t.default=function(){return c.default.createElement("svg",{width:"14",height:"11",viewBox:"0 0 14 11"},c.default.createElement("title",null,"switch-check"),c.default.createElement("path",{d:"M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0",fill:"#fff",fillRule:"evenodd"}))}},138:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,r=n(0),c=(a=r)&&a.__esModule?a:{default:a};t.default=function(){return c.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},c.default.createElement("title",null,"switch-x"),c.default.createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},139:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=function(e){if(e){var t=e.changedTouches;if(t&&t.length>0){var n=t[0];return{x:n.clientX,y:n.clientY}}var a=e.pageX;if(void 0!==a)return{x:a,y:e.pageY}}return{x:0,y:0}}},140:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return u}));var a=n(1),r=n(6),c=n(0),o=n.n(c),l=n(99),i=n(93),s=n(97);function u(e){var t,n=e.label,c=e.to,u=e.docsPluginId,d=Object(r.a)(e,["label","to","docsPluginId"]),f=Object(i.useActiveVersion)(u),m=Object(s.a)(u).preferredVersion,h=Object(i.useLatestVersion)(u),v=null!==(t=null!=f?f:m)&&void 0!==t?t:h,b=null!=n?n:v.label,p=null!=c?c:function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))}(v).path;return o.a.createElement(l.a,Object(a.a)({},d,{label:b,to:p}))}},141:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return d}));var a=n(1),r=n(6),c=n(0),o=n.n(c),l=n(99),i=n(93),s=n(97),u=function(e){return e.docs.find((function(t){return t.id===e.mainDocId}))};function d(e){var t,n,c=e.mobile,d=e.docsPluginId,f=e.dropdownActiveClassDisabled,m=e.dropdownItemsBefore,h=e.dropdownItemsAfter,v=Object(r.a)(e,["mobile","docsPluginId","dropdownActiveClassDisabled","dropdownItemsBefore","dropdownItemsAfter"]),b=Object(i.useActiveDocContext)(d),p=Object(i.useVersions)(d),g=Object(i.useLatestVersion)(d),O=Object(s.a)(d),E=O.preferredVersion,k=O.savePreferredVersionName;var j=null!==(t=null!==(n=b.activeVersion)&&void 0!==n?n:E)&&void 0!==t?t:g,y=c?"Versions":j.label,w=c?void 0:u(j).path;return o.a.createElement(l.a,Object(a.a)({},v,{mobile:c,label:y,to:w,items:function(){var e=p.map((function(e){var t=(null==b?void 0:b.alternateDocVersions[e.name])||u(e);return{isNavLink:!0,label:e.label,to:t.path,isActive:function(){return e===(null==b?void 0:b.activeVersion)},onClick:function(){k(e.name)}}})),t=[].concat(m,e,h);if(!(t.length<=1))return t}(),isActive:f?function(){return!1}:void 0}))}},142:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return d}));var a=n(1),r=n(6),c=n(0),o=n.n(c),l=n(99),i=n(93),s=n(89),u=n(97);function d(e){var t,n,c=e.docId,d=e.activeSidebarClassName,f=e.label,m=e.docsPluginId,h=Object(r.a)(e,["docId","activeSidebarClassName","label","docsPluginId"]),v=Object(i.useActiveDocContext)(m),b=v.activeVersion,p=v.activeDoc,g=Object(u.a)(m).preferredVersion,O=Object(i.useLatestVersion)(m),E=null!==(t=null!=b?b:g)&&void 0!==t?t:O,k=E.docs.find((function(e){return e.id===c}));if(!k)throw new Error("DocNavbarItem: couldn't find any doc with id="+c+" in version "+E.name+".\nAvailable docIds=\n- "+E.docs.join("\n- "));return o.a.createElement(l.a,Object(a.a)({exact:!0},h,{className:Object(s.a)(h.className,(n={},n[d]=p&&p.sidebar===k.sidebar,n)),label:null!=f?f:k.id,to:k.path}))}},96:function(e,t,n){"use strict";var a=n(0),r=n.n(a),c=n(89),o=n(90),l=n(110),i=n(50),s=n.n(i);var u=function(){var e,t=Object(l.a)(),n=t.isAnnouncementBarClosed,a=t.closeAnnouncementBar,i=Object(o.a)().announcementBar;if(!i)return null;var u=i.content,d=i.backgroundColor,f=i.textColor,m=i.isCloseable;return!u||m&&n?null:r.a.createElement("div",{className:s.a.announcementBar,style:{backgroundColor:d,color:f},role:"banner"},r.a.createElement("div",{className:Object(c.a)(s.a.announcementBarContent,(e={},e[s.a.announcementBarCloseable]=m,e)),dangerouslySetInnerHTML:{__html:u}}),m?r.a.createElement("button",{type:"button",className:s.a.announcementBarClose,onClick:a,"aria-label":"Close"},r.a.createElement("span",{"aria-hidden":"true"},"\xd7")):null)},d=n(1),f=n(91),m=n(88),h=n(6),v=n(22),b=n(94),p=n(92),g=n(95),O=n(112);function E(){return r.a.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.a.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var k=n(113);function j(){return(j=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,a=new Array(t);n=s?r(!1):n+c0&&r.a.createElement("div",{className:"row footer__links"},l.map((function(e,t){return r.a.createElement("div",{key:t,className:"col footer__col"},null!=e.title?r.a.createElement("h4",{className:"footer__title"},e.title):null,null!=e.items&&Array.isArray(e.items)&&e.items.length>0?r.a.createElement("ul",{className:"footer__items"},e.items.map((function(e,t){return e.html?r.a.createElement("li",{key:t,className:"footer__item",dangerouslySetInnerHTML:{__html:e.html}}):r.a.createElement("li",{key:e.href||e.to,className:"footer__item"},r.a.createElement(oe,e))}))):null)}))),(s||n)&&r.a.createElement("div",{className:"text--center"},s&&s.src&&r.a.createElement("div",{className:"margin-bottom--sm"},s.href?r.a.createElement("a",{href:s.href,target:"_blank",rel:"noopener noreferrer",className:ce.a.footerLogoLink},r.a.createElement(le,{alt:s.alt,url:u})):r.a.createElement(le,{alt:s.alt,url:u})),r.a.createElement("div",{dangerouslySetInnerHTML:{__html:n}})))):null},se=n(10),ue="light",de="dark",fe=function(e){return e===de?de:ue},me=function(){return se.a.canUseDOM?fe(document.documentElement.getAttribute("data-theme")):ue},he=function(e){try{localStorage.setItem("theme",fe(e))}catch(t){console.error(t)}},ve=function(){var e=Object(o.a)().colorMode.disableSwitch,t=void 0!==e&&e,n=Object(a.useState)(me),r=n[0],c=n[1],l=Object(a.useCallback)((function(){c(ue),he(ue)}),[]),i=Object(a.useCallback)((function(){c(de),he(de)}),[]);return Object(a.useEffect)((function(){document.documentElement.setAttribute("data-theme",fe(r))}),[r]),Object(a.useEffect)((function(){if(!t)try{var e=localStorage.getItem("theme");null!==e&&c(fe(e))}catch(n){console.error(n)}}),[c]),Object(a.useEffect)((function(){t||window.matchMedia("(prefers-color-scheme: dark)").addListener((function(e){var t=e.matches;c(t?de:ue)}))}),[]),{isDarkTheme:r===de,setLightTheme:l,setDarkTheme:i}},be=n(114);var pe=function(e){var t=ve(),n=t.isDarkTheme,a=t.setLightTheme,c=t.setDarkTheme;return r.a.createElement(be.a.Provider,{value:{isDarkTheme:n,setLightTheme:a,setDarkTheme:c}},e.children)},ge="docusaurus.tab.",Oe=function(){var e=Object(a.useState)({}),t=e[0],n=e[1],r=Object(a.useCallback)((function(e,t){try{localStorage.setItem("docusaurus.tab."+e,t)}catch(n){console.error(n)}}),[]);return Object(a.useEffect)((function(){try{for(var e={},t=0;t")," and ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::enum")," both provide the ability to add your ad-hoc enumerations."),Object(o.b)("h2",{id:"adhoc-enums"},"Adhoc enums"),Object(o.b)("p",null,"Adhoc enums can be provided inline to the ",Object(o.b)("inlineCode",{parentName:"p"},"enum-range")," attribute or as the second parameter to ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::enum"),"."),Object(o.b)("h3",{id:"enum-map"},"Enum map"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{}),"\n Buy a new\n 'car',\n 'HOUSE' => 'house',\n 'BOAT' => 'boat',\n 'HOUSEBOAT' => 'houseboat',\n ])?>\" value=\"\" />!\n\n\nfbt(\n 'Buy a new ' .\n fbt::enum($enumVal, [\n 'CAR' => 'car',\n 'HOUSE' => 'house',\n 'BOAT' => 'boat',\n 'HOUSEBOAT' => 'houseboat',\n ]),\n 'buy prompt',\n);\n")),Object(o.b)("h3",{id:"shorthand-array-keys--values"},"Shorthand array (keys = values)"),Object(o.b)("p",null,"The shorthand array adhoc enum functions as though you had a ",Object(o.b)("inlineCode",{parentName:"p"},"[value => value]")," map."),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{}),"\n Buy a new\n \" value=\"\" />!\n\n\nfbt(\n 'Buy a new ' . fbt::enum($enumVal, ['car', 'house', 'boat', 'houseboat']) . '!',\n 'buy prompt',\n);\n")),Object(o.b)("p",null,"All the above examples ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"extract")," the same 4 separate strings for translation in JSON like:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n "phrases": [\n {\n "hashToText": {\n "b463748f978f242787f5f225a7762aeb": "Buy a new car!",\n "1255ecb7aa0a34b8755d4f068c9b9c41": "Buy a new house!",\n "7c01d5d74f6e3c8eda0b166a366b937e": "Buy a new boat!",\n "7a7776e292838b6fe8c4a7dfd58117cd": "Buy a new houseboat!"\n },\n ...,\n "desc": "buy prompt",\n ...\n },\n')))}l.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return s})),t.d(n,"b",(function(){return m}));var a=t(0),r=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var b=r.a.createContext({}),l=function(e){var n=r.a.useContext(b),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},s=function(e){var n=l(e.components);return r.a.createElement(b.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},d=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),s=l(t),d=a,m=s["".concat(u,".").concat(d)]||s[d]||p[d]||o;return t?r.a.createElement(m,c(c({ref:n},b),{},{components:t})):r.a.createElement(m,c({ref:n},b))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,u=new Array(o);u[0]=d;var c={};for(var i in n)hasOwnProperty.call(n,i)&&(c[i]=n[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,u[1]=c;for(var b=2;b")," and ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::enum")," both provide the ability to add your ad-hoc enumerations."),Object(o.b)("h2",{id:"adhoc-enums"},"Adhoc enums"),Object(o.b)("p",null,"Adhoc enums can be provided inline to the ",Object(o.b)("inlineCode",{parentName:"p"},"enum-range")," attribute or as the second parameter to ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::enum"),"."),Object(o.b)("h3",{id:"enum-map"},"Enum map"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{}),"\n Buy a new\n 'car',\n 'HOUSE' => 'house',\n 'BOAT' => 'boat',\n 'HOUSEBOAT' => 'houseboat',\n ]) }}\" value=\"{{ $enumVal }}\" />!\n\n\nfbt(\n 'Buy a new ' .\n fbt::enum($enumVal, [\n 'CAR' => 'car',\n 'HOUSE' => 'house',\n 'BOAT' => 'boat',\n 'HOUSEBOAT' => 'houseboat',\n ]),\n 'buy prompt',\n);\n")),Object(o.b)("h3",{id:"shorthand-array-keys--values"},"Shorthand array (keys = values)"),Object(o.b)("p",null,"The shorthand array adhoc enum functions as though you had a ",Object(o.b)("inlineCode",{parentName:"p"},"[value => value]")," map."),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{}),"\n Buy a new\n !\n\n\nfbt(\n 'Buy a new ' . fbt::enum($enumVal, ['car', 'house', 'boat', 'houseboat']) . '!',\n 'buy prompt',\n);\n")),Object(o.b)("p",null,"All the above examples ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"extract")," the same 4 separate strings for translation in JSON like:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-json"}),'{\n "phrases": [\n {\n "hashToText": {\n "b463748f978f242787f5f225a7762aeb": "Buy a new car!",\n "1255ecb7aa0a34b8755d4f068c9b9c41": "Buy a new house!",\n "7c01d5d74f6e3c8eda0b166a366b937e": "Buy a new boat!",\n "7a7776e292838b6fe8c4a7dfd58117cd": "Buy a new houseboat!"\n },\n ...,\n "desc": "buy prompt",\n ...\n },\n')))}l.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return s})),t.d(n,"b",(function(){return m}));var a=t(0),r=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var b=r.a.createContext({}),l=function(e){var n=r.a.useContext(b),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},s=function(e){var n=l(e.components);return r.a.createElement(b.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},d=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),s=l(t),d=a,m=s["".concat(u,".").concat(d)]||s[d]||p[d]||o;return t?r.a.createElement(m,c(c({ref:n},b),{},{components:t})):r.a.createElement(m,c({ref:n},b))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,u=new Array(o);u[0]=d;var c={};for(var i in n)hasOwnProperty.call(n,i)&&(c[i]=n[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,u[1]=c;for(var b=2;b0}},120:function(e,t,n){"use strict";var r=n(105),i=n(106),a=n(147),s=n(100),c=n(148),u=n(121),o=n(107),f=n(149);function h(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,n){return h(t[n],e)})):e===t}function l(e){var t=e?l._parseNumbers(e):{};this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var n=this;Object.keys(t).forEach((function(e){var r=-1!==l.PARAMETERS.indexOf(e),i=void 0!==t[e];!r&&i&&(n[e]=t[e])}))}l.PARAMETERS=Object.keys(new l),l._parseNumbers=function(e){if(e instanceof l)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(n){var r=e[n];if("string"==typeof r){var i=parseFloat(r);t[n]=isNaN(i)?r:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var n={};Object.keys(e.numericRefinements).forEach((function(t){var r=e.numericRefinements[t]||{};n[t]={},Object.keys(r).forEach((function(e){var i=r[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));n[t][e]=i}))})),t.numericRefinements=n}return r({},e,t)},l.make=function(e){var t=new l(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var n=t.getHierarchicalRefinement(e.name);n.length>0&&0!==n[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(n=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},l.validate=function(e,t){var n=t||{};return e.tagFilters&&n.tagRefinements&&n.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&n.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&n.numericRefinements&&o(n.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):o(e.numericRefinements)&&n.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},l.prototype={constructor:l,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,n){var i=c(n);if(this.isNumericRefined(e,t,i))return this;var a=r({},this.numericRefinements);return a[e]=r({},a[e]),a[e][t]?(a[e][t]=a[e][t].slice(),a[e][t].push(i)):a[e][t]=[i],this.setQueryParameters({numericRefinements:a})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,n){return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&h(r.val,c(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(n,r){return r===e&&n.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,n){return n===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return o(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements[e])?u(this.numericRefinements,[e]):this.numericRefinements;if("function"==typeof e){var t=!1,n=this.numericRefinements,r=Object.keys(n).reduce((function(r,i){var a=n[i],s={};return a=a||{},Object.keys(a).forEach((function(n){var r=a[n]||[],c=[];r.forEach((function(t){e({val:t,op:n},i,"numeric")||c.push(t)})),c.length!==r.length&&(t=!0),s[n]=c})),r[i]=s,r}),{});return t?r:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),r={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+n))?-1===t.indexOf(n)?r[e]=[]:r[e]=[t.slice(0,t.lastIndexOf(n))]:r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i({},r,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var n={};return n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i({},n,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:i({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var n=this.getHierarchicalRefinement(e);return t?-1!==n.indexOf(t):n.length>0},isNumericRefined:function(e,t,n){if(void 0===n&&void 0===t)return!!this.numericRefinements[e];var r=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===n||!r)return r;var i,a,u=c(n),o=void 0!==(i=this.numericRefinements[e][t],a=u,s(i,(function(e){return h(e,a)})));return r&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=a(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets())},getRefinedHierarchicalFacets:function(){var e=this;return a(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0})))},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacets","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},n=this;return Object.keys(this).forEach((function(r){var i=n[r];-1===e.indexOf(r)&&void 0!==i&&(t[r]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var n={};return n[e]=t,this.setQueryParameters(n)},setQueryParameters:function(e){if(!e)return this;var t=l.validate(this,e);if(t)throw t;var n=this,r=l._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=n[t],e}),{}),a=Object.keys(r).reduce((function(e,t){var n=void 0!==e[t],i=void 0!==r[t];return n&&!i?u(e,[t]):(i&&(e[t]=r[t]),e)}),i);return new this.constructor(a)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return s(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(n).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=l},121:function(e,t,n){"use strict";e.exports=function(e,t){if(null===e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},122:function(e,t,n){"use strict";var r=n(105),i=n(106),a=n(123),s=n(150),c=n(100),u=n(151),o=n(124),f=n(152);function h(e){var t={};return e.forEach((function(e,n){t[e]=n})),t}function l(e,t,n){t&&t[n]&&(e.stats=t[n])}function m(e,t){var n=t[0];this._rawResults=t;var a=this;Object.keys(n).forEach((function(e){a[e]=n[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var o=e.getRefinedDisjunctiveFacets(),m=h(e.facets),d=h(e.disjunctiveFacets),v=1,p=n.facets||{};Object.keys(p).forEach((function(t){var r,i,s=p[t],o=(r=e.hierarchicalFacets,i=t,c(r,(function(e){return(e.attributes||[]).indexOf(i)>-1})));if(o){var f=o.attributes.indexOf(t),h=u(e.hierarchicalFacets,(function(e){return e.name===o.name}));a.hierarchicalFacets[h][f]={attribute:t,data:s,exhaustive:n.exhaustiveFacetsCount}}else{var v,g=-1!==e.disjunctiveFacets.indexOf(t),y=-1!==e.facets.indexOf(t);g&&(v=d[t],a.disjunctiveFacets[v]={name:t,data:s,exhaustive:n.exhaustiveFacetsCount},l(a.disjunctiveFacets[v],n.facets_stats,t)),y&&(v=m[t],a.facets[v]={name:t,data:s,exhaustive:n.exhaustiveFacetsCount},l(a.facets[v],n.facets_stats,t))}})),this.hierarchicalFacets=s(this.hierarchicalFacets),o.forEach((function(s){var c=t[v],o=c&&c.facets?c.facets:{},f=e.getHierarchicalFacetByName(s);Object.keys(o).forEach((function(t){var s,h=o[t];if(f){s=u(e.hierarchicalFacets,(function(e){return e.name===f.name}));var m=u(a.hierarchicalFacets[s],(function(e){return e.attribute===t}));if(-1===m)return;a.hierarchicalFacets[s][m].data=r({},a.hierarchicalFacets[s][m].data,h)}else{s=d[t];var v=n.facets&&n.facets[t]||{};a.disjunctiveFacets[s]={name:t,data:i({},h,v),exhaustive:c.exhaustiveFacetsCount},l(a.disjunctiveFacets[s],c.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!a.disjunctiveFacets[s].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(n)>-1&&(a.disjunctiveFacets[s].data[n]=0)}))}})),v++})),e.getRefinedHierarchicalFacets().forEach((function(n){var r=e.getHierarchicalFacetByName(n),s=e._getHierarchicalFacetSeparator(r),c=e.getHierarchicalRefinement(n);if(!(0===c.length||c[0].split(s).length<2)){var o=t[v],f=o&&o.facets?o.facets:{};Object.keys(f).forEach((function(t){var n=f[t],o=u(e.hierarchicalFacets,(function(e){return e.name===r.name})),h=u(a.hierarchicalFacets[o],(function(e){return e.attribute===t}));if(-1!==h){var l={};if(c.length>0){var m=c[0].split(s)[0];l[m]=a.hierarchicalFacets[o][h].data[m]}a.hierarchicalFacets[o][h].data=i(l,n,a.hierarchicalFacets[o][h].data)}})),v++}})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],i=m[t];a.facets[i]={name:t,data:n.facets[t],exhaustive:n.exhaustiveFacetsCount},r.forEach((function(e){a.facets[i]=a.facets[i]||{name:t},a.facets[i].data=a.facets[i].data||{},a.facets[i].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(f(e)),this.facets=s(this.facets),this.disjunctiveFacets=s(this.disjunctiveFacets),this._state=e}function d(e,t){if(!t.data||0===t.data.length)return t;var n=t.data.map((function(t){return d(e,t)})),i=e(n);return r({},t,{data:i})}function v(e,t){var n=c(e,(function(e){return e.name===t}));return n&&n.stats}function p(e,t,n,r,i){var a=c(i,(function(e){return e.name===n})),s=a&&a.data&&a.data[r]?a.data[r]:0,u=a&&a.exhaustive||!1;return{type:t,attributeName:n,name:r,count:s,exhaustive:u}}m.prototype.getFacetByName=function(e){function t(t){return t.name===e}return c(this.facets,t)||c(this.disjunctiveFacets,t)||c(this.hierarchicalFacets,t)},m.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],m.prototype.getFacetValues=function(e,t){var n=function(e,t){function n(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var r=c(e.facets,n);return r?Object.keys(r.data).map((function(n){return{name:n,count:r.data[n],isRefined:e._state.isFacetRefined(t,n),isExcluded:e._state.isExcludeRefined(t,n)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=c(e.disjunctiveFacets,n);return i?Object.keys(i.data).map((function(n){return{name:n,count:i.data[n],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t))return c(e.hierarchicalFacets,n)}(this,e);if(n){var r=i({},t,{sortBy:m.DEFAULT_SORT});if(Array.isArray(r.sortBy)){var s=o(r.sortBy,m.DEFAULT_SORT);return Array.isArray(n)?a(n,s[0],s[1]):d((function(e){return a(e,s[0],s[1])}),n)}if("function"==typeof r.sortBy)return Array.isArray(n)?n.sort(r.sortBy):d((function(e){return function(e,t){return t.sort(e)}(r.sortBy,e)}),n);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}},m.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?v(this.facets,e):this._state.isDisjunctiveFacet(e)?v(this.disjunctiveFacets,e):void 0},m.prototype.getRefinements=function(){var e=this._state,t=this,n=[];return Object.keys(e.facetsRefinements).forEach((function(r){e.facetsRefinements[r].forEach((function(i){n.push(p(e,"facet",r,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(r){e.facetsExcludes[r].forEach((function(i){n.push(p(e,"exclude",r,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(r){e.disjunctiveFacetsRefinements[r].forEach((function(i){n.push(p(e,"disjunctive",r,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(r){e.hierarchicalFacetsRefinements[r].forEach((function(i){n.push(function(e,t,n,r){var i=e.getHierarchicalFacetByName(t),a=e._getHierarchicalFacetSeparator(i),s=n.split(a),u=c(r,(function(e){return e.name===t})),o=s.reduce((function(e,t){var n=e&&c(e.data,(function(e){return e.name===t}));return void 0!==n?n:e}),u),f=o&&o.count||0,h=o&&o.exhaustive||!1,l=o&&o.path||"";return{type:"hierarchical",attributeName:t,name:l,count:f,exhaustive:h}}(e,r,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var r=e.numericRefinements[t];Object.keys(r).forEach((function(e){r[e].forEach((function(r){n.push({type:"numeric",attributeName:t,name:r,numericValue:r,operator:e})}))}))})),e.tagRefinements.forEach((function(e){n.push({type:"tag",attributeName:"_tags",name:e})})),n},e.exports=m},123:function(e,t,n){"use strict";function r(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=void 0!==t,a=null===t;if(!a&&e>t||r&&i||!n)return 1;if(!r&&e=n.length?a:"desc"===n[i]?-a:a}return e.index-t.index})),i.map((function(e){return e.value}))}},124:function(e,t,n){"use strict";var r=n(100);e.exports=function(e,t){var n=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),a=r(n,(function(e){return e[0]===i[0]}));return i.length>1||!a?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(a[0]),e[1].push(a[1]),e)}),[[],[]])}},125:function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function c(){c.init.call(this)}e.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._eventsCount=0,c.prototype._maxListeners=void 0;var u=10;function o(e){return void 0===e._maxListeners?c.defaultMaxListeners:e._maxListeners}function f(e,t,n,r){var i,a,s,c;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),s=a[t]),void 0===s)s=a[t]=n,++e._eventsCount;else if("function"==typeof s?s=a[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=o(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function h(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var c=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw c.context=s,c}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)a(u,this,t);else{var o=u.length,f=v(u,o);for(n=0;n=0;a--)if(n[a]===t||n[a].listener===t){s=n[a].listener,i=a;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},c.prototype.listeners=function(e){return m(this,e,!0)},c.prototype.rawListeners=function(e){return m(this,e,!1)},c.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},c.prototype.listenerCount=d,c.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},126:function(e,t,n){"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},127:function(e,t,n){"use strict";e.exports="3.2.2"},145:function(e,t,n){"use strict";var r=n(146),i=n(120),a=n(122);function s(e,t,n){return new r(e,t,n)}s.version=n(127),s.AlgoliaSearchHelper=r,s.SearchParameters=i,s.SearchResults=a,e.exports=s},146:function(e,t,n){"use strict";var r=n(120),i=n(122),a=n(153),s=n(154),c=n(125),u=n(126),o=n(107),f=n(127);function h(e,t,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+f+")"),this.setClient(e);var i=n||{};i.index=t,this.state=r.make(i),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0}function l(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function m(){return this.state.page}u(h,c.EventEmitter),h.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},h.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},h.prototype.getQuery=function(){var e=this.state;return s._getHitsSearchParams(e)},h.prototype.searchOnce=function(e,t){var n=e?this.state.setQueryParameters(e):this.state,r=s._getQueries(n.index,n),a=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:n}),!t)return this.client.search(r).then((function(e){return a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),{content:new i(n,e.results),state:n,_originalResponse:e}}),(function(e){throw a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),e}));this.client.search(r).then((function(e){a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),t(null,new i(n,e.results),n)})).catch((function(e){a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),t(e,null,n)}))},h.prototype.searchForFacetValues=function(e,t,n,r){var i="function"==typeof this.client.searchForFacetValues;if(!i&&"function"!=typeof this.client.initIndex)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var a=this.state.setQueryParameters(r||{}),c=a.isDisjunctiveFacet(e),u=s.getSearchForFacetQuery(e,t,n,a);this._currentNbQueries++;var o=this;return this.emit("searchForFacetValues",{state:a,facet:e,query:t}),(i?this.client.searchForFacetValues([{indexName:a.index,params:u}]):this.client.initIndex(a.index).searchForFacetValues(u)).then((function(t){return o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.isRefined=c?a.isDisjunctiveFacetRefined(e,t.value):a.isFacetRefined(e,t.value)})),t}),(function(e){throw o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),e}))},h.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},h.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},h.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},h.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},h.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,n),isPageReset:!0}),this},h.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},h.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},h.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},h.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},h.prototype.removeNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,n),isPageReset:!0}),this},h.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},h.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},h.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},h.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},h.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},h.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},h.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},h.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},h.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},h.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},h.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},h.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},h.prototype.setCurrentPage=l,h.prototype.setPage=l,h.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},h.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},h.prototype.setState=function(e){return this._change({state:r.make(e),isPageReset:!1}),this},h.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new r(e),this},h.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},h.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},h.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},h.prototype.hasTag=function(e){return this.state.isTagRefined(e)},h.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},h.prototype.getIndex=function(){return this.state.index},h.prototype.getCurrentPage=m,h.prototype.getPage=m,h.prototype.getTags=function(){return this.state.tagRefinements},h.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var n=this.state.getNumericRefinements(e);return Object.keys(n).forEach((function(e){var r=n[e];t.push({value:r,operator:e,type:"numeric"})})),t},h.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},h.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},h.prototype._search=function(e){var t=this.state,n=[],r=[];e.onlyWithDerivedHelpers||(r=s._getQueries(t.index,t),n.push({state:t,queriesCount:r.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var r=e.getModifiedState(t),i=s._getQueries(r.index,r);return n.push({state:r,queriesCount:i.length,helper:e}),e.emit("search",{state:r,results:e.lastResults}),i})),a=Array.prototype.concat.apply(r,i),c=this._queryId++;this._currentNbQueries++;try{this.client.search(a).then(this._dispatchAlgoliaResponse.bind(this,n,c)).catch(this._dispatchAlgoliaError.bind(this,c))}catch(u){this.emit("error",{error:u})}},h.prototype._dispatchAlgoliaResponse=function(e,t,n){if(!(t0},h.prototype._change=function(e){var t=e.state,n=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:n}))},h.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},h.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+f+")"),this.client=e),this},h.prototype.getClient=function(){return this.client},h.prototype.derive=function(e){var t=new a(this,e);return this.derivedHelpers.push(t),t},h.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},h.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=h},147:function(e,t,n){"use strict";e.exports=function(e,t){return e.filter((function(n,r){return t.indexOf(n)>-1&&e.indexOf(n)===r}))}},148:function(e,t,n){"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},149:function(e,t,n){"use strict";var r=n(106),i=n(121),a=n(107),s={addRefinement:function(e,t,n){if(s.isRefined(e,t,n))return e;var i=""+n,a=e[t]?e[t].concat(i):[i],c={};return c[t]=a,r({},c,e)},removeRefinement:function(e,t,n){if(void 0===n)return s.clearRefinement(e,(function(e,n){return t===n}));var r=""+n;return s.clearRefinement(e,(function(e,n){return t===n&&r===e}))},toggleRefinement:function(e,t,n){if(void 0===n)throw new Error("toggleRefinement should be used with a value");return s.isRefined(e,t,n)?s.removeRefinement(e,t,n):s.addRefinement(e,t,n)},clearRefinement:function(e,t,n){if(void 0===t)return a(e)?{}:e;if("string"==typeof t)return i(e,[t]);if("function"==typeof t){var r=!1,s=Object.keys(e).reduce((function(i,a){var s=e[a]||[],c=s.filter((function(e){return!t(e,a,n)}));return c.length!==s.length&&(r=!0),i[a]=c,i}),{});return r?s:e}},isRefined:function(e,t,n){var r=!!e[t]&&e[t].length>0;if(void 0===n||!r)return r;var i=""+n;return-1!==e[t].indexOf(i)}};e.exports=s},150:function(e,t,n){"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},151:function(e,t,n){"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var n=0;n0){var h=0;for(f=c;h0&&s[0].split(c).length>1&&n.push({indexName:e,params:i._getDisjunctiveFacetSearchParams(t,r,!0)})})),n},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(i._getHitsHierarchicalFacetsAttributes(e)),n=i._getFacetFilters(e),a=i._getNumericFilters(e),s={facets:t,tagFilters:i._getTagFilters(e)};return n.length>0&&(s.facetFilters=n),a.length>0&&(s.numericFilters=a),r({},e.getQueryParams(),s)},_getDisjunctiveFacetSearchParams:function(e,t,n){var a=i._getFacetFilters(e,t,n),s=i._getNumericFilters(e,t),c={hitsPerPage:1,page:0,attributesToRetrieve:[],attributesToHighlight:[],attributesToSnippet:[],tagFilters:i._getTagFilters(e),analytics:!1,clickAnalytics:!1},u=e.getHierarchicalFacetByName(t);return c.facets=u?i._getDisjunctiveHierarchicalFacetAttribute(e,u,n):t,s.length>0&&(c.numericFilters=s),a.length>0&&(c.facetFilters=a),r({},e.getQueryParams(),c)},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var n=[];return Object.keys(e.numericRefinements).forEach((function(r){var i=e.numericRefinements[r]||{};Object.keys(i).forEach((function(e){var a=i[e]||[];t!==r&&a.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return r+e+t}));n.push(i)}else n.push(r+e+t)}))}))})),n},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,n){var r=[],i=e.facetsRefinements||{};Object.keys(i).forEach((function(e){(i[e]||[]).forEach((function(t){r.push(e+":"+t)}))}));var a=e.facetsExcludes||{};Object.keys(a).forEach((function(e){(a[e]||[]).forEach((function(t){r.push(e+":-"+t)}))}));var s=e.disjunctiveFacetsRefinements||{};Object.keys(s).forEach((function(e){var n=s[e]||[];if(e!==t&&n&&0!==n.length){var i=[];n.forEach((function(t){i.push(e+":"+t)})),r.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).forEach((function(i){var a=(c[i]||[])[0];if(void 0!==a){var s,u,o=e.getHierarchicalFacetByName(i),f=e._getHierarchicalFacetSeparator(o),h=e._getHierarchicalRootPath(o);if(t===i){if(-1===a.indexOf(f)||!h&&!0===n||h&&h.split(f).length===a.split(f).length)return;h?(u=h.split(f).length-1,a=h):(u=a.split(f).length-2,a=a.slice(0,a.lastIndexOf(f))),s=o.attributes[u]}else u=a.split(f).length-1,s=o.attributes[u];s&&r.push([s+":"+a])}})),r},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,n){var r=e.getHierarchicalRefinement(n.name)[0];if(!r)return t.push(n.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(n),a=r.split(i).length,s=n.attributes.slice(0,a+1);return t.concat(s)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,n){var r=e._getHierarchicalFacetSeparator(t);if(!0===n){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(r).length),[t.attributes[a]]}var s=(e.getHierarchicalRefinement(t.name)[0]||"").split(r).length-1;return t.attributes.slice(0,s+1)},getSearchForFacetQuery:function(e,t,n,a){var s=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,c={facetQuery:t,facetName:e};return"number"==typeof n&&(c.maxFacetHits=n),r({},i._getHitsSearchParams(s),c)}};e.exports=i},155:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0});try{r=n(!function(){var e=new Error("Cannot find module '@site/versions.json'");throw e.code="MODULE_NOT_FOUND",e}())}catch(i){r=[]}t.default=function(){return{versioningEnabled:r.length>0,versions:r,latestVersion:r[0]}}},156:function(e,t,n){e.exports=function(){"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(n){for(var r=1;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var s,c=e[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(i)throw a}}return n}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n=JSON.stringify(e),r=a()[n];return Promise.all([r||t(),void 0!==r])})).then((function(e){var t=i(e,2),r=t[0],a=t[1];return Promise.all([r,a||n.miss(r)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=a();return i[JSON.stringify(e)]=t,r().setItem(n,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(n)}))}}}function c(e){var t=a(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,i).catch((function(){return c({caches:t}).get(e,r,i)}))},set:function(e,r){return n.set(e,r).catch((function(){return c({caches:t}).set(e,r)}))},delete:function(e){return n.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return c({caches:t}).clear()}))}}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var s=r(),c=i&&i.miss||function(){return Promise.resolve()};return s.then((function(e){return c(e)})).then((function(){return s}))},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function o(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function f(e,t){return t?(Object.keys(t).forEach((function(n){e[n]=t[n](e)})),e):e}function h(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}var d={Read:1,Write:2,Any:3},v=1,p=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return n(n({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var n=e.filter((function(e){return function(e){return e.status===v||Date.now()-e.lastUpdate>12e4}(e)})),r=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(a(n),a(r));return{getTimeout:function(e,t){return(0===r.length&&0===e?1:r.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,r,i){var s=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var r=Array.isArray(e.data)?e.data:n(n({},e.data),t.data);return JSON.stringify(r)}}(r,i),u=function(e,t){var r=n(n({},e.headers),t.headers),i={};return Object.keys(r).forEach((function(e){var t=r[e];i[e.toLowerCase()]=t})),i}(e,i),o=r.method,f=r.method!==F?{}:n(n({},r.data),i.data),h=n(n(n({"x-algolia-agent":e.userAgent.value},e.queryParameters),f),i.queryParameters),l=0,m=function t(n,a){var f=n.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:_(s)};var m={data:c,headers:u,method:o,url:O(f,r.path,h),connectTimeout:a(l,e.timeouts.connect),responseTimeout:a(l,i.timeout)},d=function(e){var t={request:m,response:e,host:f,triesLeft:n.length};return s.push(t),t},v={onSucess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(r){var i=d(r);return r.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(f,y(f,r.isTimedOut?g:p))]).then((function(){return t(n,a)}))},onFail:function(e){throw d(e),function(e,t){var n=e.content,r=e.status,i=n;try{i=JSON.parse(n).message}catch(e){}return function(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}(i,r,t)}(e,_(s))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,n=e.status;return!t&&0==~~n}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSucess(e):t.onFail(e)}(e,v)}))};return j(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function E(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}function O(e,t,n){var r=x(n),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return r.length&&(i+="?".concat(r)),i}function x(e){return Object.keys(e).map((function(t){return h("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n})).join("&")}function _(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return n(n({},e),{},{request:n(n({},e.request),{},{headers:n(n({},e.request.headers),t)})})}var N=function(e){var t=e.appId,r=function(e,t,n){var r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?r:{}},queryParameters:function(){return e===l.WithinQueryParameters?r:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,n=e.logger,r=e.requester,a=e.requestsCache,s=e.responsesCache,c=e.timeouts,u=e.userAgent,o=e.hosts,f=e.queryParameters,h={hostsCache:t,logger:n,requester:r,requestsCache:a,responsesCache:s,timeouts:c,userAgent:u,headers:e.headers,queryParameters:f,hosts:o.map((function(e){return R(e)})),read:function(e,t){var n=m(t,h.timeouts.read),r=function(){return P(h,h.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,n)};if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();var a={request:e,mappedRequestOptions:n,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(a,(function(){return h.requestsCache.get(a,(function(){return h.requestsCache.set(a,r()).then((function(e){return Promise.all([h.requestsCache.delete(a),e])}),(function(e){return Promise.all([h.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return h.responsesCache.set(a,e)}})},write:function(e,t){return P(h,h.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,h.timeouts.write))}};return h}(n(n({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(o([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:n(n(n({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:n(n({},r.queryParameters()),e.queryParameters)}));return f({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},H=function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return f({transporter:e.transporter,appId:e.appId,indexName:t},n.methods)}},A=function(e){return function(t,r){var i=t.map((function(e){return n(n({},e),{},{params:x(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},r)}},S=function(e){return function(t,i){return Promise.all(t.map((function(t){var a=t.params,s=a.facetName,c=a.facetQuery,u=r(a,["facetName","facetQuery"]);return H(e)(t.indexName,{methods:{searchForFacetValues:T}}).searchForFacetValues(s,c,n(n({},i),u))})))}},Q=function(e){return function(t,n){return e.transporter.read({method:b,path:h("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n)}},T=function(e){return function(t,n,r){return e.transporter.read({method:b,path:h("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r)}},C=1,D=2,k=3;function I(e,t,r){var i,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var r,i=function(e,r){return setTimeout((function(){n.abort(),t({status:0,content:r,isTimedOut:!0})}),1e3*e)},a=i(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(a),r=i(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(a),clearTimeout(r),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(a),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},logger:(i=k,{debug:function(e,t){return C>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return D>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:c({caches:[s({key:"".concat("4.6.0","-").concat(e)}),u()]}),userAgent:E("4.6.0").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return N(n(n(n({},a),r),{},{methods:{search:A,searchForFacetValues:S,multipleQueries:A,multipleSearchForFacetValues:S,initIndex:function(e){return function(t){return H(e)(t,{methods:{search:Q,searchForFacetValues:T}})}}}}))}return I.version="4.6.0",I}()},70:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(156),s=n.n(a),c=n(145),u=n.n(c),o=n(89),f=n(95),h=n(10),l=n(88),m=n(155),d=n.n(m),v=n(112),p=n(91),g=n(96),y=n(71),R=n.n(y);t.default=function(){var e=Object(l.a)().siteConfig,t=(e=void 0===e?{}:e).themeConfig.algolia,n=(t=void 0===t?{}:t).appId,a=void 0===n?"BH4D9OD16A":n,c=t.apiKey,m=t.indexName,y=Object(v.a)(),F=y.searchValue,b=y.updateSearchPath,j=d()(),P=j.versioningEnabled,E=j.versions,O=j.latestVersion,x=Object(r.useState)(O),_=x[0],w=x[1],N=Object(r.useState)(F),H=N[0],A=N[1],S={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},Q=Object(r.useReducer)((function(e,t){var n=t.type,r=t.value;switch(n){case"reset":return S;case"loading":return Object.assign({},e,{loading:!0});case"update":return H!==r.query?e:Object.assign({},r,{items:0===r.lastPage?r.items:e.items.concat(r.items)});case"advance":var i=e.totalPages>e.lastPage+1;return Object.assign({},e,{lastPage:i?e.lastPage+1:e.lastPage,hasMore:i});default:return e}}),S),T=Q[0],C=Q[1],D=s()(a,c),k=u()(D,m,{hitsPerPage:15,advancedSyntax:!0,facets:_?["version"]:[]});k.on("result",(function(e){var t=e.results,n=t.query,r=t.hits,i=t.page,a=t.nbHits,s=t.nbPages;if(""!==n&&r instanceof Array){var c=function(e){return e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match")},u=r.map((function(e){var t=e.url,n=e._highlightResult.hierarchy,r=e._snippetResult,i=void 0===r?{}:r,a=new URL(t),s=a.pathname,u=a.hash,o=Object.keys(n).map((function(e){return c(n[e].value)}));return{title:o.pop(),url:s+u,summary:i.content?c(i.content.value)+"...":"",breadcrumbs:o}}));C({type:"update",value:{items:u,query:n,totalResults:a,totalPages:s,lastPage:i,hasMore:s>i+1,loading:!1}})}else C({type:"reset"})}));var I,L,q=Object(r.useState)(null),V=q[0],M=q[1],B=Object(r.useRef)(0),z=Object(r.useRef)(h.a.canUseDOM&&new IntersectionObserver((function(e){var t=e[0],n=t.isIntersecting,r=t.boundingClientRect.y;n&&B.current>r&&C({type:"advance"}),B.current=r}),{threshold:1})),J=function(){return H?'Search results for "'+H+'"':"Search the documentation"},W=function(e){void 0===e&&(e=0),_?k.setQuery(H).addFacetRefinement("version",_).setPage(e).search():k.setQuery(H).setPage(e).search()},U=function(e){var t=e.target.value;"SELECT"===e.target.tagName?w(t):A(t)};return Object(r.useEffect)((function(){if(V)return z.current.observe(V),function(){z.current.unobserve(V)}}),[V]),Object(r.useEffect)((function(){b(H),C({type:"reset"}),H&&(C({type:"loading"}),setTimeout((function(){W()}),300))}),[H,_]),Object(r.useEffect)((function(){T.lastPage&&0!==T.lastPage&&W(T.lastPage)}),[T.lastPage]),Object(r.useEffect)((function(){F&&F!==H&&A(F)}),[F]),i.a.createElement(g.a,{title:J()},i.a.createElement(f.a,null,i.a.createElement("meta",{property:"robots",content:"noindex, follow"})),i.a.createElement("div",{className:"container margin-vert--lg"},i.a.createElement("h1",null,J()),i.a.createElement("form",{className:"row",onSubmit:function(e){return e.preventDefault()}},i.a.createElement("div",{className:Object(o.a)("col",R.a.searchQueryColumn,{"col--9":P,"col--12":!P})},i.a.createElement("input",{type:"search",name:"q",className:R.a.searchQueryInput,placeholder:"Type your search here","aria-label":"Search",onChange:U,value:H,autoComplete:"off",autoFocus:!0})),P&&i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersionColumn)},i.a.createElement("select",{onChange:U,defaultValue:_,className:R.a.searchVersionInput},E.map((function(e,t){return i.a.createElement("option",{key:t,value:e},e)}))))),i.a.createElement("div",{className:Object(o.a)("row","margin-vert--sm")},i.a.createElement("div",{className:Object(o.a)("col","col--8",R.a.searchResultsColumn)},!!T.totalResults&&i.a.createElement("strong",null,T.totalResults," ",(I=T.totalResults,L="document",I>1?L+"s":L)," found")),i.a.createElement("div",{className:Object(o.a)("col","col--4",R.a.searchLogoColumn)},i.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.algolia.com/","aria-label":"Search"},i.a.createElement("svg",{viewBox:"0 0 168 24",className:R.a.algoliaLogo,xmlns:"http://www.w3.org/2000/svg","aria-label":"Search by Algolia"},i.a.createElement("g",{fill:"none"},i.a.createElement("path",{className:R.a.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),i.a.createElement("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),i.a.createElement("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})))))),T.items.length>0?i.a.createElement("section",null,T.items.map((function(e,t){var n=e.title,r=e.url,a=e.summary,s=e.breadcrumbs;return i.a.createElement("article",{key:t,className:R.a.searchResultItem},i.a.createElement(p.a,{to:r,className:R.a.searchResultItemHeading,dangerouslySetInnerHTML:{__html:n}}),s.length>0&&i.a.createElement("span",{className:R.a.searchResultItemPath,dangerouslySetInnerHTML:{__html:s.join(" \u203a ")}}),a&&i.a.createElement("p",{className:R.a.searchResultItemSummary,dangerouslySetInnerHTML:{__html:a}}))}))):[H&&!T.loading&&i.a.createElement("p",{key:"no-results"},"No results were found"),!!T.loading&&i.a.createElement("div",{key:"spinner",className:R.a.loadingSpinner})],T.hasMore&&i.a.createElement("div",{className:R.a.loader,ref:M},i.a.createElement("span",null,"Fetching new results..."))))}}}]); \ No newline at end of file +/*! For license information please see 25.56836361.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{100:function(e,t,n){"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var n=0;n0}},120:function(e,t,n){"use strict";var r=n(105),i=n(106),a=n(151),s=n(100),c=n(152),u=n(121),o=n(107),f=n(153);function h(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,n){return h(t[n],e)})):e===t}function l(e){var t=e?l._parseNumbers(e):{};this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var n=this;Object.keys(t).forEach((function(e){var r=-1!==l.PARAMETERS.indexOf(e),i=void 0!==t[e];!r&&i&&(n[e]=t[e])}))}l.PARAMETERS=Object.keys(new l),l._parseNumbers=function(e){if(e instanceof l)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(n){var r=e[n];if("string"==typeof r){var i=parseFloat(r);t[n]=isNaN(i)?r:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var n={};Object.keys(e.numericRefinements).forEach((function(t){var r=e.numericRefinements[t]||{};n[t]={},Object.keys(r).forEach((function(e){var i=r[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));n[t][e]=i}))})),t.numericRefinements=n}return r({},e,t)},l.make=function(e){var t=new l(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var n=t.getHierarchicalRefinement(e.name);n.length>0&&0!==n[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(n=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},l.validate=function(e,t){var n=t||{};return e.tagFilters&&n.tagRefinements&&n.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&n.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&n.numericRefinements&&o(n.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):o(e.numericRefinements)&&n.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},l.prototype={constructor:l,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,n){var i=c(n);if(this.isNumericRefined(e,t,i))return this;var a=r({},this.numericRefinements);return a[e]=r({},a[e]),a[e][t]?(a[e][t]=a[e][t].slice(),a[e][t].push(i)):a[e][t]=[i],this.setQueryParameters({numericRefinements:a})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,n){return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&h(r.val,c(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(n,r){return r===e&&n.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,n){return n===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return o(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements[e])?u(this.numericRefinements,[e]):this.numericRefinements;if("function"==typeof e){var t=!1,n=this.numericRefinements,r=Object.keys(n).reduce((function(r,i){var a=n[i],s={};return a=a||{},Object.keys(a).forEach((function(n){var r=a[n]||[],c=[];r.forEach((function(t){e({val:t,op:n},i,"numeric")||c.push(t)})),c.length!==r.length&&(t=!0),s[n]=c})),r[i]=s,r}),{});return t?r:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),r={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+n))?-1===t.indexOf(n)?r[e]=[]:r[e]=[t.slice(0,t.lastIndexOf(n))]:r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i({},r,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var n={};return n[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:i({},n,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:i({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var n=this.getHierarchicalRefinement(e);return t?-1!==n.indexOf(t):n.length>0},isNumericRefined:function(e,t,n){if(void 0===n&&void 0===t)return!!this.numericRefinements[e];var r=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===n||!r)return r;var i,a,u=c(n),o=void 0!==(i=this.numericRefinements[e][t],a=u,s(i,(function(e){return h(e,a)})));return r&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=a(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets())},getRefinedHierarchicalFacets:function(){var e=this;return a(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0})))},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacets","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},n=this;return Object.keys(this).forEach((function(r){var i=n[r];-1===e.indexOf(r)&&void 0!==i&&(t[r]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var n={};return n[e]=t,this.setQueryParameters(n)},setQueryParameters:function(e){if(!e)return this;var t=l.validate(this,e);if(t)throw t;var n=this,r=l._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=n[t],e}),{}),a=Object.keys(r).reduce((function(e,t){var n=void 0!==e[t],i=void 0!==r[t];return n&&!i?u(e,[t]):(i&&(e[t]=r[t]),e)}),i);return new this.constructor(a)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return s(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var n=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(n).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=l},121:function(e,t,n){"use strict";e.exports=function(e,t){if(null===e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},122:function(e,t,n){"use strict";var r=n(105),i=n(106),a=n(123),s=n(154),c=n(100),u=n(155),o=n(124),f=n(156);function h(e){var t={};return e.forEach((function(e,n){t[e]=n})),t}function l(e,t,n){t&&t[n]&&(e.stats=t[n])}function m(e,t){var n=t[0];this._rawResults=t;var a=this;Object.keys(n).forEach((function(e){a[e]=n[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var o=e.getRefinedDisjunctiveFacets(),m=h(e.facets),d=h(e.disjunctiveFacets),v=1,p=n.facets||{};Object.keys(p).forEach((function(t){var r,i,s=p[t],o=(r=e.hierarchicalFacets,i=t,c(r,(function(e){return(e.attributes||[]).indexOf(i)>-1})));if(o){var f=o.attributes.indexOf(t),h=u(e.hierarchicalFacets,(function(e){return e.name===o.name}));a.hierarchicalFacets[h][f]={attribute:t,data:s,exhaustive:n.exhaustiveFacetsCount}}else{var v,g=-1!==e.disjunctiveFacets.indexOf(t),y=-1!==e.facets.indexOf(t);g&&(v=d[t],a.disjunctiveFacets[v]={name:t,data:s,exhaustive:n.exhaustiveFacetsCount},l(a.disjunctiveFacets[v],n.facets_stats,t)),y&&(v=m[t],a.facets[v]={name:t,data:s,exhaustive:n.exhaustiveFacetsCount},l(a.facets[v],n.facets_stats,t))}})),this.hierarchicalFacets=s(this.hierarchicalFacets),o.forEach((function(s){var c=t[v],o=c&&c.facets?c.facets:{},f=e.getHierarchicalFacetByName(s);Object.keys(o).forEach((function(t){var s,h=o[t];if(f){s=u(e.hierarchicalFacets,(function(e){return e.name===f.name}));var m=u(a.hierarchicalFacets[s],(function(e){return e.attribute===t}));if(-1===m)return;a.hierarchicalFacets[s][m].data=r({},a.hierarchicalFacets[s][m].data,h)}else{s=d[t];var v=n.facets&&n.facets[t]||{};a.disjunctiveFacets[s]={name:t,data:i({},h,v),exhaustive:c.exhaustiveFacetsCount},l(a.disjunctiveFacets[s],c.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!a.disjunctiveFacets[s].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(n)>-1&&(a.disjunctiveFacets[s].data[n]=0)}))}})),v++})),e.getRefinedHierarchicalFacets().forEach((function(n){var r=e.getHierarchicalFacetByName(n),s=e._getHierarchicalFacetSeparator(r),c=e.getHierarchicalRefinement(n);if(!(0===c.length||c[0].split(s).length<2)){var o=t[v],f=o&&o.facets?o.facets:{};Object.keys(f).forEach((function(t){var n=f[t],o=u(e.hierarchicalFacets,(function(e){return e.name===r.name})),h=u(a.hierarchicalFacets[o],(function(e){return e.attribute===t}));if(-1!==h){var l={};if(c.length>0){var m=c[0].split(s)[0];l[m]=a.hierarchicalFacets[o][h].data[m]}a.hierarchicalFacets[o][h].data=i(l,n,a.hierarchicalFacets[o][h].data)}})),v++}})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],i=m[t];a.facets[i]={name:t,data:n.facets[t],exhaustive:n.exhaustiveFacetsCount},r.forEach((function(e){a.facets[i]=a.facets[i]||{name:t},a.facets[i].data=a.facets[i].data||{},a.facets[i].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(f(e)),this.facets=s(this.facets),this.disjunctiveFacets=s(this.disjunctiveFacets),this._state=e}function d(e,t){if(!t.data||0===t.data.length)return t;var n=t.data.map((function(t){return d(e,t)})),i=e(n);return r({},t,{data:i})}function v(e,t){var n=c(e,(function(e){return e.name===t}));return n&&n.stats}function p(e,t,n,r,i){var a=c(i,(function(e){return e.name===n})),s=a&&a.data&&a.data[r]?a.data[r]:0,u=a&&a.exhaustive||!1;return{type:t,attributeName:n,name:r,count:s,exhaustive:u}}m.prototype.getFacetByName=function(e){function t(t){return t.name===e}return c(this.facets,t)||c(this.disjunctiveFacets,t)||c(this.hierarchicalFacets,t)},m.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],m.prototype.getFacetValues=function(e,t){var n=function(e,t){function n(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var r=c(e.facets,n);return r?Object.keys(r.data).map((function(n){return{name:n,count:r.data[n],isRefined:e._state.isFacetRefined(t,n),isExcluded:e._state.isExcludeRefined(t,n)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=c(e.disjunctiveFacets,n);return i?Object.keys(i.data).map((function(n){return{name:n,count:i.data[n],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t))return c(e.hierarchicalFacets,n)}(this,e);if(n){var r=i({},t,{sortBy:m.DEFAULT_SORT});if(Array.isArray(r.sortBy)){var s=o(r.sortBy,m.DEFAULT_SORT);return Array.isArray(n)?a(n,s[0],s[1]):d((function(e){return a(e,s[0],s[1])}),n)}if("function"==typeof r.sortBy)return Array.isArray(n)?n.sort(r.sortBy):d((function(e){return function(e,t){return t.sort(e)}(r.sortBy,e)}),n);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}},m.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?v(this.facets,e):this._state.isDisjunctiveFacet(e)?v(this.disjunctiveFacets,e):void 0},m.prototype.getRefinements=function(){var e=this._state,t=this,n=[];return Object.keys(e.facetsRefinements).forEach((function(r){e.facetsRefinements[r].forEach((function(i){n.push(p(e,"facet",r,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(r){e.facetsExcludes[r].forEach((function(i){n.push(p(e,"exclude",r,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(r){e.disjunctiveFacetsRefinements[r].forEach((function(i){n.push(p(e,"disjunctive",r,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(r){e.hierarchicalFacetsRefinements[r].forEach((function(i){n.push(function(e,t,n,r){var i=e.getHierarchicalFacetByName(t),a=e._getHierarchicalFacetSeparator(i),s=n.split(a),u=c(r,(function(e){return e.name===t})),o=s.reduce((function(e,t){var n=e&&c(e.data,(function(e){return e.name===t}));return void 0!==n?n:e}),u),f=o&&o.count||0,h=o&&o.exhaustive||!1,l=o&&o.path||"";return{type:"hierarchical",attributeName:t,name:l,count:f,exhaustive:h}}(e,r,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var r=e.numericRefinements[t];Object.keys(r).forEach((function(e){r[e].forEach((function(r){n.push({type:"numeric",attributeName:t,name:r,numericValue:r,operator:e})}))}))})),e.tagRefinements.forEach((function(e){n.push({type:"tag",attributeName:"_tags",name:e})})),n},e.exports=m},123:function(e,t,n){"use strict";function r(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=void 0!==t,a=null===t;if(!a&&e>t||r&&i||!n)return 1;if(!r&&e=n.length?a:"desc"===n[i]?-a:a}return e.index-t.index})),i.map((function(e){return e.value}))}},124:function(e,t,n){"use strict";var r=n(100);e.exports=function(e,t){var n=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),a=r(n,(function(e){return e[0]===i[0]}));return i.length>1||!a?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(a[0]),e[1].push(a[1]),e)}),[[],[]])}},125:function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function c(){c.init.call(this)}e.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._eventsCount=0,c.prototype._maxListeners=void 0;var u=10;function o(e){return void 0===e._maxListeners?c.defaultMaxListeners:e._maxListeners}function f(e,t,n,r){var i,a,s,c;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),s=a[t]),void 0===s)s=a[t]=n,++e._eventsCount;else if("function"==typeof s?s=a[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=o(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function h(){for(var e=[],t=0;t0&&(s=t[0]),s instanceof Error)throw s;var c=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw c.context=s,c}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)a(u,this,t);else{var o=u.length,f=v(u,o);for(n=0;n=0;a--)if(n[a]===t||n[a].listener===t){s=n[a].listener,i=a;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},c.prototype.listeners=function(e){return m(this,e,!0)},c.prototype.rawListeners=function(e){return m(this,e,!1)},c.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},c.prototype.listenerCount=d,c.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},126:function(e,t,n){"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},127:function(e,t,n){"use strict";e.exports="3.2.2"},149:function(e,t,n){"use strict";var r=n(150),i=n(120),a=n(122);function s(e,t,n){return new r(e,t,n)}s.version=n(127),s.AlgoliaSearchHelper=r,s.SearchParameters=i,s.SearchResults=a,e.exports=s},150:function(e,t,n){"use strict";var r=n(120),i=n(122),a=n(157),s=n(158),c=n(125),u=n(126),o=n(107),f=n(127);function h(e,t,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+f+")"),this.setClient(e);var i=n||{};i.index=t,this.state=r.make(i),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0}function l(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function m(){return this.state.page}u(h,c.EventEmitter),h.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},h.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},h.prototype.getQuery=function(){var e=this.state;return s._getHitsSearchParams(e)},h.prototype.searchOnce=function(e,t){var n=e?this.state.setQueryParameters(e):this.state,r=s._getQueries(n.index,n),a=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:n}),!t)return this.client.search(r).then((function(e){return a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),{content:new i(n,e.results),state:n,_originalResponse:e}}),(function(e){throw a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),e}));this.client.search(r).then((function(e){a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),t(null,new i(n,e.results),n)})).catch((function(e){a._currentNbQueries--,0===a._currentNbQueries&&a.emit("searchQueueEmpty"),t(e,null,n)}))},h.prototype.searchForFacetValues=function(e,t,n,r){var i="function"==typeof this.client.searchForFacetValues;if(!i&&"function"!=typeof this.client.initIndex)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var a=this.state.setQueryParameters(r||{}),c=a.isDisjunctiveFacet(e),u=s.getSearchForFacetQuery(e,t,n,a);this._currentNbQueries++;var o=this;return this.emit("searchForFacetValues",{state:a,facet:e,query:t}),(i?this.client.searchForFacetValues([{indexName:a.index,params:u}]):this.client.initIndex(a.index).searchForFacetValues(u)).then((function(t){return o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.isRefined=c?a.isDisjunctiveFacetRefined(e,t.value):a.isFacetRefined(e,t.value)})),t}),(function(e){throw o._currentNbQueries--,0===o._currentNbQueries&&o.emit("searchQueueEmpty"),e}))},h.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},h.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},h.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},h.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},h.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,n),isPageReset:!0}),this},h.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},h.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},h.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},h.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},h.prototype.removeNumericRefinement=function(e,t,n){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,n),isPageReset:!0}),this},h.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},h.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},h.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},h.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},h.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},h.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},h.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},h.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},h.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},h.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},h.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},h.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},h.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},h.prototype.setCurrentPage=l,h.prototype.setPage=l,h.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},h.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},h.prototype.setState=function(e){return this._change({state:r.make(e),isPageReset:!1}),this},h.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new r(e),this},h.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},h.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},h.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},h.prototype.hasTag=function(e){return this.state.isTagRefined(e)},h.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},h.prototype.getIndex=function(){return this.state.index},h.prototype.getCurrentPage=m,h.prototype.getPage=m,h.prototype.getTags=function(){return this.state.tagRefinements},h.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var n=this.state.getNumericRefinements(e);return Object.keys(n).forEach((function(e){var r=n[e];t.push({value:r,operator:e,type:"numeric"})})),t},h.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},h.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},h.prototype._search=function(e){var t=this.state,n=[],r=[];e.onlyWithDerivedHelpers||(r=s._getQueries(t.index,t),n.push({state:t,queriesCount:r.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var r=e.getModifiedState(t),i=s._getQueries(r.index,r);return n.push({state:r,queriesCount:i.length,helper:e}),e.emit("search",{state:r,results:e.lastResults}),i})),a=Array.prototype.concat.apply(r,i),c=this._queryId++;this._currentNbQueries++;try{this.client.search(a).then(this._dispatchAlgoliaResponse.bind(this,n,c)).catch(this._dispatchAlgoliaError.bind(this,c))}catch(u){this.emit("error",{error:u})}},h.prototype._dispatchAlgoliaResponse=function(e,t,n){if(!(t0},h.prototype._change=function(e){var t=e.state,n=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:n}))},h.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},h.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+f+")"),this.client=e),this},h.prototype.getClient=function(){return this.client},h.prototype.derive=function(e){var t=new a(this,e);return this.derivedHelpers.push(t),t},h.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},h.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=h},151:function(e,t,n){"use strict";e.exports=function(e,t){return e.filter((function(n,r){return t.indexOf(n)>-1&&e.indexOf(n)===r}))}},152:function(e,t,n){"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},153:function(e,t,n){"use strict";var r=n(106),i=n(121),a=n(107),s={addRefinement:function(e,t,n){if(s.isRefined(e,t,n))return e;var i=""+n,a=e[t]?e[t].concat(i):[i],c={};return c[t]=a,r({},c,e)},removeRefinement:function(e,t,n){if(void 0===n)return s.clearRefinement(e,(function(e,n){return t===n}));var r=""+n;return s.clearRefinement(e,(function(e,n){return t===n&&r===e}))},toggleRefinement:function(e,t,n){if(void 0===n)throw new Error("toggleRefinement should be used with a value");return s.isRefined(e,t,n)?s.removeRefinement(e,t,n):s.addRefinement(e,t,n)},clearRefinement:function(e,t,n){if(void 0===t)return a(e)?{}:e;if("string"==typeof t)return i(e,[t]);if("function"==typeof t){var r=!1,s=Object.keys(e).reduce((function(i,a){var s=e[a]||[],c=s.filter((function(e){return!t(e,a,n)}));return c.length!==s.length&&(r=!0),i[a]=c,i}),{});return r?s:e}},isRefined:function(e,t,n){var r=!!e[t]&&e[t].length>0;if(void 0===n||!r)return r;var i=""+n;return-1!==e[t].indexOf(i)}};e.exports=s},154:function(e,t,n){"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},155:function(e,t,n){"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var n=0;n0){var h=0;for(f=c;h0&&s[0].split(c).length>1&&n.push({indexName:e,params:i._getDisjunctiveFacetSearchParams(t,r,!0)})})),n},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(i._getHitsHierarchicalFacetsAttributes(e)),n=i._getFacetFilters(e),a=i._getNumericFilters(e),s={facets:t,tagFilters:i._getTagFilters(e)};return n.length>0&&(s.facetFilters=n),a.length>0&&(s.numericFilters=a),r({},e.getQueryParams(),s)},_getDisjunctiveFacetSearchParams:function(e,t,n){var a=i._getFacetFilters(e,t,n),s=i._getNumericFilters(e,t),c={hitsPerPage:1,page:0,attributesToRetrieve:[],attributesToHighlight:[],attributesToSnippet:[],tagFilters:i._getTagFilters(e),analytics:!1,clickAnalytics:!1},u=e.getHierarchicalFacetByName(t);return c.facets=u?i._getDisjunctiveHierarchicalFacetAttribute(e,u,n):t,s.length>0&&(c.numericFilters=s),a.length>0&&(c.facetFilters=a),r({},e.getQueryParams(),c)},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var n=[];return Object.keys(e.numericRefinements).forEach((function(r){var i=e.numericRefinements[r]||{};Object.keys(i).forEach((function(e){var a=i[e]||[];t!==r&&a.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return r+e+t}));n.push(i)}else n.push(r+e+t)}))}))})),n},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,n){var r=[],i=e.facetsRefinements||{};Object.keys(i).forEach((function(e){(i[e]||[]).forEach((function(t){r.push(e+":"+t)}))}));var a=e.facetsExcludes||{};Object.keys(a).forEach((function(e){(a[e]||[]).forEach((function(t){r.push(e+":-"+t)}))}));var s=e.disjunctiveFacetsRefinements||{};Object.keys(s).forEach((function(e){var n=s[e]||[];if(e!==t&&n&&0!==n.length){var i=[];n.forEach((function(t){i.push(e+":"+t)})),r.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).forEach((function(i){var a=(c[i]||[])[0];if(void 0!==a){var s,u,o=e.getHierarchicalFacetByName(i),f=e._getHierarchicalFacetSeparator(o),h=e._getHierarchicalRootPath(o);if(t===i){if(-1===a.indexOf(f)||!h&&!0===n||h&&h.split(f).length===a.split(f).length)return;h?(u=h.split(f).length-1,a=h):(u=a.split(f).length-2,a=a.slice(0,a.lastIndexOf(f))),s=o.attributes[u]}else u=a.split(f).length-1,s=o.attributes[u];s&&r.push([s+":"+a])}})),r},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,n){var r=e.getHierarchicalRefinement(n.name)[0];if(!r)return t.push(n.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(n),a=r.split(i).length,s=n.attributes.slice(0,a+1);return t.concat(s)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,n){var r=e._getHierarchicalFacetSeparator(t);if(!0===n){var i=e._getHierarchicalRootPath(t),a=0;return i&&(a=i.split(r).length),[t.attributes[a]]}var s=(e.getHierarchicalRefinement(t.name)[0]||"").split(r).length-1;return t.attributes.slice(0,s+1)},getSearchForFacetQuery:function(e,t,n,a){var s=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,c={facetQuery:t,facetName:e};return"number"==typeof n&&(c.maxFacetHits=n),r({},i._getHitsSearchParams(s),c)}};e.exports=i},159:function(e,t,n){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0});try{r=n(!function(){var e=new Error("Cannot find module '@site/versions.json'");throw e.code="MODULE_NOT_FOUND",e}())}catch(i){r=[]}t.default=function(){return{versioningEnabled:r.length>0,versions:r,latestVersion:r[0]}}},160:function(e,t,n){e.exports=function(){"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(n){for(var r=1;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var s,c=e[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(i)throw a}}return n}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var n=JSON.stringify(e),r=a()[n];return Promise.all([r||t(),void 0!==r])})).then((function(e){var t=i(e,2),r=t[0],a=t[1];return Promise.all([r,a||n.miss(r)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=a();return i[JSON.stringify(e)]=t,r().setItem(n,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=a();delete t[JSON.stringify(e)],r().setItem(n,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(n)}))}}}function c(e){var t=a(e.caches),n=t.shift();return void 0===n?{get:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,n.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(e,r,i).catch((function(){return c({caches:t}).get(e,r,i)}))},set:function(e,r){return n.set(e,r).catch((function(){return c({caches:t}).set(e,r)}))},delete:function(e){return n.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return n.clear().catch((function(){return c({caches:t}).clear()}))}}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var s=r(),c=i&&i.miss||function(){return Promise.resolve()};return s.then((function(e){return c(e)})).then((function(){return s}))},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function o(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function f(e,t){return t?(Object.keys(t).forEach((function(n){e[n]=t[n](e)})),e):e}function h(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}var d={Read:1,Write:2,Any:3},v=1,p=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return n(n({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var n=e.filter((function(e){return function(e){return e.status===v||Date.now()-e.lastUpdate>12e4}(e)})),r=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(a(n),a(r));return{getTimeout:function(e,t){return(0===r.length&&0===e?1:r.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,r,i){var s=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var r=Array.isArray(e.data)?e.data:n(n({},e.data),t.data);return JSON.stringify(r)}}(r,i),u=function(e,t){var r=n(n({},e.headers),t.headers),i={};return Object.keys(r).forEach((function(e){var t=r[e];i[e.toLowerCase()]=t})),i}(e,i),o=r.method,f=r.method!==F?{}:n(n({},r.data),i.data),h=n(n(n({"x-algolia-agent":e.userAgent.value},e.queryParameters),f),i.queryParameters),l=0,m=function t(n,a){var f=n.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:_(s)};var m={data:c,headers:u,method:o,url:x(f,r.path,h),connectTimeout:a(l,e.timeouts.connect),responseTimeout:a(l,i.timeout)},d=function(e){var t={request:m,response:e,host:f,triesLeft:n.length};return s.push(t),t},v={onSucess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(r){var i=d(r);return r.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(f,y(f,r.isTimedOut?g:p))]).then((function(){return t(n,a)}))},onFail:function(e){throw d(e),function(e,t){var n=e.content,r=e.status,i=n;try{i=JSON.parse(n).message}catch(e){}return function(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}(i,r,t)}(e,_(s))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,n=e.status;return!t&&0==~~n}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSucess(e):t.onFail(e)}(e,v)}))};return j(e.hostsCache,t).then((function(e){return m(a(e.statelessHosts).reverse(),e.getTimeout)}))}function E(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var n="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(n)&&(t.value="".concat(t.value).concat(n)),t}};return t}function x(e,t,n){var r=O(n),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return r.length&&(i+="?".concat(r)),i}function O(e){return Object.keys(e).map((function(t){return h("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n})).join("&")}function _(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return n(n({},e),{},{request:n(n({},e.request),{},{headers:n(n({},e.request.headers),t)})})}var N=function(e){var t=e.appId,r=function(e,t,n){var r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?r:{}},queryParameters:function(){return e===l.WithinQueryParameters?r:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),a=function(e){var t=e.hostsCache,n=e.logger,r=e.requester,a=e.requestsCache,s=e.responsesCache,c=e.timeouts,u=e.userAgent,o=e.hosts,f=e.queryParameters,h={hostsCache:t,logger:n,requester:r,requestsCache:a,responsesCache:s,timeouts:c,userAgent:u,headers:e.headers,queryParameters:f,hosts:o.map((function(e){return R(e)})),read:function(e,t){var n=m(t,h.timeouts.read),r=function(){return P(h,h.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,n)};if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();var a={request:e,mappedRequestOptions:n,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(a,(function(){return h.requestsCache.get(a,(function(){return h.requestsCache.set(a,r()).then((function(e){return Promise.all([h.requestsCache.delete(a),e])}),(function(e){return Promise.all([h.requestsCache.delete(a),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return h.responsesCache.set(a,e)}})},write:function(e,t){return P(h,h.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,h.timeouts.write))}};return h}(n(n({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(o([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:n(n(n({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:n(n({},r.queryParameters()),e.queryParameters)}));return f({transporter:a,appId:t,addAlgoliaAgent:function(e,t){a.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},e.methods)},H=function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return f({transporter:e.transporter,appId:e.appId,indexName:t},n.methods)}},A=function(e){return function(t,r){var i=t.map((function(e){return n(n({},e),{},{params:O(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},r)}},S=function(e){return function(t,i){return Promise.all(t.map((function(t){var a=t.params,s=a.facetName,c=a.facetQuery,u=r(a,["facetName","facetQuery"]);return H(e)(t.indexName,{methods:{searchForFacetValues:T}}).searchForFacetValues(s,c,n(n({},i),u))})))}},Q=function(e){return function(t,n){return e.transporter.read({method:b,path:h("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n)}},T=function(e){return function(t,n,r){return e.transporter.read({method:b,path:h("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r)}},C=1,D=2,k=3;function I(e,t,r){var i,a={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return n.setRequestHeader(t,e.headers[t])}));var r,i=function(e,r){return setTimeout((function(){n.abort(),t({status:0,content:r,isTimedOut:!0})}),1e3*e)},a=i(e.connectTimeout,"Connection timeout");n.onreadystatechange=function(){n.readyState>n.OPENED&&void 0===r&&(clearTimeout(a),r=i(e.responseTimeout,"Socket timeout"))},n.onerror=function(){0===n.status&&(clearTimeout(a),clearTimeout(r),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=function(){clearTimeout(a),clearTimeout(r),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))}},logger:(i=k,{debug:function(e,t){return C>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return D>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:c({caches:[s({key:"".concat("4.6.0","-").concat(e)}),u()]}),userAgent:E("4.6.0").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return N(n(n(n({},a),r),{},{methods:{search:A,searchForFacetValues:S,multipleQueries:A,multipleSearchForFacetValues:S,initIndex:function(e){return function(t){return H(e)(t,{methods:{search:Q,searchForFacetValues:T}})}}}}))}return I.version="4.6.0",I}()},78:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(160),s=n.n(a),c=n(149),u=n.n(c),o=n(89),f=n(95),h=n(10),l=n(88),m=n(159),d=n.n(m),v=n(112),p=n(91),g=n(96),y=n(79),R=n.n(y);t.default=function(){const{siteConfig:{themeConfig:{algolia:{appId:e="BH4D9OD16A",apiKey:t,indexName:n}={}}}={}}=Object(l.a)(),{searchValue:a,updateSearchPath:c}=Object(v.a)(),{versioningEnabled:m,versions:y,latestVersion:F}=d()(),[b,j]=Object(r.useState)(F),[P,E]=Object(r.useState)(a),x={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[O,_]=Object(r.useReducer)(((e,{type:t,value:n})=>{switch(t){case"reset":return x;case"loading":return{...e,loading:!0};case"update":return P!==n.query?e:{...n,items:0===n.lastPage?n.items:e.items.concat(n.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),x),w=s()(e,t),N=u()(w,n,{hitsPerPage:15,advancedSyntax:!0,facets:b?["version"]:[]});N.on("result",(({results:{query:e,hits:t,page:n,nbHits:r,nbPages:i}})=>{if(""===e||!(t instanceof Array))return void _({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),s=t.map((({url:e,_highlightResult:{hierarchy:t},_snippetResult:n={}})=>{const{pathname:r,hash:i}=new URL(e),s=Object.keys(t).map((e=>a(t[e].value)));return{title:s.pop(),url:r+i,summary:n.content?a(n.content.value)+"...":"",breadcrumbs:s}}));_({type:"update",value:{items:s,query:e,totalResults:r,totalPages:i,lastPage:n,hasMore:i>n+1,loading:!1}})}));const[H,A]=Object(r.useState)(null),S=Object(r.useRef)(0),Q=Object(r.useRef)(h.a.canUseDOM&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:n}}=e[0];t&&S.current>n&&_({type:"advance"}),S.current=n}),{threshold:1})),T=()=>P?`Search results for "${P}"`:"Search the documentation",C=(e=0)=>{b?N.setQuery(P).addFacetRefinement("version",b).setPage(e).search():N.setQuery(P).setPage(e).search()},D=e=>{const t=e.target.value;"SELECT"===e.target.tagName?j(t):E(t)};return Object(r.useEffect)((()=>{if(H)return Q.current.observe(H),()=>{Q.current.unobserve(H)}}),[H]),Object(r.useEffect)((()=>{c(P),_({type:"reset"}),P&&(_({type:"loading"}),setTimeout((()=>{C()}),300))}),[P,b]),Object(r.useEffect)((()=>{O.lastPage&&0!==O.lastPage&&C(O.lastPage)}),[O.lastPage]),Object(r.useEffect)((()=>{a&&a!==P&&E(a)}),[a]),i.a.createElement(g.a,{title:T()},i.a.createElement(f.a,null,i.a.createElement("meta",{property:"robots",content:"noindex, follow"})),i.a.createElement("div",{className:"container margin-vert--lg"},i.a.createElement("h1",null,T()),i.a.createElement("form",{className:"row",onSubmit:e=>e.preventDefault()},i.a.createElement("div",{className:Object(o.a)("col",R.a.searchQueryColumn,{"col--9":m,"col--12":!m})},i.a.createElement("input",{type:"search",name:"q",className:R.a.searchQueryInput,placeholder:"Type your search here","aria-label":"Search",onChange:D,value:P,autoComplete:"off",autoFocus:!0})),m&&i.a.createElement("div",{className:Object(o.a)("col","col--3","padding-left--none",R.a.searchVersionColumn)},i.a.createElement("select",{onChange:D,defaultValue:b,className:R.a.searchVersionInput},y.map(((e,t)=>i.a.createElement("option",{key:t,value:e},e)))))),i.a.createElement("div",{className:Object(o.a)("row","margin-vert--sm")},i.a.createElement("div",{className:Object(o.a)("col","col--8",R.a.searchResultsColumn)},!!O.totalResults&&i.a.createElement("strong",null,O.totalResults," ",(k=O.totalResults,I="document",k>1?I+"s":I)," found")),i.a.createElement("div",{className:Object(o.a)("col","col--4",R.a.searchLogoColumn)},i.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.algolia.com/","aria-label":"Search"},i.a.createElement("svg",{viewBox:"0 0 168 24",className:R.a.algoliaLogo,xmlns:"http://www.w3.org/2000/svg","aria-label":"Search by Algolia"},i.a.createElement("g",{fill:"none"},i.a.createElement("path",{className:R.a.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),i.a.createElement("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),i.a.createElement("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})))))),O.items.length>0?i.a.createElement("section",null,O.items.map((({title:e,url:t,summary:n,breadcrumbs:r},a)=>i.a.createElement("article",{key:a,className:R.a.searchResultItem},i.a.createElement(p.a,{to:t,className:R.a.searchResultItemHeading,dangerouslySetInnerHTML:{__html:e}}),r.length>0&&i.a.createElement("span",{className:R.a.searchResultItemPath,dangerouslySetInnerHTML:{__html:r.join(" \u203a ")}}),n&&i.a.createElement("p",{className:R.a.searchResultItemSummary,dangerouslySetInnerHTML:{__html:n}}))))):[P&&!O.loading&&i.a.createElement("p",{key:"no-results"},"No results were found"),!!O.loading&&i.a.createElement("div",{key:"spinner",className:R.a.loadingSpinner})],O.hasMore&&i.a.createElement("div",{className:R.a.loader,ref:A},i.a.createElement("span",null,"Fetching new results..."))));var k,I}}}]); \ No newline at end of file diff --git a/25.534340cd.js.LICENSE.txt b/25.56836361.js.LICENSE.txt similarity index 100% rename from 25.534340cd.js.LICENSE.txt rename to 25.56836361.js.LICENSE.txt diff --git a/26.3878667c.js b/26.3878667c.js deleted file mode 100644 index a1497b7..0000000 --- a/26.3878667c.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26,29],{108:function(e,t,n){"use strict";n.d(t,"b",(function(){return l}));var a=n(20),r={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","at-rule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},o=n(0),l={Prism:a.a,theme:r};function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e[n-1]===t?e:e.concat(t)},m=function(e,t){var n=e.plain,a=Object.create(null),r=e.styles.reduce((function(e,n){var a=n.languages,r=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=i({},e[t],r);e[t]=n})),e}),a);return r.root=n,r.plain=i({},n,{backgroundColor:null}),r};function d(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}var y=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),c(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?m(e.theme,e.language):void 0;return t.themeDict=n})),c(this,"getLineProps",(function(e){var n=e.key,a=e.className,r=e.style,o=i({},d(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(o.style=l.plain),void 0!==r&&(o.style=void 0!==o.style?i({},o.style,r):r),void 0!==n&&(o.key=n),a&&(o.className+=" "+a),o})),c(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,r=n.length,o=t.getThemeDict(t.props);if(void 0!==o){if(1===r&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===r&&!a)return o[n[0]];var l=a?{display:"inline-block"}:{},c=n.map((function(e){return o[e]}));return Object.assign.apply(Object,[l].concat(c))}})),c(this,"getTokenProps",(function(e){var n=e.key,a=e.className,r=e.style,o=e.token,l=i({},d(e,["key","className","style","token"]),{className:"token "+o.types.join(" "),children:o.content,style:t.getStyleForToken(o),key:void 0});return void 0!==r&&(l.style=void 0!==l.style?i({},l.style,r):r),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,r=e.children,o=this.getThemeDict(this.props),l=t.languages[n];return r({tokens:function(e){for(var t=[[]],n=[e],a=[0],r=[e.length],o=0,l=0,c=[],i=[c];l>-1;){for(;(o=a[l]++)0?d:["plain"],m=y):(d=p(d,y.type),y.alias&&(d=p(d,y.alias)),m=y.content),"string"==typeof m){var f=m.split(s),h=f.length;c.push({types:d,content:f[0]});for(var b=1;b{const n=document.createElement("textarea"),a=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const r=document.getSelection();let o=!1;r.rangeCount>0&&(o=r.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch(c){}return n.remove(),o&&(r.removeAllRanges(),r.addRange(o)),a&&a.focus(),l};e.exports=a,e.exports.default=a},144:function(e,t){e.exports.parse=function(e){var t=e.split(",").map((function(e){return function(e){if(/^-?\d+$/.test(e))return parseInt(e,10);var t;if(t=e.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){var n=t[1],a=t[2],r=t[3];if(n&&r){var o=[],l=(n=parseInt(n))<(r=parseInt(r))?1:-1;"-"!=a&&".."!=a&&"\u2025"!=a||(r+=l);for(var c=n;c!=r;c+=l)o.push(c);return o}}return[]}(e)}));return 0===t.length?[]:1===t.length?Array.isArray(t[0])?t[0]:t:t.reduce((function(e,t){return Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),e.concat(t)}))}},83:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),o=n(87),l=n(88),c=n(23),i=n(96),s=n(1),u=n(6),p=n(89),m=n(90),d=n(119),y=n(110),f=n(116),h=n(117),b=n(118),g=n(115),v=n(91),k=n(98),j=n(60),O=n.n(j);var E=function e(t,n){return"link"===t.type?Object(d.a)(t.href,n):"category"===t.type&&t.items.some((function(t){return e(t,n)}))};function N(e){var t,n,o,l=e.item,c=e.onItemClick,i=e.collapsible,m=e.activePath,d=Object(u.a)(e,["item","onItemClick","collapsible","activePath"]),y=l.items,f=l.label,h=E(l,m),b=(n=h,o=Object(a.useRef)(n),Object(a.useEffect)((function(){o.current=n}),[n]),o.current),g=Object(a.useState)((function(){return!!i&&(!h&&l.collapsed)})),v=g[0],k=g[1];Object(a.useEffect)((function(){h&&!b&&v&&k(!1)}),[h,b,v]);var j=Object(a.useCallback)((function(e){e.preventDefault(),k((function(e){return!e}))}),[k]);return 0===y.length?null:r.a.createElement("li",{className:Object(p.a)("menu__list-item",{"menu__list-item--collapsed":v}),key:f},r.a.createElement("a",Object(s.a)({className:Object(p.a)("menu__link",(t={"menu__link--sublist":i,"menu__link--active":i&&h},t[O.a.menuLinkText]=!i,t)),onClick:i?j:void 0,href:i?"#!":void 0},d),f),r.a.createElement("ul",{className:"menu__list"},y.map((function(e){return r.a.createElement(x,{tabIndex:v?"-1":"0",key:e.label,item:e,onItemClick:c,collapsible:i,activePath:m})}))))}function w(e){var t=e.item,n=e.onItemClick,a=e.activePath,o=(e.collapsible,Object(u.a)(e,["item","onItemClick","activePath","collapsible"])),l=t.href,c=t.label,i=E(t,a);return r.a.createElement("li",{className:"menu__list-item",key:c},r.a.createElement(v.a,Object(s.a)({className:Object(p.a)("menu__link",{"menu__link--active":i}),to:l},Object(k.a)(l)?{isNavLink:!0,exact:!0,onClick:n}:{target:"_blank",rel:"noreferrer noopener"},o),c))}function x(e){switch(e.item.type){case"category":return r.a.createElement(N,e);case"link":default:return r.a.createElement(w,e)}}var C=function(e){var t,n,o=e.path,c=e.sidebar,i=e.sidebarCollapsible,u=void 0===i||i,d=Object(a.useState)(!1),k=d[0],j=d[1],E=Object(m.a)().navbar,N=E.title,w=E.hideOnScroll,C=Object(l.a)().isClient,P=Object(b.a)(),_=P.logoLink,T=P.logoLinkProps,S=P.logoImageUrl,I=P.logoAlt,D=Object(y.a)().isAnnouncementBarClosed,L=Object(g.a)().scrollY;Object(f.a)(k);var M=Object(h.a)();return Object(a.useEffect)((function(){M===h.b.desktop&&j(!1)}),[M]),r.a.createElement("div",{className:Object(p.a)(O.a.sidebar,(t={},t[O.a.sidebarWithHideableNavbar]=w,t))},w&&r.a.createElement(v.a,Object(s.a)({tabIndex:-1,className:O.a.sidebarLogo,to:_},T),null!=S&&r.a.createElement("img",{key:C,src:S,alt:I}),null!=N&&r.a.createElement("strong",null,N)),r.a.createElement("div",{className:Object(p.a)("menu","menu--responsive",O.a.menu,(n={"menu--show":k},n[O.a.menuWithAnnouncementBar]=!D&&0===L,n))},r.a.createElement("button",{"aria-label":k?"Close Menu":"Open Menu","aria-haspopup":"true",className:"button button--secondary button--sm menu__button",type:"button",onClick:function(){j(!k)}},k?r.a.createElement("span",{className:Object(p.a)(O.a.sidebarMenuIcon,O.a.sidebarMenuCloseIcon)},"\xd7"):r.a.createElement("svg",{"aria-label":"Menu",className:O.a.sidebarMenuIcon,xmlns:"http://www.w3.org/2000/svg",height:24,width:24,viewBox:"0 0 32 32",role:"img",focusable:"false"},r.a.createElement("title",null,"Menu"),r.a.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))),r.a.createElement("ul",{className:"menu__list"},c.map((function(e){return r.a.createElement(x,{key:e.label,item:e,onItemClick:function(e){e.target.blur(),j(!1)},collapsible:u,activePath:o})})))))},P=n(108),_=n(143),T=n.n(_),S=n(144),I=n.n(S),D={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},L=n(104),M=function(){var e=Object(m.a)().prism,t=Object(L.a)().isDarkTheme,n=e.theme||D,a=e.darkTheme||n;return t?a:n},B=n(61),A=n.n(B),R=/{([\d,-]+)}/,F=function(e){void 0===e&&(e=["js","jsBlock","jsx","python","html"]);var t={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},python:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},n=["highlight-next-line","highlight-start","highlight-end"].join("|"),a=e.map((function(e){return"(?:"+t[e].start+"\\s*("+n+")\\s*"+t[e].end+")"})).join("|");return new RegExp("^\\s*(?:"+a+")\\s*$")},W=/title=".*"/,$=function(e){var t=e.children,n=e.className,o=e.metastring,l=Object(m.a)().prism,c=Object(a.useState)(!1),i=c[0],u=c[1],d=Object(a.useState)(!1),y=d[0],f=d[1];Object(a.useEffect)((function(){f(!0)}),[]);var h=Object(a.useRef)(null),b=[],g="",v=M();if(o&&R.test(o)){var k=o.match(R)[1];b=I.a.parse(k).filter((function(e){return e>0}))}o&&W.test(o)&&(g=o.match(W)[0].split("title=")[1].replace(/"+/g,""));var j=n&&n.replace(/language-/,"");!j&&l.defaultLanguage&&(j=l.defaultLanguage);var O=t.replace(/\n$/,"");if(0===b.length&&void 0!==j){for(var E,N="",w=function(e){switch(e){case"js":case"javascript":case"ts":case"typescript":return F(["js","jsBlock"]);case"jsx":case"tsx":return F(["js","jsBlock","jsx"]);case"html":return F(["js","jsBlock","html"]);case"python":case"py":return F(["python"]);default:return F()}}(j),x=t.replace(/\n$/,"").split("\n"),C=0;C=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=u(n),d=a,y=p["".concat(l,".").concat(d)]||p[d]||m[d]||o;return n?r.a.createElement(y,c(c({ref:t},s),{},{components:n})):r.a.createElement(y,c({ref:t},s))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var s=2;s0&&e[n-1]===t?e:e.concat(t)},m=function(e,t){var n=e.plain,a=Object.create(null),r=e.styles.reduce((function(e,n){var a=n.languages,r=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=s({},e[t],r);e[t]=n})),e}),a);return r.root=n,r.plain=s({},n,{backgroundColor:null}),r};function d(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}var y=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),c(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?m(e.theme,e.language):void 0;return t.themeDict=n})),c(this,"getLineProps",(function(e){var n=e.key,a=e.className,r=e.style,o=s({},d(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(o.style=l.plain),void 0!==r&&(o.style=void 0!==o.style?s({},o.style,r):r),void 0!==n&&(o.key=n),a&&(o.className+=" "+a),o})),c(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,r=n.length,o=t.getThemeDict(t.props);if(void 0!==o){if(1===r&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===r&&!a)return o[n[0]];var l=a?{display:"inline-block"}:{},c=n.map((function(e){return o[e]}));return Object.assign.apply(Object,[l].concat(c))}})),c(this,"getTokenProps",(function(e){var n=e.key,a=e.className,r=e.style,o=e.token,l=s({},d(e,["key","className","style","token"]),{className:"token "+o.types.join(" "),children:o.content,style:t.getStyleForToken(o),key:void 0});return void 0!==r&&(l.style=void 0!==l.style?s({},l.style,r):r),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,r=e.children,o=this.getThemeDict(this.props),l=t.languages[n];return r({tokens:function(e){for(var t=[[]],n=[e],a=[0],r=[e.length],o=0,l=0,c=[],s=[c];l>-1;){for(;(o=a[l]++)0?d:["plain"],m=y):(d=p(d,y.type),y.alias&&(d=p(d,y.alias)),m=y.content),"string"==typeof m){var h=m.split(i),b=h.length;c.push({types:d,content:h[0]});for(var f=1;f{const n=document.createElement("textarea"),a=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.fontSize="12pt";const r=document.getSelection();let o=!1;r.rangeCount>0&&(o=r.getRangeAt(0)),t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch(c){}return n.remove(),o&&(r.removeAllRanges(),r.addRange(o)),a&&a.focus(),l};e.exports=a,e.exports.default=a},147:function(e,t){e.exports.parse=function(e){var t=e.split(",").map((function(e){return function(e){if(/^-?\d+$/.test(e))return parseInt(e,10);var t;if(t=e.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){var n=t[1],a=t[2],r=t[3];if(n&&r){var o=[],l=(n=parseInt(n))<(r=parseInt(r))?1:-1;"-"!=a&&".."!=a&&"\u2025"!=a||(r+=l);for(var c=n;c!=r;c+=l)o.push(c);return o}}return[]}(e)}));return 0===t.length?[]:1===t.length?Array.isArray(t[0])?t[0]:t:t.reduce((function(e,t){return Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),e.concat(t)}))}},83:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),o=n(87),l=n(88),c=n(23),s=n(96),i=n(1),u=n(89),p=n(90),m=n(119),d=n(110),y=n(116),h=n(117),b=n(118),f=n(115),g=n(91),v=n(98),k=n(60),j=n.n(k);const O=(e,t)=>"link"===e.type?Object(m.a)(e.href,t):"category"===e.type&&e.items.some((e=>O(e,t)));function E({item:e,onItemClick:t,collapsible:n,activePath:o,...l}){const{items:c,label:s}=e,p=O(e,o),m=function(e){const t=Object(a.useRef)(e);return Object(a.useEffect)((()=>{t.current=e}),[e]),t.current}(p),[d,y]=Object(a.useState)((()=>!!n&&(!p&&e.collapsed)));Object(a.useEffect)((()=>{p&&!m&&d&&y(!1)}),[p,m,d]);const h=Object(a.useCallback)((e=>{e.preventDefault(),y((e=>!e))}),[y]);return 0===c.length?null:r.a.createElement("li",{className:Object(u.a)("menu__list-item",{"menu__list-item--collapsed":d}),key:s},r.a.createElement("a",Object(i.a)({className:Object(u.a)("menu__link",{"menu__link--sublist":n,"menu__link--active":n&&p,[j.a.menuLinkText]:!n}),onClick:n?h:void 0,href:n?"#!":void 0},l),s),r.a.createElement("ul",{className:"menu__list"},c.map((e=>r.a.createElement(w,{tabIndex:d?"-1":"0",key:e.label,item:e,onItemClick:t,collapsible:n,activePath:o})))))}function N({item:e,onItemClick:t,activePath:n,collapsible:a,...o}){const{href:l,label:c}=e,s=O(e,n);return r.a.createElement("li",{className:"menu__list-item",key:c},r.a.createElement(g.a,Object(i.a)({className:Object(u.a)("menu__link",{"menu__link--active":s}),to:l},Object(v.a)(l)?{isNavLink:!0,exact:!0,onClick:t}:{target:"_blank",rel:"noreferrer noopener"},o),c))}function w(e){switch(e.item.type){case"category":return r.a.createElement(E,e);case"link":default:return r.a.createElement(N,e)}}var x=function({path:e,sidebar:t,sidebarCollapsible:n=!0}){const[o,c]=Object(a.useState)(!1),{navbar:{title:s,hideOnScroll:m}}=Object(p.a)(),{isClient:v}=Object(l.a)(),{logoLink:k,logoLinkProps:O,logoImageUrl:E,logoAlt:N}=Object(b.a)(),{isAnnouncementBarClosed:x}=Object(d.a)(),{scrollY:C}=Object(f.a)();Object(y.a)(o);const P=Object(h.a)();return Object(a.useEffect)((()=>{P===h.b.desktop&&c(!1)}),[P]),r.a.createElement("div",{className:Object(u.a)(j.a.sidebar,{[j.a.sidebarWithHideableNavbar]:m})},m&&r.a.createElement(g.a,Object(i.a)({tabIndex:-1,className:j.a.sidebarLogo,to:k},O),null!=E&&r.a.createElement("img",{key:v,src:E,alt:N}),null!=s&&r.a.createElement("strong",null,s)),r.a.createElement("div",{className:Object(u.a)("menu","menu--responsive",j.a.menu,{"menu--show":o,[j.a.menuWithAnnouncementBar]:!x&&0===C})},r.a.createElement("button",{"aria-label":o?"Close Menu":"Open Menu","aria-haspopup":"true",className:"button button--secondary button--sm menu__button",type:"button",onClick:()=>{c(!o)}},o?r.a.createElement("span",{className:Object(u.a)(j.a.sidebarMenuIcon,j.a.sidebarMenuCloseIcon)},"\xd7"):r.a.createElement("svg",{"aria-label":"Menu",className:j.a.sidebarMenuIcon,xmlns:"http://www.w3.org/2000/svg",height:24,width:24,viewBox:"0 0 32 32",role:"img",focusable:"false"},r.a.createElement("title",null,"Menu"),r.a.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))),r.a.createElement("ul",{className:"menu__list"},t.map((t=>r.a.createElement(w,{key:t.label,item:t,onItemClick:e=>{e.target.blur(),c(!1)},collapsible:n,activePath:e}))))))},C=n(108),P=n(146),_=n.n(P),T=n(147),S=n.n(T),D={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},I=n(104);var L=()=>{const{prism:e}=Object(p.a)(),{isDarkTheme:t}=Object(I.a)(),n=e.theme||D,a=e.darkTheme||n;return t?a:n},M=n(61),B=n.n(M);const A=/{([\d,-]+)}/,$=(e=["js","jsBlock","jsx","python","html"])=>{const t={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},python:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},n=["highlight-next-line","highlight-start","highlight-end"].join("|"),a=e.map((e=>`(?:${t[e].start}\\s*(${n})\\s*${t[e].end})`)).join("|");return new RegExp(`^\\s*(?:${a})\\s*$`)},R=/title=".*"/;var F=({children:e,className:t,metastring:n})=>{const{prism:o}=Object(p.a)(),[l,c]=Object(a.useState)(!1),[s,m]=Object(a.useState)(!1);Object(a.useEffect)((()=>{m(!0)}),[]);const d=Object(a.useRef)(null);let y=[],h="";const b=L();if(n&&A.test(n)){const e=n.match(A)[1];y=S.a.parse(e).filter((e=>e>0))}n&&R.test(n)&&(h=n.match(R)[0].split("title=")[1].replace(/"+/g,""));let f=t&&t.replace(/language-/,"");!f&&o.defaultLanguage&&(f=o.defaultLanguage);let g=e.replace(/\n$/,"");if(0===y.length&&void 0!==f){let t="";const n=(e=>{switch(e){case"js":case"javascript":case"ts":case"typescript":return $(["js","jsBlock"]);case"jsx":case"tsx":return $(["js","jsBlock","jsx"]);case"html":return $(["js","jsBlock","html"]);case"python":case"py":return $(["python"]);default:return $()}})(f),a=e.replace(/\n$/,"").split("\n");let r;for(let e=0;ee||t),void 0)){case"highlight-next-line":t+=o+",";break;case"highlight-start":r=o;break;case"highlight-end":t+=`${r}-${o-1},`}a.splice(e,1)}else e+=1}y=S.a.parse(t),g=a.join("\n")}const v=()=>{_()(g),c(!0),setTimeout((()=>c(!1)),2e3)};return r.a.createElement(C.a,Object(i.a)({},C.b,{key:String(s),theme:b,code:g,language:f}),(({className:e,style:t,tokens:n,getLineProps:a,getTokenProps:o})=>r.a.createElement(r.a.Fragment,null,h&&r.a.createElement("div",{style:t,className:B.a.codeBlockTitle},h),r.a.createElement("div",{className:B.a.codeBlockContent},r.a.createElement("button",{tabIndex:0,ref:d,type:"button","aria-label":"Copy code to clipboard",className:Object(u.a)(B.a.copyButton,{[B.a.copyButtonWithTitle]:h}),onClick:v},l?"Copied":"Copy"),r.a.createElement("div",{className:Object(u.a)(e,B.a.codeBlock,{[B.a.codeBlockWithTitle]:h})},r.a.createElement("div",{className:B.a.codeBlockLines,style:t},n.map(((e,t)=>{1===e.length&&""===e[0].content&&(e[0].content="\n");const n=a({line:e,key:t});return y.includes(t+1)&&(n.className=n.className+" docusaurus-highlight-code-line"),r.a.createElement("div",Object(i.a)({key:t},n),e.map(((e,t)=>r.a.createElement("span",Object(i.a)({key:t},o({token:e,key:t}))))))}))))))))},W=(n(62),n(63)),z=n.n(W);var J=e=>function({id:t,...n}){const{navbar:{hideOnScroll:a}}=Object(p.a)();return t?r.a.createElement(e,n,r.a.createElement("a",{"aria-hidden":"true",tabIndex:-1,className:Object(u.a)("anchor",{[z.a.enhancedAnchor]:!a}),id:t}),n.children,r.a.createElement("a",{"aria-hidden":"true",tabIndex:-1,className:"hash-link",href:"#"+t,title:"Direct link to heading"},"#")):r.a.createElement(e,n)},U=n(64),H=n.n(U);var X={code:e=>{const{children:t}=e;return"string"==typeof t?t.includes("\n")?r.a.createElement(F,e):r.a.createElement("code",e):t},a:e=>r.a.createElement(g.a,e),pre:e=>r.a.createElement("div",Object(i.a)({className:H.a.mdxCodeBlock},e)),h1:J("h1"),h2:J("h2"),h3:J("h3"),h4:J("h4"),h5:J("h5"),h6:J("h6")},Y=n(109),q=n(94),G=n(65),K=n.n(G),Q=n(102);function V({currentDocRoute:e,versionMetadata:t,children:n}){var a,c;const{siteConfig:i,isClient:u}=Object(l.a)(),{pluginId:p,permalinkToSidebar:m,docsSidebars:d,version:y}=t,h=m[e.path],b=d[h];return r.a.createElement(s.a,{key:u,searchMetadatas:{version:y,tag:Object(Q.b)(p,y)}},r.a.createElement("div",{className:K.a.docPage},b&&r.a.createElement("div",{className:K.a.docSidebarContainer,role:"complementary"},r.a.createElement(x,{key:h,sidebar:b,path:e.path,sidebarCollapsible:null===(a=null===(c=i.themeConfig)||void 0===c?void 0:c.sidebarCollapsible)||void 0===a||a})),r.a.createElement("main",{className:K.a.docMainContainer},r.a.createElement(o.a,{components:X},n))))}t.default=function(e){const{route:{routes:t},versionMetadata:n,location:a}=e,o=t.find((e=>Object(q.matchPath)(a.pathname,e)));return o?r.a.createElement(V,{currentDocRoute:o,versionMetadata:n},Object(c.a)(t)):r.a.createElement(Y.default,e)}},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return y}));var a=n(0),r=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=r.a.createContext({}),u=function(e){var t=r.a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=u(e.components);return r.a.createElement(i.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,i=s(e,["components","mdxType","originalType","parentName"]),p=u(n),d=a,y=p["".concat(l,".").concat(d)]||p[d]||m[d]||o;return n?r.a.createElement(y,c(c({ref:t},i),{},{components:n})):r.a.createElement(y,c({ref:t},i))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var i=2;i=n?null===r?null:0:o}function l(e){var t=e.state,n=function(e){var t=e.state,n=t.suggestions.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(e,n){return n<=t.highlightedIndex?e+1:e}),0);return t.suggestions[n]}({state:t});if(!n)return null;var r=n.items[function(e){for(var t=e.state,n=e.suggestion,r=!1,o=0,a=0;!1===r;){var s=t.suggestions[o];if(s===n){r=!0;break}a+=s.items.length,o++}return t.highlightedIndex-a}({state:t,suggestion:n})],o=n.source;return{item:r,itemValue:o.getInputValue({suggestion:r,state:t}),itemUrl:o.getSuggestionUrl({suggestion:r,state:t}),source:o}}function h(e,t){return e===t||e.contains&&e.contains(t)}function g(e){var t=e.state;if(!1===e.props.enableCompletion||!1===t.isOpen||null===t.highlightedIndex||"stalled"===t.status)return null;var n=l({state:t}).itemValue;if(t.query.length>0&&0===n.toLocaleLowerCase().indexOf(t.query.toLocaleLowerCase())){var r=t.query+n.slice(t.query.length);return r===t.query?null:r}return null}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t0)&&D({query:t.getState().query,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c}),t.send("focus",null)}var h="ontouchstart"in n.environment,m=e||{},p=(m.inputElement,m.maxLength),f=void 0===p?512:p,d=I(m,["inputElement","maxLength"]);return k({"aria-autocomplete":n.enableCompletion?"both":"list","aria-activedescendant":t.getState().isOpen&&null!==t.getState().highlightedIndex?"".concat(n.id,"-item-").concat(t.getState().highlightedIndex):void 0,"aria-controls":t.getState().isOpen?"".concat(n.id,"-menu"):void 0,"aria-labelledby":"".concat(n.id,"-label"),value:t.getState().query,id:"".concat(n.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",autoFocus:n.autoFocus,placeholder:n.placeholder,maxLength:f,type:"search",onChange:function(e){D({query:e.currentTarget.value.slice(0,f),store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c})},onKeyDown:function(e){!function(e){var t=e.event,n=e.store,r=e.props,o=e.setHighlightedIndex,a=e.setQuery,s=e.setSuggestions,i=e.setIsOpen,c=e.setStatus,u=e.setContext;if("ArrowUp"===t.key||"ArrowDown"===t.key){t.preventDefault(),n.send(t.key,{shiftKey:t.shiftKey});var h=r.environment.document.getElementById("".concat(r.id,"-item-").concat(n.getState().highlightedIndex));null==h||h.scrollIntoView(!1);var m=l({state:n.getState()});if(null!==n.getState().highlightedIndex&&m){var p=m.item,f=m.itemValue,d=m.itemUrl,v=m.source;v.onHighlight({suggestion:p,suggestionValue:f,suggestionUrl:d,source:v,state:n.getState(),setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,event:t})}}else if(("Tab"===t.key||"ArrowRight"===t.key&&t.target.selectionStart===n.getState().query.length)&&r.enableCompletion&&null!==n.getState().highlightedIndex){t.preventDefault();var y=g({state:n.getState(),props:r});y&&D({query:y,store:n,props:r,setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u})}else if("Escape"===t.key)t.preventDefault(),n.send(t.key,null);else if("Enter"===t.key){if(null===n.getState().highlightedIndex||n.getState().suggestions.every((function(e){return 0===e.items.length})))return;t.preventDefault();var b=l({state:n.getState()}),O=b.item,S=b.itemValue,E=b.itemUrl,w=b.source;t.metaKey||t.ctrlKey?void 0!==E&&r.navigator.navigateNewTab({suggestionUrl:E,suggestion:O,state:n.getState()}):t.shiftKey?void 0!==E&&r.navigator.navigateNewWindow({suggestionUrl:E,suggestion:O,state:n.getState()}):t.altKey||(D({query:S,store:n,props:r,setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,nextState:{isOpen:!1}}).then((function(){w.onSelect({suggestion:O,suggestionValue:S,suggestionUrl:E,source:w,state:n.getState(),setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,event:t})})),void 0!==E&&r.navigator.navigate({suggestionUrl:E,suggestion:O,state:n.getState()}))}}({event:e,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c})},onFocus:u,onBlur:function(){h||t.send("blur",null)},onClick:function(){e.inputElement!==n.environment.document.activeElement||t.getState().isOpen||u()}},d)},getDropdownProps:function(e){return k({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){t.send("mouseleave",null)}},e)},getMenuProps:function(e){return k({role:"listbox","aria-labelledby":"".concat(n.id,"-label"),id:"".concat(n.id,"-menu")},e)},getItemProps:function(e){var u=e.item,h=e.source,g=I(e,["item","source"]);return k({id:"".concat(n.id,"-item-").concat(u.__autocomplete_id),role:"option","aria-selected":t.getState().highlightedIndex===u.__autocomplete_id,onMouseMove:function(e){if(u.__autocomplete_id!==t.getState().highlightedIndex){t.send("mousemove",u.__autocomplete_id);var n=l({state:t.getState()});if(null!==t.getState().highlightedIndex&&n){var h=n.item,g=n.itemValue,m=n.itemUrl,p=n.source;p.onHighlight({suggestion:h,suggestionValue:g,suggestionUrl:m,source:p,state:t.getState(),setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,event:e})}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){if(void 0===h.getSuggestionUrl({suggestion:u,state:t.getState()})&&!function(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)){var l=h.getInputValue({suggestion:u,state:t.getState()});D({query:l,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,nextState:{isOpen:!1}}).then((function(){h.onSelect({suggestion:u,suggestionValue:l,suggestionUrl:h.getSuggestionUrl({suggestion:u,state:t.getState()}),source:h,state:t.getState(),setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,event:e})}))}}},g)}}}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t0});case"blur":return A(A({},t),{},{isOpen:!1,highlightedIndex:null});case"mousemove":return A(A({},t),{},{highlightedIndex:e.value});case"mouseleave":return A(A({},t),{},{highlightedIndex:n.defaultHighlightedIndex});default:return t}};function T(e){var t=function(e){var t,n,r="undefined"!=typeof window?window:{};return S(S({openOnFocus:!1,placeholder:"",autoFocus:!1,defaultHighlightedIndex:null,enableCompletion:!1,stallThreshold:300,environment:r,shouldDropdownShow:function(e){return i(e.state)>0},onStateChange:a,onSubmit:a},e),{},{id:null!==(t=e.id)&&void 0!==t?t:"autocomplete-".concat(s++),initialState:S({highlightedIndex:null,query:"",completion:null,suggestions:[],isOpen:!1,status:"idle",statusContext:{},context:{}},e.initialState),getSources:(n=e.getSources,function(e){return Promise.resolve(n(e)).then((function(e){return Promise.all(e.filter(Boolean).map((function(e){return Promise.resolve(c(e))})))}))}),navigator:S({navigate:function(e){var t=e.suggestionUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.suggestionUrl,n=r.open(t,"_blank","noopener");n&&n.focus()},navigateNewWindow:function(e){var t=e.suggestionUrl;r.open(t,"_blank","noopener")}},e.navigator)})}(e),n=d(R,t),r=function(e){var t=e.store;return{setHighlightedIndex:function(e){t.send("setHighlightedIndex",e)},setQuery:function(e){t.send("setQuery",e)},setSuggestions:function(e){var n=0,r=e.map((function(e){return y(y({},e),{},{items:e.items.map((function(e){return y(y({},e),{},{__autocomplete_id:n++})}))})}));t.send("setSuggestions",r)},setIsOpen:function(e){t.send("setIsOpen",e)},setStatus:function(e){t.send("setStatus",e)},setContext:function(e){t.send("setContext",e)}}}({store:n}),o=r.setHighlightedIndex,u=r.setQuery,l=r.setSuggestions,h=r.setIsOpen,g=r.setStatus,m=r.setContext,p=H({store:n,props:t,setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m}),f=p.getEnvironmentProps,v=p.getRootProps,b=p.getFormProps,O=p.getLabelProps,E=p.getInputProps,w=p.getDropdownProps,P=p.getMenuProps,j=p.getItemProps;return{setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m,getEnvironmentProps:f,getRootProps:v,getFormProps:b,getInputProps:E,getLabelProps:O,getDropdownProps:w,getMenuProps:P,getItemProps:j,refresh:function(){return D({query:n.getState().query,store:n,props:t,setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m})}}}function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t",highlightPostTag:""},e.params)}})))}var U=n(0),V=n.n(U);function Q(){return V.a.createElement("a",{href:"https://www.algolia.com/docsearch",target:"_blank",rel:"noopener noreferrer"},V.a.createElement("span",{className:"DocSearch-Label"},"Search by"),V.a.createElement("svg",{width:"77",height:"19"},V.a.createElement("path",{d:"M2.5067 0h14.0245c1.384.001 2.5058 1.1205 2.5068 2.5017V16.5c-.0014 1.3808-1.1232 2.4995-2.5068 2.5H2.5067C1.1232 18.9995.0014 17.8808 0 16.5V2.4958A2.495 2.495 0 01.735.7294 2.505 2.505 0 012.5068 0zM37.95 15.0695c-3.7068.0168-3.7068-2.986-3.7068-3.4634L34.2372.3576 36.498 0v11.1794c0 .2715 0 1.9889 1.452 1.994v1.8961zm-9.1666-1.8388c.694 0 1.2086-.0397 1.5678-.1088v-2.2934a5.3639 5.3639 0 00-1.3303-.1679 4.8283 4.8283 0 00-.758.0582 2.2845 2.2845 0 00-.688.2024c-.2029.0979-.371.2362-.4919.4142-.1268.1788-.185.2826-.185.5533 0 .5297.185.8359.5205 1.0375.3355.2016.7928.3053 1.365.3053v-.0008zm-.1969-8.1817c.7463 0 1.3768.092 1.8856.2767.5088.1838.9195.4428 1.2204.7717.3068.334.5147.7777.6423 1.251.1327.4723.196.991.196 1.5603v5.798c-.5235.1036-1.05.192-1.5787.2649-.7048.1037-1.4976.156-2.3774.156-.5832 0-1.1215-.0582-1.6016-.167a3.385 3.385 0 01-1.2432-.5364 2.6034 2.6034 0 01-.8037-.9565c-.191-.3922-.29-.9447-.29-1.5208 0-.5533.11-.905.3246-1.2863a2.7351 2.7351 0 01.8849-.9329c.376-.242.8029-.415 1.2948-.5187a7.4517 7.4517 0 011.5381-.156 7.1162 7.1162 0 011.6667.2024V8.886c0-.259-.0296-.5061-.093-.7372a1.5847 1.5847 0 00-.3245-.6158 1.5079 1.5079 0 00-.6119-.4158 2.6788 2.6788 0 00-.966-.173c-.5206 0-.9948.0634-1.4283.1384a6.5481 6.5481 0 00-1.065.259l-.2712-1.849c.2831-.0986.7048-.1964 1.2491-.2943a9.2979 9.2979 0 011.752-.1501v.0008zm44.6597 8.1193c.6947 0 1.2086-.0405 1.567-.1097v-2.2942a5.3743 5.3743 0 00-1.3303-.1679c-.2485 0-.503.0177-.7573.0582a2.2853 2.2853 0 00-.688.2024 1.2333 1.2333 0 00-.4918.4142c-.1268.1788-.1843.2826-.1843.5533 0 .5297.1843.8359.5198 1.0375.3414.2066.7927.3053 1.365.3053v.0009zm-.191-8.1767c.7463 0 1.3768.0912 1.8856.2759.5087.1847.9195.4436 1.2204.7717.3.329.5147.7786.6414 1.251a5.7248 5.7248 0 01.197 1.562v5.7972c-.3466.0742-.874.1602-1.5788.2648-.7049.1038-1.4976.1552-2.3774.1552-.5832 0-1.1215-.0573-1.6016-.167a3.385 3.385 0 01-1.2432-.5356 2.6034 2.6034 0 01-.8038-.9565c-.191-.3922-.2898-.9447-.2898-1.5216 0-.5533.1098-.905.3245-1.2854a2.7373 2.7373 0 01.8849-.9338c.376-.2412.8029-.4141 1.2947-.5178a7.4545 7.4545 0 012.325-.1097c.2781.0287.5672.081.879.156v-.3686a2.7781 2.7781 0 00-.092-.738 1.5788 1.5788 0 00-.3246-.6166 1.5079 1.5079 0 00-.612-.415 2.6797 2.6797 0 00-.966-.1729c-.5205 0-.9947.0633-1.4282.1384a6.5608 6.5608 0 00-1.065.259l-.2712-1.8498c.283-.0979.7048-.1957 1.2491-.2935a9.8597 9.8597 0 011.752-.1494zm-6.79-1.072c-.7576.001-1.373-.6103-1.3759-1.3664 0-.755.6128-1.3664 1.376-1.3664.764 0 1.3775.6115 1.3775 1.3664s-.6195 1.3664-1.3776 1.3664zm1.1393 11.1507h-2.2726V5.3409l2.2734-.3568v10.0845l-.0008.0017zm-3.984 0c-3.707.0168-3.707-2.986-3.707-3.4642L59.7069.3576 61.9685 0v11.1794c0 .2715 0 1.9889 1.452 1.994V15.0703zm-7.3512-4.979c0-.975-.2138-1.7873-.6305-2.3516-.4167-.571-.9998-.852-1.747-.852-.7454 0-1.3302.281-1.7452.852-.4166.5702-.6195 1.3765-.6195 2.3516 0 .9851.208 1.6473.6254 2.2183.4158.576.9998.8587 1.7461.8587.7454 0 1.3303-.2885 1.747-.8595.4158-.5761.6237-1.2315.6237-2.2184v.0009zm2.3132-.006c0 .7609-.1099 1.3361-.3356 1.9654a4.654 4.654 0 01-.9533 1.6076A4.214 4.214 0 0155.613 14.69c-.579.2412-1.4697.3795-1.9143.3795-.4462-.005-1.3303-.1324-1.9033-.3795a4.307 4.307 0 01-1.474-1.0316c-.4115-.4445-.7293-.9801-.9609-1.6076a5.3423 5.3423 0 01-.3465-1.9653c0-.7608.104-1.493.3356-2.1155a4.683 4.683 0 01.9719-1.5958 4.3383 4.3383 0 011.479-1.0257c.5739-.242 1.2043-.3567 1.8864-.3567.6829 0 1.3125.1197 1.8906.3567a4.1245 4.1245 0 011.4816 1.0257 4.7587 4.7587 0 01.9592 1.5958c.2426.6225.3643 1.3547.3643 2.1155zm-17.0198 0c0 .9448.208 1.9932.6238 2.431.4166.4386.955.6579 1.6142.6579.3584 0 .6998-.0523 1.0176-.1502.3186-.0978.5721-.2134.775-.3517V7.0784a8.8706 8.8706 0 00-1.4926-.1906c-.8206-.0236-1.4452.312-1.8847.8468-.4335.5365-.6533 1.476-.6533 2.3516v-.0008zm6.2863 4.4485c0 1.5385-.3938 2.662-1.1866 3.3773-.791.7136-2.0005 1.0712-3.6308 1.0712-.5958 0-1.834-.1156-2.8228-.334l.3643-1.7865c.8282.173 1.9202.2193 2.4932.2193.9077 0 1.555-.1847 1.943-.5533.388-.3686.578-.916.578-1.643v-.3687a6.8289 6.8289 0 01-.8848.3349c-.3634.1096-.786.167-1.261.167-.6246 0-1.1917-.0979-1.7055-.2944a3.5554 3.5554 0 01-1.3244-.8645c-.3642-.3796-.6541-.8579-.8561-1.4289-.2028-.571-.3068-1.59-.3068-2.339 0-.7034.1099-1.5856.3245-2.1735.2198-.5871.5316-1.0949.9542-1.515.4167-.42.9255-.743 1.5213-.98a5.5923 5.5923 0 012.052-.3855c.7353 0 1.4114.092 2.0707.2024.6592.1088 1.2204.2236 1.6776.35v8.945-.0008zM11.5026 4.2418v-.6511c-.0005-.4553-.3704-.8241-.8266-.8241H8.749c-.4561 0-.826.3688-.8265.824v.669c0 .0742.0693.1264.1445.1096a6.0346 6.0346 0 011.6768-.2362 6.125 6.125 0 011.6202.2185.1116.1116 0 00.1386-.1097zm-5.2806.852l-.3296-.3282a.8266.8266 0 00-1.168 0l-.393.3922a.8199.8199 0 000 1.164l.3237.323c.0524.0515.1268.0397.1733-.0117.191-.259.3989-.507.6305-.7372.2374-.2362.48-.4437.7462-.6335.0575-.0354.0634-.1155.017-.1687zm3.5159 2.069v2.818c0 .081.0879.1392.1622.0987l2.5102-1.2964c.0574-.0287.0752-.0987.0464-.1552a3.1237 3.1237 0 00-2.603-1.574c-.0575 0-.115.0456-.115.1097l-.0008-.0009zm.0008 6.789c-2.0933.0005-3.7915-1.6912-3.7947-3.7804C5.9468 8.0821 7.6452 6.39 9.7387 6.391c2.0932-.0005 3.7911 1.6914 3.794 3.7804a3.7783 3.7783 0 01-1.1124 2.675 3.7936 3.7936 0 01-2.6824 1.1054h.0008zM9.738 4.8002c-1.9218 0-3.6975 1.0232-4.6584 2.6841a5.359 5.359 0 000 5.3683c.9609 1.661 2.7366 2.6841 4.6584 2.6841a5.3891 5.3891 0 003.8073-1.5725 5.3675 5.3675 0 001.578-3.7987 5.3574 5.3574 0 00-1.5771-3.797A5.379 5.379 0 009.7387 4.801l-.0008-.0008z",fill:"currentColor",fillRule:"evenodd"})))}function B(){return V.a.createElement(V.a.Fragment,null,V.a.createElement("div",{className:"DocSearch-Logo"},V.a.createElement(Q,null)),V.a.createElement("ul",{className:"DocSearch-Commands"},V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to select")),V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to navigate")),V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to close"))))}function J(e){return V.a.createElement("svg",{width:"15",height:"15"},V.a.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function K(e){var t=e.hit,n=e.children;return V.a.createElement("a",{href:t.url},n)}function W(){return V.a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function $(){return V.a.createElement("div",{className:"DocSearch-ErrorScreen"},V.a.createElement("div",{className:"DocSearch-Screen-Icon"},V.a.createElement(W,null)),V.a.createElement("p",{className:"DocSearch-Title"},"Unable to fetch results"),V.a.createElement("p",{className:"DocSearch-Help"},"You might want to check your network connection."))}function Y(){return V.a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function G(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e)||function(){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 X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&V.a.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},V.a.createElement("p",{className:"DocSearch-Help"},"Try searching for:"),V.a.createElement("ul",null,t.slice(0,3).reduce((function(t,n){return[].concat(G(t),[V.a.createElement("li",{key:n},V.a.createElement("button",{className:"DocSearch-Prefill",key:n,onClick:function(){e.setQuery(n.toLowerCase()+" "),e.refresh(),e.inputRef.current.focus()}},n))])}),[]))),V.a.createElement("p",{className:"DocSearch-Help"},"Believe this query should return results?"," ",V.a.createElement("a",{href:"https://github.com/algolia/docsearch-configs/issues/new?template=Missing_results.md&title=[".concat(e.indexName,']+Missing+results+for+query+"').concat(e.state.query,'"'),target:"_blank",rel:"noopener noreferrer"},"Let us know"),"."))}function ee(e){switch(e.type){case"lvl1":return V.a.createElement(te,null);case"content":return V.a.createElement(re,null);default:return V.a.createElement(ne,null)}}function te(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function ne(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function re(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function oe(){return V.a.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),V.a.createElement("path",{d:"M8 17l-6-6 6-6"})))}function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function se(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ue(e,t){return t.split(".").reduce((function(e,t){return e&&e[t]}),e)}function le(e){var t=e.hit,n=e.attribute,r=e.tagName,o=void 0===r?"span":r,a=ce(e,["hit","attribute","tagName"]);return Object(U.createElement)(o,se(se({},a),{},{dangerouslySetInnerHTML:{__html:ue(t,"_snippetResult.".concat(n,".value"))||ue(t,n)}}))}function he(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var s,i=e[Symbol.iterator]();!(r=(s=i.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(c){o=!0,a=c}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ge(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}));return e.state.query?!1===t?V.a.createElement(Z,e):V.a.createElement(ve,e):V.a.createElement(Ee,we({},e,{hasSuggestions:t}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function je(){return V.a.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},V.a.createElement("g",{fill:"none",fillRule:"evenodd"},V.a.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},V.a.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),V.a.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},V.a.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var xe=n(113);function De(){return(De=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ke(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function Ne(e){var t=e.key,n=e.limit,r=void 0===n?5:n,o=ke(t),a=o.getItem().slice(0,r);return{add:function(e){var t=e,n=(t._highlightResult,t._snippetResult,Ce(t,["_highlightResult","_snippetResult"])),s=a.findIndex((function(e){return e.objectID===n.objectID}));s>-1&&a.splice(s,1),a.unshift(n),a=a.slice(0,r),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function He(e){const t="algoliasearch-client-js-"+e.key;let n;const r=()=>(void 0===n&&(n=e.localStorage||window.localStorage),n),o=()=>JSON.parse(r().getItem(t)||"{}");return{get:(e,t,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{const n=JSON.stringify(e),r=o()[n];return Promise.all([r||t(),void 0!==r])})).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,n)=>Promise.resolve().then((()=>{const a=o();return a[JSON.stringify(e)]=n,r().setItem(t,JSON.stringify(a)),n})),delete:e=>Promise.resolve().then((()=>{const n=o();delete n[JSON.stringify(e)],r().setItem(t,JSON.stringify(n))})),clear:()=>Promise.resolve().then((()=>{r().removeItem(t)}))}}function qe(e){const t=[...e.caches],n=t.shift();return void 0===n?{get:(e,t,n={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,n.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,r,o={miss:()=>Promise.resolve()})=>n.get(e,r,o).catch((()=>qe({caches:t}).get(e,r,o))),set:(e,r)=>n.set(e,r).catch((()=>qe({caches:t}).set(e,r))),delete:e=>n.delete(e).catch((()=>qe({caches:t}).delete(e))),clear:()=>n.clear().catch((()=>qe({caches:t}).clear()))}}function Ae(e={serializable:!0}){let t={};return{get(n,r,o={miss:()=>Promise.resolve()}){const a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);const s=r(),i=o&&o.miss||(()=>Promise.resolve());return s.then((e=>i(e))).then((()=>s))},set:(n,r)=>(t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function Me(e){let t=e.length-1;for(;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function Re(e,t){return t?(Object.keys(t).forEach((n=>{e[n]=t[n](e)})),e):e}function Te(e,...t){let n=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[n++])))}const Le="4.6.0",_e={WithinQueryParameters:0,WithinHeaders:1};function Fe(e,t){const n=e||{},r=n.data||{};return Object.keys(n).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(r[e]=n[e])})),{data:Object.entries(r).length>0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}const ze={Read:1,Write:2,Any:3},Ue=1,Ve=2,Qe=3,Be=12e4;function Je(e,t=Ue){return{...e,status:t,lastUpdate:Date.now()}}function Ke(e){return"string"==typeof e?{protocol:"https",url:e,accept:ze.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||ze.Any}}const We="GET",$e="POST";function Ye(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Je(t))))))).then((e=>{const n=e.filter((e=>function(e){return e.status===Ue||Date.now()-e.lastUpdate>Be}(e))),r=e.filter((e=>function(e){return e.status===Qe&&Date.now()-e.lastUpdate<=Be}(e))),o=[...n,...r];return{getTimeout:(e,t)=>(0===r.length&&0===e?1:r.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Ke(e))):t}}))}function Ge(e,t,n,r){const o=[],a=function(e,t){if(e.method===We||void 0===e.data&&void 0===t.data)return;const n=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(n)}(n,r),s=function(e,t){const n={...e.headers,...t.headers},r={};return Object.keys(n).forEach((e=>{const t=n[e];r[e.toLowerCase()]=t})),r}(e,r),i=n.method,c=n.method!==We?{}:{...n.data,...r.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...c,...r.queryParameters};let l=0;const h=(t,c)=>{const g=t.pop();if(void 0===g)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:tt(o)};const m={data:a,headers:s,method:i,url:Ze(g,n.path,u),connectTimeout:c(l,e.timeouts.connect),responseTimeout:c(l,r.timeout)},p=e=>{const n={request:m,response:e,host:g,triesLeft:t.length};return o.push(n),n},f={onSucess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(n){const r=p(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",nt(r)),e.hostsCache.set(g,Je(g,n.isTimedOut?Qe:Ve))]).then((()=>h(t,c)))},onFail(e){throw p(e),function({content:e,status:t},n){let r=e;try{r=JSON.parse(e).message}catch(o){}return function(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}(r,t,n)}(e,tt(o))}};return e.requester.send(m).then((e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSucess(e):t.onFail(e))(e,f)))};return Ye(e.hostsCache,t).then((e=>h([...e.statelessHosts].reverse(),e.getTimeout)))}function Xe(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const n=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(n)&&(t.value=`${t.value}${n}`),t}};return t}function Ze(e,t,n){const r=et(n);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return r.length&&(o+="?"+r),o}function et(e){return Object.keys(e).map((t=>{return Te("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n})).join("&")}function tt(e){return e.map((e=>nt(e)))}function nt(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const rt=e=>{const t=e.appId,n=function(e,t,n){const r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:()=>e===_e.WithinHeaders?r:{},queryParameters:()=>e===_e.WithinQueryParameters?r:{}}}(void 0!==e.authMode?e.authMode:_e.WithinHeaders,t,e.apiKey),r=function(e){const{hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:s,userAgent:i,hosts:c,queryParameters:u,headers:l}=e,h={hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:s,userAgent:i,headers:l,queryParameters:u,hosts:c.map((e=>Ke(e))),read(e,t){const n=Fe(t,h.timeouts.read),r=()=>Ge(h,h.hosts.filter((e=>0!=(e.accept&ze.Read))),e,n);if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();const o={request:e,mappedRequestOptions:n,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(o,(()=>h.requestsCache.get(o,(()=>h.requestsCache.set(o,r()).then((e=>Promise.all([h.requestsCache.delete(o),e])),(e=>Promise.all([h.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>h.responsesCache.set(o,e)})},write:(e,t)=>Ge(h,h.hosts.filter((e=>0!=(e.accept&ze.Write))),e,Fe(t,h.timeouts.write))};return h}({hosts:[{url:t+"-dsn.algolia.net",accept:ze.Read},{url:t+".algolia.net",accept:ze.Write}].concat(Me([{url:t+"-1.algolianet.com"},{url:t+"-2.algolianet.com"},{url:t+"-3.algolianet.com"}])),...e,headers:{...n.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}});return Re({transporter:r,appId:t,addAlgoliaAgent(e,t){r.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then((()=>{}))},e.methods)},ot=e=>(t,n={})=>Re({transporter:e.transporter,appId:e.appId,indexName:t},n.methods),at=e=>(t,n)=>{const r=t.map((e=>({...e,params:et(e.params||{})})));return e.transporter.read({method:$e,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)},st=e=>(t,n)=>Promise.all(t.map((t=>{const{facetName:r,facetQuery:o,...a}=t.params;return ot(e)(t.indexName,{methods:{searchForFacetValues:ct}}).searchForFacetValues(r,o,{...n,...a})}))),it=e=>(t,n)=>e.transporter.read({method:$e,path:Te("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n),ct=e=>(t,n,r)=>e.transporter.read({method:$e,path:Te("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r),ut=1,lt=2,ht=3;function gt(e,t,n){const r={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>n.setRequestHeader(t,e.headers[t])));const r=(e,r)=>setTimeout((()=>{n.abort(),t({status:0,content:r,isTimedOut:!0})}),1e3*e),o=r(e.connectTimeout,"Connection timeout");let a;n.onreadystatechange=()=>{n.readyState>n.OPENED&&void 0===a&&(clearTimeout(o),a=r(e.responseTimeout,"Socket timeout"))},n.onerror=()=>{0===n.status&&(clearTimeout(o),clearTimeout(a),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=()=>{clearTimeout(o),clearTimeout(a),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))},logger:(o=ht,{debug:(e,t)=>(ut>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(lt>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Ae(),requestsCache:Ae({serializable:!1}),hostsCache:qe({caches:[He({key:"4.6.0-"+e}),Ae()]}),userAgent:Xe(Le).add({segment:"Browser",version:"lite"}),authMode:_e.WithinQueryParameters};var o;return rt({...r,...n,methods:{search:at,searchForFacetValues:st,multipleQueries:at,multipleSearchForFacetValues:st,initIndex:e=>t=>ot(e)(t,{methods:{search:it,searchForFacetValues:ct}})}})}gt.version=Le;var mt=gt,pt="1.0.0-alpha.28";function ft(){}function dt(e){return e}function vt(e,t){return e.reduce((function(e,n){var r=t(n);return e.hasOwnProperty(r)||(e[r]=[]),e[r].length<5&&e[r].push(n),e}),{})}function yt(){return(yt=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n",highlightPostTag:"",hitsPerPage:20},i)}]},z({searchClient:t.searchClient,queries:t.queries}).then((function(e){return e.results}))).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var t=e[0].hits,n=e[0].nbHits,o=vt(t,(function(e){return e.hierarchy.lvl0}));return r.context.searchSuggestions.length0&&(Q(),N.current&&N.current.focus())}),[q,Q]),V.a.createElement("div",yt({ref:I},U({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===x.status&&"DocSearch-Container--Stalled","error"===x.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),onMouseDown:function(e){e.target===e.currentTarget&&u()}}),V.a.createElement("div",{className:"DocSearch-Modal"},V.a.createElement("header",{className:"DocSearch-SearchBar",ref:C},V.a.createElement(Ie,yt({},_,{state:x,autoFocus:0===q.length,onClose:u,inputRef:N}))),V.a.createElement("div",{className:"DocSearch-Dropdown",ref:k},V.a.createElement(Pe,yt({},_,{indexName:o,state:x,hitComponent:m,resultsFooterComponent:f,disableUserPersonalization:E,recentSearches:R,favoriteSearches:M,onItemClick:function(e){L(e),u()},inputRef:N}))),V.a.createElement("footer",{className:"DocSearch-Footer"},V.a.createElement(B,null))))}}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{166:function(e,t,n){"use strict";function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.r(t),n.d(t,"DocSearchModal",(function(){return Pt}));var a=function(){},s=0;function i(e){return 0===e.suggestions.length?0:e.suggestions.reduce((function(e,t){return e+t.items.length}),0)}function c(e){return function(e){for(var t=1;t=n?null===r?null:0:o}function l(e){var t=e.state,n=function(e){var t=e.state,n=t.suggestions.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(e,n){return n<=t.highlightedIndex?e+1:e}),0);return t.suggestions[n]}({state:t});if(!n)return null;var r=n.items[function(e){for(var t=e.state,n=e.suggestion,r=!1,o=0,a=0;!1===r;){var s=t.suggestions[o];if(s===n){r=!0;break}a+=s.items.length,o++}return t.highlightedIndex-a}({state:t,suggestion:n})],o=n.source;return{item:r,itemValue:o.getInputValue({suggestion:r,state:t}),itemUrl:o.getSuggestionUrl({suggestion:r,state:t}),source:o}}function h(e,t){return e===t||e.contains&&e.contains(t)}function g(e){var t=e.state;if(!1===e.props.enableCompletion||!1===t.isOpen||null===t.highlightedIndex||"stalled"===t.status)return null;var n=l({state:t}).itemValue;if(t.query.length>0&&0===n.toLocaleLowerCase().indexOf(t.query.toLocaleLowerCase())){var r=t.query+n.slice(t.query.length);return r===t.query?null:r}return null}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t0)&&D({query:t.getState().query,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c}),t.send("focus",null)}var h="ontouchstart"in n.environment,m=e||{},p=(m.inputElement,m.maxLength),f=void 0===p?512:p,d=I(m,["inputElement","maxLength"]);return k({"aria-autocomplete":n.enableCompletion?"both":"list","aria-activedescendant":t.getState().isOpen&&null!==t.getState().highlightedIndex?"".concat(n.id,"-item-").concat(t.getState().highlightedIndex):void 0,"aria-controls":t.getState().isOpen?"".concat(n.id,"-menu"):void 0,"aria-labelledby":"".concat(n.id,"-label"),value:t.getState().query,id:"".concat(n.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",autoFocus:n.autoFocus,placeholder:n.placeholder,maxLength:f,type:"search",onChange:function(e){D({query:e.currentTarget.value.slice(0,f),store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c})},onKeyDown:function(e){!function(e){var t=e.event,n=e.store,r=e.props,o=e.setHighlightedIndex,a=e.setQuery,s=e.setSuggestions,i=e.setIsOpen,c=e.setStatus,u=e.setContext;if("ArrowUp"===t.key||"ArrowDown"===t.key){t.preventDefault(),n.send(t.key,{shiftKey:t.shiftKey});var h=r.environment.document.getElementById("".concat(r.id,"-item-").concat(n.getState().highlightedIndex));null==h||h.scrollIntoView(!1);var m=l({state:n.getState()});if(null!==n.getState().highlightedIndex&&m){var p=m.item,f=m.itemValue,d=m.itemUrl,v=m.source;v.onHighlight({suggestion:p,suggestionValue:f,suggestionUrl:d,source:v,state:n.getState(),setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,event:t})}}else if(("Tab"===t.key||"ArrowRight"===t.key&&t.target.selectionStart===n.getState().query.length)&&r.enableCompletion&&null!==n.getState().highlightedIndex){t.preventDefault();var y=g({state:n.getState(),props:r});y&&D({query:y,store:n,props:r,setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u})}else if("Escape"===t.key)t.preventDefault(),n.send(t.key,null);else if("Enter"===t.key){if(null===n.getState().highlightedIndex||n.getState().suggestions.every((function(e){return 0===e.items.length})))return;t.preventDefault();var b=l({state:n.getState()}),O=b.item,S=b.itemValue,E=b.itemUrl,w=b.source;t.metaKey||t.ctrlKey?void 0!==E&&r.navigator.navigateNewTab({suggestionUrl:E,suggestion:O,state:n.getState()}):t.shiftKey?void 0!==E&&r.navigator.navigateNewWindow({suggestionUrl:E,suggestion:O,state:n.getState()}):t.altKey||(D({query:S,store:n,props:r,setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,nextState:{isOpen:!1}}).then((function(){w.onSelect({suggestion:O,suggestionValue:S,suggestionUrl:E,source:w,state:n.getState(),setHighlightedIndex:o,setQuery:a,setSuggestions:s,setIsOpen:i,setStatus:c,setContext:u,event:t})})),void 0!==E&&r.navigator.navigate({suggestionUrl:E,suggestion:O,state:n.getState()}))}}({event:e,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c})},onFocus:u,onBlur:function(){h||t.send("blur",null)},onClick:function(){e.inputElement!==n.environment.document.activeElement||t.getState().isOpen||u()}},d)},getDropdownProps:function(e){return k({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){t.send("mouseleave",null)}},e)},getMenuProps:function(e){return k({role:"listbox","aria-labelledby":"".concat(n.id,"-label"),id:"".concat(n.id,"-menu")},e)},getItemProps:function(e){var u=e.item,h=e.source,g=I(e,["item","source"]);return k({id:"".concat(n.id,"-item-").concat(u.__autocomplete_id),role:"option","aria-selected":t.getState().highlightedIndex===u.__autocomplete_id,onMouseMove:function(e){if(u.__autocomplete_id!==t.getState().highlightedIndex){t.send("mousemove",u.__autocomplete_id);var n=l({state:t.getState()});if(null!==t.getState().highlightedIndex&&n){var h=n.item,g=n.itemValue,m=n.itemUrl,p=n.source;p.onHighlight({suggestion:h,suggestionValue:g,suggestionUrl:m,source:p,state:t.getState(),setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,event:e})}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){if(void 0===h.getSuggestionUrl({suggestion:u,state:t.getState()})&&!function(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)){var l=h.getInputValue({suggestion:u,state:t.getState()});D({query:l,store:t,props:n,setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,nextState:{isOpen:!1}}).then((function(){h.onSelect({suggestion:u,suggestionValue:l,suggestionUrl:h.getSuggestionUrl({suggestion:u,state:t.getState()}),source:h,state:t.getState(),setHighlightedIndex:r,setQuery:o,setSuggestions:a,setIsOpen:s,setStatus:i,setContext:c,event:e})}))}}},g)}}}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t0});case"blur":return A(A({},t),{},{isOpen:!1,highlightedIndex:null});case"mousemove":return A(A({},t),{},{highlightedIndex:e.value});case"mouseleave":return A(A({},t),{},{highlightedIndex:n.defaultHighlightedIndex});default:return t}};function T(e){var t=function(e){var t,n,r="undefined"!=typeof window?window:{};return S(S({openOnFocus:!1,placeholder:"",autoFocus:!1,defaultHighlightedIndex:null,enableCompletion:!1,stallThreshold:300,environment:r,shouldDropdownShow:function(e){return i(e.state)>0},onStateChange:a,onSubmit:a},e),{},{id:null!==(t=e.id)&&void 0!==t?t:"autocomplete-".concat(s++),initialState:S({highlightedIndex:null,query:"",completion:null,suggestions:[],isOpen:!1,status:"idle",statusContext:{},context:{}},e.initialState),getSources:(n=e.getSources,function(e){return Promise.resolve(n(e)).then((function(e){return Promise.all(e.filter(Boolean).map((function(e){return Promise.resolve(c(e))})))}))}),navigator:S({navigate:function(e){var t=e.suggestionUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.suggestionUrl,n=r.open(t,"_blank","noopener");n&&n.focus()},navigateNewWindow:function(e){var t=e.suggestionUrl;r.open(t,"_blank","noopener")}},e.navigator)})}(e),n=d(R,t),r=function(e){var t=e.store;return{setHighlightedIndex:function(e){t.send("setHighlightedIndex",e)},setQuery:function(e){t.send("setQuery",e)},setSuggestions:function(e){var n=0,r=e.map((function(e){return y(y({},e),{},{items:e.items.map((function(e){return y(y({},e),{},{__autocomplete_id:n++})}))})}));t.send("setSuggestions",r)},setIsOpen:function(e){t.send("setIsOpen",e)},setStatus:function(e){t.send("setStatus",e)},setContext:function(e){t.send("setContext",e)}}}({store:n}),o=r.setHighlightedIndex,u=r.setQuery,l=r.setSuggestions,h=r.setIsOpen,g=r.setStatus,m=r.setContext,p=H({store:n,props:t,setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m}),f=p.getEnvironmentProps,v=p.getRootProps,b=p.getFormProps,O=p.getLabelProps,E=p.getInputProps,w=p.getDropdownProps,P=p.getMenuProps,j=p.getItemProps;return{setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m,getEnvironmentProps:f,getRootProps:v,getFormProps:b,getInputProps:E,getLabelProps:O,getDropdownProps:w,getMenuProps:P,getItemProps:j,refresh:function(){return D({query:n.getState().query,store:n,props:t,setHighlightedIndex:o,setQuery:u,setSuggestions:l,setIsOpen:h,setStatus:g,setContext:m})}}}function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;t",highlightPostTag:""},e.params)}})))}var U=n(0),V=n.n(U);function Q(){return V.a.createElement("a",{href:"https://www.algolia.com/docsearch",target:"_blank",rel:"noopener noreferrer"},V.a.createElement("span",{className:"DocSearch-Label"},"Search by"),V.a.createElement("svg",{width:"77",height:"19"},V.a.createElement("path",{d:"M2.5067 0h14.0245c1.384.001 2.5058 1.1205 2.5068 2.5017V16.5c-.0014 1.3808-1.1232 2.4995-2.5068 2.5H2.5067C1.1232 18.9995.0014 17.8808 0 16.5V2.4958A2.495 2.495 0 01.735.7294 2.505 2.505 0 012.5068 0zM37.95 15.0695c-3.7068.0168-3.7068-2.986-3.7068-3.4634L34.2372.3576 36.498 0v11.1794c0 .2715 0 1.9889 1.452 1.994v1.8961zm-9.1666-1.8388c.694 0 1.2086-.0397 1.5678-.1088v-2.2934a5.3639 5.3639 0 00-1.3303-.1679 4.8283 4.8283 0 00-.758.0582 2.2845 2.2845 0 00-.688.2024c-.2029.0979-.371.2362-.4919.4142-.1268.1788-.185.2826-.185.5533 0 .5297.185.8359.5205 1.0375.3355.2016.7928.3053 1.365.3053v-.0008zm-.1969-8.1817c.7463 0 1.3768.092 1.8856.2767.5088.1838.9195.4428 1.2204.7717.3068.334.5147.7777.6423 1.251.1327.4723.196.991.196 1.5603v5.798c-.5235.1036-1.05.192-1.5787.2649-.7048.1037-1.4976.156-2.3774.156-.5832 0-1.1215-.0582-1.6016-.167a3.385 3.385 0 01-1.2432-.5364 2.6034 2.6034 0 01-.8037-.9565c-.191-.3922-.29-.9447-.29-1.5208 0-.5533.11-.905.3246-1.2863a2.7351 2.7351 0 01.8849-.9329c.376-.242.8029-.415 1.2948-.5187a7.4517 7.4517 0 011.5381-.156 7.1162 7.1162 0 011.6667.2024V8.886c0-.259-.0296-.5061-.093-.7372a1.5847 1.5847 0 00-.3245-.6158 1.5079 1.5079 0 00-.6119-.4158 2.6788 2.6788 0 00-.966-.173c-.5206 0-.9948.0634-1.4283.1384a6.5481 6.5481 0 00-1.065.259l-.2712-1.849c.2831-.0986.7048-.1964 1.2491-.2943a9.2979 9.2979 0 011.752-.1501v.0008zm44.6597 8.1193c.6947 0 1.2086-.0405 1.567-.1097v-2.2942a5.3743 5.3743 0 00-1.3303-.1679c-.2485 0-.503.0177-.7573.0582a2.2853 2.2853 0 00-.688.2024 1.2333 1.2333 0 00-.4918.4142c-.1268.1788-.1843.2826-.1843.5533 0 .5297.1843.8359.5198 1.0375.3414.2066.7927.3053 1.365.3053v.0009zm-.191-8.1767c.7463 0 1.3768.0912 1.8856.2759.5087.1847.9195.4436 1.2204.7717.3.329.5147.7786.6414 1.251a5.7248 5.7248 0 01.197 1.562v5.7972c-.3466.0742-.874.1602-1.5788.2648-.7049.1038-1.4976.1552-2.3774.1552-.5832 0-1.1215-.0573-1.6016-.167a3.385 3.385 0 01-1.2432-.5356 2.6034 2.6034 0 01-.8038-.9565c-.191-.3922-.2898-.9447-.2898-1.5216 0-.5533.1098-.905.3245-1.2854a2.7373 2.7373 0 01.8849-.9338c.376-.2412.8029-.4141 1.2947-.5178a7.4545 7.4545 0 012.325-.1097c.2781.0287.5672.081.879.156v-.3686a2.7781 2.7781 0 00-.092-.738 1.5788 1.5788 0 00-.3246-.6166 1.5079 1.5079 0 00-.612-.415 2.6797 2.6797 0 00-.966-.1729c-.5205 0-.9947.0633-1.4282.1384a6.5608 6.5608 0 00-1.065.259l-.2712-1.8498c.283-.0979.7048-.1957 1.2491-.2935a9.8597 9.8597 0 011.752-.1494zm-6.79-1.072c-.7576.001-1.373-.6103-1.3759-1.3664 0-.755.6128-1.3664 1.376-1.3664.764 0 1.3775.6115 1.3775 1.3664s-.6195 1.3664-1.3776 1.3664zm1.1393 11.1507h-2.2726V5.3409l2.2734-.3568v10.0845l-.0008.0017zm-3.984 0c-3.707.0168-3.707-2.986-3.707-3.4642L59.7069.3576 61.9685 0v11.1794c0 .2715 0 1.9889 1.452 1.994V15.0703zm-7.3512-4.979c0-.975-.2138-1.7873-.6305-2.3516-.4167-.571-.9998-.852-1.747-.852-.7454 0-1.3302.281-1.7452.852-.4166.5702-.6195 1.3765-.6195 2.3516 0 .9851.208 1.6473.6254 2.2183.4158.576.9998.8587 1.7461.8587.7454 0 1.3303-.2885 1.747-.8595.4158-.5761.6237-1.2315.6237-2.2184v.0009zm2.3132-.006c0 .7609-.1099 1.3361-.3356 1.9654a4.654 4.654 0 01-.9533 1.6076A4.214 4.214 0 0155.613 14.69c-.579.2412-1.4697.3795-1.9143.3795-.4462-.005-1.3303-.1324-1.9033-.3795a4.307 4.307 0 01-1.474-1.0316c-.4115-.4445-.7293-.9801-.9609-1.6076a5.3423 5.3423 0 01-.3465-1.9653c0-.7608.104-1.493.3356-2.1155a4.683 4.683 0 01.9719-1.5958 4.3383 4.3383 0 011.479-1.0257c.5739-.242 1.2043-.3567 1.8864-.3567.6829 0 1.3125.1197 1.8906.3567a4.1245 4.1245 0 011.4816 1.0257 4.7587 4.7587 0 01.9592 1.5958c.2426.6225.3643 1.3547.3643 2.1155zm-17.0198 0c0 .9448.208 1.9932.6238 2.431.4166.4386.955.6579 1.6142.6579.3584 0 .6998-.0523 1.0176-.1502.3186-.0978.5721-.2134.775-.3517V7.0784a8.8706 8.8706 0 00-1.4926-.1906c-.8206-.0236-1.4452.312-1.8847.8468-.4335.5365-.6533 1.476-.6533 2.3516v-.0008zm6.2863 4.4485c0 1.5385-.3938 2.662-1.1866 3.3773-.791.7136-2.0005 1.0712-3.6308 1.0712-.5958 0-1.834-.1156-2.8228-.334l.3643-1.7865c.8282.173 1.9202.2193 2.4932.2193.9077 0 1.555-.1847 1.943-.5533.388-.3686.578-.916.578-1.643v-.3687a6.8289 6.8289 0 01-.8848.3349c-.3634.1096-.786.167-1.261.167-.6246 0-1.1917-.0979-1.7055-.2944a3.5554 3.5554 0 01-1.3244-.8645c-.3642-.3796-.6541-.8579-.8561-1.4289-.2028-.571-.3068-1.59-.3068-2.339 0-.7034.1099-1.5856.3245-2.1735.2198-.5871.5316-1.0949.9542-1.515.4167-.42.9255-.743 1.5213-.98a5.5923 5.5923 0 012.052-.3855c.7353 0 1.4114.092 2.0707.2024.6592.1088 1.2204.2236 1.6776.35v8.945-.0008zM11.5026 4.2418v-.6511c-.0005-.4553-.3704-.8241-.8266-.8241H8.749c-.4561 0-.826.3688-.8265.824v.669c0 .0742.0693.1264.1445.1096a6.0346 6.0346 0 011.6768-.2362 6.125 6.125 0 011.6202.2185.1116.1116 0 00.1386-.1097zm-5.2806.852l-.3296-.3282a.8266.8266 0 00-1.168 0l-.393.3922a.8199.8199 0 000 1.164l.3237.323c.0524.0515.1268.0397.1733-.0117.191-.259.3989-.507.6305-.7372.2374-.2362.48-.4437.7462-.6335.0575-.0354.0634-.1155.017-.1687zm3.5159 2.069v2.818c0 .081.0879.1392.1622.0987l2.5102-1.2964c.0574-.0287.0752-.0987.0464-.1552a3.1237 3.1237 0 00-2.603-1.574c-.0575 0-.115.0456-.115.1097l-.0008-.0009zm.0008 6.789c-2.0933.0005-3.7915-1.6912-3.7947-3.7804C5.9468 8.0821 7.6452 6.39 9.7387 6.391c2.0932-.0005 3.7911 1.6914 3.794 3.7804a3.7783 3.7783 0 01-1.1124 2.675 3.7936 3.7936 0 01-2.6824 1.1054h.0008zM9.738 4.8002c-1.9218 0-3.6975 1.0232-4.6584 2.6841a5.359 5.359 0 000 5.3683c.9609 1.661 2.7366 2.6841 4.6584 2.6841a5.3891 5.3891 0 003.8073-1.5725 5.3675 5.3675 0 001.578-3.7987 5.3574 5.3574 0 00-1.5771-3.797A5.379 5.379 0 009.7387 4.801l-.0008-.0008z",fill:"currentColor",fillRule:"evenodd"})))}function B(){return V.a.createElement(V.a.Fragment,null,V.a.createElement("div",{className:"DocSearch-Logo"},V.a.createElement(Q,null)),V.a.createElement("ul",{className:"DocSearch-Commands"},V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to select")),V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to navigate")),V.a.createElement("li",null,V.a.createElement("span",{className:"DocSearch-Commands-Key"},V.a.createElement(J,null,V.a.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),V.a.createElement("span",{className:"DocSearch-Label"},"to close"))))}function J(e){return V.a.createElement("svg",{width:"15",height:"15"},V.a.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function K(e){var t=e.hit,n=e.children;return V.a.createElement("a",{href:t.url},n)}function W(){return V.a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function $(){return V.a.createElement("div",{className:"DocSearch-ErrorScreen"},V.a.createElement("div",{className:"DocSearch-Screen-Icon"},V.a.createElement(W,null)),V.a.createElement("p",{className:"DocSearch-Title"},"Unable to fetch results"),V.a.createElement("p",{className:"DocSearch-Help"},"You might want to check your network connection."))}function Y(){return V.a.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function G(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e)||function(){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 X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&V.a.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},V.a.createElement("p",{className:"DocSearch-Help"},"Try searching for:"),V.a.createElement("ul",null,t.slice(0,3).reduce((function(t,n){return[].concat(G(t),[V.a.createElement("li",{key:n},V.a.createElement("button",{className:"DocSearch-Prefill",key:n,onClick:function(){e.setQuery(n.toLowerCase()+" "),e.refresh(),e.inputRef.current.focus()}},n))])}),[]))),V.a.createElement("p",{className:"DocSearch-Help"},"Believe this query should return results?"," ",V.a.createElement("a",{href:"https://github.com/algolia/docsearch-configs/issues/new?template=Missing_results.md&title=[".concat(e.indexName,']+Missing+results+for+query+"').concat(e.state.query,'"'),target:"_blank",rel:"noopener noreferrer"},"Let us know"),"."))}function ee(e){switch(e.type){case"lvl1":return V.a.createElement(te,null);case"content":return V.a.createElement(re,null);default:return V.a.createElement(ne,null)}}function te(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function ne(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function re(){return V.a.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function oe(){return V.a.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},V.a.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},V.a.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),V.a.createElement("path",{d:"M8 17l-6-6 6-6"})))}function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function se(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ue(e,t){return t.split(".").reduce((function(e,t){return e&&e[t]}),e)}function le(e){var t=e.hit,n=e.attribute,r=e.tagName,o=void 0===r?"span":r,a=ce(e,["hit","attribute","tagName"]);return Object(U.createElement)(o,se(se({},a),{},{dangerouslySetInnerHTML:{__html:ue(t,"_snippetResult.".concat(n,".value"))||ue(t,n)}}))}function he(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var s,i=e[Symbol.iterator]();!(r=(s=i.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(c){o=!0,a=c}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ge(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}));return e.state.query?!1===t?V.a.createElement(Z,e):V.a.createElement(ve,e):V.a.createElement(Ee,we({},e,{hasSuggestions:t}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function je(){return V.a.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},V.a.createElement("g",{fill:"none",fillRule:"evenodd"},V.a.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},V.a.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),V.a.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},V.a.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var xe=n(113);function De(){return(De=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ke(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function Ne(e){var t=e.key,n=e.limit,r=void 0===n?5:n,o=ke(t),a=o.getItem().slice(0,r);return{add:function(e){var t=e,n=(t._highlightResult,t._snippetResult,Ce(t,["_highlightResult","_snippetResult"])),s=a.findIndex((function(e){return e.objectID===n.objectID}));s>-1&&a.splice(s,1),a.unshift(n),a=a.slice(0,r),o.setItem(a)},remove:function(e){a=a.filter((function(t){return t.objectID!==e.objectID})),o.setItem(a)},getAll:function(){return a}}}function He(e){const t="algoliasearch-client-js-"+e.key;let n;const r=()=>(void 0===n&&(n=e.localStorage||window.localStorage),n),o=()=>JSON.parse(r().getItem(t)||"{}");return{get:(e,t,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{const n=JSON.stringify(e),r=o()[n];return Promise.all([r||t(),void 0!==r])})).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,n)=>Promise.resolve().then((()=>{const a=o();return a[JSON.stringify(e)]=n,r().setItem(t,JSON.stringify(a)),n})),delete:e=>Promise.resolve().then((()=>{const n=o();delete n[JSON.stringify(e)],r().setItem(t,JSON.stringify(n))})),clear:()=>Promise.resolve().then((()=>{r().removeItem(t)}))}}function qe(e){const t=[...e.caches],n=t.shift();return void 0===n?{get:(e,t,n={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,n.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,r,o={miss:()=>Promise.resolve()})=>n.get(e,r,o).catch((()=>qe({caches:t}).get(e,r,o))),set:(e,r)=>n.set(e,r).catch((()=>qe({caches:t}).set(e,r))),delete:e=>n.delete(e).catch((()=>qe({caches:t}).delete(e))),clear:()=>n.clear().catch((()=>qe({caches:t}).clear()))}}function Ae(e={serializable:!0}){let t={};return{get(n,r,o={miss:()=>Promise.resolve()}){const a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);const s=r(),i=o&&o.miss||(()=>Promise.resolve());return s.then((e=>i(e))).then((()=>s))},set:(n,r)=>(t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function Me(e){let t=e.length-1;for(;t>0;t--){const n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function Re(e,t){return t?(Object.keys(t).forEach((n=>{e[n]=t[n](e)})),e):e}function Te(e,...t){let n=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[n++])))}const Le="4.6.0",_e={WithinQueryParameters:0,WithinHeaders:1};function Fe(e,t){const n=e||{},r=n.data||{};return Object.keys(n).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(r[e]=n[e])})),{data:Object.entries(r).length>0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}const ze={Read:1,Write:2,Any:3},Ue=1,Ve=2,Qe=3,Be=12e4;function Je(e,t=Ue){return{...e,status:t,lastUpdate:Date.now()}}function Ke(e){return"string"==typeof e?{protocol:"https",url:e,accept:ze.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||ze.Any}}const We="GET",$e="POST";function Ye(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Je(t))))))).then((e=>{const n=e.filter((e=>function(e){return e.status===Ue||Date.now()-e.lastUpdate>Be}(e))),r=e.filter((e=>function(e){return e.status===Qe&&Date.now()-e.lastUpdate<=Be}(e))),o=[...n,...r];return{getTimeout:(e,t)=>(0===r.length&&0===e?1:r.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Ke(e))):t}}))}function Ge(e,t,n,r){const o=[],a=function(e,t){if(e.method===We||void 0===e.data&&void 0===t.data)return;const n=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(n)}(n,r),s=function(e,t){const n={...e.headers,...t.headers},r={};return Object.keys(n).forEach((e=>{const t=n[e];r[e.toLowerCase()]=t})),r}(e,r),i=n.method,c=n.method!==We?{}:{...n.data,...r.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...c,...r.queryParameters};let l=0;const h=(t,c)=>{const g=t.pop();if(void 0===g)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:tt(o)};const m={data:a,headers:s,method:i,url:Ze(g,n.path,u),connectTimeout:c(l,e.timeouts.connect),responseTimeout:c(l,r.timeout)},p=e=>{const n={request:m,response:e,host:g,triesLeft:t.length};return o.push(n),n},f={onSucess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(n){const r=p(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",nt(r)),e.hostsCache.set(g,Je(g,n.isTimedOut?Qe:Ve))]).then((()=>h(t,c)))},onFail(e){throw p(e),function({content:e,status:t},n){let r=e;try{r=JSON.parse(e).message}catch(o){}return function(e,t,n){return{name:"ApiError",message:e,status:t,transporterStackTrace:n}}(r,t,n)}(e,tt(o))}};return e.requester.send(m).then((e=>((e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSucess(e):t.onFail(e))(e,f)))};return Ye(e.hostsCache,t).then((e=>h([...e.statelessHosts].reverse(),e.getTimeout)))}function Xe(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const n=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(n)&&(t.value=`${t.value}${n}`),t}};return t}function Ze(e,t,n){const r=et(n);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return r.length&&(o+="?"+r),o}function et(e){return Object.keys(e).map((t=>{return Te("%s=%s",t,(n=e[t],"[object Object]"===Object.prototype.toString.call(n)||"[object Array]"===Object.prototype.toString.call(n)?JSON.stringify(e[t]):e[t]));var n})).join("&")}function tt(e){return e.map((e=>nt(e)))}function nt(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const rt=e=>{const t=e.appId,n=function(e,t,n){const r={"x-algolia-api-key":n,"x-algolia-application-id":t};return{headers:()=>e===_e.WithinHeaders?r:{},queryParameters:()=>e===_e.WithinQueryParameters?r:{}}}(void 0!==e.authMode?e.authMode:_e.WithinHeaders,t,e.apiKey),r=function(e){const{hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:s,userAgent:i,hosts:c,queryParameters:u,headers:l}=e,h={hostsCache:t,logger:n,requester:r,requestsCache:o,responsesCache:a,timeouts:s,userAgent:i,headers:l,queryParameters:u,hosts:c.map((e=>Ke(e))),read(e,t){const n=Fe(t,h.timeouts.read),r=()=>Ge(h,h.hosts.filter((e=>0!=(e.accept&ze.Read))),e,n);if(!0!==(void 0!==n.cacheable?n.cacheable:e.cacheable))return r();const o={request:e,mappedRequestOptions:n,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(o,(()=>h.requestsCache.get(o,(()=>h.requestsCache.set(o,r()).then((e=>Promise.all([h.requestsCache.delete(o),e])),(e=>Promise.all([h.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>h.responsesCache.set(o,e)})},write:(e,t)=>Ge(h,h.hosts.filter((e=>0!=(e.accept&ze.Write))),e,Fe(t,h.timeouts.write))};return h}({hosts:[{url:t+"-dsn.algolia.net",accept:ze.Read},{url:t+".algolia.net",accept:ze.Write}].concat(Me([{url:t+"-1.algolianet.com"},{url:t+"-2.algolianet.com"},{url:t+"-3.algolianet.com"}])),...e,headers:{...n.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...n.queryParameters(),...e.queryParameters}});return Re({transporter:r,appId:t,addAlgoliaAgent(e,t){r.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then((()=>{}))},e.methods)},ot=e=>(t,n={})=>Re({transporter:e.transporter,appId:e.appId,indexName:t},n.methods),at=e=>(t,n)=>{const r=t.map((e=>({...e,params:et(e.params||{})})));return e.transporter.read({method:$e,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)},st=e=>(t,n)=>Promise.all(t.map((t=>{const{facetName:r,facetQuery:o,...a}=t.params;return ot(e)(t.indexName,{methods:{searchForFacetValues:ct}}).searchForFacetValues(r,o,{...n,...a})}))),it=e=>(t,n)=>e.transporter.read({method:$e,path:Te("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n),ct=e=>(t,n,r)=>e.transporter.read({method:$e,path:Te("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r),ut=1,lt=2,ht=3;function gt(e,t,n){const r={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const n=new XMLHttpRequest;n.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>n.setRequestHeader(t,e.headers[t])));const r=(e,r)=>setTimeout((()=>{n.abort(),t({status:0,content:r,isTimedOut:!0})}),1e3*e),o=r(e.connectTimeout,"Connection timeout");let a;n.onreadystatechange=()=>{n.readyState>n.OPENED&&void 0===a&&(clearTimeout(o),a=r(e.responseTimeout,"Socket timeout"))},n.onerror=()=>{0===n.status&&(clearTimeout(o),clearTimeout(a),t({content:n.responseText||"Network request failed",status:n.status,isTimedOut:!1}))},n.onload=()=>{clearTimeout(o),clearTimeout(a),t({content:n.responseText,status:n.status,isTimedOut:!1})},n.send(e.data)}))},logger:(o=ht,{debug:(e,t)=>(ut>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(lt>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Ae(),requestsCache:Ae({serializable:!1}),hostsCache:qe({caches:[He({key:"4.6.0-"+e}),Ae()]}),userAgent:Xe(Le).add({segment:"Browser",version:"lite"}),authMode:_e.WithinQueryParameters};var o;return rt({...r,...n,methods:{search:at,searchForFacetValues:st,multipleQueries:at,multipleSearchForFacetValues:st,initIndex:e=>t=>ot(e)(t,{methods:{search:it,searchForFacetValues:ct}})}})}gt.version=Le;var mt=gt,pt="1.0.0-alpha.28";function ft(){}function dt(e){return e}function vt(e,t){return e.reduce((function(e,n){var r=t(n);return e.hasOwnProperty(r)||(e[r]=[]),e[r].length<5&&e[r].push(n),e}),{})}function yt(){return(yt=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n",highlightPostTag:"",hitsPerPage:20},i)}]},z({searchClient:t.searchClient,queries:t.queries}).then((function(e){return e.results}))).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var t=e[0].hits,n=e[0].nbHits,o=vt(t,(function(e){return e.hierarchy.lvl0}));return r.context.searchSuggestions.length0&&(Q(),N.current&&N.current.focus())}),[q,Q]),V.a.createElement("div",yt({ref:I},U({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===x.status&&"DocSearch-Container--Stalled","error"===x.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),onMouseDown:function(e){e.target===e.currentTarget&&u()}}),V.a.createElement("div",{className:"DocSearch-Modal"},V.a.createElement("header",{className:"DocSearch-SearchBar",ref:C},V.a.createElement(Ie,yt({},_,{state:x,autoFocus:0===q.length,onClose:u,inputRef:N}))),V.a.createElement("div",{className:"DocSearch-Dropdown",ref:k},V.a.createElement(Pe,yt({},_,{indexName:o,state:x,hitComponent:m,resultsFooterComponent:f,disableUserPersonalization:E,recentSearches:R,favoriteSearches:M,onItemClick:function(e){L(e),u()},inputRef:N}))),V.a.createElement("footer",{className:"DocSearch-Footer"},V.a.createElement(B,null))))}}}]); \ No newline at end of file diff --git a/28.947030c5.js b/28.f400695b.js similarity index 68% rename from 28.947030c5.js rename to 28.f400695b.js index 8c06dd8..9a0f463 100644 --- a/28.947030c5.js +++ b/28.f400695b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{161:function(n,i,o){"use strict";o.r(i);var r=o(49);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{165:function(n,i,o){"use strict";o.r(i);var r=o(49);for(var t in r)["default"].indexOf(t)<0&&function(n){o.d(i,n,(function(){return r[n]}))}(t)}}]); \ No newline at end of file diff --git a/2a3fc721.24fd3eea.js b/2a3fc721.e1dc58f9.js similarity index 99% rename from 2a3fc721.24fd3eea.js rename to 2a3fc721.e1dc58f9.js index 698eb14..25ae492 100644 --- a/2a3fc721.24fd3eea.js +++ b/2a3fc721.e1dc58f9.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{67:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"rightToc",(function(){return c})),n.d(t,"default",(function(){return b}));var r=n(1),i=n(6),a=(n(0),n(87)),o={id:"utilities",title:"Runtime Utilities",sidebar_label:"Runtime Utilities"},l={unversionedId:"utilities",id:"utilities",isDocsHomePage:!1,title:"Runtime Utilities",description:"Bundled with fbt come a few useful utilities for constructing strings.",source:"@site/..\\docs\\utilities.md",slug:"/utilities",permalink:"/fbt/docs/utilities",version:"current",lastUpdatedBy:"Richard Dobro\u0148",lastUpdatedAt:1659788602,sidebar_label:"Runtime Utilities",sidebar:"docs",previous:{title:"Common FBT strings",permalink:"/fbt/docs/common"},next:{title:"Transforms",permalink:"/fbt/docs/transform"}},c=[{value:"intlList(...)",id:"intllist",children:[]},{value:"intlNumUtils and intlSummarizeNumber",id:"intlnumutils-and-intlsummarizenumber",children:[]},{value:"createElement",id:"createelement",children:[]}],s={rightToc:c};function b(e){var t=e.components,n=Object(i.a)(e,["components"]);return Object(a.b)("wrapper",Object(r.a)({},s,n,{components:t,mdxType:"MDXLayout"}),Object(a.b)("p",null,"Bundled with fbt come a few useful utilities for constructing strings."),Object(a.b)("h3",{id:"intllist"},"intlList(...)"),Object(a.b)("p",null,Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"https://github.com/richardDobron/fbt/blob/master/src/fbt/Runtime/Shared/intlList.php"}),Object(a.b)("inlineCode",{parentName:"a"},"intlList"))," creates ",Object(a.b)("inlineCode",{parentName:"p"},"fbt")," instances with selectable conjunctions given an array."),Object(a.b)("p",null,"As an example"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"$CONJUNCTIONS = \\fbt\\Runtime\\Shared\\intlList::CONJUNCTIONS;\n$DELIMITER = \\fbt\\Runtime\\Shared\\intlList::DELIMITER;\n$people = ['Adam', 'Becky', fbt('4 others', 'last item')];\nintlList($people, $CONJUNCTIONS['AND'], $DELIMITER['COMMA']);\n")),Object(a.b)("p",null,"produces the fbt"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{}),'\n {$output},\n {$items[$i]}\n\n')),Object(a.b)("p",null,"recursively combining fbts.\n",Object(a.b)("strong",{parentName:"p"},"Note that genders are not used in this ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:param")," instances, so they default to ",Object(a.b)("inlineCode",{parentName:"strong"},"UNKNOWN"))),Object(a.b)("h3",{id:"intlnumutils-and-intlsummarizenumber"},"intlNumUtils and intlSummarizeNumber"),Object(a.b)("p",null,"There are a few utilities in both ",Object(a.b)("inlineCode",{parentName:"p"},"intlNumUtils")," and\n",Object(a.b)("inlineCode",{parentName:"p"},"intlSummarizeNumber")," that are documented in the source."),Object(a.b)("p",null,"In fact ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::param")," and ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::plural")," default to displaying numbers\nusing ",Object(a.b)("inlineCode",{parentName:"p"},"intlNumUtils::formatNumberWithThousandDelimiters"),".\nYou can override this behavior in ",Object(a.b)("inlineCode",{parentName:"p"},"fbt:param")," by setting the\n",Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"/fbt/docs/params#optional-attributes"}),"number option")," and using your own\nstring in the replacement."),Object(a.b)("p",null,"You can override this in ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::plural")," ",Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"/fbt/docs/plurals#optional-arguments"}),"by providing the ",Object(a.b)("inlineCode",{parentName:"a"},"value"),"\noption"),"."),Object(a.b)("h3",{id:"createelement"},"createElement"),Object(a.b)("p",null,"We use this function internally to generate HTML for FBT."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"\\fbt\\createElement('div', 'content', ['id' => 'container']);\n")))}b.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),i=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=i.a.createContext({}),b=function(e){var t=i.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=b(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=b(n),m=r,d=u["".concat(o,".").concat(m)]||u[m]||p[m]||a;return n?i.a.createElement(d,l(l({ref:t},s),{},{components:n})):i.a.createElement(d,l({ref:t},s))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var s=2;s\n {$output},\n {$items[$i]}\n\n')),Object(a.b)("p",null,"recursively combining fbts.\n",Object(a.b)("strong",{parentName:"p"},"Note that genders are not used in this ",Object(a.b)("inlineCode",{parentName:"strong"},"fbt:param")," instances, so they default to ",Object(a.b)("inlineCode",{parentName:"strong"},"UNKNOWN"))),Object(a.b)("h3",{id:"intlnumutils-and-intlsummarizenumber"},"intlNumUtils and intlSummarizeNumber"),Object(a.b)("p",null,"There are a few utilities in both ",Object(a.b)("inlineCode",{parentName:"p"},"intlNumUtils")," and\n",Object(a.b)("inlineCode",{parentName:"p"},"intlSummarizeNumber")," that are documented in the source."),Object(a.b)("p",null,"In fact ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::param")," and ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::plural")," default to displaying numbers\nusing ",Object(a.b)("inlineCode",{parentName:"p"},"intlNumUtils::formatNumberWithThousandDelimiters"),".\nYou can override this behavior in ",Object(a.b)("inlineCode",{parentName:"p"},"fbt:param")," by setting the\n",Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"/fbt/docs/params#optional-attributes"}),"number option")," and using your own\nstring in the replacement."),Object(a.b)("p",null,"You can override this in ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::plural")," ",Object(a.b)("a",Object(r.a)({parentName:"p"},{href:"/fbt/docs/plurals#optional-arguments"}),"by providing the ",Object(a.b)("inlineCode",{parentName:"a"},"value"),"\noption"),"."),Object(a.b)("h3",{id:"createelement"},"createElement"),Object(a.b)("p",null,"We use this function internally to generate HTML for FBT."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"\\fbt\\createElement('div', 'content', ['id' => 'container']);\n")))}b.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d}));var r=n(0),i=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=i.a.createContext({}),b=function(e){var t=i.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=b(e.components);return i.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},m=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=b(n),m=r,d=u["".concat(o,".").concat(m)]||u[m]||p[m]||a;return n?i.a.createElement(d,l(l({ref:t},s),{},{components:n})):i.a.createElement(d,l({ref:t},s))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var s=2;s - -Page Not Found | FBT for PHP - - - + +Page Not Found | FBT for Laravel + + +
-

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - - +

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + \ No newline at end of file diff --git a/4639f76b.d896ff2b.js b/4639f76b.f610f6d6.js similarity index 99% rename from 4639f76b.d896ff2b.js rename to 4639f76b.f610f6d6.js index 691865f..866ecdc 100644 --- a/4639f76b.d896ff2b.js +++ b/4639f76b.f610f6d6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{68:function(e,n,t){"use strict";t.r(n),t.d(n,"frontMatter",(function(){return i})),t.d(n,"metadata",(function(){return c})),t.d(n,"rightToc",(function(){return p})),t.d(n,"default",(function(){return s}));var a=t(1),r=t(6),o=(t(0),t(87)),i={id:"autoparam",title:"Auto-parameterization",sidebar_label:"Auto-parameterization"},c={unversionedId:"autoparam",id:"autoparam",isDocsHomePage:!1,title:"Auto-parameterization",description:"What is Auto Parameterization?",source:"@site/..\\docs\\autoparam.md",slug:"/autoparam",permalink:"/fbt/docs/autoparam",version:"current",lastUpdatedBy:"Richard Dobro\u0148",lastUpdatedAt:1659788602,sidebar_label:"Auto-parameterization",sidebar:"docs",previous:{title:"Pronouns",permalink:"/fbt/docs/pronouns"},next:{title:"Common FBT strings",permalink:"/fbt/docs/common"}},p=[{value:"The basics",id:"the-basics",children:[]}],l={rightToc:p};function s(e){var n=e.components,t=Object(r.a)(e,["components"]);return Object(o.b)("wrapper",Object(a.a)({},l,t,{components:n,mdxType:"MDXLayout"}),Object(o.b)("h1",{id:"what-is-auto-parameterization"},"What is Auto Parameterization?"),Object(o.b)("h2",{id:"the-basics"},"The basics"),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"")," will automatically wrap any non-fbt children in the top-level\n",Object(o.b)("inlineCode",{parentName:"p"},"")," as though they were written with an ",Object(o.b)("inlineCode",{parentName:"p"},"")," with a\n",Object(o.b)("inlineCode",{parentName:"p"},"name")," attribute containing the child's text. It will pull any child\ntext into the parameter name, including those of recursive structures."),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"HTML fbt syntax:")),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-html"}),'\n Go on an\n \n awesome vacation\n \n\n')),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Function syntax:")),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt(\n [\n 'Go on an ',\n \\fbt\\createElement(\n 'a',\n 'awesome vacation',\n ['href' => '#']\n )\n ],\n 'auto-wrap example',\n);\n")),Object(o.b)("p",null,"When extracted for translation, the result of the ",Object(o.b)("inlineCode",{parentName:"p"},"\\fbt\\Transform\\FbtTransform\\FbtTransform::toArray()")," is:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'[\n "phrases" => [\n 2 => [\n "hashToText" => [\n "576c64dce7dc0eb30803b1c2feb21722": "Go on an {=awesome vacation}"\n ],\n "desc": "auto-wrap example",\n ...,\n ],\n 1 => [\n "hashToText" => [\n "7de5f69602b0c289965183f9ffbf2496": "{=awesome} vacation"\n ],\n "desc": "In the phrase: \\"Go on an {=awesome vacation}\\"",\n ...,\n ],\n 0 => [\n "hashToText" => [\n "6bbb015218a9c99babf7213c1fa764d8": "awesome"\n ],\n "desc": "In the phrase: \\"Go on an {=awesome} vacation\\"",\n ...,\n ]\n ],\n "childParentMappings" => [\n 0 => 1,\n 1 => 2\n ]\n}\n')),Object(o.b)("p",null,'Notice the description for "vacation" is auto-generated with an ',Object(o.b)("inlineCode",{parentName:"p"},'"In\nthe phrase: ..."')," prefix. Additionally, we use a convention of adding an equal sign (",Object(o.b)("inlineCode",{parentName:"p"},"="),")\nprefix in the interpolation ",Object(o.b)("inlineCode",{parentName:"p"},"{=awesome vacation}")," to signal to the\ntranslator that this exact word or phrase goes in the associated outer\nsentence."),Object(o.b)("p",null,"Furthermore, we provide a mapping ",Object(o.b)("inlineCode",{parentName:"p"},"[ => ]")," in\nthe collection output ",Object(o.b)("inlineCode",{parentName:"p"},"childParentMappings"),". At Meta, we use\nthese to display all relevant inner and outer strings when translating\nany given piece of text. We recommend you do the same in whatever\ntranslation framework you use. Context is crucial for accurate\ntranslations."))}s.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return d}));var a=t(0),r=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=r.a.createContext({}),s=function(e){var n=r.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},u=function(e){var n=s(e.components);return r.a.createElement(l.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(t),m=a,d=u["".concat(i,".").concat(m)]||u[m]||b[m]||o;return t?r.a.createElement(d,c(c({ref:n},l),{},{components:t})):r.a.createElement(d,c({ref:n},l))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=m;var c={};for(var p in n)hasOwnProperty.call(n,p)&&(c[p]=n[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l")," will automatically wrap any non-fbt children in the top-level\n",Object(o.b)("inlineCode",{parentName:"p"},"")," as though they were written with an ",Object(o.b)("inlineCode",{parentName:"p"},"")," with a\n",Object(o.b)("inlineCode",{parentName:"p"},"name")," attribute containing the child's text. It will pull any child\ntext into the parameter name, including those of recursive structures."),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"HTML fbt syntax:")),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-html"}),'\n Go on an\n \n awesome vacation\n \n\n')),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Function syntax:")),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt(\n [\n 'Go on an ',\n \\fbt\\createElement(\n 'a',\n 'awesome vacation',\n ['href' => '#']\n )\n ],\n 'auto-wrap example',\n);\n")),Object(o.b)("p",null,"When extracted for translation, the result of the ",Object(o.b)("inlineCode",{parentName:"p"},"\\fbt\\Transform\\FbtTransform\\FbtTransform::toArray()")," is:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'[\n "phrases" => [\n 2 => [\n "hashToText" => [\n "576c64dce7dc0eb30803b1c2feb21722": "Go on an {=awesome vacation}"\n ],\n "desc": "auto-wrap example",\n ...,\n ],\n 1 => [\n "hashToText" => [\n "7de5f69602b0c289965183f9ffbf2496": "{=awesome} vacation"\n ],\n "desc": "In the phrase: \\"Go on an {=awesome vacation}\\"",\n ...,\n ],\n 0 => [\n "hashToText" => [\n "6bbb015218a9c99babf7213c1fa764d8": "awesome"\n ],\n "desc": "In the phrase: \\"Go on an {=awesome} vacation\\"",\n ...,\n ]\n ],\n "childParentMappings" => [\n 0 => 1,\n 1 => 2\n ]\n}\n')),Object(o.b)("p",null,'Notice the description for "vacation" is auto-generated with an ',Object(o.b)("inlineCode",{parentName:"p"},'"In\nthe phrase: ..."')," prefix. Additionally, we use a convention of adding an equal sign (",Object(o.b)("inlineCode",{parentName:"p"},"="),")\nprefix in the interpolation ",Object(o.b)("inlineCode",{parentName:"p"},"{=awesome vacation}")," to signal to the\ntranslator that this exact word or phrase goes in the associated outer\nsentence."),Object(o.b)("p",null,"Furthermore, we provide a mapping ",Object(o.b)("inlineCode",{parentName:"p"},"[ => ]")," in\nthe collection output ",Object(o.b)("inlineCode",{parentName:"p"},"childParentMappings"),". At Meta, we use\nthese to display all relevant inner and outer strings when translating\nany given piece of text. We recommend you do the same in whatever\ntranslation framework you use. Context is crucial for accurate\ntranslations."))}s.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return d}));var a=t(0),r=t.n(a);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=r.a.createContext({}),s=function(e){var n=r.a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},u=function(e){var n=s(e.components);return r.a.createElement(l.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return r.a.createElement(r.a.Fragment,{},n)}},m=r.a.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),u=s(t),m=a,d=u["".concat(i,".").concat(m)]||u[m]||b[m]||o;return t?r.a.createElement(d,c(c({ref:n},l),{},{components:t})):r.a.createElement(d,c({ref:n},l))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=m;var c={};for(var p in n)hasOwnProperty.call(n,p)&&(c[p]=n[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l\n')),Object(a.b)("p",null,"The above will variate correctly, provided there are separate translations for the ",Object(a.b)("inlineCode",{parentName:"p"},"__subject__")," token."))}d.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),d=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},b=function(e){var t=d(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},u=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),b=d(n),u=r,m=b["".concat(o,".").concat(u)]||b[u]||s[u]||a;return n?i.a.createElement(m,c(c({ref:t},l),{},{components:n})):i.a.createElement(m,c({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var l=2;l\n')),Object(a.b)("p",null,"The above will variate correctly, provided there are separate translations for the ",Object(a.b)("inlineCode",{parentName:"p"},"__subject__")," token."))}d.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var r=n(0),i=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=i.a.createContext({}),d=function(e){var t=i.a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},b=function(e){var t=d(e.components);return i.a.createElement(l.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},u=i.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,o=e.parentName,l=p(e,["components","mdxType","originalType","parentName"]),b=d(n),u=r,m=b["".concat(o,".").concat(u)]||b[u]||s[u]||a;return n?i.a.createElement(m,c(c({ref:t},l),{},{components:n})):i.a.createElement(m,c({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,o[1]=c;for(var l=2;l\n false])?>\n\n")),Object(i.b)("p",null,"or using ",Object(i.b)("inlineCode",{parentName:"p"},"canInline")," hook:"),Object(i.b)("pre",null,Object(i.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"FbtHooks::register('canInline', function ($backtrace) {\n foreach ($backtrace as $call) {\n if ($call['function'] === 'fbt_raw') {\n return false;\n }\n }\n\n return true;\n});\n\nfunction fbt_raw(string | fbt\\fbt $text): string\n{\n return (string)$text;\n}\n\n$title = fbt('Account Settings', 'page title');\n\necho fbt_raw($title);\n")))}u.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return d}));var r=t(0),a=t.n(r);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),u=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(t),f=r,d=p["".concat(o,".").concat(f)]||p[f]||b[f]||i;return t?a.a.createElement(d,l(l({ref:n},s),{},{components:t})):a.a.createElement(d,l({ref:n},s))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=f;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var s=2;s\n false])?>\n\n")),Object(i.b)("p",null,"or using ",Object(i.b)("inlineCode",{parentName:"p"},"canInline")," hook:"),Object(i.b)("pre",null,Object(i.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"FbtHooks::register('canInline', function ($backtrace) {\n foreach ($backtrace as $call) {\n if ($call['function'] === 'fbt_raw') {\n return false;\n }\n }\n\n return true;\n});\n\nfunction fbt_raw(string | fbt\\fbt $text): string\n{\n return (string)$text;\n}\n\n$title = fbt('Account Settings', 'page title');\n\necho fbt_raw($title);\n")))}u.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return p})),t.d(n,"b",(function(){return d}));var r=t(0),a=t.n(r);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),u=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},b={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},f=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=u(t),f=r,d=p["".concat(o,".").concat(f)]||p[f]||b[f]||i;return t?a.a.createElement(d,l(l({ref:n},s),{},{components:t})):a.a.createElement(d,l({ref:n},s))}));function d(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=f;var l={};for(var c in n)hasOwnProperty.call(n,c)&&(l[c]=n[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var s=2;s")," in between, split them up into two translatable phrases. Otherwise translators will be able to mess with your markup and the results may not be what you expect."),Object(o.b)("p",null,"However, if you really want to use a ",Object(o.b)("inlineCode",{parentName:"p"},"
"),", we recommend doing it this way:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'\n first line
\n second line\n last line.\n
\n')),Object(o.b)("h2",{id:"use-css-instead-of-markup"},"Use CSS instead of Markup"),Object(o.b)("p",null,'Use CSS rather than markup to confine text to particular parts of the page. (See also the next item.) For example, if you have the text "Next Page" and you want each word on a separate line, put it in a with a maximum width rather than putting a tag in between the two words. Don\'t split the text into separately translatable units since it will prevent translators from changing word order if needed.'),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Don't")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),'fbt("Next
Page", "...")\n')),Object(o.b)("p",null,"Because a translator may ignore your formatting."),Object(o.b)("p",null,"And ",Object(o.b)("strong",{parentName:"p"},"don't")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),'fbt("Next", "...") . \'
\' . fbt("Page", "...");\n')),Object(o.b)("p",null,'If a language needs the word for "Page" to come before the word for "Next", it is impossible to translate correctly.'),Object(o.b)("p",null,"Rather, do ",Object(o.b)("strong",{parentName:"p"},"this"),":"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'
\' . fbt("Next Page", "...") . \'
\n')),Object(o.b)("p",null,"With appropriate CSS, the browser will word-wrap the string appropriately."),Object(o.b)("h2",{id:"avoid-layouts-relying-on-precise-sizing"},"Avoid Layouts Relying on Precise Sizing"),Object(o.b)("p",null,"Try not to use layouts that depend on the precise onscreen sizes of pieces of text in the original language. For any piece of text, in some languages it is likely to be shorter and in some it will be longer (sometimes significantly so in either direction.) If you have sized your user interface elements such that your text just barely fits, your application will probably not work well in a language with longer words."),Object(o.b)("h2",{id:"avoid-long-pieces-of-text"},"Avoid Long Pieces of Text"),Object(o.b)("p",null,"Large chunks of text like multiple paragraphs should be split up among multiple ",Object(o.b)("inlineCode",{parentName:"p"},"")," tags for ease of translation. Similarly, a single long paragraph should be broken up into several smaller paragraphs. This allows translation voting to more precisely pinpoint problems."),Object(o.b)("h2",{id:"assume-word-order-will-change"},"Assume Word Order Will Change"),Object(o.b)("p",null,"Assume that a translator will have to change the word order of every sentence. In particular, don't try to assemble sentences from smaller separately-translatable fragments, because even if you provide excellent descriptions, it's likely you will make it impossible for a translator to come up with a grammatically correct translation. Instead, expand all the possible cases out into separate translatable sentences and choose a complete sentence in your code."),Object(o.b)("p",null,"Here's a simple example to ",Object(o.b)("strong",{parentName:"p"},"avoid"),":"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You are eating at home.\nYou are eating at a restaurant.\n')),Object(o.b)("p",null,'Here the code is printing the beginning of the sentence, which doesn\'t change in English, then choosing one of two possible endings. This is impossible to translate correctly to Chinese, where the phrases for "at home" and "at a restaurant" need to come before the word for "eating".'),Object(o.b)("p",null,"In this case, use separate phrases:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You are eating at home.\nYou are eating at a restaurant.\n')),Object(o.b)("p",null,"Here the code chooses one of two complete sentences. The translator can adjust the word order of both sentences as needed, and these can be correctly translated into every language."),Object(o.b)("p",null,'Along the lines of the previous item, if you have a phrase like "You have {number} photos." where you use the word "photo" when the number is 1, expand this out into separate complete sentences line, "You have one photo." and "You have {number} photos.", like this:'),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have one photo.\n')),Object(o.b)("h2",{id:"avoid-tiny-fonts"},"Avoid Tiny Fonts"),Object(o.b)("p",null,"Font sizes under 10 pixels can be difficult to read in some languages, especially Chinese and Japanese."),Object(o.b)("h2",{id:"dont-hardcode-punctuation"},"Don't Hardcode Punctuation"),Object(o.b)("p",null,"Different languages use different punctuation symbols; for example, Chinese has two different comma characters that are used in different contexts. In general if you allow translators to translate complete sentences (including periods and commas) this won't be as big an issue for you."),Object(o.b)("p",null,"So you ",Object(o.b)("strong",{parentName:"p"},"should")," include the punctuation within the fbt tags:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have mail.\n')),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Don't")," exclude it from the tags:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have mail.\n')),Object(o.b)("p",null,"Japanese translators, among others, will want to use their language's end-of-sentence character, which is not an English-style period."),Object(o.b)("p",null,"Similarly, you ",Object(o.b)("strong",{parentName:"p"},"should")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'Favorite color: \n')),Object(o.b)("p",null,"And ",Object(o.b)("strong",{parentName:"p"},"not")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'Favorite color: \n')),Object(o.b)("p",null,"Including the colon as part of the translatable string means translators can substitute another punctuation mark if applicable, or can insert whitespace between the text and the colon (as is done in French, for example.)"),Object(o.b)("h2",{id:"using-icons-instead-of-images-with-text"},"Using Icons Instead of Images with Text"),Object(o.b)("p",null,'Using icons rather than images with prerendered text can sometimes save you the trouble of having to generate your graphics in different languages. But be aware that some symbols are culture-specific and may not mean the same thing to people in different countries -- for example, a hand with a raised thumb indicates "good" in some cultures but is an obscene gesture in others. An icon whose meaning is obscure is actually worse than using untranslated text, since the latter can at least be looked up in a dictionary as a last resort.'),Object(o.b)("p",null,"Source: ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices"}),"http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices")))}b.isMDXComponent=!0},87:function(e,t,a){"use strict";a.d(t,"a",(function(){return p})),a.d(t,"b",(function(){return h}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=r.a.createContext({}),b=function(e){var t=r.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=b(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=b(a),d=n,h=p["".concat(s,".").concat(d)]||p[d]||u[d]||o;return a?r.a.createElement(h,i(i({ref:t},c),{},{components:a})):r.a.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,s=new Array(o);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var c=2;c")," in between, split them up into two translatable phrases. Otherwise translators will be able to mess with your markup and the results may not be what you expect."),Object(o.b)("p",null,"However, if you really want to use a ",Object(o.b)("inlineCode",{parentName:"p"},"
"),", we recommend doing it this way:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'\n first line
\n second line\n last line.\n
\n')),Object(o.b)("h2",{id:"use-css-instead-of-markup"},"Use CSS instead of Markup"),Object(o.b)("p",null,'Use CSS rather than markup to confine text to particular parts of the page. (See also the next item.) For example, if you have the text "Next Page" and you want each word on a separate line, put it in a with a maximum width rather than putting a tag in between the two words. Don\'t split the text into separately translatable units since it will prevent translators from changing word order if needed.'),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Don't")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),'fbt("Next
Page", "...")\n')),Object(o.b)("p",null,"Because a translator may ignore your formatting."),Object(o.b)("p",null,"And ",Object(o.b)("strong",{parentName:"p"},"don't")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),'fbt("Next", "...") . \'
\' . fbt("Page", "...");\n')),Object(o.b)("p",null,'If a language needs the word for "Page" to come before the word for "Next", it is impossible to translate correctly.'),Object(o.b)("p",null,"Rather, do ",Object(o.b)("strong",{parentName:"p"},"this"),":"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'
\' . fbt("Next Page", "...") . \'
\n')),Object(o.b)("p",null,"With appropriate CSS, the browser will word-wrap the string appropriately."),Object(o.b)("h2",{id:"avoid-layouts-relying-on-precise-sizing"},"Avoid Layouts Relying on Precise Sizing"),Object(o.b)("p",null,"Try not to use layouts that depend on the precise onscreen sizes of pieces of text in the original language. For any piece of text, in some languages it is likely to be shorter and in some it will be longer (sometimes significantly so in either direction.) If you have sized your user interface elements such that your text just barely fits, your application will probably not work well in a language with longer words."),Object(o.b)("h2",{id:"avoid-long-pieces-of-text"},"Avoid Long Pieces of Text"),Object(o.b)("p",null,"Large chunks of text like multiple paragraphs should be split up among multiple ",Object(o.b)("inlineCode",{parentName:"p"},"")," tags for ease of translation. Similarly, a single long paragraph should be broken up into several smaller paragraphs. This allows translation voting to more precisely pinpoint problems."),Object(o.b)("h2",{id:"assume-word-order-will-change"},"Assume Word Order Will Change"),Object(o.b)("p",null,"Assume that a translator will have to change the word order of every sentence. In particular, don't try to assemble sentences from smaller separately-translatable fragments, because even if you provide excellent descriptions, it's likely you will make it impossible for a translator to come up with a grammatically correct translation. Instead, expand all the possible cases out into separate translatable sentences and choose a complete sentence in your code."),Object(o.b)("p",null,"Here's a simple example to ",Object(o.b)("strong",{parentName:"p"},"avoid"),":"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You are eating at home.\nYou are eating at a restaurant.\n')),Object(o.b)("p",null,'Here the code is printing the beginning of the sentence, which doesn\'t change in English, then choosing one of two possible endings. This is impossible to translate correctly to Chinese, where the phrases for "at home" and "at a restaurant" need to come before the word for "eating".'),Object(o.b)("p",null,"In this case, use separate phrases:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You are eating at home.\nYou are eating at a restaurant.\n')),Object(o.b)("p",null,"Here the code chooses one of two complete sentences. The translator can adjust the word order of both sentences as needed, and these can be correctly translated into every language."),Object(o.b)("p",null,'Along the lines of the previous item, if you have a phrase like "You have {number} photos." where you use the word "photo" when the number is 1, expand this out into separate complete sentences line, "You have one photo." and "You have {number} photos.", like this:'),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have one photo.\n')),Object(o.b)("h2",{id:"avoid-tiny-fonts"},"Avoid Tiny Fonts"),Object(o.b)("p",null,"Font sizes under 10 pixels can be difficult to read in some languages, especially Chinese and Japanese."),Object(o.b)("h2",{id:"dont-hardcode-punctuation"},"Don't Hardcode Punctuation"),Object(o.b)("p",null,"Different languages use different punctuation symbols; for example, Chinese has two different comma characters that are used in different contexts. In general if you allow translators to translate complete sentences (including periods and commas) this won't be as big an issue for you."),Object(o.b)("p",null,"So you ",Object(o.b)("strong",{parentName:"p"},"should")," include the punctuation within the fbt tags:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have mail.\n')),Object(o.b)("p",null,Object(o.b)("strong",{parentName:"p"},"Don't")," exclude it from the tags:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'You have mail.\n')),Object(o.b)("p",null,"Japanese translators, among others, will want to use their language's end-of-sentence character, which is not an English-style period."),Object(o.b)("p",null,"Similarly, you ",Object(o.b)("strong",{parentName:"p"},"should")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'Favorite color: \n')),Object(o.b)("p",null,"And ",Object(o.b)("strong",{parentName:"p"},"not")," do this:"),Object(o.b)("pre",null,Object(o.b)("code",Object(n.a)({parentName:"pre"},{className:"language-html"}),'Favorite color: \n')),Object(o.b)("p",null,"Including the colon as part of the translatable string means translators can substitute another punctuation mark if applicable, or can insert whitespace between the text and the colon (as is done in French, for example.)"),Object(o.b)("h2",{id:"using-icons-instead-of-images-with-text"},"Using Icons Instead of Images with Text"),Object(o.b)("p",null,'Using icons rather than images with prerendered text can sometimes save you the trouble of having to generate your graphics in different languages. But be aware that some symbols are culture-specific and may not mean the same thing to people in different countries -- for example, a hand with a raised thumb indicates "good" in some cultures but is an obscene gesture in others. An icon whose meaning is obscure is actually worse than using untranslated text, since the latter can at least be looked up in a dictionary as a last resort.'),Object(o.b)("p",null,"Source: ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices"}),"http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices")))}b.isMDXComponent=!0},87:function(e,t,a){"use strict";a.d(t,"a",(function(){return p})),a.d(t,"b",(function(){return h}));var n=a(0),r=a.n(n);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=r.a.createContext({}),b=function(e){var t=r.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=b(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=b(a),d=n,h=p["".concat(s,".").concat(d)]||p[d]||u[d]||o;return a?r.a.createElement(h,i(i({ref:t},c),{},{components:a})):r.a.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,s=new Array(o);s[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var c=2;c")," & translate strings during script execution."),Object(o.b)("p",null,"Upon successful execution, the output of the ",Object(o.b)("inlineCode",{parentName:"p"},"/storage/fbt/.source_strings.json")," will be in the following format:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'[\n "phrases": [\n [\n "hashToText": [\n : ,\n ...\n ],\n "type": "text" | "table",\n "desc": ,\n "project": ,\n "jsfbt": string | [\'t\' =>
, \'m\' => ],\n ]\n ],\n "childParentMappings" => [\n : \n ]\n}\n')),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"phrases")," here represents all the ",Object(o.b)("em",{parentName:"p"},"source")," information we need to\nprocess and produce an ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," callsite's final payload. When\ncombined with corresponding translations to each ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," entry we\ncan produce the translated payloads ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_()")," expects."),Object(o.b)("p",null,"When it comes to moving from source text to translations, what is most\npertinent is the ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," payload containing all relevant texts\nwith their identifying hash. You can choose ",Object(o.b)("inlineCode",{parentName:"p"},"md5")," or ",Object(o.b)("inlineCode",{parentName:"p"},"tiger")," hash module. It defaults to md5."),Object(o.b)("h3",{id:"a-note-on-hashes"},"A note on hashes"),Object(o.b)("p",null,"In the FBT framework, there are 2 main places we uses hashes for\nidentification: ",Object(o.b)("strong",{parentName:"p"},"text")," and ",Object(o.b)("strong",{parentName:"p"},"fbt callsite"),". The ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," mapping\nabove represents the hash of the ",Object(o.b)("strong",{parentName:"p"},"text")," and its ",Object(o.b)("strong",{parentName:"p"},"description"),". This is used\nwhen ",Object(o.b)("em",{parentName:"p"},"building")," the translated payloads."),Object(o.b)("p",null,"The hash of the callsite (defaulting to ",Object(o.b)("inlineCode",{parentName:"p"},"jenkins")," hash) is used to\nlook up the payload in\n",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/richardDobron/fbt/blob/main/src/fbt/Runtime/FbtTranslations.php"}),Object(o.b)("inlineCode",{parentName:"a"},"FbtTranslations")),".\nThis is basically the hash of the object you see in ",Object(o.b)("inlineCode",{parentName:"p"},"jsfbt"),"."),Object(o.b)("p",null,"See ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/translating"}),"Translating FBTs")," for getting your translations in\nthe right format."))}s.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var b=r.a.createContext({}),s=function(e){var t=r.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),p=s(n),u=a,m=p["".concat(i,".").concat(u)]||p[u]||d[u]||o;return n?r.a.createElement(m,c(c({ref:t},b),{},{components:n})):r.a.createElement(m,c({ref:t},b))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var b=2;b")," & translate strings during script execution."),Object(o.b)("p",null,"Upon successful execution, the output of the ",Object(o.b)("inlineCode",{parentName:"p"},"/your/path/to/fbt/.source_strings.json")," will be in the following format:"),Object(o.b)("pre",null,Object(o.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'[\n "phrases": [\n [\n "hashToText": [\n : ,\n ...\n ],\n "type": "text" | "table",\n "desc": ,\n "project": ,\n "jsfbt": string | [\'t\' =>
, \'m\' => ],\n ]\n ],\n "childParentMappings" => [\n : \n ]\n}\n')),Object(o.b)("p",null,Object(o.b)("inlineCode",{parentName:"p"},"phrases")," here represents all the ",Object(o.b)("em",{parentName:"p"},"source")," information we need to\nprocess and produce an ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," callsite's final payload. When\ncombined with corresponding translations to each ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," entry we\ncan produce the translated payloads ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_()")," expects."),Object(o.b)("p",null,"When it comes to moving from source text to translations, what is most\npertinent is the ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," payload containing all relevant texts\nwith their identifying hash. You can choose ",Object(o.b)("inlineCode",{parentName:"p"},"md5")," or ",Object(o.b)("inlineCode",{parentName:"p"},"tiger")," hash module. It defaults to md5."),Object(o.b)("h3",{id:"a-note-on-hashes"},"A note on hashes"),Object(o.b)("p",null,"In the FBT framework, there are 2 main places we uses hashes for\nidentification: ",Object(o.b)("strong",{parentName:"p"},"text")," and ",Object(o.b)("strong",{parentName:"p"},"fbt callsite"),". The ",Object(o.b)("inlineCode",{parentName:"p"},"hashToText")," mapping\nabove represents the hash of the ",Object(o.b)("strong",{parentName:"p"},"text")," and its ",Object(o.b)("strong",{parentName:"p"},"description"),". This is used\nwhen ",Object(o.b)("em",{parentName:"p"},"building")," the translated payloads."),Object(o.b)("p",null,"The hash of the callsite (defaulting to ",Object(o.b)("inlineCode",{parentName:"p"},"jenkins")," hash) is used to\nlook up the payload in\n",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://github.com/richardDobron/fbt/blob/main/src/fbt/Runtime/FbtTranslations.php"}),Object(o.b)("inlineCode",{parentName:"a"},"FbtTranslations")),".\nThis is basically the hash of the object you see in ",Object(o.b)("inlineCode",{parentName:"p"},"jsfbt"),"."),Object(o.b)("p",null,"See ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/translating"}),"Translating FBTs")," for getting your translations in\nthe right format."))}p.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var b=r.a.createContext({}),p=function(e){var t=r.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return r.a.createElement(b.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),s=p(n),u=a,m=s["".concat(i,".").concat(u)]||s[u]||d[u]||o;return n?r.a.createElement(m,c(c({ref:t},b),{},{components:n})):r.a.createElement(m,c({ref:t},b))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var b=2;b=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(b=0;b=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var j=n.a.createContext({}),p=function(t){var e=n.a.useContext(j),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},d=function(t){var e=p(t.components);return n.a.createElement(j.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.a.createElement(n.a.Fragment,{},e)}},i=n.a.forwardRef((function(t,e){var a=t.components,b=t.mdxType,r=t.originalType,l=t.parentName,j=O(t,["components","mdxType","originalType","parentName"]),d=p(a),i=b,N=d["".concat(l,".").concat(i)]||d[i]||m[i]||r;return a?n.a.createElement(N,c(c({ref:e},j),{},{components:a})):n.a.createElement(N,c({ref:e},j))}));function N(t,e){var a=arguments,b=e&&e.mdxType;if("string"==typeof t||b){var r=a.length,l=new Array(r);l[0]=i;var c={};for(var O in e)hasOwnProperty.call(e,O)&&(c[O]=e[O]);c.originalType=t,c.mdxType="string"==typeof t?t:b,l[1]=c;for(var j=2;j=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(b=0;b=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var j=n.a.createContext({}),p=function(t){var e=n.a.useContext(j),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},d=function(t){var e=p(t.components);return n.a.createElement(j.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.a.createElement(n.a.Fragment,{},e)}},i=n.a.forwardRef((function(t,e){var a=t.components,b=t.mdxType,r=t.originalType,l=t.parentName,j=O(t,["components","mdxType","originalType","parentName"]),d=p(a),i=b,N=d["".concat(l,".").concat(i)]||d[i]||m[i]||r;return a?n.a.createElement(N,c(c({ref:e},j),{},{components:a})):n.a.createElement(N,c({ref:e},j))}));function N(t,e){var a=arguments,b=e&&e.mdxType;if("string"==typeof t||b){var r=a.length,l=new Array(r);l[0]=i;var c={};for(var O in e)hasOwnProperty.call(e,O)&&(c[O]=e[O]);c.originalType=t,c.mdxType="string"==typeof t?t:b,l[1]=c;for(var j=2;j|% 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 Kopba4lm7(~a^VF4 literal 0 HcmV?d00001 diff --git a/assets/images/phrases-eb4a116c58df459c3e9177f1bff9b1b0.png b/assets/images/phrases-eb4a116c58df459c3e9177f1bff9b1b0.png new file mode 100644 index 0000000000000000000000000000000000000000..e11c692fd2ba45da9dc4be3e932fe3f830b4f7a4 GIT binary patch literal 53593 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�J5R;+Toze3J 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 KO@*}Kr~dhA|*g5(t>mZMd>y=gd#O`LXj3w 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%0AoTb$1i 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∋vze| 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

MUL-Jbl?43(=@1sabxSC0-5OR^5!M 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 2OBiJIM*ENo6wFL6N?eM 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�WK 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 z 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%0AU+K*C#s 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 'Button to post a comment',\n]);\n")),Object(a.b)("h2",{id:"runtime-api"},"Runtime API"),Object(a.b)("p",null,"To use the strings at runtime, there is the ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::c(...)")," function call or the ",Object(a.b)("inlineCode",{parentName:"p"},'...')," JSX API."),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},Object(a.b)("em",{parentName:"strong"},"NOTE: The transform will throw if it encounters a common string "),"not",Object(a.b)("em",{parentName:"strong"}," in the map provided."))),Object(a.b)("p",null,"E.g."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"\n")),Object(a.b)("p",null,"or"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-html"}),'\n')),Object(a.b)("p",null,"Both examples above function as if the engineer had also included the description with the text."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-js"}),' Photo\n')),Object(a.b)("p",null,"All of these instances would produce the same identifying hash at collection time, and thus coalesce into the same translation."))}l.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var b=o.a.createContext({}),l=function(e){var t=o.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=l(e.components);return o.a.createElement(b.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},u=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),s=l(n),u=r,f=s["".concat(i,".").concat(u)]||s[u]||m[u]||a;return n?o.a.createElement(f,c(c({ref:t},b),{},{components:n})):o.a.createElement(f,c({ref:t},b))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var b=2;b 'Button to post a comment',\n]);\n")),Object(a.b)("h2",{id:"runtime-api"},"Runtime API"),Object(a.b)("p",null,"To use the strings at runtime, there is the ",Object(a.b)("inlineCode",{parentName:"p"},"fbt::c(...)")," function call or the ",Object(a.b)("inlineCode",{parentName:"p"},'...')," JSX API."),Object(a.b)("p",null,Object(a.b)("strong",{parentName:"p"},Object(a.b)("em",{parentName:"strong"},"NOTE: The transform will throw if it encounters a common string "),"not",Object(a.b)("em",{parentName:"strong"}," in the map provided."))),Object(a.b)("p",null,"E.g."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"\n")),Object(a.b)("p",null,"or"),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-html"}),'\n')),Object(a.b)("p",null,"Both examples above function as if the engineer had also included the description with the text."),Object(a.b)("pre",null,Object(a.b)("code",Object(r.a)({parentName:"pre"},{className:"language-js"}),' Photo\n')),Object(a.b)("p",null,"All of these instances would produce the same identifying hash at collection time, and thus coalesce into the same translation."))}l.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return f}));var r=n(0),o=n.n(r);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var b=o.a.createContext({}),l=function(e){var t=o.a.useContext(b),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=l(e.components);return o.a.createElement(b.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},u=o.a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),s=l(n),u=r,f=s["".concat(i,".").concat(u)]||s[u]||m[u]||a;return n?o.a.createElement(f,c(c({ref:t},b),{},{components:n})):o.a.createElement(f,c({ref:t},b))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var b=2;b 'desc'], ...]")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"fbtCommonPath")," ",Object(b.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"null"),") Path to the common string's module."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"path")," ",Object(b.b)("inlineCode",{parentName:"li"},"string"),": Cache storage path for generated translations & source strings.")),Object(b.b)("p",null,"Below are the less important parameters."),Object(b.b)("ul",null,Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"collectFbt")," ",Object(b.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"true"),") Collect fbt instances from the source and store them to a JSON file."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"prettyPrint")," ",Object(b.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"true"),") Pretty print source strings in a JSON file."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"hash_module")," ",Object(b.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"md5"),") Hash module."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"md5_digest")," ",Object(b.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"hex"),") MD5 digest."),Object(b.b)("li",{parentName:"ul"},Object(b.b)("strong",{parentName:"li"},"driver")," ",Object(b.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(b.b)("inlineCode",{parentName:"li"},"json"),") Currently, only JSON storage is supported.")),Object(b.b)("h2",{id:"-intlinterface"},"\ud83d\ude4b IntlInterface"),Object(b.b)("p",null,"Optional implementation of IntlInterface on UserDTO."),Object(b.b)("p",null,"Example code:"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"locale;\n }\n\n public static function getGender(): int\n {\n if ($this->gender === 'male') {\n return IntlVariations::GENDER_MALE;\n }\n\n if ($this->gender === 'female') {\n return IntlVariations::GENDER_FEMALE;\n }\n\n return IntlVariations::GENDER_UNKNOWN;\n }\n}\n")),Object(b.b)("p",null,"After implementation, set ",Object(b.b)("inlineCode",{parentName:"p"},"viewerContext"),":"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"$loggedUserDto = ...;\n\n\\fbt\\FbtConfig::set('viewerContext', $loggedUserDto)\n")),Object(b.b)("h2",{id:"--commands"},"\ud83d\ude80 Commands"),Object(b.b)("ol",null,Object(b.b)("li",{parentName:"ol"},"This command collects FBT strings across whole application in PHP files.")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php ./vendor/bin/fbt collect-fbts --path=./path/to/fbt/ --src=./path/to/project/\n")),Object(b.b)("p",null,"Read more about ",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"FBTs extracting"),"."),Object(b.b)("ol",{start:2},Object(b.b)("li",{parentName:"ol"},"This command generates the missing translation hashes from collected source strings.")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php ./vendor/bin/fbt generate-translations --source=./path/to/fbt/.source_strings.json --translations=./path/to/fbt/*.json\n")),Object(b.b)("ol",{start:3},Object(b.b)("li",{parentName:"ol"},"This command creates translation payloads stored in JSON file.")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php ./vendor/bin/fbt translate --path=./path/to/fbt/ --translations=./path/to/fbt/*.json\n")),Object(b.b)("p",null,"Read more about ",Object(b.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/translating"}),"translating"),"."),Object(b.b)("h2",{id:"-api"},"\ud83d\udcd8 API"),Object(b.b)("ul",null,Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/api_intro"}),"fbt(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::param(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/enums"}),"fbt::enum(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::name(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/plurals"}),"fbt::plural(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/pronouns"}),"fbt::pronoun(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::sameParam(...);")),Object(b.b)("li",{parentName:"ul"},Object(b.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/common"}),"fbt::c(...);"))),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"echo fbt('You just friended ' . \\fbt\\fbt::name('name', 'Sarah', 2 /* gender */), 'names');\n")),Object(b.b)("h2",{id:"-example-usage"},"\ud83c\udfa8 Example Usage"),Object(b.b)("h3",{id:"fbttransform--endfbttransform"},"fbtTransform() & endFbtTransform()"),Object(b.b)("p",null,Object(b.b)("strong",{parentName:"p"},"fbtTransform()"),": ",Object(b.b)("em",{parentName:"p"},"This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.")),Object(b.b)("p",null,Object(b.b)("strong",{parentName:"p"},"endFbtTransform()"),": ",Object(b.b)("em",{parentName:"p"},"This function will send the contents of the topmost output buffer (if any) and turn this output buffer off.")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'\n ...\n \n Go on an\n \n awesome vacation\n \n \n ...\n\n\n// result: Go on an awesome vacation\n')),Object(b.b)("h3",{id:"fbt"},"fbt()"),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt(\n [\n 'Go on an ',\n \\fbt\\createElement('a', \\fbt\\createElement('span', 'awesome'), ['href' => '#']),\n ' vacation',\n ],\n 'It\\'s simple',\n ['project' => \"foo\"]\n)\n\n// result: Go on an awesome vacation\n")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt('You just friended ' . \\fbt\\fbt::name('name', 'Sarah', 2 /* gender */), 'names')\n\n// result: You just friended Sarah\n")),Object(b.b)("pre",null,Object(b.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt('A simple string', 'It\\'s simple', ['project' => \"foo\"])\n\n// result: A simple string\n")))}s.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return f}));var a=n(0),r=n.n(a);function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),s=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,b=e.originalType,o=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=s(n),u=a,f=p["".concat(o,".").concat(u)]||p[u]||m[u]||b;return n?r.a.createElement(f,l(l({ref:t},c),{},{components:n})):r.a.createElement(f,l({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var b=n.length,o=new Array(b);o[0]=u;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var c=2;c 'desc'], ...]")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"fbtCommonPath")," ",Object(l.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"null"),") Path to the common string's module.")),Object(l.b)("p",null,"Below are the less important parameters."),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"logger")," ",Object(l.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"false"),") Logging of string impressions."),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"collectFbt")," ",Object(l.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"true"),") Collect fbt instances from the source and store them in a database or a JSON file."),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"hash_module")," ",Object(l.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"md5"),") Hash module."),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"md5_digest")," ",Object(l.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"hex"),") MD5 digest."),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"driver")," ",Object(l.b)("inlineCode",{parentName:"li"},"string"),": (Default: ",Object(l.b)("inlineCode",{parentName:"li"},"json"),") Driver."),Object(l.b)("li",{parentName:"ul"},Object(l.b)("strong",{parentName:"li"},"path")," ",Object(l.b)("inlineCode",{parentName:"li"},"string"),": Cache storage path for generated translations & source strings.")),Object(l.b)("h2",{id:"-intlinterface"},"\ud83d\ude4b IntlInterface"),Object(l.b)("p",null,"Optional implementation of IntlInterface on User Model."),Object(l.b)("p",null,"Example code:"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"locale;\n }\n\n public function getGender(): int\n {\n if ($this->gender === 'male') {\n return IntlVariations::GENDER_MALE;\n }\n\n if ($this->gender === 'female') {\n return IntlVariations::GENDER_FEMALE;\n }\n\n return IntlVariations::GENDER_UNKNOWN;\n }\n}\n")),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"Note:")," ",Object(l.b)("inlineCode",{parentName:"p"},"auth()->user()")," will be attached to ",Object(l.b)("inlineCode",{parentName:"p"},"viewerContext")," automatically."),Object(l.b)("h2",{id:"-artisan-commands"},"\ud83d\ude80 Artisan Commands"),Object(l.b)("ol",null,Object(l.b)("li",{parentName:"ol"},"This command collects FBT strings across whole application in PHP files.")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php artisan fbt:collect-fbts\n")),Object(l.b)("p",null,"Read more about ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/collection"}),"FBTs extracting"),"."),Object(l.b)("ol",{start:2},Object(l.b)("li",{parentName:"ol"},"This command generates the missing translation hashes from collected source strings.")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php artisan fbt:generate-translations\n")),Object(l.b)("ol",{start:3},Object(l.b)("li",{parentName:"ol"},"This command creates translation payloads stored in database/JSON file.")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-shell"}),"php artisan fbt:translate\n")),Object(l.b)("p",null,"Read more about ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"/fbt/docs/translating"}),"translating"),"."),Object(l.b)("h2",{id:"-api"},"\ud83d\udcd8 API"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/api_intro"}),"fbt(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::param(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/enums"}),"fbt::enum(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::name(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/plurals"}),"fbt::plural(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/pronouns"}),"fbt::pronoun(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/params"}),"fbt::sameParam(...);")),Object(l.b)("li",{parentName:"ul"},Object(l.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/common"}),"fbt::c(...);"))),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"echo fbt('You just friended ' . \\fbt\\fbt::name('name', 'Sarah', 2 /* gender */), 'names');\n")),Object(l.b)("h2",{id:"-blade-directives"},"\ud83c\udfa8 Blade Directives"),Object(l.b)("h3",{id:"fbttransform--endfbttransform"},"@fbtTransform & @endFbtTransform"),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"@fbtTransform"),": ",Object(l.b)("em",{parentName:"p"},"This directive will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.")),Object(l.b)("p",null,Object(l.b)("strong",{parentName:"p"},"@endFbtTransform"),": ",Object(l.b)("em",{parentName:"p"},"This directive will send the contents of the topmost output buffer (if any) and turn this output buffer off.")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'@fbtTransform\n ...\n \n Go on an\n \n awesome vacation\n \n \n ...\n@endFbtTransform\n\n// result: Go on an awesome vacation\n')),Object(l.b)("h3",{id:"fbt"},"@fbt"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"@fbt(\n [\n 'Go on an ',\n \\fbt\\createElement('a', \\fbt\\createElement('span', 'awesome'), ['href' => '#']),\n ' vacation',\n ],\n 'It\\'s simple',\n ['project' => \"foo\"]\n)\n\n// result: Go on an awesome vacation\n")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"@fbt('You just friended ' . \\fbt\\fbt::name('name', 'Sarah', 2 /* gender */), 'names')\n\n// result: You just friended Sarah\n")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"@fbt('A simple string', 'It\\'s simple', ['project' => \"foo\"])\n\n// result: A simple string\n")),Object(l.b)("h3",{id:"encoding-in-blade"},"Encoding in Blade"),Object(l.b)("p",null,"using ",Object(l.b)("inlineCode",{parentName:"p"},"\\fbt\\LaravelPackage\\fbt")," function"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"$htmlText = \\fbt\\LaravelPackage\\fbt('STRONG text', 'HTML text');\n\n{{ $htmlText }}\n// result: STRONG text\n\n{!! $htmlText !!}\n// result: STRONG text\n")),Object(l.b)("p",null,"using ",Object(l.b)("inlineCode",{parentName:"p"},"\\fbt")," function"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"$htmlText = \\fbt('STRONG text', 'HTML text');\n\n{{ $htmlText }}\n// result: &lt;strong&gt;STRONG&lt;/strong&gt; text\n\n{!! $htmlText !!}\n// result: STRONG text\n")),Object(l.b)("h3",{id:"phpstorm-integration"},"PhpStorm integration"),Object(l.b)("p",null,"The PhpStorm IDE can recognize the custom Blade directive if is set in ",Object(l.b)("em",{parentName:"p"},"File > Settings > Languages & Frameworks > PHP >\nBlade > Directives")," by adding a new one with the following properties:"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Name: fbt"),Object(l.b)("li",{parentName:"ul"},"Has parameters: yes"),Object(l.b)("li",{parentName:"ul"},"Prefix: ")),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Name: fbs"),Object(l.b)("li",{parentName:"ul"},"Has parameters: yes"),Object(l.b)("li",{parentName:"ul"},"Prefix: ")),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Name: fbtTransform"),Object(l.b)("li",{parentName:"ul"},"Has parameters: no")),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Name: endFbtTransform"),Object(l.b)("li",{parentName:"ul"},"Has parameters: no")),Object(l.b)("p",null,Object(l.b)("img",{alt:"Blade directives settings in PhpStorm",src:n(148).default})))}s.isMDXComponent=!0},87:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return d}));var a=n(0),r=n.n(a);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),s=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,b=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=s(n),u=a,d=p["".concat(b,".").concat(u)]||p[u]||m[u]||l;return n?r.a.createElement(d,i(i({ref:t},c),{},{components:n})):r.a.createElement(d,i({ref:t},c))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,b=new Array(l);b[0]=u;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:a,b[1]=i;for(var c=2;c=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),p=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},d=function(e){var n=p(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},b=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(t),b=r,f=d["".concat(i,".").concat(b)]||d[b]||u[b]||o;return t?a.a.createElement(f,c(c({ref:n},s),{},{components:t})):a.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=b;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=a.a.createContext({}),p=function(e){var n=a.a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},d=function(e){var n=p(e.components);return a.a.createElement(s.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},b=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(t),b=r,f=d["".concat(i,".").concat(b)]||d[b]||u[b]||o;return t?a.a.createElement(f,c(c({ref:n},s),{},{components:t})):a.a.createElement(f,c({ref:n},s))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=b;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s\n You have\n \n a like\n \n on your\n \n photo\n .\n\n')),Object(o.b)("p",null,"OR"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"fbt(\n 'You have ' .\n fbt::plural('a like', getLikeCount(), [\n 'name' => 'number of likes',\n 'showCount' => 'ifMany',\n 'many' => 'likes',\n ]) .\n ' on your ' .\n fbt::plural('photo', getPhotoCount()) . '.',\n 'plural example',\n);\n")),Object(o.b)("p",null,"Both the above examples generate the following during ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"collection"}),"collection"),"."),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{}),'"phrases": [\n {\n "hashToText": {\n "90d6ec6e0a0483edd5e9754592a4ac61": "You have {number of likes} likes on your photos.",\n "158a5d707da85b56353cdfc05c92f4e9": "You have {number of likes} likes on your photo.",\n "421273e69049f26d76c70fb33c6a9aea": "You have a like on your photos.",\n "279c992f92809657b1240d1c955615a3": "You have a like on your photo."\n },\n "type": "table",\n "desc": "plural example",\n ...\n }\n]\n')),Object(o.b)("h4",{id:"required-arguments"},"Required arguments:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"singular phrase")," ",Object(o.b)("inlineCode",{parentName:"li"},"string"),": HTML child in ",Object(o.b)("inlineCode",{parentName:"li"},"")," and argument 1 in ",Object(o.b)("inlineCode",{parentName:"li"},"fbt::plural")),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"count")," ",Object(o.b)("inlineCode",{parentName:"li"},"number"),": ",Object(o.b)("inlineCode",{parentName:"li"},"count")," in ",Object(o.b)("inlineCode",{parentName:"li"},"")," and argument 2 in ",Object(o.b)("inlineCode",{parentName:"li"},"fbt::plural"))),Object(o.b)("h4",{id:"optional-arguments"},"Optional arguments:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"many")," ",Object(o.b)("inlineCode",{parentName:"p"},"string"),": Represents the plural form of the string in English. Default is ",Object(o.b)("inlineCode",{parentName:"p"},"$singular . 's'"))),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"showCount")," ",Object(o.b)("inlineCode",{parentName:"p"},'"yes"|"no"|"ifMany"'),": Whether to show the ",Object(o.b)("inlineCode",{parentName:"p"},"{number}")," in the string.\n",Object(o.b)("em",{parentName:"p"},"Note that the singular phrase never has a token, but inlines to ",Object(o.b)("inlineCode",{parentName:"em"},"1"),". This is to account for languages like Hebrew for which showing the actual number isn't appropriate")),Object(o.b)("ul",{parentName:"li"},Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"no"'),": (",Object(o.b)("em",{parentName:"li"},"DEFAULT"),") Don't show the count"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"ifMany"'),": Show the count only in plural case"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"yes"'),": Show the count in all cases"))),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"name")," ",Object(o.b)("inlineCode",{parentName:"p"},"string"),": Name of the token where count shows up. (",Object(o.b)("em",{parentName:"p"},"Default"),": ",Object(o.b)("inlineCode",{parentName:"p"},'"number"'),")")),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"value")," ",Object(o.b)("inlineCode",{parentName:"p"},"mixed"),": For overriding the displayed ",Object(o.b)("inlineCode",{parentName:"p"},"number")))))}c.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return f}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var b=a.a.createContext({}),c=function(e){var n=a.a.useContext(b),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=c(e.components);return a.a.createElement(b.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),u=c(t),m=r,f=u["".concat(l,".").concat(m)]||u[m]||s[m]||o;return t?a.a.createElement(f,i(i({ref:n},b),{},{components:t})):a.a.createElement(f,i({ref:n},b))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,l=new Array(o);l[0]=m;var i={};for(var p in n)hasOwnProperty.call(n,p)&&(i[p]=n[p]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var b=2;b\n You have\n \n a like\n \n on your\n \n photo\n .\n\n')),Object(o.b)("p",null,"OR"),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{className:"language-php"}),"fbt(\n 'You have ' .\n fbt::plural('a like', getLikeCount(), [\n 'name' => 'number of likes',\n 'showCount' => 'ifMany',\n 'many' => 'likes',\n ]) .\n ' on your ' .\n fbt::plural('photo', getPhotoCount()) . '.',\n 'plural example',\n);\n")),Object(o.b)("p",null,"Both the above examples generate the following during ",Object(o.b)("a",Object(r.a)({parentName:"p"},{href:"collection"}),"collection"),"."),Object(o.b)("pre",null,Object(o.b)("code",Object(r.a)({parentName:"pre"},{}),'"phrases": [\n {\n "hashToText": {\n "90d6ec6e0a0483edd5e9754592a4ac61": "You have {number of likes} likes on your photos.",\n "158a5d707da85b56353cdfc05c92f4e9": "You have {number of likes} likes on your photo.",\n "421273e69049f26d76c70fb33c6a9aea": "You have a like on your photos.",\n "279c992f92809657b1240d1c955615a3": "You have a like on your photo."\n },\n "type": "table",\n "desc": "plural example",\n ...\n }\n]\n')),Object(o.b)("h4",{id:"required-arguments"},"Required arguments:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"singular phrase")," ",Object(o.b)("inlineCode",{parentName:"li"},"string"),": HTML child in ",Object(o.b)("inlineCode",{parentName:"li"},"")," and argument 1 in ",Object(o.b)("inlineCode",{parentName:"li"},"fbt::plural")),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"count")," ",Object(o.b)("inlineCode",{parentName:"li"},"number"),": ",Object(o.b)("inlineCode",{parentName:"li"},"count")," in ",Object(o.b)("inlineCode",{parentName:"li"},"")," and argument 2 in ",Object(o.b)("inlineCode",{parentName:"li"},"fbt::plural"))),Object(o.b)("h4",{id:"optional-arguments"},"Optional arguments:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"many")," ",Object(o.b)("inlineCode",{parentName:"p"},"string"),": Represents the plural form of the string in English. Default is ",Object(o.b)("inlineCode",{parentName:"p"},"$singular . 's'"))),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"showCount")," ",Object(o.b)("inlineCode",{parentName:"p"},'"yes"|"no"|"ifMany"'),": Whether to show the ",Object(o.b)("inlineCode",{parentName:"p"},"{number}")," in the string.\n",Object(o.b)("em",{parentName:"p"},"Note that the singular phrase never has a token, but inlines to ",Object(o.b)("inlineCode",{parentName:"em"},"1"),". This is to account for languages like Hebrew for which showing the actual number isn't appropriate")),Object(o.b)("ul",{parentName:"li"},Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"no"'),": (",Object(o.b)("em",{parentName:"li"},"DEFAULT"),") Don't show the count"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"ifMany"'),": Show the count only in plural case"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},'"yes"'),": Show the count in all cases"))),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"name")," ",Object(o.b)("inlineCode",{parentName:"p"},"string"),": Name of the token where count shows up. (",Object(o.b)("em",{parentName:"p"},"Default"),": ",Object(o.b)("inlineCode",{parentName:"p"},'"number"'),")")),Object(o.b)("li",{parentName:"ul"},Object(o.b)("p",{parentName:"li"},Object(o.b)("strong",{parentName:"p"},"value")," ",Object(o.b)("inlineCode",{parentName:"p"},"mixed"),": For overriding the displayed ",Object(o.b)("inlineCode",{parentName:"p"},"number")))))}c.isMDXComponent=!0},87:function(e,n,t){"use strict";t.d(n,"a",(function(){return u})),t.d(n,"b",(function(){return f}));var r=t(0),a=t.n(r);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var b=a.a.createContext({}),c=function(e){var n=a.a.useContext(b),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},u=function(e){var n=c(e.components);return a.a.createElement(b.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return a.a.createElement(a.a.Fragment,{},n)}},m=a.a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,b=p(e,["components","mdxType","originalType","parentName"]),u=c(t),m=r,f=u["".concat(l,".").concat(m)]||u[m]||s[m]||o;return t?a.a.createElement(f,i(i({ref:n},b),{},{components:t})):a.a.createElement(f,i({ref:n},b))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,l=new Array(o);l[0]=m;var i={};for(var p in n)hasOwnProperty.call(n,p)&&(i[p]=n[p]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var b=2;b - -The FBT API | FBT for PHP - - - - - - + +The FBT API | FBT for Laravel + + + + + + - - + +

-

The FBT API

The fbt framework has two (mostly) equivalent APIs: A HTML-style <fbt> tag API and a "vanilla" or "functional" fbt(...) API that more closely resembles standard PHP. In general, you can compose your translatable text in either format. As the following example illustrates, the child of the <fbt> tag shows up as the first argument to fbt and any attributes show up in the optional third argument parameter. The desc (text description) argument is the exception to this rule because it is a required parameter and attribute in fbt(...) and <fbt> respectively.

Let's start with a simple example:

HTML <fbt /> API

NOTE: You can use this method only if you use the fbtTransform + endFbtTransform functions or by using FbtTransform::transform(...)

<fbt project="foo" desc="a simple example">
Hello, World!
</fbt>

Required attributes

  • desc: description of text to be translated

Optional attributes

  • author string: Text author
  • project string: Project to which the text belongs
  • preserveWhitespace bool: (Default: false)
    • FBT normally consolidates whitespace down to one space (' ').
    • Turn this off by setting this to true
  • subject IntlVariations::GENDER_*: Pass an implicit subject gender to a partially formed text
  • common bool: Use a "common" string repository
  • doNotExtract bool: Informs collection to skip this string (useful for tests/mocks)

"Vanilla" fbt(...) API

fbt('Hello, World', 'a simple example', ['project' => "foo"])

Required arguments

  1. Text to translate
  2. Description of text to be translated

Optional parameters

  1. Options object - same optional arguments as the <fbt> attributes above

Docblock defaults

Defaults for the above optional attributes may be provided in the +

The FBT API

The fbt framework has two (mostly) equivalent APIs: A HTML-style <fbt> tag API and a "vanilla" or "functional" fbt(...) API that more closely resembles standard PHP. In general, you can compose your translatable text in either format. As the following example illustrates, the child of the <fbt> tag shows up as the first argument to fbt and any attributes show up in the optional third argument parameter. The desc (text description) argument is the exception to this rule because it is a required parameter and attribute in fbt(...) and <fbt> respectively.

Let's start with a simple example:

HTML <fbt /> API

NOTE: You can use this method in the blade only if you use the @fbtTransform + @endFbtTransform directives or by using FbtTransform::transform(...)

<fbt project="foo" desc="a simple example">
Hello, World!
</fbt>

Required attributes

  • desc: description of text to be translated

Optional attributes

  • author string: Text author
  • project string: Project to which the text belongs
  • preserveWhitespace bool: (Default: false)
    • FBT normally consolidates whitespace down to one space (' ').
    • Turn this off by setting this to true
  • subject IntlVariations::GENDER_*: Pass an implicit subject gender to a partially formed text
  • common bool: Use a "common" string repository
  • doNotExtract bool: Informs collection to skip this string (useful for tests/mocks)

"Vanilla" fbt(...) API

fbt('Hello, World', 'a simple example', ['project' => "foo"])

Required arguments

  1. Text to translate
  2. Description of text to be translated

Optional parameters

  1. Options object - same optional arguments as the <fbt> attributes above

Docblock defaults

Defaults for the above optional attributes may be provided in the docblock with the @fbt pragma. It uses a straight json_decode to -interpret this, so you'll have to make sure your object is parseable. (i.e. keys should be wrapped in "double quotes")

E.g.

<?php
/**
* @fbt {"author": "me", "project": "awesome sauce"}
*/
Last updated on by Richard Dobroň
- - - - - - +interpret this, so you'll have to make sure your object is parseable. (i.e. keys should be wrapped in "double quotes")

E.g.

<?php
/**
* @fbt {"author": "me", "project": "awesome sauce"}
*/
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/autoparam/index.html b/docs/autoparam/index.html index 11e6a4b..86d62b6 100644 --- a/docs/autoparam/index.html +++ b/docs/autoparam/index.html @@ -4,22 +4,22 @@ - -Auto-parameterization | FBT for PHP - - - - - - + +Auto-parameterization | FBT for Laravel + + + + + + - - + +
-

Auto-parameterization

What is Auto Parameterization?

The basics

<fbt> will automatically wrap any non-fbt children in the top-level +

Auto-parameterization

What is Auto Parameterization?

The basics

<fbt> will automatically wrap any non-fbt children in the top-level <fbt> as though they were written with an <fbt:param> with a name attribute containing the child's text. It will pull any child text into the parameter name, including those of recursive structures.

  • HTML fbt syntax:
<fbt desc="auto-wrap example">
Go on an
<a href="#">
<span>awesome</span> vacation
</a>
</fbt>
  • Function syntax:
fbt(
[
'Go on an ',
\fbt\createElement(
'a',
'<span>awesome</span> vacation',
['href' => '#']
)
],
'auto-wrap example',
);

When extracted for translation, the result of the \fbt\Transform\FbtTransform\FbtTransform::toArray() is:

[
"phrases" => [
2 => [
"hashToText" => [
"576c64dce7dc0eb30803b1c2feb21722": "Go on an {=awesome vacation}"
],
"desc": "auto-wrap example",
...,
],
1 => [
"hashToText" => [
"7de5f69602b0c289965183f9ffbf2496": "{=awesome} vacation"
],
"desc": "In the phrase: \"Go on an {=awesome vacation}\"",
...,
],
0 => [
"hashToText" => [
"6bbb015218a9c99babf7213c1fa764d8": "awesome"
],
"desc": "In the phrase: \"Go on an {=awesome} vacation\"",
...,
]
],
"childParentMappings" => [
0 => 1,
1 => 2
]
}

Notice the description for "vacation" is auto-generated with an "In @@ -31,16 +31,16 @@ these to display all relevant inner and outer strings when translating any given piece of text. We recommend you do the same in whatever translation framework you use. Context is crucial for accurate -translations.

Last updated on by Richard Dobroň
- - - - - - +translations.

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/best_practices/index.html b/docs/best_practices/index.html index 4116c32..2b5185f 100644 --- a/docs/best_practices/index.html +++ b/docs/best_practices/index.html @@ -4,31 +4,31 @@ - -Platform Internationalization Best Practices | FBT for PHP - - - - - - + +Platform Internationalization Best Practices | FBT for Laravel + + + + + + - - + +
-

Platform Internationalization Best Practices

Here are some rough guidelines and lessons learned by the internationalization team at Facebook. These are in no specific order of importance.

Be Descriptive

The general rule we use is text under 20 characters needs to have a description. A word like "Poke" can vary if it is used as a noun or a verb. Facebook Translations works by creating a hash value from the text and description of the phrase. That means that even a slight change to the original text or description will cause your string to be counted as a completely new one. So err on the side of starting off with a complete description you won't have to clarify later.

Note that many translators prefer to use the bulk translation interface, so they will not see your text in the context of your application -- that means your descriptions need to give translators all the information they need to make correct translation decisions.

For example, do this:

fbt("Name:", "Label for name of photo album")

Instead of this:

fbt("Name:", "")
// or
fbt("Name:", "Name")

In some languages, the word for name is different depending on whether it's the name of a person, a place, or an object. A description here allows a translator to choose the correct word for this label.

Descriptions should usually indicate context as well as meaning (but see the next point). This is especially important for things like link text that are presented as part of a larger grammatical structure like a sentence.

So do this:

fbt("{name}'s photos", "In, 'X's photos are ready to view.'")

But not this:

fbt("{name}'s photos", "")

In languages where nouns change depending on whether they're used as the subject or object of a sentence, this description will allow translators to use the correct form.

Reuse Common Elements

You should reuse common text and descriptions rather than repeating the same text over and over with different descriptions; it's less work for translators and will tend to result in higher-quality translations. This is sometimes slightly at odds with using specific descriptions; use your judgment about where to draw the line.

So this:

fbt("Cancel", "Button/link: cancel an action")

Is usually better than this:

fbt("Cancel", "Button label: cancel sending a message to event owner")

Avoid Translating Markup

If you have two sentences and a <br /> in between, split them up into two translatable phrases. Otherwise translators will be able to mess with your markup and the results may not be what you expect.

However, if you really want to use a <br />, we recommend doing it this way:

<fbt desc="Multiple lines">
first line<fbt:param name="lineBreak"><br /></fbt:param>
second line<fbt:same-param name="lineBreak" />
last line.
</fbt>

Use CSS instead of Markup

Use CSS rather than markup to confine text to particular parts of the page. (See also the next item.) For example, if you have the text "Next Page" and you want each word on a separate line, put it in a with a maximum width rather than putting a tag in between the two words. Don't split the text into separately translatable units since it will prevent translators from changing word order if needed.

Don't do this:

fbt("Next<br/>Page", "...")

Because a translator may ignore your formatting.

And don't do this:

fbt("Next", "...") . '<br/>' . fbt("Page", "...");

If a language needs the word for "Page" to come before the word for "Next", it is impossible to translate correctly.

Rather, do this:

<div class="limited-width-box">' . fbt("Next Page", "...") . '</div>

With appropriate CSS, the browser will word-wrap the string appropriately.

Avoid Layouts Relying on Precise Sizing

Try not to use layouts that depend on the precise onscreen sizes of pieces of text in the original language. For any piece of text, in some languages it is likely to be shorter and in some it will be longer (sometimes significantly so in either direction.) If you have sized your user interface elements such that your text just barely fits, your application will probably not work well in a language with longer words.

Avoid Long Pieces of Text

Large chunks of text like multiple paragraphs should be split up among multiple <fbt> tags for ease of translation. Similarly, a single long paragraph should be broken up into several smaller paragraphs. This allows translation voting to more precisely pinpoint problems.

Assume Word Order Will Change

Assume that a translator will have to change the word order of every sentence. In particular, don't try to assemble sentences from smaller separately-translatable fragments, because even if you provide excellent descriptions, it's likely you will make it impossible for a translator to come up with a grammatically correct translation. Instead, expand all the possible cases out into separate translatable sentences and choose a complete sentence in your code.

Here's a simple example to avoid:

<fbt desc="...">You are eating</fbt> <fbt desc="...">at home.</fbt>
<fbt desc="...">You are eating</fbt> <fbt desc="...">at a restaurant.</fbt>

Here the code is printing the beginning of the sentence, which doesn't change in English, then choosing one of two possible endings. This is impossible to translate correctly to Chinese, where the phrases for "at home" and "at a restaurant" need to come before the word for "eating".

In this case, use separate phrases:

<fbt desc="...">You are eating at home.</fbt>
<fbt desc="...">You are eating at a restaurant.</fbt>

Here the code chooses one of two complete sentences. The translator can adjust the word order of both sentences as needed, and these can be correctly translated into every language.

Along the lines of the previous item, if you have a phrase like "You have {number} photos." where you use the word "photo" when the number is 1, expand this out into separate complete sentences line, "You have one photo." and "You have {number} photos.", like this:

<fbt desc="...">You have <fbt:plural many="photos" showCount="ifMany" count="3">one photo</fbt:plural>.</fbt>

Avoid Tiny Fonts

Font sizes under 10 pixels can be difficult to read in some languages, especially Chinese and Japanese.

Don't Hardcode Punctuation

Different languages use different punctuation symbols; for example, Chinese has two different comma characters that are used in different contexts. In general if you allow translators to translate complete sentences (including periods and commas) this won't be as big an issue for you.

So you should include the punctuation within the fbt tags:

<fbt desc="...">You have mail.</fbt>

Don't exclude it from the tags:

<fbt desc="...">You have mail</fbt>.

Japanese translators, among others, will want to use their language's end-of-sentence character, which is not an English-style period.

Similarly, you should do this:

<fbt desc="Form label">Favorite color:</fbt> <input ...>

And not do this:

<fbt desc="Form label">Favorite color</fbt>: <input ...>

Including the colon as part of the translatable string means translators can substitute another punctuation mark if applicable, or can insert whitespace between the text and the colon (as is done in French, for example.)

Using Icons Instead of Images with Text

Using icons rather than images with prerendered text can sometimes save you the trouble of having to generate your graphics in different languages. But be aware that some symbols are culture-specific and may not mean the same thing to people in different countries -- for example, a hand with a raised thumb indicates "good" in some cultures but is an obscene gesture in others. An icon whose meaning is obscure is actually worse than using untranslated text, since the latter can at least be looked up in a dictionary as a last resort.

Source: http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices

Last updated on by Richard Dobroň
- - - - - - +

Platform Internationalization Best Practices

Here are some rough guidelines and lessons learned by the internationalization team at Facebook. These are in no specific order of importance.

Be Descriptive

The general rule we use is text under 20 characters needs to have a description. A word like "Poke" can vary if it is used as a noun or a verb. Facebook Translations works by creating a hash value from the text and description of the phrase. That means that even a slight change to the original text or description will cause your string to be counted as a completely new one. So err on the side of starting off with a complete description you won't have to clarify later.

Note that many translators prefer to use the bulk translation interface, so they will not see your text in the context of your application -- that means your descriptions need to give translators all the information they need to make correct translation decisions.

For example, do this:

fbt("Name:", "Label for name of photo album")

Instead of this:

fbt("Name:", "")
// or
fbt("Name:", "Name")

In some languages, the word for name is different depending on whether it's the name of a person, a place, or an object. A description here allows a translator to choose the correct word for this label.

Descriptions should usually indicate context as well as meaning (but see the next point). This is especially important for things like link text that are presented as part of a larger grammatical structure like a sentence.

So do this:

fbt("{name}'s photos", "In, 'X's photos are ready to view.'")

But not this:

fbt("{name}'s photos", "")

In languages where nouns change depending on whether they're used as the subject or object of a sentence, this description will allow translators to use the correct form.

Reuse Common Elements

You should reuse common text and descriptions rather than repeating the same text over and over with different descriptions; it's less work for translators and will tend to result in higher-quality translations. This is sometimes slightly at odds with using specific descriptions; use your judgment about where to draw the line.

So this:

fbt("Cancel", "Button/link: cancel an action")

Is usually better than this:

fbt("Cancel", "Button label: cancel sending a message to event owner")

Avoid Translating Markup

If you have two sentences and a <br /> in between, split them up into two translatable phrases. Otherwise translators will be able to mess with your markup and the results may not be what you expect.

However, if you really want to use a <br />, we recommend doing it this way:

<fbt desc="Multiple lines">
first line<fbt:param name="lineBreak"><br /></fbt:param>
second line<fbt:same-param name="lineBreak" />
last line.
</fbt>

Use CSS instead of Markup

Use CSS rather than markup to confine text to particular parts of the page. (See also the next item.) For example, if you have the text "Next Page" and you want each word on a separate line, put it in a with a maximum width rather than putting a tag in between the two words. Don't split the text into separately translatable units since it will prevent translators from changing word order if needed.

Don't do this:

fbt("Next<br/>Page", "...")

Because a translator may ignore your formatting.

And don't do this:

fbt("Next", "...") . '<br/>' . fbt("Page", "...");

If a language needs the word for "Page" to come before the word for "Next", it is impossible to translate correctly.

Rather, do this:

<div class="limited-width-box">' . fbt("Next Page", "...") . '</div>

With appropriate CSS, the browser will word-wrap the string appropriately.

Avoid Layouts Relying on Precise Sizing

Try not to use layouts that depend on the precise onscreen sizes of pieces of text in the original language. For any piece of text, in some languages it is likely to be shorter and in some it will be longer (sometimes significantly so in either direction.) If you have sized your user interface elements such that your text just barely fits, your application will probably not work well in a language with longer words.

Avoid Long Pieces of Text

Large chunks of text like multiple paragraphs should be split up among multiple <fbt> tags for ease of translation. Similarly, a single long paragraph should be broken up into several smaller paragraphs. This allows translation voting to more precisely pinpoint problems.

Assume Word Order Will Change

Assume that a translator will have to change the word order of every sentence. In particular, don't try to assemble sentences from smaller separately-translatable fragments, because even if you provide excellent descriptions, it's likely you will make it impossible for a translator to come up with a grammatically correct translation. Instead, expand all the possible cases out into separate translatable sentences and choose a complete sentence in your code.

Here's a simple example to avoid:

<fbt desc="...">You are eating</fbt> <fbt desc="...">at home.</fbt>
<fbt desc="...">You are eating</fbt> <fbt desc="...">at a restaurant.</fbt>

Here the code is printing the beginning of the sentence, which doesn't change in English, then choosing one of two possible endings. This is impossible to translate correctly to Chinese, where the phrases for "at home" and "at a restaurant" need to come before the word for "eating".

In this case, use separate phrases:

<fbt desc="...">You are eating at home.</fbt>
<fbt desc="...">You are eating at a restaurant.</fbt>

Here the code chooses one of two complete sentences. The translator can adjust the word order of both sentences as needed, and these can be correctly translated into every language.

Along the lines of the previous item, if you have a phrase like "You have {number} photos." where you use the word "photo" when the number is 1, expand this out into separate complete sentences line, "You have one photo." and "You have {number} photos.", like this:

<fbt desc="...">You have <fbt:plural many="photos" showCount="ifMany" count="3">one photo</fbt:plural>.</fbt>

Avoid Tiny Fonts

Font sizes under 10 pixels can be difficult to read in some languages, especially Chinese and Japanese.

Don't Hardcode Punctuation

Different languages use different punctuation symbols; for example, Chinese has two different comma characters that are used in different contexts. In general if you allow translators to translate complete sentences (including periods and commas) this won't be as big an issue for you.

So you should include the punctuation within the fbt tags:

<fbt desc="...">You have mail.</fbt>

Don't exclude it from the tags:

<fbt desc="...">You have mail</fbt>.

Japanese translators, among others, will want to use their language's end-of-sentence character, which is not an English-style period.

Similarly, you should do this:

<fbt desc="Form label">Favorite color:</fbt> <input ...>

And not do this:

<fbt desc="Form label">Favorite color</fbt>: <input ...>

Including the colon as part of the translatable string means translators can substitute another punctuation mark if applicable, or can insert whitespace between the text and the colon (as is done in French, for example.)

Using Icons Instead of Images with Text

Using icons rather than images with prerendered text can sometimes save you the trouble of having to generate your graphics in different languages. But be aware that some symbols are culture-specific and may not mean the same thing to people in different countries -- for example, a hand with a raised thumb indicates "good" in some cultures but is an obscene gesture in others. An icon whose meaning is obscure is actually worse than using untranslated text, since the latter can at least be looked up in a dictionary as a last resort.

Source: http://wiki.developers.facebook.com/index.php/Platform_Internationalization_Best_Practices

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/collection/index.html b/docs/collection/index.html index d07a5a2..e776407 100644 --- a/docs/collection/index.html +++ b/docs/collection/index.html @@ -4,22 +4,22 @@ - -Extracting FBTs | FBT for PHP - - - - - - + +Extracting FBTs | FBT for Laravel + + + + + + - - + +

}0O$TDH=*=2)6%4vn`p!zCOKbQ2`C^%Jh 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

namedefaultdescription
--src=[path]noneCache storage path for source strings
--path=[path]noneThe directory where you want to scan usages of fbt in php files.
--fbt-common-path=[path]noneOptional path to the common strings module. This is a map from {[text]: [description]}.

⚠️ Unlike Facebook's version of fbt, we primarily collect <fbt> & translate strings during script execution.

Upon successful execution, the output of the /your/path/to/fbt/.source_strings.json will be in the following format:

[
"phrases": [
[
"hashToText": [
<hash>: <text>,
...
],
"type": "text" | "table",
"desc": <description>,
"project": <project>,
"jsfbt": string | ['t' => <table>, 'm' => <metadata>],
]
],
"childParentMappings" => [
<childIdx>: <parentIdx>
]
}

phrases here represents all the source information we need to +

Extracting FBTs

We provide collect-fbts as a utility for collecting strings.

php artisan fbt:collect-fbts --src=./path/to/project/

Options:

namedefaultdescription
--path=[path]./app, ./resources/viewsThe directory where you want to scan usages of fbt in php files (even blade).
--fbt-common-path=[path]-Optional path to the common strings module.
--clean-cache=[bool]trueRemove cache file .source_strings.json.

⚠️ Unlike Facebook's version of fbt, we primarily collect <fbt> & translate strings during script execution.

Upon successful execution, the output of the /storage/fbt/.source_strings.json will be in the following format:

[
"phrases": [
[
"hashToText": [
<hash>: <text>,
...
],
"type": "text" | "table",
"desc": <description>,
"project": <project>,
"jsfbt": string | ['t' => <table>, 'm' => <metadata>],
]
],
"childParentMappings" => [
<childIdx>: <parentIdx>
]
}

phrases here represents all the source information we need to process and produce an fbt::_(...) callsite's final payload. When combined with corresponding translations to each hashToText entry we can produce the translated payloads fbt::_() expects.

When it comes to moving from source text to translations, what is most @@ -31,16 +31,16 @@ look up the payload in FbtTranslations. This is basically the hash of the object you see in jsfbt.

See Translating FBTs for getting your translations in -the right format.

Last updated on by Richard Dobroň
- - - - - - +the right format.

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/common/index.html b/docs/common/index.html index 7988426..f6bcc3d 100644 --- a/docs/common/index.html +++ b/docs/common/index.html @@ -4,32 +4,32 @@ - -Common FBT strings | FBT for PHP - - - - - - + +Common FBT strings | FBT for Laravel + + + + + + - - + +
-

Common FBT strings

The fbt framework provides a way to define common simple strings in one shared location. The expected format is as a text to description map.

E.g.

// OurCommonStrings.json
{
"Photo": "Still image ...",
"Video": "Moving pictures ...",
...
}

or

// OurCommonStrings.php
<?php
-
return [
"Photo": "Still image ...",
"Video": "Moving pictures ...",
...
]

FBT Transform

It accepts these common strings via the main transform, FbtTransform, as an option.

Example setup:

\fbt\FbtConfig::set('fbtCommonPath', '/path/to/OurCommonStrings.json');
// OR inlined...
\fbt\FbtConfig::set('fbtCommon', [
'Post' => 'Button to post a comment',
]);

Runtime API

To use the strings at runtime, there is the fbt::c(...) function call or the <fbt common="true">...</fbt> JSX API.

NOTE: The transform will throw if it encounters a common string not in the map provided.

E.g.

<button>
<?=fbt::c('Photo')?>
</button>

or

<button>
<fbt common="true">Photo</fbt>
</button>

Both examples above function as if the engineer had also included the description with the text.

<fbt desc="Still image ...">Photo</fbt>

All of these instances would produce the same identifying hash at collection time, and thus coalesce into the same translation.

Last updated on by Richard Dobroň
- - - - - - +

Common FBT strings

The fbt framework provides a way to define common simple strings in one shared location. The expected format is as a text to description map.

E.g.

// OurCommonStrings.json
{
"Photo": "Still image ...",
"Video": "Moving pictures ...",
...
}

or

// OurCommonStrings.php
<?php
+
return [
"Photo": "Still image ...",
"Video": "Moving pictures ...",
...
]

FBT Transform

It accepts these common strings via the main transform, FbtTransform, as an option.

Example setup:

\fbt\FbtConfig::set('fbtCommonPath', '/path/to/OurCommonStrings.json');
// OR inlined...
\fbt\FbtConfig::set('fbtCommon', [
'Post' => 'Button to post a comment',
]);

Runtime API

To use the strings at runtime, there is the fbt::c(...) function call or the <fbt common="true">...</fbt> JSX API.

NOTE: The transform will throw if it encounters a common string not in the map provided.

E.g.

<button>
{{ fbt::c('Photo') }}
</button>

or

<button>
<fbt common="true">Photo</fbt>
</button>

Both examples above function as if the engineer had also included the description with the text.

<fbt desc="Still image ...">Photo</fbt>

All of these instances would produce the same identifying hash at collection time, and thus coalesce into the same translation.

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/enums/index.html b/docs/enums/index.html index d20b1a6..ef8712f 100644 --- a/docs/enums/index.html +++ b/docs/enums/index.html @@ -4,33 +4,33 @@ - -Enumerations | FBT for PHP - - - - - - + +Enumerations | FBT for Laravel + + + + + + - - + +
-

Enumerations

Enumerations eliminate a lot of UI code duplication while enabling accurate translations. <fbt:enum> and fbt::enum both provide the ability to add your ad-hoc enumerations.

Adhoc enums

Adhoc enums can be provided inline to the enum-range attribute or as the second parameter to fbt::enum.

Enum map

<fbt desc="buy prompt">
Buy a new
<fbt:enum enum-range="<?=json_encode([
'CAR' => 'car',
'HOUSE' => 'house',
'BOAT' => 'boat',
'HOUSEBOAT' => 'houseboat',
])?>" value="<?=$enumVal?>" />!
</fbt>
-
fbt(
'Buy a new ' .
fbt::enum($enumVal, [
'CAR' => 'car',
'HOUSE' => 'house',
'BOAT' => 'boat',
'HOUSEBOAT' => 'houseboat',
]),
'buy prompt',
);

Shorthand array (keys = values)

The shorthand array adhoc enum functions as though you had a [value => value] map.

<fbt desc="buy prompt">
Buy a new
<fbt:enum enum-range="<?=json_encode([
'car', 'house', 'boat', 'houseboat'
])?>" value="<?=$enumVal?>" />!
</fbt>
-
fbt(
'Buy a new ' . fbt::enum($enumVal, ['car', 'house', 'boat', 'houseboat']) . '!',
'buy prompt',
);

All the above examples extract the same 4 separate strings for translation in JSON like:

{
"phrases": [
{
"hashToText": {
"b463748f978f242787f5f225a7762aeb": "Buy a new car!",
"1255ecb7aa0a34b8755d4f068c9b9c41": "Buy a new house!",
"7c01d5d74f6e3c8eda0b166a366b937e": "Buy a new boat!",
"7a7776e292838b6fe8c4a7dfd58117cd": "Buy a new houseboat!"
},
...,
"desc": "buy prompt",
...
},
Last updated on by Richard Dobroň
- - - - - - +

Enumerations

Enumerations eliminate a lot of UI code duplication while enabling accurate translations. <fbt:enum> and fbt::enum both provide the ability to add your ad-hoc enumerations.

Adhoc enums

Adhoc enums can be provided inline to the enum-range attribute or as the second parameter to fbt::enum.

Enum map

<fbt desc="buy prompt">
Buy a new
<fbt:enum enum-range="{{ json_encode([
'CAR' => 'car',
'HOUSE' => 'house',
'BOAT' => 'boat',
'HOUSEBOAT' => 'houseboat',
]) }}" value="{{ $enumVal }}" />!
</fbt>
+
fbt(
'Buy a new ' .
fbt::enum($enumVal, [
'CAR' => 'car',
'HOUSE' => 'house',
'BOAT' => 'boat',
'HOUSEBOAT' => 'houseboat',
]),
'buy prompt',
);

Shorthand array (keys = values)

The shorthand array adhoc enum functions as though you had a [value => value] map.

<fbt desc="buy prompt">
Buy a new
<fbt:enum enum-range="{{ json_encode([
'car', 'house', 'boat', 'houseboat'
]) }}" value="{{ $enumVal }}" />!
</fbt>
+
fbt(
'Buy a new ' . fbt::enum($enumVal, ['car', 'house', 'boat', 'houseboat']) . '!',
'buy prompt',
);

All the above examples extract the same 4 separate strings for translation in JSON like:

{
"phrases": [
{
"hashToText": {
"b463748f978f242787f5f225a7762aeb": "Buy a new car!",
"1255ecb7aa0a34b8755d4f068c9b9c41": "Buy a new house!",
"7c01d5d74f6e3c8eda0b166a366b937e": "Buy a new boat!",
"7a7776e292838b6fe8c4a7dfd58117cd": "Buy a new houseboat!"
},
...,
"desc": "buy prompt",
...
},
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/getting_started/index.html b/docs/getting_started/index.html index 7087887..3c6e0fa 100644 --- a/docs/getting_started/index.html +++ b/docs/getting_started/index.html @@ -4,43 +4,46 @@ - -Integrating into your app | FBT for PHP - - - - - - + +Integrating into your app | FBT for Laravel + + + + + + - - + +
-

Integrating into your app

We recommend you read the best practices for advice on how to best prepare your applications. We strongly encourage you to do so.

📦 Installing

$ composer require richarddobron/fbt

Add this lines to your code:

  • We recommend setting the author, project and path options.
<?php
// require ("vendor/autoload.php");
-
\fbt\FbtConfig::set('author', 'your name');
\fbt\FbtConfig::set('project', 'project');
\fbt\FbtConfig::set('path', '/path/to/storage');

🔧 Configuration

Options

The following options can be defined:

  • project string: (Default: website app) Project to which the text belongs
  • author string: Text author
  • preserveWhitespace bool: (Default: false)
    • FBT normally consolidates whitespace down to one space (' ').
    • Turn this off by setting this to true
  • viewerContext string: (Default: \fbt\Runtime\Shared\IntlViewerContext::class)
  • locale string: (Default: en_US) User locale.
  • fbtCommon string: (Default: []) common string's, e.g. [['text' => 'desc'], ...]
  • fbtCommonPath string: (Default: null) Path to the common string's module.
  • path string: Cache storage path for generated translations & source strings.

Below are the less important parameters.

  • collectFbt bool: (Default: true) Collect fbt instances from the source and store them to a JSON file.
  • prettyPrint bool: (Default: true) Pretty print source strings in a JSON file.
  • hash_module string: (Default: md5) Hash module.
  • md5_digest string: (Default: hex) MD5 digest.
  • driver string: (Default: json) Currently, only JSON storage is supported.

🙋 IntlInterface

Optional implementation of IntlInterface on UserDTO.

Example code:

<?php
-
namespace App;
+

Integrating into your app

We recommend you read the best practices for advice on how to best prepare your applications. We strongly encourage you to do so.

📦 Installing

$ composer require richarddobron/laravel-fbt

These steps are required:

  1. Publish config file:
    • We recommend setting the author and project options in /config/fbt.php.
$ php artisan vendor:publish --provider="fbt\LaravelPackage\FbtServiceProvider" --tag=fbt-config
  1. Run migrations:
$ php artisan migrate

🔧 Configuration

Options

The following options can be defined:

  • project string: (Default: website app) Project to which the text belongs
  • author string: Text author
  • preserveWhitespace bool: (Default: false)
    • FBT normally consolidates whitespace down to one space (' ').
    • Turn this off by setting this to true
  • viewerContext string: (Default: \fbt\Runtime\Shared\IntlViewerContext::class)
  • locale string: (Default: en_US) User locale.
  • fbtCommon string: (Default: []) common string's, e.g. [['text' => 'desc'], ...]
  • fbtCommonPath string: (Default: null) Path to the common string's module.

Below are the less important parameters.

  • logger bool: (Default: false) Logging of string impressions.
  • collectFbt bool: (Default: true) Collect fbt instances from the source and store them in a database or a JSON file.
  • hash_module string: (Default: md5) Hash module.
  • md5_digest string: (Default: hex) MD5 digest.
  • driver string: (Default: json) Driver.
  • path string: Cache storage path for generated translations & source strings.

🙋 IntlInterface

Optional implementation of IntlInterface on User Model.

Example code:

<?php
+
namespace App\Models\Auth;
use fbt\Transform\FbtTransform\Translate\IntlVariations;
use fbt\Lib\IntlViewerContextInterface;
use fbt\Runtime\Gender;
-
class UserDTO implements IntlViewerContextInterface
{
public function getLocale(): string
{
return $this->locale;
}
-
public static function getGender(): int
{
if ($this->gender === 'male') {
return IntlVariations::GENDER_MALE;
}
+
class User extends Authenticatable implements IntlViewerContextInterface
{
public function getLocale(): string
{
return $this->locale;
}
+
public function getGender(): int
{
if ($this->gender === 'male') {
return IntlVariations::GENDER_MALE;
}
if ($this->gender === 'female') {
return IntlVariations::GENDER_FEMALE;
}
-
return IntlVariations::GENDER_UNKNOWN;
}
}

After implementation, set viewerContext:

$loggedUserDto = ...;
-
\fbt\FbtConfig::set('viewerContext', $loggedUserDto)

🚀 Commands

  1. This command collects FBT strings across whole application in PHP files.
php ./vendor/bin/fbt collect-fbts --path=./path/to/fbt/ --src=./path/to/project/

Read more about FBTs extracting.

  1. This command generates the missing translation hashes from collected source strings.
php ./vendor/bin/fbt generate-translations --source=./path/to/fbt/.source_strings.json --translations=./path/to/fbt/*.json
  1. This command creates translation payloads stored in JSON file.
php ./vendor/bin/fbt translate --path=./path/to/fbt/ --translations=./path/to/fbt/*.json

Read more about translating.

📘 API

echo fbt('You just friended ' . \fbt\fbt::name('name', 'Sarah', 2 /* gender */), 'names');

🎨 Example Usage

fbtTransform() & endFbtTransform()

fbtTransform(): This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.

endFbtTransform(): This function will send the contents of the topmost output buffer (if any) and turn this output buffer off.

<?php fbtTransform(); ?>
...
<fbt desc="auto-wrap example">
Go on an
<a href="#">
<span>awesome</span> vacation
</a>
</fbt>
...
<?php endFbtTransform(); ?>
-
// result: Go on an <a href="#"><span>awesome</span> vacation</a>

fbt()

fbt(
[
'Go on an ',
\fbt\createElement('a', \fbt\createElement('span', 'awesome'), ['href' => '#']),
' vacation',
],
'It\'s simple',
['project' => "foo"]
)
-
// result: Go on an <a href="#"><span>awesome</span> vacation</a>
fbt('You just friended ' . \fbt\fbt::name('name', 'Sarah', 2 /* gender */), 'names')
-
// result: You just friended Sarah
fbt('A simple string', 'It\'s simple', ['project' => "foo"])
-
// result: A simple string
Last updated on by Richard Dobroň
- - - - - - +
return IntlVariations::GENDER_UNKNOWN;
}
}

Note: auth()->user() will be attached to viewerContext automatically.

🚀 Artisan Commands

  1. This command collects FBT strings across whole application in PHP files.
php artisan fbt:collect-fbts

Read more about FBTs extracting.

  1. This command generates the missing translation hashes from collected source strings.
php artisan fbt:generate-translations
  1. This command creates translation payloads stored in database/JSON file.
php artisan fbt:translate

Read more about translating.

📘 API

echo fbt('You just friended ' . \fbt\fbt::name('name', 'Sarah', 2 /* gender */), 'names');

🎨 Blade Directives

@fbtTransform & @endFbtTransform

@fbtTransform: This directive will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer.

@endFbtTransform: This directive will send the contents of the topmost output buffer (if any) and turn this output buffer off.

@fbtTransform
...
<fbt desc="auto-wrap example">
Go on an
<a href="#">
<span>awesome</span> vacation
</a>
</fbt>
...
@endFbtTransform
+
// result: Go on an <a href="#"><span>awesome</span> vacation</a>

@fbt

@fbt(
[
'Go on an ',
\fbt\createElement('a', \fbt\createElement('span', 'awesome'), ['href' => '#']),
' vacation',
],
'It\'s simple',
['project' => "foo"]
)
+
// result: Go on an <a href="#"><span>awesome</span> vacation</a>
@fbt('You just friended ' . \fbt\fbt::name('name', 'Sarah', 2 /* gender */), 'names')
+
// result: You just friended Sarah
@fbt('A simple string', 'It\'s simple', ['project' => "foo"])
+
// result: A simple string

Encoding in Blade

using \fbt\LaravelPackage\fbt function

$htmlText = \fbt\LaravelPackage\fbt('<strong>STRONG</strong> text', 'HTML text');
+
{{ $htmlText }}
// result: <strong>STRONG</strong> text
+
{!! $htmlText !!}
// result: <strong>STRONG</strong> text

using \fbt function

$htmlText = \fbt('<strong>STRONG</strong> text', 'HTML text');
+
{{ $htmlText }}
// result: &amp;lt;strong&amp;gt;STRONG&amp;lt;/strong&amp;gt; text
+
{!! $htmlText !!}
// result: <strong>STRONG</strong> text

PhpStorm integration

The PhpStorm IDE can recognize the custom Blade directive if is set in File > Settings > Languages & Frameworks > PHP > +Blade > Directives by adding a new one with the following properties:

  • Name: fbt
  • Has parameters: yes
  • Prefix: <?php echo \fbt(
  • Suffix: ); ?>
  • Name: fbs
  • Has parameters: yes
  • Prefix: <?php echo \fbs(
  • Suffix: ); ?>
  • Name: fbtTransform
  • Has parameters: no
  • Name: endFbtTransform
  • Has parameters: no

Blade directives settings in PhpStorm

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/implicit_params/index.html b/docs/implicit_params/index.html index 92b5701..404bda8 100644 --- a/docs/implicit_params/index.html +++ b/docs/implicit_params/index.html @@ -4,22 +4,22 @@ - -Implicit parameters | FBT for PHP - - - - - - + +Implicit parameters | FBT for Laravel + + + + + + - - + +
-

Implicit parameters

Viewer Gender

The hidden __viewing_user__ token

If a token of __viewing_user__ is provided, it is expected to have the +

Implicit parameters

Viewer Gender

The hidden __viewing_user__ token

If a token of __viewing_user__ is provided, it is expected to have the corresponding type of IntlVariations::GENDER_*. When provided, at translation time, JSFbtBuilder will create a special key in its table payload which signals to the runtime @@ -27,16 +27,16 @@ gender.

Subject

The hidden __subject__ token

Similar to viewer gender, this is an implicit variation based on gender. Whether the variation is provided is determined at the translation level. A translator -may choose to variate on __subject__ or not.

Unlike viewer gender, subject requires that the fbt callsite provide it via the optional argument

E.g

<fbt
subject="<?=$subjectGender?>"
desc="<?='There is an implicit actor here. ' .
"Like: '{name} translated your string.'"?>">
translated your string.
</fbt>

The above will variate correctly, provided there are separate translations for the __subject__ token.

Last updated on by Richard Dobroň
- - - - - - +may choose to variate on __subject__ or not.

Unlike viewer gender, subject requires that the fbt callsite provide it via the optional argument

E.g

<fbt
subject="{{ $subjectGender }}"
desc="{{ 'There is an implicit actor here. ' .
"Like: '{name} translated your string.'" }}>
translated your string.
</fbt>

The above will variate correctly, provided there are separate translations for the __subject__ token.

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/inline_translating/index.html b/docs/inline_translating/index.html index 4b12654..50ecb9e 100644 --- a/docs/inline_translating/index.html +++ b/docs/inline_translating/index.html @@ -4,37 +4,37 @@ - -Inline Translating | FBT for PHP - - - - - - + +Inline Translating | FBT for Laravel + + + + + + - - + +
-

Inline Translating

This framework supports inline translation mode, which means that you can translate anywhere in the application so that you can view strings you are translating in context. -If you right-click on the underlined string, the translation dialog appears and you will be able to vote for the available translations or submit a new one.

Preview

Demo of FBT inline translating

Installing

For installation, please follow these instructions.

How it works?

// to turn on inline translations
FbtHooks::inlineMode('TRANSLATE');
+

Inline Translating

This framework supports inline translation mode, which means that you can translate anywhere in the application so that you can view strings you are translating in context. +If you right-click on the underlined string, the translation dialog appears and you will be able to vote for the available translations or submit a new one.

Preview

Demo of FBT inline translating

Installing

For installation, please follow these instructions.

How it works?

// to turn on inline translation
FbtHooks::inlineMode('TRANSLATE');
// to turn off inline translations
FbtHooks::inlineMode('NO_INLINE');

Excluded translations

If you need to turn off inline mode for specific phrases, you can use option reporting:

<title>
<?=fbt('Account Settings', 'page title', ['reporting' => false])?>
</title>

or using canInline hook:

FbtHooks::register('canInline', function ($backtrace) {
foreach ($backtrace as $call) {
if ($call['function'] === 'fbt_raw') {
return false;
}
}
return true;
});
function fbt_raw(string | fbt\fbt $text): string
{
return (string)$text;
}
$title = fbt('Account Settings', 'page title');
-
echo fbt_raw($title);
Last updated on by Richard Dobroň
- - - - - - +
echo fbt_raw($title);
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/locales/index.html b/docs/locales/index.html index b620092..0aef490 100644 --- a/docs/locales/index.html +++ b/docs/locales/index.html @@ -4,31 +4,31 @@ - -Supported Locales | FBT for PHP - - - - - - + +Supported Locales | FBT for Laravel + + + + + + - - + +
-

Supported Locales

Instead of using the ISO 639 language codes employed across the internet, Facebook has devised their own system of labeling languages. Some are the same as the ISO standard, but others are not. There also seems to be support lacking for Accept-Language: HTTP request headers.

Each code is made up of two parts as follows:

[language]_[region]

LocaleLanguage name
af_ZAAfrikaans
ak_GHÁkán
am_ETአማርኛ
ar_AR‏العربية‏
ay_BOAymar aru
as_INঅসমীয়া
az_AZAzərbaycan dili
be_BYБеларуская
bg_BGБългарски
bn_INবাংলা
bp_INभोजपुरी
br_FRBrezhoneg
bs_BABosanski
bv_DEBairisch
ca_ESCatalà
cb_IQ‏کوردیی ناوەندی‏
ck_USCherokee
co_FRCorsu
cs_CZČeština
cx_PHBisaya
cy_GBCymraeg
da_DKDansk
de_DEDeutsch
eh_INHinglish
el_GRΕλληνικά
em_ZMChibemba
en_GBEnglish (UK)
en_INEnglish (India)
en_OPEnglish (Opposite)
en_PIEnglish (Pirate)
en_UDEnglish (Upside Down)
en_USEnglish (US)
eo_EOEsperanto
es_CLEspañol (Chile)
es_COEspañol (Colombia)
es_ESEspañol (España)
es_LAEspañol
es_MXEspañol (México)
es_VEEspañol (Venezuela)
et_EEEesti
eu_ESEuskara
fa_IR‏فارسی‏
ff_NGFula
fi_FISuomi
fo_FOFøroyskt
fr_CAFrançais (Canada)
fr_FRFrançais (France)
fv_NGFula
fy_NLFrysk
ga_IEGaeilge
gl_ESGalego
gn_PYGuarani
gu_INગુજરાતી
gx_GRἙλληνική ἀρχαία
ha_NGHausa
he_IL‏עברית‏
hi_FBHindi (Modern)
hi_INहिन्दी
hr_HRHrvatski
ht_HTKreyòl Ayisyen
hu_HUMagyar
hy_AMՀայերեն
id_IDBahasa Indonesia
ig_NGÁsụ̀sụ́ Ìgbò
ik_USIñupiatun
is_ISÍslenska
it_ITItaliano
iu_CAᐃᓄᒃᑎᑐᑦ
ja_JP日本語
ja_KS日本語(関西)
jv_IDBasa Jawa
ka_GEქართული
kk_KZҚазақша
km_KHភាសាខ្មែរ
kn_INಕನ್ನಡ
ko_KR한국어
ks_INكٲشُر, कॉशुर
ku_TRKurdî (Kurmancî)
ky_KGкыргызча
la_VAlingua latina
lg_UGOluganda
li_NLLèmbörgs
ln_CDlingála
lo_LAພາສາລາວ
lt_LTLietuvių
lv_LVLatviešu
mg_MGMalagasy
mi_NZMāori
mk_MKМакедонски
ml_INമലയാളം
mn_MNМонгол
mr_INमराठी
ms_MYBahasa Melayu
mt_MTMalti
my_MMမြန်မာဘာသာ
nb_NONorsk (bokmål)
nd_ZWNdebele
ne_NPनेपाली
nl_BEVlaams
nl_NLNederlands
nn_NONorsk (nynorsk)
nr_ZATransvaal Ndebele
ns_ZAPedi
ny_MWNyanja
om_ETAfaan Oromoo
or_INଓଡ଼ିଆ
pa_INਪੰਜਾਬੀ
pl_PLPolski
ps_AF‏پښتو‏
pt_BRPortuguês (Brasil)
pt_PTPortuguês (Portugal)
qb_DEhornjoserbšćina
qc_GTQuiché
qe_USYupʼik
qk_DZⵜⴰⵇⴱⴰⵢⵍⵉⵜ
qr_GRarmãneashti
qs_DEdolnoserbšćina
qt_USLingít
qu_PERunasimi
qv_ITłengoa vèneta
qz_MMZawgyi
rm_CHRumantsch
ro_RORomână
ru_RUРусский
rw_RWIkinyarwanda
sa_INसंस्कृतम्
sc_ITSardu
se_NOSámegillii
si_LKසිංහල
sk_SKSlovenčina
sl_SISlovenščina
sn_ZWShona
so_SOAf-Soomaali
sq_ALShqip
sr_RSСрпски
ss_SZsiSwati
st_ZASesotho
su_IDBasa Sunda
sv_SESvenska
sw_KEKiswahili
sy_SY‏ܣܘܪܝܝܐ‏
sz_PLślōnskŏ gŏdka
ta_INதமிழ்
te_INతెలుగు
tg_TJТоҷикӣ
th_THภาษาไทย
tk_TMTürkmençe
tl_PHFilipino
tl_STtlhIngan-Hol
tn_BWSetswana
tr_TRTürkçe
ts_ZAXitsonga
tt_RUТатарча
tz_MAⵜⴰⵎⴰⵣⵉⵖⵜ
uk_UAУкраїнська
ur_PK‏اردو‏
uz_UZO'zbek
ve_ZATshivenḓa
vi_VNTiếng Việt
wo_SNWolof
xh_ZAisiXhosa
yi_DEייִדיש
yo_NGÈdè Yorùbá
zh_CN中文(简体)
zh_HK中文(香港)
zh_TW中文(台灣)
zu_ZAisiZulu
zz_TRZaza

Resources:

Last updated on by Richard Dobroň
- - - - - - +

Supported Locales

Instead of using the ISO 639 language codes employed across the internet, Facebook has devised their own system of labeling languages. Some are the same as the ISO standard, but others are not. There also seems to be support lacking for Accept-Language: HTTP request headers.

Each code is made up of two parts as follows:

[language]_[region]

LocaleLanguage name
af_ZAAfrikaans
ak_GHÁkán
am_ETአማርኛ
ar_AR‏العربية‏
ay_BOAymar aru
as_INঅসমীয়া
az_AZAzərbaycan dili
be_BYБеларуская
bg_BGБългарски
bn_INবাংলা
bp_INभोजपुरी
br_FRBrezhoneg
bs_BABosanski
bv_DEBairisch
ca_ESCatalà
cb_IQ‏کوردیی ناوەندی‏
ck_USCherokee
co_FRCorsu
cs_CZČeština
cx_PHBisaya
cy_GBCymraeg
da_DKDansk
de_DEDeutsch
eh_INHinglish
el_GRΕλληνικά
em_ZMChibemba
en_GBEnglish (UK)
en_INEnglish (India)
en_OPEnglish (Opposite)
en_PIEnglish (Pirate)
en_UDEnglish (Upside Down)
en_USEnglish (US)
eo_EOEsperanto
es_CLEspañol (Chile)
es_COEspañol (Colombia)
es_ESEspañol (España)
es_LAEspañol
es_MXEspañol (México)
es_VEEspañol (Venezuela)
et_EEEesti
eu_ESEuskara
fa_IR‏فارسی‏
ff_NGFula
fi_FISuomi
fo_FOFøroyskt
fr_CAFrançais (Canada)
fr_FRFrançais (France)
fv_NGFula
fy_NLFrysk
ga_IEGaeilge
gl_ESGalego
gn_PYGuarani
gu_INગુજરાતી
gx_GRἙλληνική ἀρχαία
ha_NGHausa
he_IL‏עברית‏
hi_FBHindi (Modern)
hi_INहिन्दी
hr_HRHrvatski
ht_HTKreyòl Ayisyen
hu_HUMagyar
hy_AMՀայերեն
id_IDBahasa Indonesia
ig_NGÁsụ̀sụ́ Ìgbò
ik_USIñupiatun
is_ISÍslenska
it_ITItaliano
iu_CAᐃᓄᒃᑎᑐᑦ
ja_JP日本語
ja_KS日本語(関西)
jv_IDBasa Jawa
ka_GEქართული
kk_KZҚазақша
km_KHភាសាខ្មែរ
kn_INಕನ್ನಡ
ko_KR한국어
ks_INكٲشُر, कॉशुर
ku_TRKurdî (Kurmancî)
ky_KGкыргызча
la_VAlingua latina
lg_UGOluganda
li_NLLèmbörgs
ln_CDlingála
lo_LAພາສາລາວ
lt_LTLietuvių
lv_LVLatviešu
mg_MGMalagasy
mi_NZMāori
mk_MKМакедонски
ml_INമലയാളം
mn_MNМонгол
mr_INमराठी
ms_MYBahasa Melayu
mt_MTMalti
my_MMမြန်မာဘာသာ
nb_NONorsk (bokmål)
nd_ZWNdebele
ne_NPनेपाली
nl_BEVlaams
nl_NLNederlands
nn_NONorsk (nynorsk)
nr_ZATransvaal Ndebele
ns_ZAPedi
ny_MWNyanja
om_ETAfaan Oromoo
or_INଓଡ଼ିଆ
pa_INਪੰਜਾਬੀ
pl_PLPolski
ps_AF‏پښتو‏
pt_BRPortuguês (Brasil)
pt_PTPortuguês (Portugal)
qb_DEhornjoserbšćina
qc_GTQuiché
qe_USYupʼik
qk_DZⵜⴰⵇⴱⴰⵢⵍⵉⵜ
qr_GRarmãneashti
qs_DEdolnoserbšćina
qt_USLingít
qu_PERunasimi
qv_ITłengoa vèneta
qz_MMZawgyi
rm_CHRumantsch
ro_RORomână
ru_RUРусский
rw_RWIkinyarwanda
sa_INसंस्कृतम्
sc_ITSardu
se_NOSámegillii
si_LKසිංහල
sk_SKSlovenčina
sl_SISlovenščina
sn_ZWShona
so_SOAf-Soomaali
sq_ALShqip
sr_RSСрпски
ss_SZsiSwati
st_ZASesotho
su_IDBasa Sunda
sv_SESvenska
sw_KEKiswahili
sy_SY‏ܣܘܪܝܝܐ‏
sz_PLślōnskŏ gŏdka
ta_INதமிழ்
te_INతెలుగు
tg_TJТоҷикӣ
th_THภาษาไทย
tk_TMTürkmençe
tl_PHFilipino
tl_STtlhIngan-Hol
tn_BWSetswana
tr_TRTürkçe
ts_ZAXitsonga
tt_RUТатарча
tz_MAⵜⴰⵎⴰⵣⵉⵖⵜ
uk_UAУкраїнська
ur_PK‏اردو‏
uz_UZO'zbek
ve_ZATshivenḓa
vi_VNTiếng Việt
wo_SNWolof
xh_ZAisiXhosa
yi_DEייִדיש
yo_NGÈdè Yorùbá
zh_CN中文(简体)
zh_HK中文(香港)
zh_TW中文(台灣)
zu_ZAisiZulu
zz_TRZaza

Resources:

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/params/index.html b/docs/params/index.html index 8dc7a3a..3b13a9d 100644 --- a/docs/params/index.html +++ b/docs/params/index.html @@ -4,37 +4,37 @@ - -Parameters and interpolation | FBT for PHP - - - - - - + +Parameters and interpolation | FBT for Laravel + + + + + + - - + +
-

Parameters and interpolation

⚠️ NOTE: Content of fbt:param and fbt:name will not be escaped!

Interpolation of dynamic text and other markup is accomplished in the FBT framework via <fbt:param> or fbt::param:

<fbt desc="param example">
Hello,
<fbt:param name="name"><?=$person->getName()?></fbt:param>.
</fbt>
fbt('Hello, ' . fbt::param('name', $person->getName()), 'param example')

These both extract to the same following text:

"Hello, {name}"

Tokens are delimited with the braces above and translations are expected to keep the same total token count and same token names for any given fbt callsite.

Required attributes

  • name string: Name of the token

Optional attributes

  • gender IntlVariations::GENDER_*:
    • Pass the gender of the parameter for correctly variated text.
  • number number|true:
    • Passing a value of type number into the number option uses that -value as the input for which we determine the CLDR plural value.
    • You can pass true to simply use the parameter value (the same value that replaces the token).

fbt::name

<fbt:name> is just a special form of fbt:param that requires that you pass in the gender for the interpolated variable.

<fbt desc="param example">
Hello,
<fbt:name name="name" gender="<?=$person->getGender()?>"><?=$person->getName()?></fbt:name>.
</fbt>

Here, gender must be one of the 3 supported gender values in IntlVariations:

IntlVariations::GENDER_MALE: 1;
IntlVariations::GENDER_FEMALE: 2;
IntlVariations::GENDER_UNKNOWN: 3;

Duplicate tokens

Tokens with the same name, but different values are prohibited in FBT. +

Parameters and interpolation

⚠️ NOTE: Content of fbt:param and fbt:name will not be escaped!

Interpolation of dynamic text and other markup is accomplished in the FBT framework via <fbt:param> or fbt::param:

<fbt desc="param example">
Hello,
<fbt:param name="name">{{ $person->getName() }}</fbt:param>.
</fbt>
fbt('Hello, ' . fbt::param('name', $person->getName()), 'param example')

These both extract to the same following text:

"Hello, {name}"

Tokens are delimited with the braces above and translations are expected to keep the same total token count and same token names for any given fbt callsite.

Required attributes

  • name string: Name of the token

Optional attributes

  • gender IntlVariations::GENDER_*:
    • Pass the gender of the parameter for correctly variated text.
  • number number|true:
    • Passing a value of type number into the number option uses that +value as the input for which we determine the CLDR plural value.
    • You can pass true to simply use the parameter value (the same value that replaces the token).

fbt::name

<fbt:name> is just a special form of fbt:param that requires that you pass in the gender for the interpolated variable.

<fbt desc="param example">
Hello,
<fbt:name name="name" gender="{{$person->getGender()}}">{{$person->getName()}}</fbt:name>.
</fbt>

Here, gender must be one of the 3 supported gender values in IntlVariations:

IntlVariations::GENDER_MALE: 1;
IntlVariations::GENDER_FEMALE: 2;
IntlVariations::GENDER_UNKNOWN: 3;

Duplicate tokens

Tokens with the same name, but different values are prohibited in FBT. If you want the same interpolation to show up, you must use fbt:same-param or fbt::sameParam. This construct only takes a name and no value, as the value to the first instance is re-used for the -second token.

<fbt desc="param example">
<fbt:name name="name" gender="<?=$gender?>">
<a href="#"><?=$name?></a>
</fbt:name>
shared a link. Tell
<fbt:same-param name="name" />
you liked it.
</fbt>
-
fbt(
fbt::name(
'name',
'<a href="#">' . $name . '</a>',
$gender
) .
' shared a link. Tell ' . fbt::sameParam('name') . ' you liked it.',
'param example'
)
Last updated on by Richard Dobroň
- - - - - - +second token.

<fbt desc="param example">
<fbt:name name="name" gender="{{$gender}}">
<a href="#">{{$name}}</a>
</fbt:name>
shared a link. Tell
<fbt:same-param name="name" />
you liked it.
</fbt>
+
fbt(
fbt::name(
'name',
'<a href="#">{{$name}}</a>',
$gender
) .
' shared a link. Tell ' . fbt::sameParam('name') . ' you liked it.',
'param example'
)
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/plurals/index.html b/docs/plurals/index.html index 7ff499a..a61f9d4 100644 --- a/docs/plurals/index.html +++ b/docs/plurals/index.html @@ -4,32 +4,32 @@ - -Plurals | FBT for PHP - - - - - - + +Plurals | FBT for Laravel + + + + + + - - + +
-

Plurals

fbt:plural provides you with a shorthand way for plural variations.

<fbt desc="plural example">
You have
<fbt:plural
count="<?=getLikeCount()?>"
name="number of likes"
showCount="ifMany"
many="likes">
a like
</fbt:plural>
on your
<fbt:plural
count="<?=getPhotoCount()?>"
showCount="no">
photo
</fbt:plural>.
</fbt>

OR

fbt(
'You have ' .
fbt::plural('a like', getLikeCount(), [
'name' => 'number of likes',
'showCount' => 'ifMany',
'many' => 'likes',
]) .
' on your ' .
fbt::plural('photo', getPhotoCount()) . '.',
'plural example',
);

Both the above examples generate the following during collection.

"phrases": [
{
"hashToText": {
"90d6ec6e0a0483edd5e9754592a4ac61": "You have {number of likes} likes on your photos.",
"158a5d707da85b56353cdfc05c92f4e9": "You have {number of likes} likes on your photo.",
"421273e69049f26d76c70fb33c6a9aea": "You have a like on your photos.",
"279c992f92809657b1240d1c955615a3": "You have a like on your photo."
},
"type": "table",
"desc": "plural example",
...
}
]

Required arguments:

  • singular phrase string: HTML child in <fbt:plural> and argument 1 in fbt::plural
  • count number: count in <fbt:plural> and argument 2 in fbt::plural

Optional arguments:

  • many string: Represents the plural form of the string in English. Default is $singular . 's'

  • showCount "yes"|"no"|"ifMany": Whether to show the {number} in the string. -Note that the singular phrase never has a token, but inlines to 1. This is to account for languages like Hebrew for which showing the actual number isn't appropriate

    • "no": (DEFAULT) Don't show the count
    • "ifMany": Show the count only in plural case
    • "yes": Show the count in all cases
  • name string: Name of the token where count shows up. (Default: "number")

  • value mixed: For overriding the displayed number

Last updated on by Richard Dobroň
- - - - - - +

Plurals

fbt:plural provides you with a shorthand way for plural variations.

<fbt desc="plural example">
You have
<fbt:plural
count="{{ getLikeCount() }}"
name="number of likes"
showCount="ifMany"
many="likes">
a like
</fbt:plural>
on your
<fbt:plural
count="{{ getPhotoCount() }}"
showCount="no">
photo
</fbt:plural>.
</fbt>

OR

fbt(
'You have ' .
fbt::plural('a like', getLikeCount(), [
'name' => 'number of likes',
'showCount' => 'ifMany',
'many' => 'likes',
]) .
' on your ' .
fbt::plural('photo', getPhotoCount()) . '.',
'plural example',
);

Both the above examples generate the following during collection.

"phrases": [
{
"hashToText": {
"90d6ec6e0a0483edd5e9754592a4ac61": "You have {number of likes} likes on your photos.",
"158a5d707da85b56353cdfc05c92f4e9": "You have {number of likes} likes on your photo.",
"421273e69049f26d76c70fb33c6a9aea": "You have a like on your photos.",
"279c992f92809657b1240d1c955615a3": "You have a like on your photo."
},
"type": "table",
"desc": "plural example",
...
}
]

Required arguments:

  • singular phrase string: HTML child in <fbt:plural> and argument 1 in fbt::plural
  • count number: count in <fbt:plural> and argument 2 in fbt::plural

Optional arguments:

  • many string: Represents the plural form of the string in English. Default is $singular . 's'

  • showCount "yes"|"no"|"ifMany": Whether to show the {number} in the string. +Note that the singular phrase never has a token, but inlines to 1. This is to account for languages like Hebrew for which showing the actual number isn't appropriate

    • "no": (DEFAULT) Don't show the count
    • "ifMany": Show the count only in plural case
    • "yes": Show the count in all cases
  • name string: Name of the token where count shows up. (Default: "number")

  • value mixed: For overriding the displayed number

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/pronouns/index.html b/docs/pronouns/index.html index 165ca06..c027c32 100644 --- a/docs/pronouns/index.html +++ b/docs/pronouns/index.html @@ -4,36 +4,35 @@ - -Pronouns | FBT for PHP - - - - - - + +Pronouns | FBT for Laravel + + + + + + - - + +
-

Pronouns

fbt:pronoun and fbt::pronoun both take a required FbtConstants::PRONOUN_USAGE enum and a Gender::GENDER_CONST enum:

class FbtConstants
{
const PRONOUN_USAGE = [
"OBJECT" => 0,
"POSSESSIVE" => 1,
"REFLEXIVE" => 2,
"SUBJECT" => 3
];
}
-
class Gender
{
const GENDER_CONST = [
'NOT_A_PERSON' => 0,
'FEMALE_SINGULAR' => 1,
'MALE_SINGULAR' => 2,
'FEMALE_SINGULAR_GUESS' => 3,
'MALE_SINGULAR_GUESS' => 4,
'MIXED_SINGULAR' => 5,
'MIXED_PLURAL' => 5,
'NEUTER_SINGULAR' => 6,
'UNKNOWN_SINGULAR' => 7,
'FEMALE_PLURAL' => 8,
'MALE_PLURAL' => 9,
'NEUTER_PLURAL' => 10,
'UNKNOWN_PLURAL' => 11,
];
}

⚠️ NOTE: This is not the same gender as used in fbt:param, fbt:name, or subject! -The IntlVariations used in those cases only has GENDER_MALE, GENDER_FEMALE, and GENDER_UNKNOWN.

Pronoun example:

<fbt desc="pronoun example">
<fbt:param name="name"><?=$ent->getName()?></fbt:param>
shared
<fbt:pronoun type="possessive" gender="<?=$ent->getPronounGender()?>" />
photo with you.
</fbt>

Optional attributes

  • capitalize bool: Whether to capitalize the pronoun in the source string.
  • human bool: Whether to elide the NOT_A_PERSON option in the text variations generated.

The example above generates:

{
"hashToText": {
"23fa7e4d6a4686bb6ff609c00726cf33": "{name} shared her photo with you.",
"dd86ffccd845f2767c691f8d48f69e25": "{name} shared his photo with you.",
"2584ed80718ca4138cd95adcf492de53": "{name} shared their photo with you."
},
...,
"type": "table",
"desc": "pronoun example",
"jsfbt": {
"t": {
"1": "{name} shared her photo with you.",
"2": "{name} shared his photo with you.",
"*": "{name} shared their photo with you."
},
"m": [
null
]
}
}

Combinations

Conceptually, pronouns work as though there was an enum supplied for the given type. +

Pronouns

fbt:pronoun and fbt::pronoun both take a required FbtConstants::PRONOUN_USAGE enum and a Gender::GENDER_CONST enum:

class FbtConstants
{
public const PRONOUN_USAGE = [
"OBJECT" => 0,
"POSSESSIVE" => 1,
"REFLEXIVE" => 2,
"SUBJECT" => 3
];
}
+
class Gender
{
public const GENDER_CONST = [
'NOT_A_PERSON' => 0,
'FEMALE_SINGULAR' => 1,
'MALE_SINGULAR' => 2,
'FEMALE_SINGULAR_GUESS' => 3,
'MALE_SINGULAR_GUESS' => 4,
'MIXED_SINGULAR' => 5,
'MIXED_PLURAL' => 5,
'NEUTER_SINGULAR' => 6,
'UNKNOWN_SINGULAR' => 7,
'FEMALE_PLURAL' => 8,
'MALE_PLURAL' => 9,
'NEUTER_PLURAL' => 10,
'UNKNOWN_PLURAL' => 11,
];
}

⚠️ NOTE: This is not the same gender as used in fbt:param, fbt:name, or subject!

The IntlVariations used in those cases only has GENDER_MALE, GENDER_FEMALE, and GENDER_UNKNOWN.

Pronoun example:

<fbt desc="pronoun example">
<fbt:param name="name">{{ $ent->getName() }}</fbt:param>
shared
<fbt:pronoun type="possessive" gender="{{ $ent->getPronounGender() }}" />
photo with you.
</fbt>

Optional attributes

  • capitalize bool: Whether to capitalize the pronoun in the source string.
  • human bool: Whether to elide the NOT_A_PERSON option in the text variations generated.

The example above generates:

{
"hashToText": {
"23fa7e4d6a4686bb6ff609c00726cf33": "{name} shared her photo with you.",
"dd86ffccd845f2767c691f8d48f69e25": "{name} shared his photo with you.",
"2584ed80718ca4138cd95adcf492de53": "{name} shared their photo with you."
},
...,
"type": "table",
"desc": "pronoun example",
"jsfbt": {
"t": {
"1": "{name} shared her photo with you.",
"2": "{name} shared his photo with you.",
"*": "{name} shared their photo with you."
},
"m": [
null
]
}
}

Combinations

Conceptually, pronouns work as though there was an enum supplied for the given type. Below is the table of possible values for their various types. Note how reflexive and object have 4 types

subject: he/she/they
possessive: his/her/their
reflexive: himself/herself/themselves/themself
object: him/her/them/this
-
V Name Subject Possessive Reflexive Object
=============================================================
0 NOT_A_PERSON they their themself this
1 FEMALE_SINGULAR she her herself her
2 MALE_SINGULAR he his himself him
3 FEMALE_SINGULAR_GUESS she her herself her
4 MALE_SINGULAR_GUESS he his himself him
5 MIXED_SINGULAR they their themselves them
5 MIXED_PLURAL they their themselves them
6 NEUTER_SINGULAR they their themself them
7 UNKNOWN_SINGULAR they their themself them
8 FEMALE_PLURAL they their themselves them
9 MALE_PLURAL they their themselves them
10 NEUTER_PLURAL they their themselves them
11 UNKNOWN_PLURAL they their themselves them
Last updated on by Richard Dobroň
- - - - - - +
V Name Subject Possessive Reflexive Object
=============================================================
0 NOT_A_PERSON they their themself this
1 FEMALE_SINGULAR she her herself her
2 MALE_SINGULAR he his himself him
3 FEMALE_SINGULAR_GUESS she her herself her
4 MALE_SINGULAR_GUESS he his himself him
5 MIXED_SINGULAR they their themselves them
5 MIXED_PLURAL they their themselves them
6 NEUTER_SINGULAR they their themself them
7 UNKNOWN_SINGULAR they their themself them
8 FEMALE_PLURAL they their themselves them
9 MALE_PLURAL they their themselves them
10 NEUTER_PLURAL they their themselves them
11 UNKNOWN_PLURAL they their themselves them
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/standards/index.html b/docs/standards/index.html index a97fe97..6b1097b 100644 --- a/docs/standards/index.html +++ b/docs/standards/index.html @@ -4,31 +4,31 @@ - -i18n standards | FBT for PHP - - - - - - + +i18n standards | FBT for Laravel + + + + + + - - + +
-

i18n standards

Locales

Facebook uses a xx_XX format for representing locales like: en_US, jp_JP, etc. We're actively working on separating our language + country combinations internally, and where we go from there as far as standards go is unknown. BUT if you'd like to help support bcp-47 standards or similar, you are very welcome to contribute!

CLDR

We generate all our number variation data found in our IntlNumberTypes internals from CLDR (Unicode Common Locale Data Repository).

Last updated on by Richard Dobroň
- - - - - - +

i18n standards

Locales

Facebook uses a xx_XX format for representing locales like: en_US, jp_JP, etc. We're actively working on separating our language + country combinations internally, and where we go from there as far as standards go is unknown. BUT if you'd like to help support bcp-47 standards or similar, you are very welcome to contribute!

CLDR

We generate all our number variation data found in our IntlNumberTypes internals from CLDR (Unicode Common Locale Data Repository).

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/transform/index.html b/docs/transform/index.html index f339259..672fe3c 100644 --- a/docs/transform/index.html +++ b/docs/transform/index.html @@ -4,31 +4,31 @@ - -Transforms | FBT for PHP - - - - - - + +Transforms | FBT for Laravel + + + + + + - - + +
-

Transforms

The fbt comes with 2 transforms.

FbtTransform

The first is the FbtTransform. Internally, it first transforms <fbt> instances into their fbt(...) equivalent. After which, it turns all fbt(...) calls into fbt::_(...) calls with an intermediary payload as the first argument, and the runtime arguments to be passed in.

FbtRuntimeTransform

This transform takes the intermediary payload and turns it into the object that the fbt::_(...) runtime expects.

Last updated on by Richard Dobroň
- - - - - - +

Transforms

The fbt comes with 2 transforms.

FbtTransform

The first is the FbtTransform. Internally, it first transforms <fbt> instances into their fbt(...) equivalent. After which, it turns all fbt(...) calls into fbt::_(...) calls with an intermediary payload as the first argument, and the runtime arguments to be passed in.

FbtRuntimeTransform

This transform takes the intermediary payload and turns it into the object that the fbt::_(...) runtime expects.

Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/translating/index.html b/docs/translating/index.html index 2c6713d..00c21f0 100644 --- a/docs/translating/index.html +++ b/docs/translating/index.html @@ -4,39 +4,40 @@ - -Translating | FBT for PHP - - - - - - + +Translating | FBT for Laravel + + + + + + - - + +
-

Translating

There are two ways to translate phrases:

  1. Manually translate generated JSON file.
  2. Use the app editor Swiftyper Translations.

Command to generate missing translation hashes from collected source strings:

php ./vendor/bin/fbt generate-translations --src=./path/to/fbt/.source_strings.json --translation-input=./path/to/translation_input.json
# or
php ./vendor/bin/fbt generate-translations --src=./path/to/fbt/.source_strings.json --translations=./path/to/translations/*.json

Options:

namedefaultdescription
--src./.source_strings.jsonPath to collected source strings file
--translation-input./translation_input.jsonPath to translation input file
--translations=[path]noneThe translation files containing translations.
E.g. --translations=./path/to/translations/*.json

Command to convert provided translations to jenkins:

php ./vendor/bin/fbt translate --path=./path/to/fbt/ --stdin < translation_input.json
# or
php ./vendor/bin/fbt translate --path=./path/to/fbt/ --translations=./path/to/translations/*.json

Options:

namedefaultdescription
--pathnonePath to export translation output (Cache storage path - must be same as in configuration)
--prettynoPretty print the translation output
--translations=[path]noneThe translation files containing translations.
E.g. --translations=/path/to/translations/*.json
--stdin < translation_input.jsonnoneInstead of reading translation files and source file separately, read monolithic JSON file from STDIN

JSON schema:

In addition to the below example, the translation_input.json +

Translating

There are two ways to translate phrases:

  1. Manually translate generated JSON file by php artisan fbt:generate-translations and then use the php artisan fbt:translate command.
  2. Manually add translations to the database and then use the php artisan fbt:translate command.
  3. Use the app editor Swiftyper Translations.

Command to generate missing translation hashes from collected source strings:

⚠️ NOTE: This command is required only if you are using json driver.

php artisan fbt:generate-translations --translation-input=./storage/fbt/translation_input.json
# or
php artisan fbt:generate-translations --translations=./storage/fbt/translations/*.json

Options:

namedefaultdescription
--srcFbtConfig::get('path')/.source_strings.jsonPath to collected source strings file
--translation-inputFbtConfig::get('path')/translation_input.jsonPath to translation input file
--translations=[path]noneThe translation files containing translations.
E.g. --translations=./storage/fbt/translations/*.json

Artisan command to convert provided translations to jenkins:

php artisan fbt:translate
# or
php artisan fbt:translate --stdin < translation_input.json
# or
php artisan fbt:translate --translations=./storage/fbt/translations/*.json

Options:

namedefaultdescription
--prettynoPretty print the translation output
--translations=[path]noneThe translation files containing translations. If not specified, the translations are retrieved from the database.
E.g. --translations=/path/to/translations/*.json
--stdin < translation_input.jsonnoneInstead of reading translation files and source file separately, read monolithic JSON file from STDIN

JSON schema:

In addition to the below example, the translation_input.json provided in our tests is a good reference on the "schema" used for the translations.

{
"phrases": [
"hashToText": {
<text_hash>: <text>,
...
},
"jsfbt": string|{t:<table>, m:<metadata>}
],
...
"translationGroups": [{
"fb-locale": "xx_XX",
"translations": {
<translation_hash>: {
"tokens": [<token1>, ..., <tokenN>],
"types": [<variationType1>, ..., <variationTypeN>]
"translations": [{
"translation": <translation1>,
"variations": [variationValue1,...,variationValueN]
},
...,
]
}
}
}]
}

The <text_hash> and <translation_hash> correspond in the above example. That is translations[<hash>] is the translation entry for phrases.hashToText[<hash>].

Here tokens, types and variations are all associative arrays. That is, in the above example, types[i] represents the variation type (or mask) of tokens[i] and variations[i] is the variation value of token[i] for the -given translation entry.

Variation types

Variation types can be one of

IntlVariations::BITMASK_NUMBER: 28
IntlVariations::BITMASK_GENDER: 3

This signifies what the given token can variate on. Token types of type GENDER can be:

IntlVariations::GENDER_MALE: 1
IntlVariations::GENDER_FEMALE: 2
IntlVariations::GENDER_UNKNOWN: 3

while token types of NUMBER can be:

-
IntlVariations::NUMBER_ONE: 4
IntlVariations::NUMBER_TWO: 8
IntlVariations::NUMBER_MANY: 12
IntlVariations::NUMBER_ZERO: 16
IntlVariations::NUMBER_FEW: 20
IntlVariations::NUMBER_OTHER: 24
Last updated on by Richard Dobroň
- - - - - - +given translation entry.

Database schema:

Database Schema

Example translation:

fbt_phrases

fbt_phrases table

translations

If you use tokens, they must be defined in same order and the following form: token_name%token_type.

translations table +...

Variation types

Variation types can be one of

IntlVariations::BITMASK_NUMBER: 28
IntlVariations::BITMASK_GENDER: 3

This signifies what the given token can variate on. Token types of type GENDER can be:

IntlVariations::GENDER_MALE: 1
IntlVariations::GENDER_FEMALE: 2
IntlVariations::GENDER_UNKNOWN: 3

while token types of NUMBER can be:

+
IntlVariations::NUMBER_ONE: 4
IntlVariations::NUMBER_TWO: 8
IntlVariations::NUMBER_MANY: 12
IntlVariations::NUMBER_ZERO: 16
IntlVariations::NUMBER_FEW: 20
IntlVariations::NUMBER_OTHER: 24
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/docs/utilities/index.html b/docs/utilities/index.html index 860508e..15d6867 100644 --- a/docs/utilities/index.html +++ b/docs/utilities/index.html @@ -4,38 +4,38 @@ - -Runtime Utilities | FBT for PHP - - - - - - + +Runtime Utilities | FBT for Laravel + + + + + + - - + +
-

Runtime Utilities

Bundled with fbt come a few useful utilities for constructing strings.

intlList(...)

intlList creates fbt instances with selectable conjunctions given an array.

As an example

$CONJUNCTIONS = \fbt\Runtime\Shared\intlList::CONJUNCTIONS;
$DELIMITER = \fbt\Runtime\Shared\intlList::DELIMITER;
$people = ['Adam', 'Becky', fbt('4 others', 'last item')];
intlList($people, $CONJUNCTIONS['AND'], $DELIMITER['COMMA']);

produces the fbt

<fbt
desc="A list of items of various types. {previous items} and {following items} are themselves lists that contain one or more items.">
<fbt:param name="previous items">{$output}</fbt:param>,
<fbt:param name="following items">{$items[$i]}</fbt:param>
</fbt>

recursively combining fbts. +

Runtime Utilities

Bundled with fbt come a few useful utilities for constructing strings.

intlList(...)

intlList creates fbt instances with selectable conjunctions given an array.

As an example

$CONJUNCTIONS = \fbt\Runtime\Shared\intlList::CONJUNCTIONS;
$DELIMITER = \fbt\Runtime\Shared\intlList::DELIMITER;
$people = ['Adam', 'Becky', fbt('4 others', 'last item')];
intlList($people, $CONJUNCTIONS['AND'], $DELIMITER['COMMA']);

produces the fbt

<fbt
desc="A list of items of various types. {previous items} and {following items} are themselves lists that contain one or more items.">
<fbt:param name="previous items">{$output}</fbt:param>,
<fbt:param name="following items">{$items[$i]}</fbt:param>
</fbt>

recursively combining fbts. Note that genders are not used in this fbt:param instances, so they default to UNKNOWN

intlNumUtils and intlSummarizeNumber

There are a few utilities in both intlNumUtils and intlSummarizeNumber that are documented in the source.

In fact fbt::param and fbt::plural default to displaying numbers using intlNumUtils::formatNumberWithThousandDelimiters. You can override this behavior in fbt:param by setting the number option and using your own string in the replacement.

You can override this in fbt::plural by providing the value -option.

createElement

We use this function internally to generate HTML for FBT.

\fbt\createElement('div', 'content', ['id' => 'container']);
Last updated on by Richard Dobroň
- - - - - - +option.

createElement

We use this function internally to generate HTML for FBT.

\fbt\createElement('div', 'content', ['id' => 'container']);
Last updated on by Richard Dobroň
+ + + + + + - - + + \ No newline at end of file diff --git a/ece76bd1.066934bd.js b/ece76bd1.066934bd.js new file mode 100644 index 0000000..dc10431 --- /dev/null +++ b/ece76bd1.066934bd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{108:function(e,t,a){"use strict";a.d(t,"b",(function(){return o}));var n=a(20),l={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","at-rule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},r=a(0),o={Prism:n.a,theme:l};function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e[a-1]===t?e:e.concat(t)},u=function(e,t){var a=e.plain,n=Object.create(null),l=e.styles.reduce((function(e,a){var n=a.languages,l=a.style;return n&&!n.includes(t)||a.types.forEach((function(t){var a=i({},e[t],l);e[t]=a})),e}),n);return l.root=a,l.plain=i({},a,{backgroundColor:null}),l};function d(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===t.indexOf(n)&&(a[n]=e[n]);return a}var y=function(e){function t(){for(var t=this,a=[],n=arguments.length;n--;)a[n]=arguments[n];e.apply(this,a),s(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var a=e.theme?u(e.theme,e.language):void 0;return t.themeDict=a})),s(this,"getLineProps",(function(e){var a=e.key,n=e.className,l=e.style,r=i({},d(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),o=t.getThemeDict(t.props);return void 0!==o&&(r.style=o.plain),void 0!==l&&(r.style=void 0!==r.style?i({},r.style,l):l),void 0!==a&&(r.key=a),n&&(r.className+=" "+n),r})),s(this,"getStyleForToken",(function(e){var a=e.types,n=e.empty,l=a.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===l&&"plain"===a[0])return n?{display:"inline-block"}:void 0;if(1===l&&!n)return r[a[0]];var o=n?{display:"inline-block"}:{},s=a.map((function(e){return r[e]}));return Object.assign.apply(Object,[o].concat(s))}})),s(this,"getTokenProps",(function(e){var a=e.key,n=e.className,l=e.style,r=e.token,o=i({},d(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==l&&(o.style=void 0!==o.style?i({},o.style,l):l),void 0!==a&&(o.key=a),n&&(o.className+=" "+n),o}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,a=e.language,n=e.code,l=e.children,r=this.getThemeDict(this.props),o=t.languages[a];return l({tokens:function(e){for(var t=[[]],a=[e],n=[0],l=[e.length],r=0,o=0,s=[],i=[s];o>-1;){for(;(r=n[o]++)0?d:["plain"],u=y):(d=p(d,y.type),y.alias&&(d=p(d,y.alias)),u=y.content),"string"==typeof u){var g=u.split(c),h=g.length;s.push({types:d,content:g[0]});for(var f=1;fl.a.createElement(y.a,Object(d.a)({},y.b,{code:e,language:"jsx"}),(({className:e,style:t,tokens:a,getLineProps:n,getTokenProps:r})=>l.a.createElement("pre",{className:e,style:{...t,textAlign:"left"}},a.map(((e,t)=>l.a.createElement("div",n({line:e,key:t}),e.map(((e,t)=>l.a.createElement("span",r({token:e,key:t}))))))))));var h=({showAll:e=!1})=>{const{siteConfig:t={}}=Object(c.a)(),{users:a}=t.customFields,n=(e?a:a.filter((e=>e.pinned))).map(((e,t)=>l.a.createElement("a",{key:t,className:u.a.showcaseLogo,href:e.infoUrl},l.a.createElement("img",{src:Object(m.a)(e.imageUrl),title:e.caption}))));return l.a.createElement("section",{className:o()("text--center margin-top--xl",u.a.showcase)},l.a.createElement("h2",{className:o()("showcaseHeading",u.a.showcaseHeadingColored)},"From whom does it come?"),l.a.createElement("div",{className:u.a.showcaseLogos},n))};const f=[{title:l.a.createElement(l.a.Fragment,null,"Inlined translatable text"),description:l.a.createElement(l.a.Fragment,null,"Compose translatable text inline with your source:",l.a.createElement(g,{code:""}))},{title:l.a.createElement(l.a.Fragment,null,"Seamless text collection"),description:l.a.createElement(l.a.Fragment,null,"Collect your translatable source texts with ease:",l.a.createElement(g,{code:'{\n "hashToText":{\n "ni7kanCF2RfGZAS9mDOToQ==":\n "Hello, World!"\n },\n ...,\n "desc": "Canonical intro text"\n}'}))},{title:l.a.createElement(l.a.Fragment,null,"Integrated translations"),description:l.a.createElement(l.a.Fragment,null,"Easily pull translations into your app",l.a.createElement(g,{code:""}))}],v=()=>f&&f.length?l.a.createElement("section",{className:u.a.features},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row"},f.map((({title:e,description:t},a)=>l.a.createElement("div",{key:a,className:o()("col col--4",u.a.featureBlock)},l.a.createElement("h3",null,e),l.a.createElement("p",null,t))))))):null,b=()=>l.a.createElement("section",{className:u.a.description},l.a.createElement("div",{className:o()("row",u.a.row)},l.a.createElement("div",{className:o()("col",u.a.column)},l.a.createElement("h2",null,"Why FBT?"),l.a.createElement("div",null,"FBT is a framework for internationalizing user interfaces in PHP. It is designed to be not only powerful and flexible, but also simple and intuitive. Getting grammatically correct translated texts in dynamic applications is hard. Let FBT do the hard work for you.")),l.a.createElement("div",{className:o()("col",u.a.column)},l.a.createElement("div",{className:"splash_image"},l.a.createElement("img",{className:u.a.descriptionImage,src:Object(m.a)("img/fbt.png")})))));t.default=()=>{const{siteConfig:e={}}=Object(c.a)();return l.a.createElement(s.a,{title:`${e.title} - ${e.tagline}`,description:e.tagline},l.a.createElement("header",{className:o()("hero hero--primary",u.a.heroBanner)},l.a.createElement("div",{className:o()("container",u.a.topContainer)},l.a.createElement("div",null,l.a.createElement("h1",{className:"hero__title"},e.title),l.a.createElement("div",{className:u.a.sections},l.a.createElement("div",null,l.a.createElement("p",{className:"hero__subtitle"},"A PHP Internationalization Framework for Laravel 5.5+"),l.a.createElement("div",{className:u.a.buttons},l.a.createElement(i.a,{className:o()("button button--secondary button--lg",u.a.button),to:"https://github.com/richardDobron/laravel-fbt"},"Try it out"),l.a.createElement(i.a,{className:o()("button button--info button--lg",u.a.button),to:"docs/getting_started"},"Open documentation"))))),l.a.createElement("div",{className:"splash_image"},l.a.createElement("img",{className:u.a.splashImage,src:Object(m.a)("img/fbt.png")})))),l.a.createElement("main",null,l.a.createElement(v,null),l.a.createElement(b,null),l.a.createElement(h,null)))}}}]); \ No newline at end of file diff --git a/ece76bd1.b4ffe8be.js b/ece76bd1.b4ffe8be.js deleted file mode 100644 index 9bd5543..0000000 --- a/ece76bd1.b4ffe8be.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{108:function(e,t,a){"use strict";a.d(t,"b",(function(){return l}));var n=a(20),r={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","at-rule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},o=a(0),l={Prism:n.a,theme:r};function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(){return(i=Object.assign||function(e){for(var t=1;t0&&e[a-1]===t?e:e.concat(t)},p=function(e,t){var a=e.plain,n=Object.create(null),r=e.styles.reduce((function(e,a){var n=a.languages,r=a.style;return n&&!n.includes(t)||a.types.forEach((function(t){var a=i({},e[t],r);e[t]=a})),e}),n);return r.root=a,r.plain=i({},a,{backgroundColor:null}),r};function d(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===t.indexOf(n)&&(a[n]=e[n]);return a}var y=function(e){function t(){for(var t=this,a=[],n=arguments.length;n--;)a[n]=arguments[n];e.apply(this,a),s(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var a=e.theme?p(e.theme,e.language):void 0;return t.themeDict=a})),s(this,"getLineProps",(function(e){var a=e.key,n=e.className,r=e.style,o=i({},d(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(o.style=l.plain),void 0!==r&&(o.style=void 0!==o.style?i({},o.style,r):r),void 0!==a&&(o.key=a),n&&(o.className+=" "+n),o})),s(this,"getStyleForToken",(function(e){var a=e.types,n=e.empty,r=a.length,o=t.getThemeDict(t.props);if(void 0!==o){if(1===r&&"plain"===a[0])return n?{display:"inline-block"}:void 0;if(1===r&&!n)return o[a[0]];var l=n?{display:"inline-block"}:{},s=a.map((function(e){return o[e]}));return Object.assign.apply(Object,[l].concat(s))}})),s(this,"getTokenProps",(function(e){var a=e.key,n=e.className,r=e.style,o=e.token,l=i({},d(e,["key","className","style","token"]),{className:"token "+o.types.join(" "),children:o.content,style:t.getStyleForToken(o),key:void 0});return void 0!==r&&(l.style=void 0!==l.style?i({},l.style,r):r),void 0!==a&&(l.key=a),n&&(l.className+=" "+n),l}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,a=e.language,n=e.code,r=e.children,o=this.getThemeDict(this.props),l=t.languages[a];return r({tokens:function(e){for(var t=[[]],a=[e],n=[0],r=[e.length],o=0,l=0,s=[],i=[s];l>-1;){for(;(o=n[l]++)0?d:["plain"],p=y):(d=u(d,y.type),y.alias&&(d=u(d,y.alias)),p=y.content),"string"==typeof p){var g=p.split(c),h=g.length;s.push({types:d,content:g[0]});for(var f=1;f\n\n'}))},{title:r.a.createElement(r.a.Fragment,null,"Seamless text collection"),description:r.a.createElement(r.a.Fragment,null,"Collect your translatable source texts with ease:",r.a.createElement(g,{code:'{\n "hashToText":{\n "ni7kanCF2RfGZAS9mDOToQ==":\n "Hello, World!"\n },\n ...,\n "desc": "Canonical intro text"\n}'}))},{title:r.a.createElement(r.a.Fragment,null,"Integrated translations"),description:r.a.createElement(r.a.Fragment,null,"Easily pull translations into your app",r.a.createElement(g,{code:""}))}],v=function(){return f&&f.length?r.a.createElement("section",{className:p.a.features},r.a.createElement("div",{className:"container"},r.a.createElement("div",{className:"row"},f.map((function(e,t){var a=e.title,n=e.description;return r.a.createElement("div",{key:t,className:l()("col col--4",p.a.featureBlock)},r.a.createElement("h3",null,a),r.a.createElement("p",null,n))}))))):null},b=function(){return r.a.createElement("section",{className:p.a.description},r.a.createElement("div",{className:l()("row",p.a.row)},r.a.createElement("div",{className:l()("col",p.a.column)},r.a.createElement("h2",null,"Why FBT?"),r.a.createElement("div",null,"FBT is a framework for internationalizing user interfaces in PHP. It is designed to be not only powerful and flexible, but also simple and intuitive. Getting grammatically correct translated texts in dynamic applications is hard. Let FBT do the hard work for you.")),r.a.createElement("div",{className:l()("col",p.a.column)},r.a.createElement("div",{className:"splash_image"},r.a.createElement("img",{className:p.a.descriptionImage,src:Object(m.a)("img/fbt.png")})))))};t.default=function(){var e=Object(c.a)().siteConfig,t=void 0===e?{}:e;return r.a.createElement(s.a,{title:t.title+" - "+t.tagline,description:t.tagline},r.a.createElement("header",{className:l()("hero hero--primary",p.a.heroBanner)},r.a.createElement("div",{className:l()("container",p.a.topContainer)},r.a.createElement("div",null,r.a.createElement("h1",{className:"hero__title"},t.title),r.a.createElement("div",{className:p.a.sections},r.a.createElement("div",null,r.a.createElement("p",{className:"hero__subtitle"},"An Internationalization Framework for PHP 7.0+"),r.a.createElement("div",{className:p.a.buttons},r.a.createElement(i.a,{className:l()("button button--secondary button--lg",p.a.button),to:"https://github.com/richardDobron/fbt"},"Try it out"),r.a.createElement(i.a,{className:l()("button button--info button--lg",p.a.button),to:"docs/getting_started"},"Open documentation"))))),r.a.createElement("div",{className:"splash_image"},r.a.createElement("img",{className:p.a.splashImage,src:Object(m.a)("img/fbt.png")})))),r.a.createElement("main",null,r.a.createElement(v,null),r.a.createElement(b,null),r.a.createElement(h,null)))}}}]); \ No newline at end of file diff --git a/f853931b.9666f4f7.js b/f853931b.9666f4f7.js deleted file mode 100644 index a0281ed..0000000 --- a/f853931b.9666f4f7.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{80:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"rightToc",(function(){return b})),n.d(t,"default",(function(){return p}));var a=n(1),r=n(6),i=(n(0),n(87)),o={id:"api_intro",title:"The FBT API",sidebar_label:"Introduction"},l={unversionedId:"api_intro",id:"api_intro",isDocsHomePage:!1,title:"The FBT API",description:'The fbt framework has two (mostly) equivalent APIs: A HTML-style ` tag API and a "vanilla" or "functional" fbt(...) API that more closely resembles standard PHP. In general, you can compose your translatable text in either format. As the following example illustrates, the child of the tag shows up as the first argument to fbt and any attributes show up in the optional third argument parameter. The desc (text description) argument is the exception to this rule because it is a required parameter and attribute in fbt(...) and ` respectively.',source:"@site/..\\docs\\api_intro.md",slug:"/api_intro",permalink:"/fbt/docs/api_intro",version:"current",lastUpdatedBy:"Richard Dobro\u0148",lastUpdatedAt:1659727267,sidebar_label:"Introduction",sidebar:"docs",previous:{title:"Platform Internationalization Best Practices",permalink:"/fbt/docs/best_practices"},next:{title:"Parameters and interpolation",permalink:"/fbt/docs/params"}},b=[{value:"HTML <fbt /> API",id:"html-fbt--api",children:[{value:"Required attributes",id:"required-attributes",children:[]},{value:"Optional attributes",id:"optional-attributes",children:[]}]},{value:""Vanilla" fbt(...) API",id:"vanilla-fbt-api",children:[]},{value:"Docblock defaults",id:"docblock-defaults",children:[]}],c={rightToc:b};function p(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(i.b)("wrapper",Object(a.a)({},c,n,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,"The fbt framework has two (mostly) equivalent APIs: A HTML-style ",Object(i.b)("inlineCode",{parentName:"p"},""),' tag API and a "vanilla" or "functional" ',Object(i.b)("inlineCode",{parentName:"p"},"fbt(...)")," API that more closely resembles standard PHP. In general, you can compose your translatable text in either format. As the following example illustrates, the child of the ",Object(i.b)("inlineCode",{parentName:"p"},"")," tag shows up as the first argument to ",Object(i.b)("inlineCode",{parentName:"p"},"fbt")," and any attributes show up in the optional third argument parameter. The ",Object(i.b)("inlineCode",{parentName:"p"},"desc")," (text description) argument is the exception to this rule because it is a ",Object(i.b)("em",{parentName:"p"},"required")," parameter and attribute in ",Object(i.b)("inlineCode",{parentName:"p"},"fbt(...)")," and ",Object(i.b)("inlineCode",{parentName:"p"},"")," respectively."),Object(i.b)("p",null,"Let's start with a simple example:"),Object(i.b)("h2",{id:"html-fbt--api"},"HTML ",Object(i.b)("inlineCode",{parentName:"h2"},"")," API"),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"NOTE: You can use this method only if you use the ",Object(i.b)("inlineCode",{parentName:"strong"},"fbtTransform")," + ",Object(i.b)("inlineCode",{parentName:"strong"},"endFbtTransform")," functions or by using ",Object(i.b)("inlineCode",{parentName:"strong"},"FbtTransform::transform(...)"))),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{}),'\n Hello, World!\n\n')),Object(i.b)("h3",{id:"required-attributes"},"Required attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"desc"),": description of text to be translated")),Object(i.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"author")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Text author"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"project")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Project to which the text belongs"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"preserveWhitespace")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(i.b)("inlineCode",{parentName:"li"},"false"),")",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"FBT normally consolidates whitespace down to one space (",Object(i.b)("inlineCode",{parentName:"li"},"' '"),")."),Object(i.b)("li",{parentName:"ul"},"Turn this off by setting this to ",Object(i.b)("inlineCode",{parentName:"li"},"true")))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"subject")," ",Object(i.b)("inlineCode",{parentName:"li"},"IntlVariations::GENDER_*"),": Pass an ",Object(i.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/implicit_params"}),"implicit subject")," gender to a partially formed text"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"common")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),': Use a "common" string repository'),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"doNotExtract")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),": Informs ",Object(i.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/collection"}),"collection")," to skip this string (useful for tests/mocks)")),Object(i.b)("hr",null),Object(i.b)("h2",{id:"vanilla-fbt-api"},'"Vanilla" ',Object(i.b)("inlineCode",{parentName:"h2"},"fbt(...)")," API"),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),"fbt('Hello, World', 'a simple example', ['project' => \"foo\"])\n")),Object(i.b)("h4",{id:"required-arguments"},"Required arguments"),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},"Text to translate"),Object(i.b)("li",{parentName:"ol"},"Description of text to be translated")),Object(i.b)("h4",{id:"optional-parameters"},"Optional parameters"),Object(i.b)("ol",{start:3},Object(i.b)("li",{parentName:"ol"},"Options object - same optional arguments as the ",Object(i.b)("inlineCode",{parentName:"li"},"")," ",Object(i.b)("a",Object(a.a)({parentName:"li"},{href:"/fbt/docs/api_intro#optional-attributes"}),"attributes above"))),Object(i.b)("hr",null),Object(i.b)("h2",{id:"docblock-defaults"},"Docblock defaults"),Object(i.b)("p",null,"Defaults for the above optional attributes may be provided in the\ndocblock with the ",Object(i.b)("inlineCode",{parentName:"p"},"@fbt")," pragma. It uses a straight ",Object(i.b)("inlineCode",{parentName:"p"},"json_decode")," to\ninterpret this, so you'll have to make sure your object is parseable. (i.e. keys should be wrapped in ",Object(i.b)("inlineCode",{parentName:"p"},'"double quotes"'),")"),Object(i.b)("p",null,"E.g."),Object(i.b)("pre",null,Object(i.b)("code",Object(a.a)({parentName:"pre"},{className:"language-php"}),'=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=r.a.createContext({}),p=function(e){var t=r.a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=p(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,c=b(e,["components","mdxType","originalType","parentName"]),s=p(n),d=a,m=s["".concat(o,".").concat(d)]||s[d]||u[d]||i;return n?r.a.createElement(m,l(l({ref:t},c),{},{components:n})):r.a.createElement(m,l({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=d;var l={};for(var b in t)hasOwnProperty.call(t,b)&&(l[b]=t[b]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var c=2;c<fbt />
API",id:"html-fbt--api",children:[{value:"Required attributes",id:"required-attributes",children:[]},{value:"Optional attributes",id:"optional-attributes",children:[]}]},{value:""Vanilla" fbt(...) API",id:"vanilla-fbt-api",children:[]},{value:"Docblock defaults",id:"docblock-defaults",children:[]}],c={rightToc:b};function p(e){var t=e.components,a=Object(r.a)(e,["components"]);return Object(i.b)("wrapper",Object(n.a)({},c,a,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,"The fbt framework has two (mostly) equivalent APIs: A HTML-style ",Object(i.b)("inlineCode",{parentName:"p"},""),' tag API and a "vanilla" or "functional" ',Object(i.b)("inlineCode",{parentName:"p"},"fbt(...)")," API that more closely resembles standard PHP. In general, you can compose your translatable text in either format. As the following example illustrates, the child of the ",Object(i.b)("inlineCode",{parentName:"p"},"")," tag shows up as the first argument to ",Object(i.b)("inlineCode",{parentName:"p"},"fbt")," and any attributes show up in the optional third argument parameter. The ",Object(i.b)("inlineCode",{parentName:"p"},"desc")," (text description) argument is the exception to this rule because it is a ",Object(i.b)("em",{parentName:"p"},"required")," parameter and attribute in ",Object(i.b)("inlineCode",{parentName:"p"},"fbt(...)")," and ",Object(i.b)("inlineCode",{parentName:"p"},"")," respectively."),Object(i.b)("p",null,"Let's start with a simple example:"),Object(i.b)("h2",{id:"html-fbt--api"},"HTML ",Object(i.b)("inlineCode",{parentName:"h2"},"")," API"),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"NOTE: You can use this method in the blade only if you use the ",Object(i.b)("inlineCode",{parentName:"strong"},"@fbtTransform")," + ",Object(i.b)("inlineCode",{parentName:"strong"},"@endFbtTransform")," directives or by using ",Object(i.b)("inlineCode",{parentName:"strong"},"FbtTransform::transform(...)"))),Object(i.b)("pre",null,Object(i.b)("code",Object(n.a)({parentName:"pre"},{}),'\n Hello, World!\n\n')),Object(i.b)("h3",{id:"required-attributes"},"Required attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"desc"),": description of text to be translated")),Object(i.b)("h3",{id:"optional-attributes"},"Optional attributes"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"author")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Text author"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"project")," ",Object(i.b)("inlineCode",{parentName:"li"},"string"),": Project to which the text belongs"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"preserveWhitespace")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),": (Default: ",Object(i.b)("inlineCode",{parentName:"li"},"false"),")",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},"FBT normally consolidates whitespace down to one space (",Object(i.b)("inlineCode",{parentName:"li"},"' '"),")."),Object(i.b)("li",{parentName:"ul"},"Turn this off by setting this to ",Object(i.b)("inlineCode",{parentName:"li"},"true")))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"subject")," ",Object(i.b)("inlineCode",{parentName:"li"},"IntlVariations::GENDER_*"),": Pass an ",Object(i.b)("a",Object(n.a)({parentName:"li"},{href:"/fbt/docs/implicit_params"}),"implicit subject")," gender to a partially formed text"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"common")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),': Use a "common" string repository'),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"doNotExtract")," ",Object(i.b)("inlineCode",{parentName:"li"},"bool"),": Informs ",Object(i.b)("a",Object(n.a)({parentName:"li"},{href:"/fbt/docs/collection"}),"collection")," to skip this string (useful for tests/mocks)")),Object(i.b)("hr",null),Object(i.b)("h2",{id:"vanilla-fbt-api"},'"Vanilla" ',Object(i.b)("inlineCode",{parentName:"h2"},"fbt(...)")," API"),Object(i.b)("pre",null,Object(i.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),"fbt('Hello, World', 'a simple example', ['project' => \"foo\"])\n")),Object(i.b)("h4",{id:"required-arguments"},"Required arguments"),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},"Text to translate"),Object(i.b)("li",{parentName:"ol"},"Description of text to be translated")),Object(i.b)("h4",{id:"optional-parameters"},"Optional parameters"),Object(i.b)("ol",{start:3},Object(i.b)("li",{parentName:"ol"},"Options object - same optional arguments as the ",Object(i.b)("inlineCode",{parentName:"li"},"")," ",Object(i.b)("a",Object(n.a)({parentName:"li"},{href:"/fbt/docs/api_intro#optional-attributes"}),"attributes above"))),Object(i.b)("hr",null),Object(i.b)("h2",{id:"docblock-defaults"},"Docblock defaults"),Object(i.b)("p",null,"Defaults for the above optional attributes may be provided in the\ndocblock with the ",Object(i.b)("inlineCode",{parentName:"p"},"@fbt")," pragma. It uses a straight ",Object(i.b)("inlineCode",{parentName:"p"},"json_decode")," to\ninterpret this, so you'll have to make sure your object is parseable. (i.e. keys should be wrapped in ",Object(i.b)("inlineCode",{parentName:"p"},'"double quotes"'),")"),Object(i.b)("p",null,"E.g."),Object(i.b)("pre",null,Object(i.b)("code",Object(n.a)({parentName:"pre"},{className:"language-php"}),'=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=r.a.createContext({}),p=function(e){var t=r.a.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=p(e.components);return r.a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,c=b(e,["components","mdxType","originalType","parentName"]),s=p(a),d=n,m=s["".concat(o,".").concat(d)]||s[d]||u[d]||i;return a?r.a.createElement(m,l(l({ref:t},c),{},{components:a})):r.a.createElement(m,l({ref:t},c))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=d;var l={};for(var b in t)hasOwnProperty.call(t,b)&&(l[b]=t[b]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var c=2;c")," instances into their ",Object(o.b)("inlineCode",{parentName:"p"},"fbt(...)")," equivalent. After which, it turns all ",Object(o.b)("inlineCode",{parentName:"p"},"fbt(...)")," calls into ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," calls with an intermediary payload as the first argument, and the runtime arguments to be passed in."),Object(o.b)("h2",{id:"fbtruntimetransform"},"FbtRuntimeTransform"),Object(o.b)("p",null,"This transform takes the intermediary payload and turns it into the object that the ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," runtime expects."))}f.isMDXComponent=!0},87:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),f=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=f(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=f(r),b=n,m=u["".concat(i,".").concat(b)]||u[b]||p[b]||o;return r?a.a.createElement(m,c(c({ref:t},l),{},{components:r})):a.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l")," instances into their ",Object(o.b)("inlineCode",{parentName:"p"},"fbt(...)")," equivalent. After which, it turns all ",Object(o.b)("inlineCode",{parentName:"p"},"fbt(...)")," calls into ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," calls with an intermediary payload as the first argument, and the runtime arguments to be passed in."),Object(o.b)("h2",{id:"fbtruntimetransform"},"FbtRuntimeTransform"),Object(o.b)("p",null,"This transform takes the intermediary payload and turns it into the object that the ",Object(o.b)("inlineCode",{parentName:"p"},"fbt::_(...)")," runtime expects."))}f.isMDXComponent=!0},87:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return m}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=a.a.createContext({}),f=function(e){var t=a.a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=f(e.components);return a.a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=a.a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=f(r),b=n,m=u["".concat(i,".").concat(b)]||u[b]||p[b]||o;return r?a.a.createElement(m,c(c({ref:t},l),{},{components:r})):a.a.createElement(m,c({ref:t},l))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=b;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var l=2;l - -FBT for PHP - An Internationalization Framework for PHP. | FBT for PHP - - - - - - + +FBT for Laravel - A PHP Internationalization Framework for Laravel Application. | FBT for Laravel + + + + + +
-

FBT for PHP

An Internationalization Framework for PHP 7.0+

Inlined translatable text

Compose translatable text inline with your source:

<?php fbtTransform(); ?>
<button>
<fbt desc="Canonical intro text">
Hello World!
</fbt>
</button>
<?php endFbtTransform(); ?>

Seamless text collection

Collect your translatable source texts with ease:

{
"hashToText":{
"ni7kanCF2RfGZAS9mDOToQ==":
"Hello, World!"
},
...,
"desc": "Canonical intro text"
}

Integrated translations

Easily pull translations into your app

<button>Hello, Byd!</button>

Why FBT?

FBT is a framework for internationalizing user interfaces in PHP. It is designed to be not only powerful and flexible, but also simple and intuitive. Getting grammatically correct translated texts in dynamic applications is hard. Let FBT do the hard work for you.

From whom does it come?

- - - - - - +

FBT for Laravel

A PHP Internationalization Framework for Laravel 5.5+

Inlined translatable text

Compose translatable text inline with your source:

<button>
@fbt('Hello, World!', 'Canonical intro text')
</button>

Seamless text collection

Collect your translatable source texts with ease:

{
"hashToText":{
"ni7kanCF2RfGZAS9mDOToQ==":
"Hello, World!"
},
...,
"desc": "Canonical intro text"
}

Integrated translations

Easily pull translations into your app

<button>Hello, Byd!</button>

Why FBT?

FBT is a framework for internationalizing user interfaces in PHP. It is designed to be not only powerful and flexible, but also simple and intuitive. Getting grammatically correct translated texts in dynamic applications is hard. Let FBT do the hard work for you.

From whom does it come?

+ + + + + + \ No newline at end of file diff --git a/main.9ac894b9.js b/main.9ac894b9.js new file mode 100644 index 0000000..2759aa5 --- /dev/null +++ b/main.9ac894b9.js @@ -0,0 +1,2 @@ +/*! For license information please see main.9ac894b9.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],[function(e,t,n){"use strict";e.exports=n(32)},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0;d--){var p=i[d];"."===p?o(i,d):".."===p?(o(i,d),f++):f&&(o(i,d),f--)}if(!s)for(;f--;f)i.unshift("..");!s||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var u=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=l(t),a=l(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},s=n(3);function c(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function h(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(r.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&u(e.state,t.state)}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),f({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=h(e,t,d(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,f({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t=0||(a[n]=e[n]);return a}n.d(t,"a",(function(){return r}))},function(e,t,n){e.exports=n(36)()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return u}));var r=n(2),a=n(1),o=n(0),i=n.n(o);function l(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?Object(r.j)(t,e):n.length?n[n.length-1].match:r.e.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&l(e.routes,t,n)),a})),n}function u(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?i.a.createElement(r.g,n,e.map((function(e,n){return i.a.createElement(r.d,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render(Object(a.a)({},n,{},t,{route:e})):i.a.createElement(e.component,Object(a.a)({},n,t,{route:e}))}})}))):null}},function(e,t,n){"use strict";n.r(t),t.default={title:"FBT for Laravel",tagline:"A PHP Internationalization Framework for Laravel Application.",url:"https://richarddobron.github.io",baseUrl:"/fbt/",favicon:"img/favicon_blue.png",projectName:"fbt",organizationName:"richardDobron",scripts:["https://buttons.github.io/buttons.js"],customFields:{users:[{caption:"Facebook",imageUrl:"img/flogo_RGB_HEX-72.svg",infoUrl:"https://www.facebook.com",pinned:!0}]},themeConfig:{navbar:{title:"FBT",logo:{alt:"FBT Logo",src:"img/fbt.png"},items:[{to:"docs/getting_started",label:"Docs",position:"right"},{href:"https://github.com/richardDobron/laravel-fbt",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",logo:{alt:"Richard's Blog",src:"/img/blog.svg",href:"https://dobron.showwcase.com/"},copyright:"Copyright \xa9 2023 Richard Dobro\u0148 & Meta Platforms, Inc. and affiliates.",links:[{title:"Docs",items:[{label:"Getting Started",to:"docs/getting_started"},{label:"API Reference",to:"docs/api_intro"}]},{title:"Community",items:[{label:"Stack Overflow",href:"https://stackoverflow.com/questions/tagged/fbt"}]},{title:"FBT",items:[{label:"JavaScript",href:"https://github.com/facebook/fbt"},{label:"Laravel 5.0+",href:"https://github.com/richardDobron/laravel-fbt"}]}]},image:"img/fbt.png",algolia:{apiKey:"9a5a805d18c37abc7339b217ec941de4",indexName:"fbt",contextualSearch:!1,appId:"BH4D9OD16A",searchParameters:{}},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1,switchConfig:{darkIcon:"\ud83c\udf1c",darkIconStyle:{},lightIcon:"\ud83c\udf1e",lightIconStyle:{}}},docs:{versionPersistence:"localStorage"},metadatas:[],prism:{additionalLanguages:[]}},presets:[["@docusaurus/preset-classic",{docs:{path:"../docs",sidebarPath:"C:\\data\\projects\\laravel-fbt\\website\\sidebars.js",showLastUpdateAuthor:!0,showLastUpdateTime:!0},theme:{customCss:"C:\\data\\projects\\laravel-fbt\\website\\src\\css\\custom.css"}}]],onBrokenLinks:"throw",onDuplicateRoutes:"warn",plugins:[],themes:[],titleDelimiter:"|",noIndex:!1}},function(e,t,n){"use strict";const r=!("undefined"==typeof window||!window.document||!window.document.createElement),a={canUseDOM:r,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&!!window.screen};t.a=a},function(e){e.exports=JSON.parse('{"/fbt/-efd":{"component":"ece76bd1","config":"5e9f5e1a"},"/fbt/search-f9b":{"component":"f07c4203"},"/fbt/docs-b23":{"component":"1be78505","versionMetadata":"f976f453"},"/fbt/docs/api_intro-e04":{"component":"17896441","content":"f853931b"},"/fbt/docs/autoparam-c9f":{"component":"17896441","content":"4639f76b"},"/fbt/docs/best_practices-f13":{"component":"17896441","content":"7d8c3b13"},"/fbt/docs/collection-f62":{"component":"17896441","content":"989b5495"},"/fbt/docs/common-8cf":{"component":"17896441","content":"c04ba58a"},"/fbt/docs/enums-4d5":{"component":"17896441","content":"214de4a4"},"/fbt/docs/getting_started-72d":{"component":"17896441","content":"c369aacc"},"/fbt/docs/implicit_params-0ce":{"component":"17896441","content":"4858b1b7"},"/fbt/docs/inline_translating-767":{"component":"17896441","content":"5a9f41da"},"/fbt/docs/locales-63c":{"component":"17896441","content":"a8db9197"},"/fbt/docs/params-2f9":{"component":"17896441","content":"1265782a"},"/fbt/docs/plurals-694":{"component":"17896441","content":"de6ece39"},"/fbt/docs/pronouns-195":{"component":"17896441","content":"109e4bea"},"/fbt/docs/standards-6f5":{"component":"17896441","content":"d6d61612"},"/fbt/docs/transform-8a9":{"component":"17896441","content":"ffa1bb28"},"/fbt/docs/translating-365":{"component":"17896441","content":"141bc010"},"/fbt/docs/utilities-538":{"component":"17896441","content":"2a3fc721"}}')},function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),s=o.querySelector(r.barSelector),c=r.speed,f=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),u(s,i(e,c,f)),1===e?(u(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){u(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),s=document.querySelector(r.parent);return u(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),s!=document.body&&c(s,"nprogress-custom-parent"),s.appendChild(t),t},n.remove=function(){f(document.documentElement,"nprogress-busy"),f(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),u=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function s(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=d(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function f(e,t){var n,r=d(e);s(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return d})),n.d(t,"c",(function(){return v})),n.d(t,"e",(function(){return k}));var r=n(2);n.d(t,"d",(function(){return r.a})),n.d(t,"f",(function(){return r.b})),n.d(t,"g",(function(){return r.c})),n.d(t,"h",(function(){return r.d})),n.d(t,"i",(function(){return r.e})),n.d(t,"j",(function(){return r.f})),n.d(t,"k",(function(){return r.g})),n.d(t,"l",(function(){return r.h})),n.d(t,"m",(function(){return r.i})),n.d(t,"n",(function(){return r.j})),n.d(t,"o",(function(){return r.k})),n.d(t,"p",(function(){return r.l})),n.d(t,"q",(function(){return r.m})),n.d(t,"r",(function(){return r.n})),n.d(t,"s",(function(){return r.o}));var a=n(5),o=n(0),i=n.n(o),l=n(4),u=(n(7),n(1)),s=n(6),c=n(3),f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;ae.length)return;if(!(k instanceof u)){if(h&&y!=t.length-1){if(d.lastIndex=w,!(C=d.exec(e)))break;for(var E=C.index+(m?C[1].length:0),S=C.index+C[0].length,x=y,T=w,_=t.length;x<_&&(T=(T+=t[x].length)&&(++y,w=T);if(t[y]instanceof u)continue;O=x-y,k=e.slice(w,T),C.index-=w}else{d.lastIndex=0;var C=d.exec(k),O=1}if(C){m&&(g=C[1]?C[1].length:0),S=(E=C.index+g)+(C=C[0].slice(g)).length;var P=k.slice(0,E),R=k.slice(S),A=[y,O];P&&(++y,w+=P.length,A.push(P));var N=new u(s,p?a.tokenize(C,p):C,b,C,h);if(A.push(N),R&&A.push(R),Array.prototype.splice.apply(t,A),1!=O&&a.matchGrammar(e,t,n,y,w,!0,s),i)break}else if(i)break}}}}},hooks:{add:function(){}},tokenize:function(e,t,n){var r=[e],o=t.rest;if(o){for(var i in o)t[i]=o[i];delete t.rest}return a.matchGrammar(e,r,t,0,0,!1),r}},(o=a.Token=function(e,t,n,r,a){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!a}).stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===a.util.type(e))return e.map((function(n){return o.stringify(n,t,e)})).join("");var r={type:e.type,content:o.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var i="Array"===a.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,i)}var l=Object.keys(r.attributes).map((function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(l?" "+l:"")+">"+r.content+""},a);i.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var a={};a[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:r},i.languages.insertBefore("markup","cdata",a)}}),i.languages.xml=i.languages.extend("markup",{}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var r=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=n.variable[1].inside,o=0;o=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.c=i.languages.extend("clike",{"class-name":{pattern:/(\b(?:enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete i.languages.c.boolean,i.languages.cpp=i.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),i.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:e.languages.css}},alias:"language-css"}},n.tag))}(i),i.languages.css.selector={pattern:i.languages.css.selector,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-:.\w]+/,id:/#[-:.\w]+/,attribute:{pattern:/\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/,greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},attribute:{pattern:/^(\s*)[-\w\xA0-\uFFFF]+/,lookbehind:!0},value:[/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,{pattern:/(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],punctuation:/[()]/}},i.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,lookbehind:!0}}),i.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:/#[\da-f]{3,8}/i,entity:/\\[\da-f]{1,8}/i,unit:{pattern:/(\d)(?:%|[a-z]+)/,lookbehind:!0},number:/-?[\d.]+/}),i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:i.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:i.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:i.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:i.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),i.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.markup.tag.addInlined("script","javascript"),i.languages.js=i.languages.javascript,function(e){var t=e.util.clone(e.languages.javascript);e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=/<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^}]*\}|[^{}])*\}|[^{}])+\}))?|\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}))*\s*\/?)?>/i,e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.insertBefore("inside","attr-name",{spread:{pattern:/\{\.{3}[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\}/,inside:{punctuation:/\.{3}|[{}.]/,"attr-value":/\w+/}}},e.languages.jsx.tag),e.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{(?:\{[^}]*\}|[^}])*\}|[^}])+\})/i,inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:e.languages.jsx},alias:"language-javascript"}},e.languages.jsx.tag);var n=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(n).join(""):""},r=function(t){for(var a=[],o=0;o0&&a[a.length-1].tagName===n(i.content[0].content[1])&&a.pop():"/>"===i.content[i.content.length-1].content||a.push({tagName:n(i.content[0].content[1]),openedBraces:0}):a.length>0&&"punctuation"===i.type&&"{"===i.content?a[a.length-1].openedBraces++:a.length>0&&a[a.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?a[a.length-1].openedBraces--:l=!0),(l||"string"==typeof i)&&a.length>0&&0===a[a.length-1].openedBraces){var u=n(i);o0&&("string"==typeof t[o-1]||"plain-text"===t[o-1].type)&&(u=n(t[o-1])+u,t.splice(o-1,1),o--),t[o]=new e.Token("plain-text",u,null,u)}i.content&&"string"!=typeof i.content&&r(i.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||r(e.tokens)}))}(i),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){"string"==typeof t&&(t=[t]),t.forEach((function(t){!function(t,n){var r="doc-comment",a=e.languages[t];if(a){var o=a[r];if(!o){var i={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,alias:"comment"}};o=(a=e.languages.insertBefore(t,"comment",i))[r]}if(o instanceof RegExp&&(o=a[r]={pattern:o}),Array.isArray(o))for(var l=0,u=o.length;l>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/,lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":n,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(i),function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var u=0;u=o.length);u++){var s=l[u];if("string"==typeof s||s.content&&"string"==typeof s.content){var c=o[a],f=n.tokenStack[c],d="string"==typeof s?s:s.content,p=t(r,c),m=d.indexOf(p);if(m>-1){++a;var h=d.substring(0,m),g=new e.Token(r,e.tokenize(f,n.grammar),"language-"+r,f),b=d.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof s?l.splice.apply(l,[u,1].concat(v)):s.content=v}}else s.content&&i(s.content)}return l}(n.tokens)}}}})}(i),function(e){e.languages.php=e.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,boolean:{pattern:/\b(?:false|true)\b/i,alias:"constant"},constant:[/\b[A-Z_][A-Z0-9_]*\b/,/\b(?:null)\b/i],comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),e.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),e.languages.insertBefore("php","comment",{delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"}}),e.languages.insertBefore("php","keyword",{variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),e.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var t={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/,lookbehind:!0,inside:{rest:e.languages.php}};e.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:t}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:t}}}),delete e.languages.php.string,e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(i),function(e){var t=e.languages.javascript,n=/{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}/.source,r="(@(?:param|arg|argument|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/[$\w\xA0-\uFFFF.]+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[[$\w\xA0-\uFFFF.]+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{punctuation:/[.,:?=<>|{}()[\]]/}},{pattern:/(@(?:augments|extends|class|interface|memberof!?|this)\s+)[A-Z]\w*(?:\.[A-Z]\w*)*/,lookbehind:!0,inside:{punctuation:/\./}}],example:{pattern:/(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^(\s*(?:\*\s*)?).+$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(i),i.languages.actionscript=i.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),i.languages.actionscript["class-name"].alias="function",i.languages.markup&&i.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:{rest:i.languages.markup}}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:e.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(i),function(e){e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:/(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/,lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var t=["function","function-variable","method","method-variable","property-access"],n=0;n))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0})}(i),i.languages.n4js=i.languages.extend("javascript",{keyword:/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),i.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),i.languages.n4jsd=i.languages.n4js,i.languages.typescript=i.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),i.languages.ts=i.languages.typescript,function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function u(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function s(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,u(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},f=u(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),d=Object.keys(c);return i=0,function e(t){for(var n=0;n=d.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=d[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var u=o.substring(0,l),f=s(c[a]),p=o.substring(l+a.length),m=[];if(u&&m.push(u),m.push(f),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(f),new e.Token(r,f,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:md|markdown)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),t].filter(Boolean);var f={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function d(e){return"string"==typeof e?e:Array.isArray(e)?e.map(d).join(""):d(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in f&&function t(n){for(var r=0,a=n.length;r/g,t),n&&(e=e+"|"+e.replace(/_/g,"\\*")),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``.+?``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\r?\n|\r)|$)/.source.replace(/__/g,r),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\r?\n|\r)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/(^[ \t]*(?:\r?\n|\r))(?: {4}|\t).+(?:(?:\r?\n|\r)(?: {4}|\t).+)*/m,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\r?\n|\r))[\s\S]+?(?=(?:\r?\n|\r)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\r?\n|\r)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/__(?:(?!_)|_(?:(?!_))+_)+__/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/_(?:(?!_)|__(?:(?!_))+__)+_/.source,!0),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+?\2/.source,!1),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\]))+\])/.source,!1),lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(\[)[^\]]+(?=\]$)/,lookbehind:!0},content:{pattern:/(^!?\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(i),i.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \w{40}$/m},i.languages.go=i.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete i.languages.go["class-name"],function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")}))}(i),i.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},i.languages.less=i.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),i.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}}),i.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^[^:=\r\n]+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},i.languages.objectivec=i.languages.extend("c",{keyword:/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,string:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete i.languages.objectivec["class-name"],i.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i,type:{pattern:/\B['`]\w*/,alias:"variable"},directive:{pattern:/\B#\w+/,alias:"function"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\b/,punctuation:/[(){}\[\]|_.,:;]/},i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/i,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.python["string-interpolation"].inside.interpolation.inside.rest=i.languages.python,i.languages.py=i.languages.python,i.languages.reason=i.languages.extend("clike",{comment:{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),i.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete i.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/,lookbehind:!0}})}(i),i.languages.scss=i.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),i.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),i.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),i.languages.insertBefore("scss","function",{placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),i.languages.scss.atrule.inside.rest=i.languages.scss,i.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t={url:/url\((["']?).*?\1\)/i,string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,number:/\b\d+(?:\.\d+)?%?/,boolean:/\b(?:true|false)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.+|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],punctuation:/[{}()\[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^{|}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={comment:{pattern:/(^|[^\\])(\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},"atrule-declaration":{pattern:/(^\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(\r?\n|\r)(?:\{|\2[ \t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m,lookbehind:!0,inside:{interpolation:t.interpolation,punctuation:/[{},]/}},func:t.func,string:t.string,interpolation:t.interpolation,punctuation:/[{}()\[\];:.]/}}(i);var l=i.util.clone(i.languages.typescript);i.languages.tsx=i.languages.extend("jsx",l),i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},i.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},i.languages.yml=i.languages.yaml,t.a=i},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,t){for(var n,l,u=i(e),s=1;sR.length&&R.push(e)}function I(e,t,n,r){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var l=!1;if(null===e)l=!0;else switch(a){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case o:case i:l=!0}}if(l)return n(r,e,""===t?"."+D(e,0):t),1;if(l=0,t=""===t?".":t+":",Array.isArray(e))for(var u=0;u