@decidables/decidables-elements 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +54 -0
- package/gulpfile.js +25 -0
- package/lib/decidablesElements.esm.js +4889 -0
- package/lib/decidablesElements.esm.js.map +1 -0
- package/lib/decidablesElements.esm.min.js +13 -0
- package/lib/decidablesElements.esm.min.js.map +1 -0
- package/lib/decidablesElements.umd.js +4907 -0
- package/lib/decidablesElements.umd.js.map +1 -0
- package/lib/decidablesElements.umd.min.js +13 -0
- package/lib/decidablesElements.umd.min.js.map +1 -0
- package/package.json +46 -0
- package/src/button.js +93 -0
- package/src/converter-array.js +15 -0
- package/src/converter-set.js +15 -0
- package/src/decidables-element.js +264 -0
- package/src/index.js +11 -0
- package/src/slider.js +333 -0
- package/src/spinner.js +149 -0
- package/src/switch.js +179 -0
- package/src/toggle-option.js +163 -0
- package/src/toggle.js +58 -0
- package/test/button.test.js +29 -0
- package/test/converter-array.test.js +14 -0
- package/test/converter-set.test.js +15 -0
- package/test/coverage/lcov-report/base.css +224 -0
- package/test/coverage/lcov-report/block-navigation.js +87 -0
- package/test/coverage/lcov-report/button.js.html +364 -0
- package/test/coverage/lcov-report/converter-array.js.html +130 -0
- package/test/coverage/lcov-report/converter-set.js.html +130 -0
- package/test/coverage/lcov-report/decidables-element.js.html +877 -0
- package/test/coverage/lcov-report/favicon.png +0 -0
- package/test/coverage/lcov-report/index.html +236 -0
- package/test/coverage/lcov-report/prettify.css +1 -0
- package/test/coverage/lcov-report/prettify.js +2 -0
- package/test/coverage/lcov-report/slider.js.html +1084 -0
- package/test/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/test/coverage/lcov-report/sorter.js +196 -0
- package/test/coverage/lcov-report/spinner.js.html +532 -0
- package/test/coverage/lcov-report/switch.js.html +622 -0
- package/test/coverage/lcov-report/toggle-option.js.html +574 -0
- package/test/coverage/lcov-report/toggle.js.html +259 -0
- package/test/coverage/lcov.info +1480 -0
- package/test/decidables-element.test.js +10 -0
- package/test/slider.test.js +64 -0
- package/test/spinner.test.js +55 -0
- package/test/switch.test.js +71 -0
- package/test/toggle-option.test.js +62 -0
- package/test/toggle.test.js +98 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decidablesElements.umd.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/interrupt.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-transition/src/selection/index.js","../src/decidables-element.js","../src/button.js","../../../node_modules/lit-html/directives/if-defined.js","../src/slider.js","../src/spinner.js","../src/switch.js","../src/toggle.js","../src/toggle-option.js","../src/converter-array.js","../src/converter-set.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$E_&&(this._$E_=new Map),this._$E_.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$EC())}async _$EC(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$E_&&(this._$E_.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$E_=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.1.2\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.S(t):u(t)?this.A(t):this.$(t)}M(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}S(t){this._$AH!==t&&(this._$AR(),this._$AH=this.M(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.S(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.S(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}A(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.M(h()),this.M(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.k(t)}k(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}k(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}k(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",V:e,L:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.1.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.1.1\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","\nimport {\n LitElement,\n css,\n svg,\n unsafeCSS,\n} from 'lit';\nimport * as d3 from 'd3';\n\n/*\n DecidablesElement Base Class - Not intended for instantiation!\n <decidables-element>\n*/\nexport default class DecidablesElement extends LitElement {\n // HACK: Create a unique ID for each DecidablesElement\n // This is needed because Edge/IE11 don't have real Shadow DOM, so IDs leak\n // out of elements and collide if there is more than one of an element on a\n // page. Known issue for checkbox/switches and the id/for pattern on <input>\n // and <label>\n static get uniqueId() {\n DecidablesElement.ID += 1;\n return DecidablesElement.ID;\n }\n\n constructor() {\n super();\n this.uniqueId = `decidables-${DecidablesElement.uniqueId}`;\n }\n\n getComputedStyleValue(property) {\n // HACK: IE11 requires use of polyfill interface to get custom property value in Javascript\n if (window.ShadyCSS) {\n return window.ShadyCSS.getComputedStyleValue(this, property);\n }\n return getComputedStyle(this).getPropertyValue(property);\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n\n // Use focus highlighting if keyboard is used at all\n d3.select(this.renderRoot.host)\n .classed('keyboard', true)\n .on('mousemove.keyboard touchstart.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', false)\n .on('mousemove.keyboard touchstart.keyboard', null);\n })\n .on('keydown.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', true)\n .on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);\n });\n }\n\n static get greys() {\n const grey = '#999999';\n const greys = {};\n greys.white = '#ffffff';\n greys.light75 = d3.interpolateRgb(grey, '#ffffff')(0.75);\n greys.light50 = d3.interpolateRgb(grey, '#ffffff')(0.5);\n greys.light25 = d3.interpolateRgb(grey, '#ffffff')(0.25);\n greys.grey = grey;\n greys.dark25 = d3.interpolateRgb(grey, '#000000')(0.25);\n greys.dark50 = d3.interpolateRgb(grey, '#000000')(0.5);\n greys.dark75 = d3.interpolateRgb(grey, '#000000')(0.75);\n greys.black = '#000000';\n return greys;\n }\n\n static get shadows() {\n // Material Design elevation styles\n // References:\n // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation\n // https://codepen.io/hanger/pen/yOGvQp\n /* eslint-disable key-spacing, object-curly-newline */\n return {\n elevations: [0, 2, 4, 8, 16],\n baselineColor: '#000000',\n baselineColorString: '0, 0, 0',\n inverseBaselineColor: '#FFFFFF',\n inverseBaselineColorString: '255, 255, 255',\n opacityUmbra: 0.2,\n opacityPenumbra: 0.14,\n opacityAmbient: 0.12,\n opacityBoost: 0.2,\n mapUmbra: {// $mdc-elevation-umbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 3, b: 1, s: -2},\n 4: {x: 0, y: 2, b: 4, s: -1},\n 8: {x: 0, y: 5, b: 5, s: -3},\n 16: {x: 0, y: 8, b: 10, s: -5},\n },\n mapPenumbra: {// $mdc-elevation-penumbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 2, b: 2, s: 0},\n 4: {x: 0, y: 4, b: 5, s: 0},\n 8: {x: 0, y: 8, b: 10, s: 1},\n 16: {x: 0, y: 16, b: 24, s: 2},\n },\n mapAmbient: {// $mdc-elevation-ambient-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 1, b: 5, s: 0},\n 4: {x: 0, y: 1, b: 10, s: 0},\n 8: {x: 0, y: 3, b: 14, s: 2},\n 16: {x: 0, y: 6, b: 30, s: 5},\n },\n };\n /* eslint-enable key-spacing, object-curly-newline */\n }\n\n static cssBoxShadow(elevation, rotate = false, inverse = false) {\n const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;\n const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;\n const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;\n\n const umbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${umbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${umbraO})`;\n const penumbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${penumbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${penumbraO})`;\n const ambientC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${ambientO})`\n : `rgba(${this.shadows.baselineColorString}, ${ambientO})`;\n\n const umbraM = this.shadows.mapUmbra[elevation];\n const penumbraM = this.shadows.mapPenumbra[elevation];\n const ambientM = this.shadows.mapAmbient[elevation];\n\n const umbraS = (rotate)\n ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px`\n : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;\n const penumbraS = (rotate)\n ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px`\n : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;\n const ambientS = (rotate)\n ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px`\n : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;\n\n return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;\n }\n\n static get svgFilters() {\n const shadows = DecidablesElement.shadows; // eslint-disable-line prefer-destructuring\n const erodeRadius = 1;\n\n const filters = shadows.elevations.map((z) => {\n return svg`\n <filter id=${`shadow-${z}`} x=\"-250%\" y=\"-250%\" width=\"600%\" height=\"600%\">\n <feComponentTransfer in=\"SourceAlpha\" result=\"solid\">\n <feFuncA type=\"table\" tableValues=\"0 1 1\"/>\n </feComponentTransfer>\n <feOffset in=\"solid\" result=\"offU\" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />\n <feOffset in=\"solid\" result=\"offP\" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />\n <feOffset in=\"solid\" result=\"offA\" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />\n ${(shadows.mapUmbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offU\" result=\"spreadU\" operator=${(shadows.mapUmbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`\n }\n ${(shadows.mapPenumbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offP\" result=\"spreadP\" operator=${(shadows.mapPenumbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`\n }\n ${(shadows.mapAmbient[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offA\" result=\"spreadA\" operator=${(shadows.mapAmbient[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`\n }\n <feGaussianBlur in=${(shadows.mapUmbra[z].s === 0) ? 'offU' : 'spreadU'} result=\"blurU\" stdDeviation=${shadows.mapUmbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapPenumbra[z].s === 0) ? 'offP' : 'spreadP'} result=\"blurP\" stdDeviation=${shadows.mapPenumbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapAmbient[z].s === 0) ? 'offA' : 'spreadA'} result=\"blurA\" stdDeviation=${shadows.mapAmbient[z].b / 2} />\n <feFlood in=\"SourceGraphic\" result=\"opU\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opP\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opA\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />\n <feComposite in=\"opU\" in2=\"blurU\" result=\"shU\" operator=\"in\" />\n <feComposite in=\"opP\" in2=\"blurP\" result=\"shP\" operator=\"in\" />\n <feComposite in=\"opA\" in2=\"blurA\" result=\"shA\" operator=\"in\" />\n <!-- HACK Edge: Using a dynamic value for erode radius stops Edge from corrupting the \"radius\" value! -->\n <feMorphology in=\"solid\" result=\"smaller\" operator=\"erode\" radius=${erodeRadius} />\n <feComposite in=\"shU\" in2=\"smaller\" result=\"finalU\" operator=\"out\" />\n <feComposite in=\"shP\" in2=\"smaller\" result=\"finalP\" operator=\"out\" />\n <feComposite in=\"shA\" in2=\"smaller\" result=\"finalA\" operator=\"out\" />\n <feMerge>\n <feMergeNode in=\"finalU\" />\n <feMergeNode in=\"finalP\" />\n <feMergeNode in=\"finalA\" />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>`;\n });\n\n return svg`\n <svg class=\"defs\">\n <defs>\n ${filters}\n </defs>\n </svg>\n `;\n }\n\n static get styles() {\n return css`\n :host {\n ---shadow-0: var(--shadow-0, ${unsafeCSS(this.cssBoxShadow(0))});\n ---shadow-2: var(--shadow-2, ${unsafeCSS(this.cssBoxShadow(2))});\n ---shadow-4: var(--shadow-4, ${unsafeCSS(this.cssBoxShadow(4))});\n ---shadow-8: var(--shadow-8, ${unsafeCSS(this.cssBoxShadow(8))});\n\n ---color-background: var(--color-background, ${unsafeCSS(this.greys.white)});\n ---color-border: var(--color-border, ${unsafeCSS(this.greys.light75)});\n ---color-text: var(--color-text, ${unsafeCSS(this.greys.dark75)});\n ---color-text-inverse: var(--color-text-inverse, ${unsafeCSS(this.greys.white)});\n ---color-link: var(--color-link, ${unsafeCSS(this.greys.dark25)});\n ---color-element-background: var(--color-element-background, ${unsafeCSS(this.greys.light75)});\n ---color-element-disabled: var(--color-element-disabled, ${unsafeCSS(this.greys.light50)});\n ---color-element-enabled: var(--color-element-enabled, ${unsafeCSS(this.greys.grey)});\n ---color-element-selected: var(--color-element-selected, ${unsafeCSS(this.greys.dark25)});\n ---color-element-border: var(--color-element-border, ${unsafeCSS(this.greys.dark50)});\n ---color-element-emphasis: var(--color-element-emphasis, ${unsafeCSS(this.greys.dark75)});\n\n ---font-family-base: var(--font-family-base, \"Source Sans\", sans-serif);\n ---font-family-math: var(--font-family-math, \"Source Serif\", serif);\n\n ---transition-duration: var(--transition-duration, 500ms);\n\n font-family: var(---font-family-base);\n }\n\n :host,\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: border-box;\n }\n\n .math-greek {\n font-family: var(---font-family-math);\n font-style: normal;\n }\n\n .math-num {\n font-family: var(---font-family-base);\n font-style: normal;\n }\n\n .math-var {\n font-family: var(---font-family-math);\n font-style: italic;\n }\n\n .defs {\n display: block;\n\n width: 0;\n height: 0;\n }\n `;\n }\n}\n\n// Static property of DecidablesElement!\nDecidablesElement.ID = 0;\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesButton extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n margin: 0.25rem;\n }\n\n button {\n width: 100%;\n height: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n\n border: 0;\n border-radius: 0.25rem;\n outline: none;\n }\n\n button:disabled {\n background-color: var(--decidables-button-background-color, var(---color-element-disabled));\n outline: none;\n box-shadow: none;\n }\n\n button:enabled {\n cursor: pointer;\n\n background-color: var(--decidables-button-background-color, var(---color-element-enabled));\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n button:enabled:hover {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n button:enabled:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(.keyboard) button:enabled:focus {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) button:enabled:focus:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ncustomElements.define('decidables-button', DecidablesButton);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css, unsafeCSS} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSlider extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.value = event.target.value;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---shadow-2-rotate: var(--shadow-2-rotate, ${unsafeCSS(this.cssBoxShadow(2, true, false))});\n ---shadow-4-rotate: var(--shadow-4-rotate, ${unsafeCSS(this.cssBoxShadow(4, true, false))});\n ---shadow-8-rotate: var(--shadow-8-rotate, ${unsafeCSS(this.cssBoxShadow(8, true, false))});\n\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n label {\n margin: 0.25rem 0.25rem 0;\n }\n\n .range {\n display: inline-block;\n\n width: 3.5rem;\n height: 4.75rem;\n margin: 0 0.25rem 0.25rem;\n }\n\n decidables-spinner {\n --decidables-spinner-input-width: 3.5rem;\n\n margin: 0 0.25rem 0.25rem;\n }\n\n /* Adapted from http://danielstern.ca/range.css/#/ */\n /* Overall */\n input[type=range] {\n width: 4.75rem;\n height: 3.5rem;\n padding: 0;\n margin: 0;\n\n background-color: unset;\n\n transform: rotate(-90deg);\n transform-origin: 2.375rem 2.375rem;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:enabled {\n cursor: ns-resize;\n }\n\n input[type=range]:focus {\n outline: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-tooltip {\n display: none;\n }\n\n /* Track */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n input[type=range]:focus::-webkit-slider-runnable-track {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n\n color: transparent;\n\n background: transparent;\n border-color: transparent;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-lower {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-upper {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-lower {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-upper {\n background: var(---color-element-disabled);\n }\n\n /* Thumb */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-thumb {\n width: 10px;\n height: 20px;\n margin-top: -8px;\n\n border: 0;\n border-radius: 4px;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:disabled::-webkit-slider-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=range]:enabled::-webkit-slider-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n input[type=range]:enabled:hover::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n input[type=range]:enabled:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-thumb {\n width: 10px;\n height: 20px;\n\n border: 0;\n border-radius: 4px;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-moz-range-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-moz-range-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-thumb {\n width: 10px;\n height: 20px;\n margin-top: 0;\n\n background: #999999;\n /* background: var(---color-element-enabled); */\n border: 0;\n border-radius: 4px;\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-ms-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-ms-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label for=${`${this.uniqueId}-slider`}>\n <slot></slot>\n </label>\n <div class=\"range\">\n <input type=\"range\" id=${`${this.uniqueId}-slider`} min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>\n </div>\n <decidables-spinner min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>\n `;\n }\n}\n\ncustomElements.define('decidables-slider', DecidablesSlider);\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSpinner extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);\n ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);\n ---decidables-spinner-prefix: var(--decidables-spinner-prefix, \"\");\n\n display: block;\n }\n\n label {\n position: relative;\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n\n margin: 0;\n\n font-size: 0.75rem;\n }\n\n label::before {\n position: absolute;\n bottom: 1px;\n left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);\n\n font-size: var(---decidables-spinner-font-size);\n line-height: normal;\n\n content: var(---decidables-spinner-prefix);\n }\n\n input[type=number] {\n width: var(---decidables-spinner-input-width);\n\n font-family: var(---font-family-base);\n font-size: var(---decidables-spinner-font-size);\n color: inherit;\n text-align: right;\n\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n box-shadow: var(---shadow-2);\n\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n\n input[type=number]:hover {\n box-shadow: var(---shadow-4);\n }\n\n input[type=number]:focus,\n input[type=number]:active {\n box-shadow: var(---shadow-8);\n }\n\n input[type=number]:disabled {\n color: var(---color-text);\n\n border: 0;\n box-shadow: none;\n\n /* HACK: Use correct text color in Safari */\n -webkit-opacity: 1;\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */\n /* HACK: Use correct text color in Safari */\n -webkit-text-fill-color: var(---color-text);\n }\n\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n input[type=number]:disabled::-webkit-outer-spin-button,\n input[type=number]:disabled::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label>\n <slot></slot>\n <input ?disabled=${this.disabled} type=\"number\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-spinner', DecidablesSpinner);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSwitch extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n /* Adapted from https://codepen.io/guuslieben/pen/YyPRVP */\n input[type=checkbox] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=checkbox] + label {\n order: 1;\n\n margin: 0 0.25rem 0.25rem;\n\n font-weight: 400;\n }\n\n input[type=checkbox] + label + label {\n position: relative;\n\n min-width: 24px;\n padding: 0 0 36px;\n margin: 0.25rem 0.25rem 0;\n\n font-weight: 400;\n\n outline: none;\n }\n\n input[type=checkbox] + label + label::before,\n input[type=checkbox] + label + label::after {\n position: absolute;\n\n left: 50%;\n\n margin: 0;\n\n content: \"\";\n\n outline: 0;\n\n transition: all var(---transition-duration) ease;\n transform: translate(-50%, 0);\n }\n\n input[type=checkbox] + label + label::before {\n bottom: 1px;\n\n width: 8px;\n height: 34px;\n\n background-color: var(---color-element-disabled);\n border-radius: 4px;\n }\n\n input[type=checkbox] + label + label::after {\n bottom: 0;\n\n width: 18px;\n height: 18px;\n\n background-color: var(---color-element-enabled);\n border-radius: 50%;\n box-shadow: var(---shadow-2);\n }\n\n input[type=checkbox]:checked + label + label::after {\n transform: translate(-50%, -100%);\n }\n\n input[type=checkbox]:disabled + label + label::after {\n background-color: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=checkbox]:enabled + label,\n input[type=checkbox]:enabled + label + label {\n cursor: pointer;\n }\n\n input[type=checkbox]:enabled + label:hover + label::after,\n input[type=checkbox]:enabled + label + label:hover::after {\n box-shadow: var(---shadow-4);\n }\n\n input[type=checkbox]:enabled + label:active + label::after,\n input[type=checkbox]:enabled + label + label:active::after {\n box-shadow: var(---shadow-8);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {\n box-shadow: var(---shadow-4);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,\n :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"checkbox\" id=${`${this.uniqueId}-checkbox`} ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>\n <label for=${`${this.uniqueId}-checkbox`}>\n <slot name=\"off-label\"></slot>\n </label>\n <label for=${`${this.uniqueId}-checkbox`}>\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-switch', DecidablesSwitch);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggle extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n fieldset {\n display: flex;\n\n flex-direction: column;\n\n align-items: stretch;\n justify-content: center;\n\n margin: 0.25rem;\n\n border: 0;\n }\n\n legend {\n text-align: center;\n }\n `,\n ];\n }\n\n render() {\n return html`\n <fieldset ?disabled=${this.disabled}>\n <legend><slot name=\"label\"></slot></legend>\n <slot></slot>\n </fieldset>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle', DecidablesToggle);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggleOption extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n name: {\n attribute: 'name',\n type: String,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: String,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n this.name = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n }\n\n input[type=radio] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=radio] + label {\n width: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n text-align: center;\n\n cursor: pointer;\n\n background-color: var(---color-element-enabled);\n border: 0;\n border-radius: 0;\n outline: none;\n\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio]:checked + label {\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio] + label:hover {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n input[type=radio] + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(:first-of-type) input[type=radio] + label {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n\n :host(:last-of-type) input[type=radio] + label {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n\n :host(.keyboard) input[type=radio]:focus + label {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus:checked + label {\n z-index: 1;\n\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"radio\" id=${`${this.uniqueId}-radio`} name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>\n <label for=${`${this.uniqueId}-radio`}>\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle-option', DecidablesToggleOption);\n","\n/*\n Attribute: Space-separated sequence of numbers\n Property: Array of numbers\n*/\nconst DecidablesConverterArray = {\n fromAttribute: (value) => {\n return value.split(/\\s+/).map((item) => { return Number.parseFloat(item); });\n },\n toAttribute: (value) => {\n return (value.length) ? value.map((item) => { return item.toFixed(3); }).join(' ') : null;\n },\n};\n\nexport default DecidablesConverterArray;\n","\n/*\n Attribute: Space-separated sequence of strings\n Property: Set of strings\n*/\nconst DecidablesConverterSet = {\n fromAttribute: (value) => {\n return new Set(value.split(/\\s+/));\n },\n toAttribute: (value) => {\n return (value.size) ? [...value].join(' ') : null;\n },\n};\n\nexport default DecidablesConverterSet;\n"],"names":["supportsAdoptingStyleSheets","window","ShadowRoot","undefined","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","constructionToken","Symbol","styleSheetCache","Map","CSSResult","constructor","cssText","safeToken","this","_$cssResult$","Error","styleSheet","get","set","replaceSync","toString","unsafeCSS","value","String","css","strings","values","length","reduce","acc","v","idx","adoptStyles","renderRoot","styles","adoptedStyleSheets","map","s","forEach","style","document","createElement","nonce","litNonce","setAttribute","textContent","appendChild","getCompatibleStyle","sheet","cssRules","rule","trustedTypes","emptyStringForBooleanAttribute","emptyScript","polyfillSupport","reactiveElementPolyfillSupport","defaultConverter","toAttribute","type","Boolean","Object","Array","JSON","stringify","fromAttribute","fromValue","Number","parse","e","notEqual","old","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","ReactiveElement","super","_initialize","static","__updatePromise","Promise","res","enableUpdating","_$changedProperties","__saveInstanceProperties","requestUpdate","_initializers","i","addController","controller","__controllers","push","isConnected","hostConnected","removeController","splice","indexOf","elementProperties","_v","p","hasOwnProperty","__instanceProperties","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","elementStyles","connectedCallback","c","_requestedUpdate","disconnectedCallback","hostDisconnected","attributeChangedCallback","name","_old","_$attributeToProperty","__propertyToAttribute","options","attr","__attributeNameForProperty","attrValue","__reflectingProperty","removeAttribute","ctor","propName","__attributeToPropertyMap","getPropertyOptions","r","oldValue","shouldRequestUpdate","has","__reflectingProperties","isUpdatePending","__enqueueUpdate","async","reject","result","scheduleUpdate","performUpdate","hasUpdated","shouldUpdate","changedProperties","willUpdate","hostUpdate","update","__markUpdated","_$didUpdate","_changedProperties","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","k","initializer","observedAttributes","finalize","attributes","state","noAccessor","key","descriptor","getPropertyDescriptor","defineProperty","configurable","enumerable","finalized","superCtor","getPrototypeOf","props","properties","propKeys","getOwnPropertyNames","getOwnPropertySymbols","createProperty","finalizeStyles","isArray","Set","flat","Infinity","reverse","unshift","toLowerCase","HTMLElement","mode","globalThis","reactiveElementVersions","policy","createPolicy","createHTML","marker","Math","random","slice","markerMatch","nodeMarker","d","createMarker","createComment","isPrimitive","isIterable","iterator","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","tag","_$litType$","html","svg","noChange","for","nothing","templateCache","WeakMap","render","container","partOwnerNode","renderBefore","part","_$litPart$","endNode","ChildPart","insertBefore","_$setValue","walker","createTreeWalker","getTemplateHtml","l","attrNames","rawTextEndRegex","regex","attrName","match","attrNameEndIndex","lastIndex","exec","test","RegExp","end","startsWith","htmlResult","Template","node","nodeIndex","attrNameIndex","partCount","parts","el","currentNode","content","svgElement","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","attrsToRemove","getAttributeNames","endsWith","realName","statics","getAttribute","split","m","index","PropertyPart","BooleanAttributePart","EventPart","AttributePart","tagName","data","_options","innerHTML","resolveDirective","attributeIndex","parent","currentDirective","__directives","__directive","nextDirectiveConstructor","_$litDirective$","_$AO","n","_$initialize","_$resolve","TemplateInstance","template","_$template","_$parent","parentNode","_$isConnected","_clone","fragment","creationScope","importNode","partIndex","templatePart","nextSibling","ElementPart","_parts","_update","startNode","_$startNode","_$endNode","__isConnected","directiveParent","_$committedValue","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","ref","createTextNode","_$getTemplate","h","instance","itemParts","itemPart","item","from","start","_$notifyConnectionChanged","setConnected","element","fill","noCommit","valueIndex","change","_commitValue","newListener","oldListener","shouldRemoveListener","capture","once","passive","shouldAddListener","removeEventListener","addEventListener","handleEvent","event","call","host","litHtmlPolyfillSupport","litHtmlVersions","LitElement","renderOptions","__childPart","_$litElement$","litElementHydrateSupport","litElementPolyfillSupport","litElementVersions","noop","dispatch","arguments","_","t","Dispatch","parseTypenames","typenames","types","trim","on","typename","callback","T","copy","that","args","apply","concat","xhtml","xlink","xml","xmlns","prefix","namespaces","space","local","creatorInherit","ownerDocument","uri","namespaceURI","documentElement","createElementNS","creatorFixed","fullname","namespace","none","selector","querySelector","select","groups","_groups","subgroups","j","group","subgroup","subnode","__data__","Selection","_parents","array","x","empty","querySelectorAll","arrayAll","selectorAll","parents","matches","childMatcher","find","childFind","children","childFirst","firstElementChild","filter","childrenFilter","selectAll","matcher","_enter","sparse","EnterNode","datum","_next","_parent","child","next","bindIndex","enter","exit","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","delete","bind","constant","arraylike","enterGroup","updateGroup","exitGroup","i0","i1","previous","_exit","onenter","onupdate","onexit","selection","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","compare","ascending","compareNode","a","b","sortgroups","sortgroup","sort","NaN","size","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","each","defaultView","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","add","join","contains","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","create","creator","constantNull","before","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","deep","property","contextListener","listener","onRemove","__on","o","onAdd","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","selection_selection","selection_select","selection_selectAll","selectChild","selection_selectChild","selectChildren","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","nodes","selection_nodes","selection_node","selection_size","selection_empty","selection_each","selection_attr","selection_style","selection_property","classed","selection_classed","text","selection_text","selection_html","selection_raise","selection_lower","selection_append","insert","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","selection_dispatch","selection_iterator","factory","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","define","color","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","hslConvert","format","parseInt","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","pow","rgb_formatHex","rgb_formatRgb","isNaN","max","round","Hsl","hsl","m2","hsl2rgb","linear","exponential","y","gamma","nogamma","rgbGamma","colorRgb","reA","reB","source","zero","one","bi","am","bm","bs","q","number","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","f","sqrt","atan2","atan","svgNode","parseCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","parseSvg","transform","baseVal","consolidate","matrix","interpolateTransform","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","scale","interpolateTransformCss","interpolateTransformSvg","frame","timeout","interval","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","restart","delay","time","TypeError","sleep","stop","timerFlush","wake","nap","poke","t0","t1","t2","clearTimeout","clearInterval","setInterval","elapsed","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","id","timing","schedules","__transition","tween","duration","ease","init","schedule","self","tick","active","interrupt","tweenRemove","tween0","tween1","tweenFunction","_id","tweenValue","transition","interpolateNumber","interpolateRgb","interpolateString","interpolate","value1","string00","string1","interpolate0","string0","string10","attrTween","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","easeVarying","Transition","_name","every","onFunction","on0","on1","sit","removeFunction","inherit","styleNull","styleMaybeRemove","listener0","styleTween","styleInterpolate","textInterpolate","textTween","id0","id1","newId","resolve","cancel","selection_prototype","transition_select","transition_selectAll","transition_filter","transition_merge","transition_selection","transition_transition","transition_on","transition_attr","transition_attrTween","transition_style","transition_styleTween","transition_text","transition_textTween","transition_remove","transition_tween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_end","cubicInOut","defaultTiming","easeCubicInOut","selection_interrupt","selection_transition","DecidablesElement","uniqueId","getComputedStyleValue","d3","currentTarget","ID","greys","light75","light50","light25","dark25","dark50","dark75","elevations","baselineColor","baselineColorString","inverseBaselineColor","inverseBaselineColorString","opacityUmbra","opacityPenumbra","opacityAmbient","opacityBoost","mapUmbra","mapPenumbra","mapAmbient","elevation","inverse","umbraO","shadows","penumbraO","ambientO","umbraC","penumbraC","ambientC","umbraM","penumbraM","ambientM","umbraS","penumbraS","ambientS","erodeRadius","filters","z","abs","cssBoxShadow","DecidablesButton","disabled","customElements","ifDefined","DecidablesSlider","step","target","changed","inputted","DecidablesSpinner","DecidablesSwitch","checked","DecidablesToggle","DecidablesToggleOption","DecidablesConverterArray","parseFloat","toFixed","DecidablesConverterSet"],"mappings":"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"}
|