From b3fd4dcbbcdf9c5dd94277bea8bc18817c00aef5 Mon Sep 17 00:00:00 2001 From: Workflow Date: Wed, 31 Jan 2024 03:34:21 +0000 Subject: [PATCH] deploy: 51348fa2b39e750c7dc442809058b3160c1b34f9 --- learn-angular/creating-components.html | 4 +- learn-angular/creating-pipes.html | 58 +++++++++++++------ learn-angular/declarative-state.html | 1 + .../pull-restaurant-data-into-view.html | 1 + learn-angular/state-city-options.html | 4 +- static/bundles/bit-docs-site/static.js | 2 +- 6 files changed, 48 insertions(+), 22 deletions(-) diff --git a/learn-angular/creating-components.html b/learn-angular/creating-components.html index f19933a45..440f7bb03 100644 --- a/learn-angular/creating-components.html +++ b/learn-angular/creating-components.html @@ -1586,7 +1586,7 @@

P2: Setup

<!-- show the following markup for each restaurant --> <div class="restaurant"> - <img src="{{ restaurant.images.thumbnail }}" width="100" height="100" /> + <img alt="" src="{{ restaurant.images.thumbnail }}" width="100" height="100" /> <h3>{{ restaurant.name }}</h3> <div class="address" *ngIf="restaurant.address"> @@ -1689,7 +1689,7 @@

P2: Solution

<h2 class="page-header">Restaurants</h2> <ng-container *ngIf="restaurants.length"> <div class="restaurant" *ngFor="let restaurant of restaurants"> - <img src="{{ restaurant.images.thumbnail }}" width="100" height="100" /> + <img alt="" src="{{ restaurant.images.thumbnail }}" width="100" height="100" /> <h3>{{ restaurant.name }}</h3> <div class="address" *ngIf="restaurant.address"> diff --git a/learn-angular/creating-pipes.html b/learn-angular/creating-pipes.html index 486b82fd3..277d31356 100644 --- a/learn-angular/creating-pipes.html +++ b/learn-angular/creating-pipes.html @@ -671,8 +671,14 @@

Problem

Currently the path is written out like:

-
<img src="{{ restaurant.images.thumbnail }}" width="100" height="100" />
+
<img
+  alt=""
+  src="{{ restaurant.images.thumbnail }}"
+  width="100"
+  height="100"
+/>
 
+

restaurant.images.thumbnail will be a path like node_modules/place-my-order-assets/image.png. We need to change that path to be more like ./assets/image.png. Once the path rewriting is fixed, images will show up correctly.

What You Need to Know

@@ -688,7 +694,7 @@

How to Generate a Pipe via the CLI

How to Build a Pipe

Angular Pipes come in handy to transform content in our templates. Pipes allow us to transform data to display to the user in our HTML without modifying the original source.

Angular comes with several built-it pipes like DatePipe, UpperCasePipe, LowerCasePipe, CurrencyPipe, and PercentPipe. These pipes can be used in templates to modify the way data displays. We can build custom pipes as well. Pipes require one parameter - the value we want to change, but can take an additional parameters as well.

-

This example takes the value to be transformed and a parameter to use as an exponential multiplier.

+

This example takes a price to be transformed and a parameter to use as the currency symbol.

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.2.1/rxjs.umd.min.js"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.5.7/core.js"/></script>
 <script src="https://unpkg.com/@angular/core@7.2.0/bundles/core.umd.js"/></script>
@@ -703,18 +709,18 @@ 

How to Build a Pipe

const { Component, VERSION, Pipe, PipeTransform } = ng.core; -@Pipe({name: 'exponentialStrength'}) -class ExponentialStrengthPipe implements PipeTransform { - transform(value: number, exponent: number): number { - return Math.pow(value, isNaN(exponent) ? 1 : exponent); +@Pipe({ name: 'currencyFormat' }) +export class CurrencyFormatPipe implements PipeTransform { + transform(value: number, symbol: string = '$'): string { + return `${symbol}${value / 100}`; } } @Component({ selector: 'my-app', template: ` - <h2>Power Booster</h2> - <p>Super power boost: {{2 | exponentialStrength: 10}}</p> + <h2>Prices</h2> + <p>USD price: {{ 1522 | currencyFormat:'$' }}</p> ` }) class AppComponent { @@ -730,7 +736,7 @@

How to Build a Pipe

@NgModule({ imports: [ BrowserModule, CommonModule], - declarations: [AppComponent, ExponentialStrengthPipe], + declarations: [AppComponent, CurrencyFormatPipe], bootstrap: [AppComponent], providers: [] }) @@ -751,8 +757,14 @@

Technical Requirements

  1. Use an imageUrl pipe in src/app/restaurant/restaurant.component.html to rewrite the path. Using a pipe looks like the following:
-
<img src="{{ restaurant.images.thumbnail | imageUrl }}" />
+
<img
+  alt=""
+  src="{{ restaurant.images.thumbnail }}"
+  width="100"
+  height="100"
+/>
 
+
  1. Generate and implement the imageUrl pipe.
@@ -761,12 +773,16 @@

Technical Requirements

Hint: Use String.prototype.replace to create the new path with image name.

Setup

+

✏️ Run the following to generate the pipe and the pipe’s tests:

+
ng g pipe imageUrl
+

✏️ Update src/app/restaurant/restaurant.component.html file to use the pipe we will create:

<div class="restaurants">
   <h2 class="page-header">Restaurants</h2>
   <ng-container *ngIf="restaurants.length">
     <div class="restaurant" *ngFor="let restaurant of restaurants">
       <img
+        alt=""
         src="{{ restaurant.images.thumbnail | imageUrl }}"
         width="100"
         height="100"
@@ -793,10 +809,14 @@ 

Setup

</div>
-
-

✏️ Run the following to generate the pipe and the pipe’s tests:

-
ng g pipe imageUrl
-
+
+

Having issues with your local setup?

+

You can get through most of this tutorial by using an online code editor. You won’t be able to run our tests to verify your solution, but you will be able to make changes to your app and see them live.

+

You can use one of these two online editors:

+

How to Verify Your Solution is Correct

✏️ Update the restaurant spec file src/app/restaurant/restaurant.component.spec.ts to include the new pipe:

import {
@@ -859,7 +879,7 @@ 

How to Verify Your Solution is Correct

});
-
+

✏️ Update the spec file src/app/image-url.pipe.spec.ts to be:

import { ImageUrlPipe } from './image-url.pipe';
 
@@ -879,26 +899,28 @@ 

How to Verify Your Solution is Correct

+

Solution

If you’ve implemented the solution correctly, when you run npm run test all tests will pass!

-

Solution

Click to see the solution ✏️ Update src/app/image-url.pipe.ts to:

import { Pipe, PipeTransform } from '@angular/core';
 
 @Pipe({
-  name: 'imageUrl',
+  name: 'imageUrl'
 })
 export class ImageUrlPipe implements PipeTransform {
+
   transform(value: string): string {
     return value.replace('node_modules/place-my-order-assets', './assets');
   }
+
 }
 
 
-
+

diff --git a/learn-angular/declarative-state.html b/learn-angular/declarative-state.html index 62b4905c5..f8095af2e 100644 --- a/learn-angular/declarative-state.html +++ b/learn-angular/declarative-state.html @@ -1742,6 +1742,7 @@

Solution

<ng-container *ngIf="restaurants.value.length"> <div class="restaurant" *ngFor="let restaurant of restaurants.value"> <img + alt="" src="{{ restaurant.images.thumbnail | imageUrl }}" width="100" height="100" diff --git a/learn-angular/pull-restaurant-data-into-view.html b/learn-angular/pull-restaurant-data-into-view.html index cd7ecb94c..aad22d5bc 100644 --- a/learn-angular/pull-restaurant-data-into-view.html +++ b/learn-angular/pull-restaurant-data-into-view.html @@ -1826,6 +1826,7 @@

P2: Solution

<ng-container *ngIf="restaurants.value.length"> <div class="restaurant" *ngFor="let restaurant of restaurants.value"> <img + alt="" src="{{ restaurant.images.thumbnail | imageUrl }}" width="100" height="100" diff --git a/learn-angular/state-city-options.html b/learn-angular/state-city-options.html index 2d80a5d2e..b96c08e4d 100644 --- a/learn-angular/state-city-options.html +++ b/learn-angular/state-city-options.html @@ -784,6 +784,7 @@

Setup

<ng-container *ngIf="restaurants.value.length"> <div class="restaurant" *ngFor="let restaurant of restaurants.value"> <img + alt="" src="{{ restaurant.images.thumbnail | imageUrl }}" width="100" height="100" @@ -810,7 +811,7 @@

Setup

</div>
-
+

✏️ Update src/app/app.module.ts to import reactiveForms in the root app module:

import { HttpClientModule } from '@angular/common/http';
 import { NgModule } from '@angular/core';
@@ -2033,6 +2034,7 @@ 

The Solution

<ng-container *ngIf="restaurants.value.length"> <div class="restaurant" *ngFor="let restaurant of restaurants.value"> <img + alt="" src="{{ restaurant.images.thumbnail | imageUrl }}" width="100" height="100" diff --git a/static/bundles/bit-docs-site/static.js b/static/bundles/bit-docs-site/static.js index 07e4e931d..5eb8c3baf 100644 --- a/static/bundles/bit-docs-site/static.js +++ b/static/bundles/bit-docs-site/static.js @@ -1 +1 @@ -System.bundles={"bundles/bit-docs-site/static.css!":["bit-docs-prettify@0.4.1#prettify.less!steal-less@1.3.4#less","prismjs@1.29.0#themes/prism-coy.css!steal-css@1.3.2#css","prismjs@1.29.0#plugins/line-numbers/prism-line-numbers.css!steal-css@1.3.2#css","prismjs@1.29.0#plugins/previewers/prism-previewers.css!steal-css@1.3.2#css","prismjs@1.29.0#plugins/command-line/prism-command-line.css!steal-css@1.3.2#css","prismjs@1.29.0#plugins/toolbar/prism-toolbar.css!steal-css@1.3.2#css","prismjs@1.29.0#plugins/line-highlight/prism-line-highlight.css!steal-css@1.3.2#css","bit-docs-html-highlight-line@0.5.7#prism-collapse.less!steal-less@1.3.4#less","bit-docs-site@0.0.1#styles/styles.less!steal-less@1.3.4#less"]},define("npm-utils",function(e,t,n){!function(e,t,n,r){function i(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@\/]*(?::[^:@\/]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null}var a=Array.prototype.slice,s=/.+@.+\..+\..+#.+/,o=/#\{[^\}]+\}|#\?.+$/,l=/(git|http(s?)):\/\//,c="function"==typeof Set,u={extend:function(e,t,n,r){var i,s=r;if(n)if(s||(s=c?new Set:[]),c){if(s.has(t))return t;s.add(t)}else{if(-1!==s.indexOf(t))return t;s.push(t)}for(var o in t)i=t[o],n?u.isArray(i)?e[o]=a.call(i):u.isPlainObject(i)?e[o]=u.extend({},i,n,s):e[o]=t[o]:e[o]=t[o];return e},map:function(e,t){for(var n=0,r=e.length,i=[];n=0)return n>=0?e.substr(0,n):e},findDep:function(e,t,n){if(e.npm&&t&&!u.path.startsWithDotSlash(n)){var r=n+"@"+t.resolutions[n];return e.npm[r]}},findDepWalking:function(e,t,n){if(e.npm&&t&&!u.path.startsWithDotSlash(n))for(var r=u.path.depPackageDir(t.fileUrl,n);r;){var i=e.npmPaths[r];if(i)return i;var a=u.path.parentNodeModuleAddress(r);if(!a)return;r=a+"/"+n}},findByName:function(e,t){if(e.npm&&!u.path.startsWithDotSlash(t))return e.npm[t]},findByNameAndVersion:function(e,t,n){if(e.npm&&!u.path.startsWithDotSlash(t)){var r=t+"@"+n;return e.npm[r]}},findByUrl:function(e,t){if(e.npm){var n=u.pkg.folderAddress(t);return e.npmPaths[n]}},directoriesLib:function(e){var t,n=u.pkg.config(e),r=n&&n.directories&&n.directories.lib,i=[".","/"];if(r){for(;t=i.shift();)r[0]===t&&(r=r.substr(1));return r}},hasDirectoriesLib:function(e){var t=u.pkg.config(e);return t&&t.directories&&!!t.directories.lib},findPackageInfo:function(e,t){var n=e.pkgInfo;if(n){var r;return u.forEach(n,function(e){t.name===e.name&&t.version===e.version&&(r=e)}),r}},saveResolution:function(e,t,n){u.pkg.findPackageInfo(e,t).resolutions[n.name]=t.resolutions[n.name]=n.version},config:function(e){return e.steal||e.system}},path:{makeRelative:function(e){return u.path.isRelative(e)&&"/"!==e.substr(0,1)?e:"./"+e},removeJS:function(e){return e.replace(/\.js(!|$)/,function(e,t){return t})},removePackage:function(e){return e.replace(/\/package\.json.*/,"")},addJS:function(e){return/\.js(on)?$/.test(e)?e:e+".js"},isRelative:function(e){return"."===e.substr(0,1)},isInHomeDir:function(e,t){return e.substr(0,2)===u.pkg.homeAlias(t)+"/"},joinURIs:function(e,t){var n=i(t||""),r=i(e||"");return n&&r?(n.protocol||r.protocol)+(n.protocol||n.authority?n.authority:r.authority)+function(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}(n.protocol||n.authority||"/"===n.pathname.charAt(0)?n.pathname:n.pathname?(r.authority&&!r.pathname?"/":"")+r.pathname.slice(0,r.pathname.lastIndexOf("/")+1)+n.pathname:r.pathname)+(n.protocol||n.authority||n.pathname?n.search:n.search||r.search)+n.hash:null},startsWithDotSlash:function(e){return"./"===e.substr(0,2)},removeDotSlash:function(e){return u.path.startsWithDotSlash(e)?e.substr(2):e},endsWithSlash:function(e){return"/"===e[e.length-1]},addEndingSlash:function(e){return u.path.endsWithSlash(e)?e:e+"/"},depPackage:function(e,t){var n=e.replace(/\/package\.json.*/,"");return(n?n+"/":"")+"node_modules/"+t+"/package.json"},peerPackage:function(e,t){var n=e.replace(/\/package\.json.*/,"");return n.substr(0,n.lastIndexOf("/"))+"/"+t+"/package.json"},depPackageDir:function(e,t){return u.path.depPackage(e,t).replace(/\/package\.json.*/,"")},peerNodeModuleAddress:function(e){var t=e.lastIndexOf("/node_modules/");if(t>=0)return e.substr(0,t+"/node_modules/".length-1)},parentNodeModuleAddress:function(e){var t=e.lastIndexOf("/node_modules/"),n=e.lastIndexOf("/node_modules/",t-1);if(n>=0)return e.substr(0,n+"/node_modules/".length-1)},pkgDir:function(e){var t=e.lastIndexOf("/node_modules/"),n=e.indexOf("/",t+"/node_modules/".length);if("@"===e[t+"/node_modules/".length]&&(n=e.indexOf("/",n+1)),t>=0)return n>=0?e.substr(0,n):e},basename:function(e){var t=e.split("/");return t[t.length-1]},relativeTo:function(e,t){for(var n=e.split("/"),r=1;"."===t[r];)n.pop(),r++;return n.join("/")},isPackageRootDir:function(e){return-1===e.indexOf("/")}},json:{transform:function(e,t,n){n.steal=u.pkg.config(n);var r=e.jsonOptions&&e.jsonOptions.transform;return r?r.call(e,t,n):n}},includeInBuild:!0};r.exports=u}(0,0,0,n)}),define("npm-extension",["require","exports","module","@steal","./npm-utils"],function(e,t,n){!function(e,t,n,r){"format cjs";var i=t("@steal"),a=t("./npm-utils");n.includeInBuild=!0;var s="object"==typeof process&&"[object process]"==={}.toString.call(process),o="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,l="undefined"!=typeof window&&!s&&!o;n.addExtension=function(e){function t(e,t){var n=this,r="function"==typeof t.name?t.name(n,e):e.name+t.name,i=a.extend({},e);return i.name=r,i.metadata={dryRun:!0},Promise.resolve(n.locate(i)).then(function(e){return i.address=e,n.fetch(i)}).then(function(t){e.metadata.address=i.address,n.npmParentMap[e.name]=i.name;var r=n.npmContext&&n.npmContext.npmLoad;return r&&(r.saveLoadIfNeeded(n.npmContext),s||a.warnOnce("Some 404s were encountered while loading. Don't panic! These will only happen in dev and are harmless.")),t})}e._extensions&&e._extensions.push(n.addExtension);var r=e.normalize;e.normalize=function(e,t,n,i){function s(e){b.version=e.version,b.modulePath||(b.modulePath=a.pkg.main(e));var t=r.call(P,a.moduleName.create(b),l,n,i);return d&&t.then(function(e){x&&x.forwardSlashMap&&(x.forwardSlashMap[e]=!0)}),t}var o=e,l=t;l&&this.npmParentMap&&this.npmParentMap[l]&&(l=this.npmParentMap[l]);var c=a.path.isRelative(o),u=a.moduleName.isNpm(l),d=a.path.endsWithSlash(o);if(l&&c&&!u)return r.call(this,o,l,n,i);if(a.moduleName.isConditional(o))return r.call(this,o,l,n,i);if("object"==typeof this.map[l]&&this.map[l][o])return r.call(this,o,l,n,i);var p=a.pkg.findByModuleNameOrAddress(this,l,n);if(!p)return r.call(this,o,l,n,i);var f="../"===o||"./"===o;if(u&&f){var m=a.moduleName.parse(l).modulePath||"",g=a.path.relativeTo(m,o);a.path.isPackageRootDir(g)?o=p.name+"#"+a.path.removeJS(p.main):o+="index"}var h,v,b=a.moduleName.parseFromPackage(this,p,o,l),y=a.pkg.isRoot(this,p),k=b.packageName===p.name;u&&c&&k&&(h=p);var x=this.npmContext,w=x&&x.crawl,A=!!w;if(!h)if(w){if((L=c?null:w.matchedVersion(x,p.name,p.version))&&(v=(N=w.getFullDependencyMap(this,L,y))[b.packageName])){var E=p.resolutions&&p.resolutions[v.name]||v.version,S=w.matchedVersion(this.npmContext,v.name,E);S&&(h=a.pkg.findByUrl(this,S.fileUrl))}}else h=y?a.pkg.findDepWalking(this,p,b.packageName):a.pkg.findDep(this,p,b.packageName);if(k&&(h=a.pkg.findByNameAndVersion(this,b.packageName,p.version)),b.isGlobal,h||(h=a.pkg.findByName(this,b.packageName)),A&&h&&v&&!w.pkgSatisfies(h,v.version)?h=void 0:A&&h&&a.pkg.saveResolution(x,p,h),!h){var j=this.globalBrowser[b.packageName];j&&(b.packageName=j.moduleName,h=a.pkg.findByName(this,b.packageName))}if(!h&&y&&o===p.main&&a.pkg.hasDirectoriesLib(p))return b.version=p.version,b.packageName=p.name,b.modulePath=a.pkg.main(p),r.call(this,a.moduleName.create(b),l,n,i);var P=this;if(h)return s(h);if(w){var L=w.matchedVersion(this.npmContext,p.name,p.version);if(L){var N=w.getFullDependencyMap(this,L,y);if(!(h=N[b.packageName])){var C=w.findPackageAndParents(this.npmContext,b.packageName);C&&(h=C.package)}}}if(!h){if(p.browser&&p.browser[o])return r.call(this,p.browser[o],l,n,i);var O=a.pkg.config(p);if(O&&O.map&&"string"==typeof O.map[o]){var _=O.map[o],T=O.envs&&O.envs[P.env];return T&&T.map&&"string"==typeof T.map[o]&&(_=T.map[o]),P.normalize(_,l,n,i)}return r.call(this,o,l,n,i)}return w.dep(this.npmContext,L,p,h,y).then(s)};var o=e.locate;e.locate=function(t){var n=a.moduleName.parse(t.name),r=this,s=t.metadata.parsedModuleName=n;if(t.metadata.npmPackage=a.pkg.findByNameAndVersion(this,s.packageName,s.version),n.version&&this.npm&&!r.paths[t.name]){var c=this.npm[a.moduleName.nameAndVersion(n)];if(c)return o.call(this,t).then(function(s){var o=s,u=a.path.joinURIs(e.baseURL,t.name);if(l&&(u=u.replace(/#/g,"%23")),o!==u+".js"&&o!==u)return o;var d=a.pkg.rootDir(c,a.pkg.isRoot(r,c));if(n.modulePath){var p=a.path.joinURIs(a.path.addEndingSlash(d),n.plugin?n.modulePath:a.path.addJS(n.modulePath));o=void 0!==i?a.path.joinURIs(r.baseURL,p):p}return o})}return o.call(this,t)};var c=e.fetch;e.fetch=function(e){if(e.metadata.dryRun)return c.apply(this,arguments);var n=this,r=(n.npmContext,Promise.resolve(c.apply(this,arguments)));return a.moduleName.isNpm(e.name)&&(r=r.then(null,function(r){function i(r,a){if(!r.length)throw a;var s=r.shift();if(!s.test(e))throw a;return Promise.resolve(t.call(n,e,s)).then(null,function(e){return i(r,e)})}return 404!==r.statusCode?Promise.reject(r):(n.npmContext||(n.npmContext={forwardSlashMap:{}}),i([].slice.call(f),r).then(null,function(e){return Promise.reject(r)}))})),r.catch(function(t){if(404===t.statusCode&&a.moduleName.isBareIdentifier(e.name)&&!a.pkg.isRoot(n,e.metadata.npmPackage)){var r=new Error(["Could not load '"+e.name+"'","Is this an npm module not saved in your package.json?"].join("\n"));throw r.statusCode=t.statusCode,r}throw t})};var u=function(e,t){var n=a.pkg.findByName(e,t.split("/")[0]);if(n){var r=a.moduleName.parse(t,n.name);return r.version=n.version,r.modulePath||(r.modulePath=a.pkg.main(n)),a.moduleName.create(r)}return t},d={map:function(e){var t,n={};for(var r in e)t=e[r],n[u(this,r)]="object"==typeof t?d.map(t):u(this,t);return n},meta:function(e){var t={};for(var n in e)t[u(this,n)]=e[n];return t},paths:function(e){var t={};for(var n in e)t[u(this,n)]=e[n];return t}},p=e.config;e.config=function(e){var t=this;if(t.npmContext){var n=t.npmContext,r=n.versions.__default,i=n.convert.steal(n,r,e,!0);return n.convert.updateConfigOnPackageLoad(i,!1,!0,n.applyBuildConfig),void p.apply(t,arguments)}for(var a in e)d[a]&&(e[a]=d[a].call(t,e[a]));p.apply(t,arguments)},i.addNpmPackages=function(e){for(var t=e||[],n=this.loader,r=0;r=u.reach);A+=w.value.length,w=w.next){var E=w.value;if(i.length>e.length)return;if(!(E instanceof t)){var S,j=1;if(b){if(!(S=n(x,A,e,v))||S.index>=e.length)break;var P=S.index,L=S.index+S[0].length,N=A;for(N+=w.value.length;P>=N;)N+=(w=w.next).value.length;if(N-=w.value.length,A=N,w.value instanceof t)continue;for(var C=w;C!==i.tail&&(Nu.reach&&(u.reach=M);var F=w.prev;if(_&&(F=a(i,F,_),A+=_.length),s(i,F,j),w=a(i,F,new t(d,h?p.tokenize(O,h):O,y,O)),T&&a(i,w,T),j>1){var I={cause:d+","+m,reach:M};r(e,i,o,w.prev,A,I),u&&I.reach>u.reach&&(u.reach=I.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function a(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function s(e,t,n){for(var r=t.next,i=0;i"+i.content+""},!e.document)return e.addEventListener?(p.disableWorkerMessageHandler||e.addEventListener("message",function(t){var n=JSON.parse(t.data),r=n.language,i=n.code,a=n.immediateClose;e.postMessage(p.highlight(i,p.languages[r],r)),a&&e.close()},!1),p):p;var f=p.util.currentScript();if(f&&(p.filename=f.src,f.hasAttribute("data-manual")&&(p.manual=!0)),!p.manual){var m=document.readyState;"loading"===m||"interactive"===m&&f&&f.defer?document.addEventListener("DOMContentLoaded",l):window.requestAnimationFrame?window.requestAnimationFrame(l):window.setTimeout(l,16)}return p}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});void 0!==r&&r.exports&&(r.exports=i),void 0!==e&&(e.Prism=i),i.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,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(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:r},i.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml,function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(i),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:i.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:i.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\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]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:i.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),i.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"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]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),i.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),i.languages.markup&&(i.languages.markup.tag.addInlined("script","javascript"),i.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),i.languages.js=i.languages.javascript,function(){function e(e,t,i){var a=new XMLHttpRequest;a.open("GET",e,!0),a.onreadystatechange=function(){4==a.readyState&&(a.status<400&&a.responseText?t(a.responseText):i(a.status>=400?n(a.status,a.statusText):r))},a.send(null)}function t(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}if(void 0!==i&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var n=function(e,t){return"✖ Error "+e+" while fetching file: "+t},r="✖ Error: File does not exist or is empty",a={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},s='pre[data-src]:not([data-src-status="loaded"]):not([data-src-status="loading"])';i.hooks.add("before-highlightall",function(e){e.selector+=", "+s}),i.hooks.add("before-sanity-check",function(n){var r=n.element;if(r.matches(s)){n.code="",r.setAttribute("data-src-status","loading");var o=r.appendChild(document.createElement("CODE"));o.textContent="Loading…";var l=r.getAttribute("data-src"),c=n.language;if("none"===c){var u=(/\.(\w+)$/.exec(l)||[,"none"])[1];c=a[u]||u}i.util.setLanguage(o,c),i.util.setLanguage(r,c);var d=i.plugins.autoloader;d&&d.loadLanguages(c),e(l,function(e){r.setAttribute("data-src-status","loaded");var n=t(r.getAttribute("data-range"));if(n){var a=e.split(/\r\n?|\n/g),s=n[0],l=null==n[1]?a.length:n[1];s<0&&(s+=a.length),s=Math.max(0,Math.min(s-1,a.length)),l<0&&(l+=a.length),l=Math.max(0,Math.min(l,a.length)),e=a.slice(s,l).join("\n"),r.hasAttribute("data-start")||r.setAttribute("data-start",String(s+1))}o.textContent=e,i.highlightElement(o)},function(e){r.setAttribute("data-src-status","failed"),o.textContent=e})}}),i.plugins.fileHighlight={highlight:function(e){for(var t,n=(e||document).querySelectorAll(s),r=0;t=n[r++];)i.highlightElement(t)}};var o=!1;i.fileHighlight=function(){o||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),o=!0),i.plugins.fileHighlight.highlight.apply(this,arguments)}}}()}(function(){return this}(),0,0,n)}),define("prismjs@1.29.0#plugins/line-numbers/prism-line-numbers",["module","@loader","require"],function(e,t,n){t.get("@@global-helpers").prepareGlobal({require:n,name:e.id,deps:[]});var r=t.global.define,n=t.global.require;return t.global.define=void 0,t.global.module=void 0,t.global.exports=void 0,t.__exec({source:'!function(){function e(e){if(0!=(e=e.filter(function(e){var t=n(e)["white-space"];return"pre-wrap"===t||"pre-line"===t})).length){var i=e.map(function(e){var n=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(n&&i){var r=e.querySelector(".line-numbers-sizer"),s=n.textContent.split(t);r||((r=document.createElement("span")).className="line-numbers-sizer",n.appendChild(r)),r.innerHTML="0",r.style.display="block";var l=r.getBoundingClientRect().height;return r.innerHTML="",{element:e,lines:s,lineHeights:[],oneLinerHeight:l,sizer:r}}}).filter(Boolean);i.forEach(function(e){var n=e.sizer,t=e.lines,i=e.lineHeights,r=e.oneLinerHeight;i[t.length-1]=void 0,t.forEach(function(e,t){if(e&&e.length>1){var s=n.appendChild(document.createElement("span"));s.style.display="block",s.textContent=e}else i[t]=r})}),i.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;rr&&(n=r);var s=n-i;return t.children[s]}}},resize:function(n){e([n])},assumeViewportIndependence:!0},r=void 0;window.addEventListener("resize",function(){i.assumeViewportIndependence&&r===window.innerWidth||(r=window.innerWidth,e(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))}),Prism.hooks.add("complete",function(n){if(n.code){var i=n.element,r=i.parentNode;if(r&&/pre/i.test(r.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,"line-numbers")){i.classList.remove("line-numbers"),r.classList.add("line-numbers");var s,l=n.code.match(t),o=l?l.length+1:1,a=new Array(o+1).join("");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=a,r.hasAttribute("data-start")&&(r.style.counterReset="linenumber "+(parseInt(r.getAttribute("data-start"),10)-1)),n.element.appendChild(s),e([r]),Prism.hooks.run("line-numbers",n)}}}),Prism.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}}();',address:e.uri}),t.global.require=n,t.global.define=r,t.get("@@global-helpers").retrieveGlobal(e.id,void 0)}),define("prismjs@1.29.0#plugins/previewers/prism-previewers",["module","@loader","require"],function(e,t,n){t.get("@@global-helpers").prepareGlobal({require:n,name:e.id,deps:[]});var r=t.global.define,n=t.global.require;return t.global.define=void 0,t.global.module=void 0,t.global.exports=void 0,t.__exec({source:'!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document&&Function.prototype.bind){var e={gradient:{create:function(){var e={},s=function(e,s,t){var i="180deg";return/^(?:-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:deg|rad)|to\\b|top|right|bottom|left)/.test(t[0])&&(i=t.shift()).indexOf("to ")<0&&(i.indexOf("top")>=0?i=i.indexOf("left")>=0?"to bottom right":i.indexOf("right")>=0?"to bottom left":"to bottom":i.indexOf("bottom")>=0?i=i.indexOf("left")>=0?"to top right":i.indexOf("right")>=0?"to top left":"to top":i.indexOf("left")>=0?i="to right":i.indexOf("right")>=0?i="to left":e&&(i.indexOf("deg")>=0?i=90-parseFloat(i)+"deg":i.indexOf("rad")>=0&&(i=Math.PI/2-parseFloat(i)+"rad"))),s+"("+i+","+t.join(",")+")"},t=function(e,s,t){if(t[0].indexOf("at")<0){var i="center",a="ellipse",n="farthest-corner";if(/\\b(?:bottom|center|left|right|top)\\b|^\\d+/.test(t[0])&&(i=t.shift().replace(/\\s*-?\\d+(?:deg|rad)\\s*/,"")),/\\b(?:circle|closest|contain|cover|ellipse|farthest)\\b/.test(t[0])){var r=t.shift().split(/\\s+/);!r[0]||"circle"!==r[0]&&"ellipse"!==r[0]||(a=r.shift()),r[0]&&(n=r.shift()),"cover"===n?n="farthest-corner":"contain"===n&&(n="clothest-side")}return s+"("+a+" "+n+" at "+i+","+t.join(",")+")"}return s+"("+t.join(",")+")"},i=function(i){if(e[i])return e[i];var a=i.match(/^(\\b|\\B-[a-z]{1,10}-)((?:repeating-)?(?:linear|radial)-gradient)/),n=a&&a[1],r=a&&a[2],o=i.replace(/^(?:\\b|\\B-[a-z]{1,10}-)(?:repeating-)?(?:linear|radial)-gradient\\(|\\)$/g,"").split(/\\s*,\\s*/);return r.indexOf("linear")>=0?e[i]=s(n,r,o):r.indexOf("radial")>=0?e[i]=t(0,r,o):e[i]=r+"("+o.join(",")+")"};return function(){new Prism.plugins.Previewer("gradient",function(e){return this.firstChild.style.backgroundImage="",this.firstChild.style.backgroundImage=i(e),!!this.firstChild.style.backgroundImage},"*",function(){this._elt.innerHTML="
"})}}(),tokens:{gradient:{pattern:/(?:\\b|\\B-[a-z]{1,10}-)(?:repeating-)?(?:linear|radial)-gradient\\((?:(?:hsl|rgb)a?\\(.+?\\)|[^\\)])+\\)/gi,inside:{function:/[\\w-]+(?=\\()/,punctuation:/[(),]/}}},languages:{css:!0,less:!0,sass:[{lang:"sass",before:"punctuation",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["variable-line"]},{lang:"sass",before:"punctuation",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["property-line"]}],scss:!0,stylus:[{lang:"stylus",before:"func",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["property-declaration"].inside},{lang:"stylus",before:"func",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["variable-declaration"].inside}]}},angle:{create:function(){new Prism.plugins.Previewer("angle",function(e){var s,t,i=parseFloat(e),a=e.match(/[a-z]+$/i);if(!i||!a)return!1;switch(a=a[0]){case"deg":s=360;break;case"grad":s=400;break;case"rad":s=2*Math.PI;break;case"turn":s=1}return t=100*i/s,t%=100,this[(i<0?"set":"remove")+"Attribute"]("data-negative",""),this.querySelector("circle").style.strokeDasharray=Math.abs(t)+",500",!0},"*",function(){this._elt.innerHTML=\'\'})},tokens:{angle:/(?:\\b|\\B-|(?=\\B\\.))(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:deg|g?rad|turn)\\b/i},languages:{css:!0,less:!0,markup:{lang:"markup",before:"punctuation",inside:"inside",root:Prism.languages.markup&&Prism.languages.markup.tag.inside["attr-value"]},sass:[{lang:"sass",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["property-line"]},{lang:"sass",before:"operator",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["variable-line"]}],scss:!0,stylus:[{lang:"stylus",before:"func",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["property-declaration"].inside},{lang:"stylus",before:"func",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["variable-declaration"].inside}]}},color:{create:function(){new Prism.plugins.Previewer("color",function(e){return this.style.backgroundColor="",this.style.backgroundColor=e,!!this.style.backgroundColor})},tokens:{color:[Prism.languages.css.hexcode].concat(Prism.languages.css.color)},languages:{css:!1,less:!0,markup:{lang:"markup",before:"punctuation",inside:"inside",root:Prism.languages.markup&&Prism.languages.markup.tag.inside["attr-value"]},sass:[{lang:"sass",before:"punctuation",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["variable-line"]},{lang:"sass",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["property-line"]}],scss:!1,stylus:[{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["property-declaration"].inside},{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["variable-declaration"].inside}]}},easing:{create:function(){new Prism.plugins.Previewer("easing",function(e){var s=(e={linear:"0,0,1,1",ease:".25,.1,.25,1","ease-in":".42,0,1,1","ease-out":"0,0,.58,1","ease-in-out":".42,0,.58,1"}[e]||e).match(/-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/g);if(4===s.length){s=s.map(function(e,s){return 100*(s%2?1-e:e)}),this.querySelector("path").setAttribute("d","M0,100 C"+s[0]+","+s[1]+", "+s[2]+","+s[3]+", 100,0");var t=this.querySelectorAll("line");return t[0].setAttribute("x2",s[0]),t[0].setAttribute("y2",s[1]),t[1].setAttribute("x2",s[2]),t[1].setAttribute("y2",s[3]),!0}return!1},"*",function(){this._elt.innerHTML=\'\'})},tokens:{easing:{pattern:/\\bcubic-bezier\\((?:-?(?:\\d+(?:\\.\\d+)?|\\.\\d+),\\s*){3}-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)\\)\\B|\\b(?:ease(?:-in)?(?:-out)?|linear)(?=\\s|[;}]|$)/i,inside:{function:/[\\w-]+(?=\\()/,punctuation:/[(),]/}}},languages:{css:!0,less:!0,sass:[{lang:"sass",inside:"inside",before:"punctuation",root:Prism.languages.sass&&Prism.languages.sass["variable-line"]},{lang:"sass",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["property-line"]}],scss:!0,stylus:[{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["property-declaration"].inside},{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["variable-declaration"].inside}]}},time:{create:function(){new Prism.plugins.Previewer("time",function(e){var s=parseFloat(e),t=e.match(/[a-z]+$/i);return!(!s||!t)&&(t=t[0],this.querySelector("circle").style.animationDuration=2*s+t,!0)},"*",function(){this._elt.innerHTML=\'\'})},tokens:{time:/(?:\\b|\\B-|(?=\\B\\.))(?:\\d+(?:\\.\\d+)?|\\.\\d+)m?s\\b/i},languages:{css:!0,less:!0,markup:{lang:"markup",before:"punctuation",inside:"inside",root:Prism.languages.markup&&Prism.languages.markup.tag.inside["attr-value"]},sass:[{lang:"sass",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["property-line"]},{lang:"sass",before:"operator",inside:"inside",root:Prism.languages.sass&&Prism.languages.sass["variable-line"]}],scss:!0,stylus:[{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["property-declaration"].inside},{lang:"stylus",before:"hexcode",inside:"rest",root:Prism.languages.stylus&&Prism.languages.stylus["variable-declaration"].inside}]}}},s=function(e){var s=e.getBoundingClientRect(),t=s.left,i=s.top,a=document.documentElement.getBoundingClientRect();return t-=a.left,i-=a.top,{top:i,right:innerWidth-t-s.width,bottom:innerHeight-i-s.height,left:t,width:s.width,height:s.height}},t=function(e,s,i,a){this._elt=null,this._type=e,this._token=null,this.updater=s,this._mouseout=this.mouseout.bind(this),this.initializer=a;var n=this;i||(i=["*"]),Array.isArray(i)||(i=[i]),i.forEach(function(e){"string"!=typeof e&&(e=e.lang),t.byLanguages[e]||(t.byLanguages[e]=[]),t.byLanguages[e].indexOf(n)<0&&t.byLanguages[e].push(n)}),t.byType[e]=this};t.prototype.init=function(){this._elt||(this._elt=document.createElement("div"),this._elt.className="prism-previewer prism-previewer-"+this._type,document.body.appendChild(this._elt),this.initializer&&this.initializer())},t.prototype.isDisabled=function(e){do{if(e.hasAttribute&&e.hasAttribute("data-previewers"))return-1===(e.getAttribute("data-previewers")||"").split(/\\s+/).indexOf(this._type)}while(e=e.parentNode);return!1},t.prototype.check=function(e){if(!e.classList.contains("token")||!this.isDisabled(e)){do{if(e.classList&&e.classList.contains("token")&&e.classList.contains(this._type))break}while(e=e.parentNode);e&&e!==this._token&&(this._token=e,this.show())}},t.prototype.mouseout=function(){this._token.removeEventListener("mouseout",this._mouseout,!1),this._token=null,this.hide()},t.prototype.show=function(){if(this._elt||this.init(),this._token)if(this.updater.call(this._elt,this._token.textContent)){this._token.addEventListener("mouseout",this._mouseout,!1);var e=s(this._token);this._elt.classList.add("active"),e.top-this._elt.offsetHeight>0?(this._elt.classList.remove("flipped"),this._elt.style.top=e.top+"px",this._elt.style.bottom=""):(this._elt.classList.add("flipped"),this._elt.style.bottom=e.bottom+"px",this._elt.style.top=""),this._elt.style.left=e.left+Math.min(200,e.width/2)+"px"}else this.hide()},t.prototype.hide=function(){this._elt.classList.remove("active")},t.byLanguages={},t.byType={},t.initEvents=function(e,s){var i=[];t.byLanguages[s]&&(i=i.concat(t.byLanguages[s])),t.byLanguages["*"]&&(i=i.concat(t.byLanguages["*"])),e.addEventListener("mouseover",function(e){var s=e.target;i.forEach(function(e){e.check(s)})},!1)},Prism.plugins.Previewer=t,Prism.hooks.add("before-highlight",function(s){for(var t in e){var i=e[t].languages;if(s.language&&i[s.language]&&!i[s.language].initialized){var a=i[s.language];Array.isArray(a)||(a=[a]),a.forEach(function(a){var n,r,o,l;!0===a?(n="important",r=s.language,a=s.language):(n=a.before||"important",r=a.inside||a.lang,o=a.root||Prism.languages,l=a.skip,a=s.language),!l&&Prism.languages[a]&&(Prism.languages.insertBefore(r,n,e[t].tokens,o),s.grammar=Prism.languages[a],i[s.language]={initialized:!0})})}}}),Prism.hooks.add("after-highlight",function(e){(t.byLanguages["*"]||t.byLanguages[e.language])&&t.initEvents(e.element,e.language)});for(var i in e)e[i].create()}}();',address:e.uri}),t.global.require=n,t.global.define=r,t.get("@@global-helpers").retrieveGlobal(e.id,void 0)}),define("prismjs@1.29.0#plugins/command-line/prism-command-line",["module","@loader","require"],function(e,t,n){t.get("@@global-helpers").prepareGlobal({require:n,name:e.id,deps:[]});var r=t.global.define,n=t.global.require;return t.global.define=void 0,t.global.module=void 0,t.global.exports=void 0,t.__exec({source:'!function(){function e(e){return"command-line"in(e.vars=e.vars||{})}function t(e){var t=e.vars=e.vars||{};return t["command-line"]=t["command-line"]||{}}if("undefined"!=typeof Prism&&"undefined"!=typeof document){var n=/(?:^|\\s)command-line(?:\\s|$)/,a="".startsWith?function(e,t){return e.startsWith(t)}:function(e,t){return 0===e.indexOf(t)},r="".endsWith?function(e,t){return e.endsWith(t)}:function(e,t){var n=e.length;return e.substring(n-t.length,n)===t};Prism.hooks.add("before-highlight",function(e){var i=t(e);if(!i.complete&&e.code){var o=e.element.parentElement;if(o&&/pre/i.test(o.nodeName)&&(n.test(o.className)||n.test(e.element.className))){var s=e.element.querySelector(".command-line-prompt");s&&s.remove();var l=e.code.split("\\n");i.numberOfLines=l.length;var m=i.outputLines=[],c=o.getAttribute("data-output"),u=o.getAttribute("data-filter-output");if(null!==c)c.split(",").forEach(function(e){var t=e.split("-"),n=parseInt(t[0],10),a=2===t.length?parseInt(t[1],10):n;if(!isNaN(n)&&!isNaN(a)){n<1&&(n=1),a>l.length&&(a=l.length),a--;for(var r=--n;r<=a;r++)m[r]=l[r],l[r]=""}});else if(u)for(var d=0;d0&&h&&a(g,h)&&(l[v]=g.slice(h.length),p.add(v)))}e.code=l.join("\\n")}else i.complete=!0}else i.complete=!0}),Prism.hooks.add("before-insert",function(e){var n=t(e);if(!n.complete){for(var a=e.highlightedCode.split("\\n"),r=n.outputLines||[],i=0,o=a.length;i\'+Prism.util.encode(r[i])+"":a[i]=\'\'+a[i]+"";e.highlightedCode=a.join("\\n")}}),Prism.hooks.add("complete",function(a){function r(e,t){return(o.getAttribute(e)||t).replace(/"/g,""")}if(e(a)){var i=t(a);if(!i.complete){var o=a.element.parentElement;n.test(a.element.className)&&(a.element.className=a.element.className.replace(n," ")),n.test(o.className)||(o.className+=" command-line");var s,l="",m=i.numberOfLines||0,c=r("data-prompt","");s=""!==c?\'\':\'\';for(var u=i.continuationLineIndicies||new Set,d=\'")+\'">\',p=0;p]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/}),e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,/\\btype\\b(?=\\s*(?:[\\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\\w\\xA0-\\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\\s\\S]+/}},"generic-function":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism);',address:e.uri}),t.global.require=n,t.global.define=r,t.get("@@global-helpers").retrieveGlobal(e.id,void 0)}),define("prismjs@1.29.0#components/prism-jsx",["module","@loader","require"],function(e,t,n){t.get("@@global-helpers").prepareGlobal({require:n,name:e.id,deps:[]});var r=t.global.define,n=t.global.require;return t.global.define=void 0,t.global.module=void 0,t.global.exports=void 0,t.__exec({source:'!function(t){function n(t,n){return t=t.replace(//g,function(){return a}).replace(//g,function(){return s}).replace(//g,function(){return g}),RegExp(t,n)}var e=t.util.clone(t.languages.javascript),a=/(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source,s=/(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source,g=/(?:\\{*\\.{3}(?:[^{}]|)*\\})/.source;g=n(g).source,t.languages.jsx=t.languages.extend("markup",e),t.languages.jsx.tag.pattern=n(/<\\/?(?:[\\w.:-]+(?:+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s{\'"/>=]+|))?|))**\\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\\{)(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s\'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,t.languages.jsx.tag.inside.comment=e.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:n(//.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:n(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var o=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(o).join(""):""},r=function(n){for(var e=[],a=0;a0&&e[e.length-1].tagName===o(s.content[0].content[1])&&e.pop():"/>"===s.content[s.content.length-1].content||e.push({tagName:o(s.content[0].content[1]),openedBraces:0}):e.length>0&&"punctuation"===s.type&&"{"===s.content?e[e.length-1].openedBraces++:e.length>0&&e[e.length-1].openedBraces>0&&"punctuation"===s.type&&"}"===s.content?e[e.length-1].openedBraces--:g=!0),(g||"string"==typeof s)&&e.length>0&&0===e[e.length-1].openedBraces){var c=o(s);a0&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(c=o(n[a-1])+c,n.splice(a-1,1),a--),n[a]=new t.Token("plain-text",c,null,c)}s.content&&"string"!=typeof s.content&&r(s.content)}};t.hooks.add("after-tokenize",function(t){"jsx"!==t.language&&"tsx"!==t.language||r(t.tokens)})}(Prism);',address:e.uri}),t.global.require=n,t.global.define=r,t.get("@@global-helpers").retrieveGlobal(e.id,void 0)}),define("bit-docs-prettify@0.4.1#prettify",["require","exports","module","./prettify.less","./prism-config","prismjs","prismjs/themes/prism-coy.css","prismjs/plugins/line-numbers/prism-line-numbers","prismjs/plugins/line-numbers/prism-line-numbers.css","prismjs/plugins/previewers/prism-previewers","prismjs/plugins/previewers/prism-previewers.css","prismjs/plugins/command-line/prism-command-line","prismjs/plugins/command-line/prism-command-line.css","prismjs/plugins/toolbar/prism-toolbar","prismjs/plugins/toolbar/prism-toolbar.css","prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard","prismjs/components/prism-typescript","prismjs/components/prism-jsx"],function(e,t,n){e("./prettify.less"),e("./prism-config");var r=e("prismjs");window.Prism=r,e("prismjs/themes/prism-coy.css"),e("prismjs/plugins/line-numbers/prism-line-numbers"),e("prismjs/plugins/line-numbers/prism-line-numbers.css"),e("prismjs/plugins/previewers/prism-previewers"),e("prismjs/plugins/previewers/prism-previewers.css"),e("prismjs/plugins/command-line/prism-command-line"),e("prismjs/plugins/command-line/prism-command-line.css"),e("prismjs/plugins/toolbar/prism-toolbar"),e("prismjs/plugins/toolbar/prism-toolbar.css"),e("prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard"),e("prismjs/components/prism-typescript"),e("prismjs/components/prism-jsx"),r.languages.insertBefore("javascript","template-string",{"html-template-string":{pattern:/`(?:[\s\S])*<[a-z-]+(?:\s+[^<>]*)?>(?:[\s\S])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},rest:r.languages.html}}}),n.exports=function(){for(var e=document.getElementsByTagName("code"),t=0;t\n\t\t
  • Demo
  • \n\t\t\n\t\t\n\t\n\t
    \n\t\t\n\t
    \n\t
    \n\t\t
    \n\t
    \n\t
    \n\t\t
    \n\t
    \n`}),define("bit-docs-tag-demo@0.5.4#demo_frame",["require","exports","module","./demo_tpl"],function(e,t,n){function r(e,t){var n=document.createElement("div");n.className="demo",n.innerHTML=i;var r=(t.pathToRoot||"..")+"/"+(e.dataset?e.dataset.demoSrc:e.getAttribute("data-demo-src"));return n.getElementsByTagName("iframe")[0].src=r,e.innerHTML="",e.appendChild(n),n}var i=e("./demo_tpl");n.exports=function(e){function t(e){var t=e?e.innerHTML:this.contentWindow.DEMO_HTML;if(!t){var n=this.contentDocument.body.cloneNode(!0);[].slice.call(n.getElementsByTagName("script")).forEach(function(e){e.type&&-1!==e.type.indexOf("javascript")||e.parentNode.removeChild(e)}),[].slice.call(n.getElementsByTagName("style")).forEach(function(e){e.parentNode.removeChild(e)}),t=n.innerHTML}return"\n"===t[0]&&(t=t.slice(1)),t}function n(e){var t=e?e.innerHTML:this.contentWindow.DEMO_SOURCE;if(!t)for(var n=[].slice.call(this.contentDocument.querySelectorAll("script")),r=0;r=0&&!n[r].src){t=n[r].innerHTML;break}return t?t.trim():""}function i(e){e.style.display=""}function a(e){e.style.display="none"}function s(){function t(e){n(".tab",function(e){e.classList?e.classList.remove("active"):e.className="tab"}),n(".tab-content",a),n(".tab[data-tab='"+e+"']",function(e){e.classList?e.classList.add("active"):e.className="tab active"}),n("[data-for='"+e+"']",i)}function n(t,n){[].slice.call(e.querySelectorAll(t)).forEach(n)}e.querySelector("ul").addEventListener("click",function(e){var n=e.target;"tab"===n.className&&t(n.dataset?n.dataset.tab:n.getAttribute("data-tab"))}),t("demo")}function o(e){return e=e.replace(/a)&&(p.style.height=Math.min(a,600)+"px"),setTimeout(u,1e3)}}var d=window.docObject||{};r(e,d);var p=e.getElementsByTagName("iframe")[0];p.addEventListener("load",function(){var r=this.contentDocument.getElementById("demo-html"),a=this.contentDocument.getElementById("demo-source"),c=t.call(this,r),d=n.call(this,a);if(c&&c.trim()){var p=e.querySelector("[data-for=html] > pre, [data-for=html] > div > pre"),f=document.createElement("code");p.appendChild(f),f.innerHTML=o(c),l(f),i(e.querySelector("[data-tab=html]"))}if(d){var m=e.querySelector("[data-for=js] > pre, [data-for=js] > div > pre"),g=document.createElement("code");m.appendChild(g),g.innerHTML=o(d),l(g),i(e.querySelector("[data-tab=js]"))}u(),s()})}}),define("bit-docs-tag-demo@0.5.4#demo",["require","exports","module","./demo_frame"],function(e,t,n){var r=e("./demo_frame");n.exports=function(){[].slice.call(document.getElementsByClassName("demo_wrapper")).forEach(r)}}),define("bit-docs-html-codepen-link@2.1.0#codepen-data",function(e,t,n){function r(e){return{js:e,js_pre_processor:"typescript",editors:u}}var i=/]+)>([\s\S]*?)<\/script>/gi,a=/