From 68f8a1306786ba7bb01bf0f38a51b15d8ce610d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 25 Sep 2018 19:40:57 -0400 Subject: [PATCH 1/8] props fixes --- dash_table/bundle.js | 4 +- dash_table/demo.js | 6 +-- src/dash-table/components/FilterFactory.tsx | 4 +- src/dash-table/components/Table/index.tsx | 3 +- src/dash-table/components/Table/props.ts | 23 ++++----- src/dash-table/derived/paginator.ts | 20 +++++--- src/dash-table/derived/viewportDataframe.ts | 16 +++--- src/dash-table/derived/virtualDataframe.ts | 9 +--- .../integration/unit/derivedViewport_test.ts | 51 +++++++++++++++++++ 9 files changed, 91 insertions(+), 45 deletions(-) create mode 100644 tests/e2e/cypress/integration/unit/derivedViewport_test.ts diff --git a/dash_table/bundle.js b/dash_table/bundle.js index 660f171df..89a3c5411 100644 --- a/dash_table/bundle.js +++ b/dash_table/bundle.js @@ -9,10 +9,10 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;tvoid 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i>u)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i=0&&a.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=s++;n=u||(u=h(t)),r=b.bind(null,n,a,!1),o=b.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var u=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(u),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,u)=>{const s=t[u];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.colIsEditable=function(e,t){return e&&(!r.has("editable",t)||t.editable)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==u.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],u=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deleteRow=function(e,t){const n=t.active_cell,o=t.dataframe,i=t.end_cell,u=t.selected_cell,s=t.selected_rows,a=t.start_cell,l={dataframe:r.remove(e,1,o)};r.is(Array,n)&&n[0]===e&&(l.active_cell=[]);r.is(Array,i)&&i[0]===e&&(l.end_cell=[]);r.is(Array,u)&&u[0]===e&&(l.selected_cell=[]);r.is(Array,a)&&a[0]===e&&(l.start_cell=[0,0]);r.is(Array,s)&&r.contains(e,s)&&(l.selected_rows=r.without([e],s));return l},t.deleteColumn=function(e,t,n){const i=n.columns,u=n.dataframe;var s=o(e,t,n);const a=s.groupIndexFirst,l=s.groupIndexLast,c=r.slice(a,l+1,r.pluck("id",i));return{columns:r.remove(a,1+l-a,i),dataframe:r.map(r.omit(c),u),active_cell:[],end_cell:[],selected_cell:[],start_cell:[0]}},t.editColumnName=function(e,t,n){const i=n.columns;var u=o(e,t,n);const s=u.groupIndexFirst,a=u.groupIndexLast,l=window.prompt("Enter a new column name");let c=r.clone(i);return r.range(s,a+1).map(e=>{let n;n="Array"===r.type(i[e].name)?[e,"name",t]:[e,"name"],c=r.set(r.lensPath(n),l,c)}),{columns:c}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));function o(e,t,n){const o=n.columns;let i,u;"Null"!==r.type(t)?(i=e.name[t],u=r.pluck(t,r.pluck("name",o))):(i=e.name,u=r.pluck("name",o));const s=r.findIndex(r.propEq("id",e.id),o);let a=s,l=s;for(;u[a-1]===i;)a--;for(;u[l+1]===i;)l++;return{groupIndexFirst:a,groupIndexLast:l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,s=e[Symbol.iterator]();!(r=(u=s.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const u={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},u),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},u)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(3)),o=u(n(10)),i=u(n(18));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const u=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,u);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),u=t.getBoundingClientRect(),s=u.left-o.left+n.scrollLeft,a=u.top-o.top+n.scrollTop+u.height;e.style.width=`${u.width}px`,e.style.top=`${a}px`,e.style.left=`${s}px`,e.style.position="absolute",u.top+u.height/2>i.bottom||u.top-u.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=function(e){return e&&e.__esModule?e:{default:e}}(r);class i extends r.PureComponent{constructor(e){super(e),this.handleChange=(e=>this.setState({value:e.target.value})),this.submit=(()=>this.state.value!==this.props.value&&this.props.submit(this.state.value)),this.state={value:e.value}}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.stopPropagation,n=e.updateOnBlur,r=e.updateOnSubmit;let i={onBlur:n?this.submit:void 0,onKeyDown:t?e=>e.stopPropagation():void 0,onSubmit:r?this.submit:void 0};return o.default.createElement("input",Object.assign({ref:"input",type:"text",value:this.state.value||"",onChange:this.handleChange},i))}}t.default=i,i.defaultProps={stopPropagation:!1,updateOnBlur:!0,updateOnSubmit:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=u(n(23)),o=u(n(3)),i=u(n(25));function u(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),o=function(e){return e&&e.__esModule?e:{default:e}}(n(24));const i="dash_debug",u="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(u)||o.default.get(u);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let u=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=u}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=n(1),o=a(r),i=a(n(0)),u=a(n(28));n(56);var s=a(n(3));function a(e){return e&&e.__esModule?e:{default:e}}class l extends r.Component{render(){var e=this.props;const t=e.filtering,n=e.sorting,r=e.pagination_mode;function i(e){return-1!==["be",!1].indexOf(e)}return function(e){return-1!==["fe",!0,!1].indexOf(e)}(r)||i(t)&&i(n)?o.default.createElement(u.default,this.props):(s.default.error("Invalid combination of filtering / sorting / pagination",t,n,r),o.default.createElement("div",null,"Invalid props combination"))}}t.default=l;const c=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_dataframe:[],derived_viewport_indices:[],derived_virtual_dataframe:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],column_conditional_styles:[],column_static_style:[],row_conditional_styles:[],row_static_style:{},dataframe:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,table_style:[]},p=t.propTypes={active_cell:i.default.array,columns:i.default.arrayOf(i.default.object),dataframe:i.default.arrayOf(i.default.object),dataframe_previous:i.default.arrayOf(i.default.object),dataframe_timestamp:i.default.any,editable:i.default.bool,end_cell:i.default.arrayOf(i.default.number),id:i.default.string.isRequired,is_focused:i.default.bool,merge_duplicate_headers:i.default.bool,n_fixed_columns:i.default.number,n_fixed_rows:i.default.number,row_deletable:i.default.bool,row_selectable:i.default.oneOf(["single","multi",!1]),selected_cell:i.default.arrayOf(i.default.arrayOf(i.default.number)),selected_rows:i.default.arrayOf(i.default.number),setProps:i.default.any,start_cell:i.default.arrayOf(i.default.number),style_as_list_view:i.default.bool,table_style:i.default.arrayOf(i.default.shape({selector:i.default.string,rule:i.default.string})),pagination_mode:i.default.oneOf(["fe","be",!0,!1]),pagination_settings:i.default.shape({displayed_pages:i.default.number,current_page:i.default.number,page_size:i.default.number}),navigation:i.default.string,column_conditional_dropdowns:i.default.arrayOf(i.default.shape({id:i.default.string,dropdowns:i.default.arrayOf(i.default.shape({condition:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))}))})),column_static_dropdown:i.default.arrayOf(i.default.shape({id:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))})),column_conditional_style:i.default.arrayOf(i.default.shape({id:i.default.string,styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object}))})),column_static_style:i.default.arrayOf(i.default.shape({id:i.default.string,style:i.default.object})),row_conditional_styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object})),row_static_style:i.default.object,filtering:i.default.oneOf(["fe","be",!0,!1]),filtering_settings:i.default.string,filtering_type:i.default.oneOf(["basic"]),filtering_types:i.default.arrayOf(i.default.oneOf(["basic"])),sorting:i.default.oneOf(["fe","be",!0,!1]),sorting_type:i.default.oneOf(["single","multi"]),sorting_settings:i.default.arrayOf(i.default.shape({columnId:i.default.oneOfType([i.default.string,i.default.number]),direction:i.default.oneOf(["asc","desc"])})),sorting_treat_empty_string_as_none:i.default.bool,derived_viewport_dataframe:i.default.arrayOf(i.default.object),derived_viewport_indices:i.default.arrayOf(i.default.number),derived_virtual_dataframe:i.default.arrayOf(i.default.object),derived_virtual_indices:i.default.arrayOf(i.default.number),dropdown_properties:i.default.any};l.defaultProps=c,l.propTypes=p},function(e,t,n){"use strict";var r=n(27);function o(){}e.exports=function(){function e(e,t,n,o,i,u){if(u!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=d(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=n(4),s=d(n(29)),a=d(n(45)),l=d(n(46)),c=d(n(47)),p=d(n(48));function d(e){return e&&e.__esModule?e:{default:e}}n(49),n(52),n(54);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,u.memoizeOne)(e=>e?t=>{if(i.has("dataframe",t)){const e=this.props.dataframe;t.dataframe_timestamp=Date.now(),t.dataframe_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,a.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,p.default)(),this.filterCache=(0,u.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,u.memoizeOneWithFlag)(e=>e),this.sortCache=(0,u.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,u.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,u.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props)}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.dataframe,o=e.filtering,u=e.filtering_settings,s=e.pagination_mode,a=e.pagination_settings,l=e.sorting,c=e.sorting_settings,p=e.sorting_treat_empty_string_as_none,d=this.virtual(r,o,u,l,c,p),f=this.viewport(s,a,d.dataframe,d.indices),h=this.paginator(s,a,t,f.dataframe),v=this.visibleColumns(n);return i.mergeAll([e,{columns:v,paginator:h,setProps:t,viewport:f,virtual:d}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,u=e.sorting_settings,s=e.viewport,a=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(a).cached,p=this.filterCache(n),d=this.paginationCache(o),f=this.sortCache(u),h=!p.cached&&!p.first&&"be"===t||!d.cached&&!d.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const v=this.setProps;let g={};c||(g.derived_virtual_dataframe=a.dataframe,g.derived_virtual_indices=a.indices),l||(g.derived_viewport_dataframe=s.dataframe,g.derived_viewport_indices=s.indices),h&&(g.active_cell=void 0,g.selected_cell=void 0,g.selected_rows=void 0),setTimeout(()=>v(g),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=m(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=m(n(12)),s=n(13),a=n(14),l=n(30),c=n(31),p=m(c),d=m(n(3)),f=n(4),h=m(n(10)),v=m(n(34)),g=m(n(37)),y=m(n(19)),b=m(n(41));function m(e){return e&&e.__esModule?e:{default:e}}const x=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.getLexerResult=(0,f.memoizeOne)(h.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.handleResize=(()=>{var e=this.refs;const t=e.r0c0,n=e.r0c1,r=e.r1c0,o=e.r1c1;let i=n.querySelectorAll("tr");t.querySelectorAll("tr").forEach((e,t)=>{const n=i[t];e.style.height=getComputedStyle(n).height});let u=o.querySelectorAll("tr > th:first-of-type");r.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=u[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const s=o.querySelector("tr > td:first-of-type");if(s){const e=s.parentElement;this.stylesheet.setRule(".cell-1-0 tr",`height: ${getComputedStyle(e).height}`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,u=t.editable;if(d.default.trace(`handleKeyDown: ${e.key}`),(0,a.isCtrlMetaKey)(e.keyCode))return;const l=(0,a.isCtrlDown)(e);l&&e.keyCode===a.KEY_CODES.V||e.keyCode===a.KEY_CODES.C&&l&&!i||(e.keyCode!==a.KEY_CODES.ESCAPE?e.keyCode!==a.KEY_CODES.ENTER||i||!(0,s.colIsEditable)(u,r[n[1]])?i&&e.keyCode!==a.KEY_CODES.TAB&&e.keyCode!==a.KEY_CODES.ENTER||((0,a.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===a.KEY_CODES.BACKSPACE||e.keyCode===a.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,s.colIsEditable)(u,r[n[1]])||(0,a.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,u=n.selected_cell,s=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=u.length>1,p=t.keyCode===a.KEY_CODES.ENTER||t.keyCode===a.KEY_CODES.TAB;if(c&&p)return void s({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void s({is_focused:!1,selected_cell:[e],active_cell:e})}let d=[],f=[];const h=x(i.uniq(i.pluck(0,u))),v=x(i.uniq(i.pluck(1,u))),g=h[0],y=v[0],b=h[h.length-1],m=v[v.length-1],E=t.keyCode===a.KEY_CODES.ARROW_DOWN||t.keyCode===a.KEY_CODES.ENTER,w=t.keyCode===a.KEY_CODES.ARROW_UP,O=t.keyCode===a.KEY_CODES.ARROW_RIGHT||t.keyCode===a.KEY_CODES.TAB,_=t.keyCode===a.KEY_CODES.ARROW_LEFT;E&&r[0]>g?f=v.map(e=>[g,e]):E&&b!==l.dataframe.length-1?d=v.map(e=>[b+1,e]):w&&r[0][b,e]):w&&g>0?d=v.map(e=>[g-1,e]):_&&r[1][e,m]):_&&y>0?d=h.map(e=>[e,y-1]):O&&r[1]>y?f=h.map(e=>[e,y]):O&&m+1<=o.length-1&&(d=h.map(e=>[e,m+1])),s({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(d,u)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.dataframe,o=t.editable,u=t.selected_cell,a=t.setProps,l=t.viewport;e.preventDefault();let c=r;i.map(e=>[l.indices[e[0]],e[1]],u).forEach(e=>{(0,s.colIsEditable)(o,n[e[1]])&&(c=i.set(i.lensPath([e[0],n[e[1]].id]),"",c))}),a({dataframe:c})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,u=r.selected_cell,s=r.viewport,c=e;switch(c.keyCode){case a.KEY_CODES.ARROW_LEFT:return t?(0,l.selectionCycle)([n[0],n[1]-1],u):[n[0],i.max(0,n[1]-1)];case a.KEY_CODES.ARROW_RIGHT:case a.KEY_CODES.TAB:return t?(0,l.selectionCycle)([n[0],n[1]+1],u):[n[0],i.min(o.length-1,n[1]+1)];case a.KEY_CODES.ARROW_UP:return t?(0,l.selectionCycle)([n[0]-1,n[1]],u):[i.max(0,n[0]-1),n[1]];case a.KEY_CODES.ARROW_DOWN:case a.KEY_CODES.ENTER:return t?(0,l.selectionCycle)([n[0]+1,n[1]],u):[i.min(s.dataframe.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;v.default.toClipboard(e,r,n,o.dataframe),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.dataframe,i=t.editable,u=t.filtering_settings,s=t.setProps,a=t.sorting_settings,l=t.viewport;if(!i)return;const c=v.default.fromClipboard(e,n,l.indices,r,o,!0,!a.length||!u.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=((e,t,n)=>{t&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),i.addIndex(i.forEach)((e,t)=>{const n=u.default.unit(e.width||c.DEFAULT_CELL_WIDTH,"px");this.stylesheet.setRule(`.dash-spreadsheet-inner td.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`),this.stylesheet.setRule(`.dash-spreadsheet-inner th.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`)},e)}),this.renderFragment=(e=>e?o.default.createElement("table",{tabIndex:-1},o.default.createElement("tbody",null,e.map((e,t)=>o.default.createElement("tr",{key:`row-${t}`},e)))):null),this.handleSetFilter=(e=>this.props.setProps({filtering_settings:e})),this.getCells=(()=>[...this.headerFactory.createHeaders(),...this.filterFactory.createFilters(),...this.cellFactory.createCells()]),this.getFragments=((e,t,n)=>{const r=t?i.map(e=>e.splice(0,i.reduceWhile(e=>e.count(e.cells++,e.count+=t.props.colSpan||1,e),{cells:0,count:0},e).cells),e):null,o=n?e.splice(0,n):null,u=n&&r?r.splice(0,n):null;return[[this.renderFragment(u),this.renderFragment(o)],[this.renderFragment(r),this.renderFragment(e)]]}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,y.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;d.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.cellFactory=new g.default(()=>this.props),this.filterFactory=new b.default(()=>{var e=this.props;const t=e.row_deletable,n=e.row_selectable,r=(t?1:0)+(n?1:0);return{columns:this.props.columns,fillerColumns:r,filtering:this.props.filtering,filtering_settings:this.props.filtering_settings,filtering_type:this.props.filtering_type,id:this.props.id,setFilter:this.handleSetFilter}}),this.headerFactory=new p.default(()=>this.props),this.stylesheet=new u.default(`#${e.id}`),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.table_style;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),window.addEventListener("resize",this.handleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.dataframe,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,s=e[Symbol.iterator]();!(r=(u=s.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),u=n[0],s=i[0],a=n[n.length-1],l=i[i.length-1];var c=r(e,2);const p=c[0],d=c[1],f=[p,d];p>a&&(f[0]=u,f[1]=d+1>l?s:d+1);pl&&(f[1]=s,f[0]=p+1>a?u:p+1);dArray.isArray(e.name)?e.name.length:1,h=(e,t)=>Array.isArray(e.name)?e.name[t]:"";t.default=class{constructor(e){this.propsFn=e}get props(){return this.propsFn()}getSorting(e,t){const n=o.find(t=>t.columnId===e,t);return n?n.direction:u.SortDirection.None}doSort(e,t){return()=>{const n=t.sorting_settings,r=t.sorting_type;let o;switch(this.getSorting(e,n)){case u.SortDirection.Descending:o=u.SortDirection.Ascending;break;case u.SortDirection.Ascending:o=u.SortDirection.None;break;case u.SortDirection.None:default:o=u.SortDirection.Descending}const i="single"===r?a.default:s.default;t.setProps({sorting_settings:i(n,{columnId:e,direction:o})})}}getSortingIcon(e,t){const n=t.sorting_settings;switch(this.getSorting(e,n)){case u.SortDirection.Descending:return"↑";case u.SortDirection.Ascending:return"↓";case u.SortDirection.None:default:return"↕"}}createHeaderCells(e){const t=e.columns,n=e.columnRowIndex,u=e.labels,s=e.mergeCells,a=e.n_fixed_columns,c=e.pagination_mode,p=e.rowSorting;let f=[];if(s){f=[0];let e=0;u.forEach((t,n)=>{t!==u[e]&&(f.push(n),e=n)})}else f=o.range(0,t.length);return o.filter(e=>!!e,f.map((h,v)=>{const g=t[h],y=t.indexOf(g);let b;b=s?h===o.last(f)?u.length-h:f[v+1]-h:1;const m=t.indexOf(g),x=`calc(${t.filter((e,t)=>t>=m&&ti.default.unit(e.width||d,"px")).join(" + ")})`;return r.default.createElement("th",{key:`header-cell-${h}`,"data-dash-column":g.id,colSpan:b,className:"dash-header "+`column-${h} `+(h===t.length-1||h===o.last(f)?"cell--right-last ":""),style:y{(0,n.setProps)(l.editColumnName(e,t,n))}}(g,n,e)},"✎"):"",g.deletable&&"be"!==c&&"Boolean"===o.type(g.deletable)||"Number"===o.type(g.deletable)&&g.deletable===n?r.default.createElement("span",{className:"column-header--delete",onClick:function(e,t,n){return()=>{(0,n.setProps)(l.deleteColumn(e,t,n))}}(g,n,e)},"×"):"",r.default.createElement("span",null,u[h]))}))}createDeletableHeader(e){return e.row_deletable?r.default.createElement("th",{key:"delete",className:"expanded-row--empty-cell dash-delete-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createSelectableHeader(e){return e.row_selectable?r.default.createElement("th",{key:"select",className:"expanded-row--empty-cell dash-select-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createHeaders(){const e=this.props;let t=e.columns,n=e.sorting,r=e.merge_duplicate_headers,i=e.n_fixed_columns,u=e.pagination_mode,s=e.row_deletable,a=e.row_selectable,l=e.setProps,c=e.sorting_settings,p=e.sorting_type;const d=(s?1:0)+(a?1:0);i=Math.max(0,i-d);const v=this.createDeletableHeader(e),g=this.createSelectableHeader(e),y=Math.max.apply(Math,t.map(f));let b;return b=1===y?[[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:0,labels:o.pluck("name",t),n_fixed_columns:i,pagination_mode:u,rowSorting:n,setProps:l,sorting_settings:c,sorting_type:p})]]:o.range(0,y).map(e=>[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:e,labels:t.map(t=>o.isNil(t.name)&&e===y-1?t.id:h(t,e)),n_fixed_columns:i,pagination_mode:u,rowSorting:!!n&&e+1===y,mergeCells:r&&e+1!==y,setProps:l,sorting_settings:c,sorting_type:p})])}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),i=n(7);t.default=((e,t)=>{if(o.default.trace("multi - updateSettings",e,t),e=r.clone(e),t.direction===i.SortDirection.None){const n=r.findIndex(e=>e.columnId===t.columnId,e);-1!==n&&e.splice(n,1)}else{const n=r.find(e=>e.columnId===t.columnId,e);n?n.direction=t.direction:e.push(t)}return e})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),o=n(7);t.default=((e,t)=>(r.default.trace("single - updateSettings",e,t),t.direction===o.SortDirection.None?[]:[t]))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=a(n(35)),i=a(n(36)),u=a(n(3)),s=n(13);function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{static toClipboard(e,t,n,s){const a=r.uniq(r.pluck(0,t).sort((e,t)=>e-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(a),r.last(a)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),p=o.default.prototype.stringify(c);u.default.trace("TableClipboard -- set clipboard data: ",p),i.default.set(e,p)}static fromClipboard(e,t,n,a,l,c=!0,p=!0){const d=i.default.get(e);if(u.default.trace("TableClipboard -- get clipboard data: ",d),!d)return;const f=o.default.prototype.parse(d);let h=l;const v=a;if(c&&f[0].length+t[1]>=a.length)for(let e=a.length;et[`Column ${e}`]="");p&&u.default.debug("Clipboard -- Sorting or filtering active, do not create new rows");const g=n[t[0]];if(p&&f.length+g>=l.length){const e={};a.forEach(t=>e[t.id]=""),h=r.concat(h,r.repeat(e,f.length+g-l.length))}return f.forEach((e,o)=>e.forEach((e,i)=>{const u=t[0]+o;if(n.length<=t[0]+o)return;const a=n[u],l=t[1]+i,c=v[l];c&&(0,s.colIsEditable)(!0,c)&&(h=r.set(r.lensPath([a,c.id]),e,h))})),{dataframe:h,columns:v}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,u,s,a,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(u+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?u+='"'+i.replace(/"/g,'""')+'"':u+=i:u+=null===i||void 0===i?"":i;u+="\n"}return u},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(2)),o=s(n(1)),i=s(n(38)),u=a(n(15));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.isCellSelected=((e,t,n)=>e&&r.contains([t,n],e)),this.getEventHandler=((e,t,n)=>{const r=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),o=r.get(t)||r.set(t,new Map).get(t);return o.get(n)||o.set(n,e.bind(this,t,n)).get(n)}),this.handleClick=((e,t,n)=>{var o=this.props;const i=o.editable,u=o.is_focused,s=o.selected_cell,a=o.setProps,l=this.isCellSelected(s,e,t);if(!i)return;if(u||n.preventDefault(),l)return;n.preventDefault();const c=[e,t],p={is_focused:!1,active_cell:c},d=r.uniq(r.pluck(0,s)).sort((e,t)=>e-t),f=r.uniq(r.pluck(1,s)).sort((e,t)=>e-t),h=d[0],v=f[0];n.shiftKey?p.selected_cell=r.xprod(r.range(r.min(h,c[0]),r.max(h,c[0])+1),r.range(r.min(v,c[1]),r.max(v,c[1])+1)):p.selected_cell=[c],a(p)}),this.handleDoubleClick=((e,t,n)=>{var r=this.props;const o=r.editable,i=r.is_focused,u=r.setProps;if(!o)return;const s=[e,t];i||(n.preventDefault(),u({selected_cell:[s],active_cell:s,is_focused:!0}))}),this.handleChange=((e,t,n)=>{var o=this.props;const i=o.columns,u=o.dataframe,s=o.editable,a=o.setProps,l=i[t];s&&a({dataframe:r.set(r.lensPath([e,l.id]),n,u)})}),this.handlePaste=(e=>{e.preventDefault()})}get props(){return this.propsFn()}rowSelectCell(e){var t=this.props;const n=t.setProps,i=t.selected_rows,u=t.row_selectable;return u?o.default.createElement("td",{key:"select",className:"dash-select-cell",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},o.default.createElement("input",{type:"single"===u?"radio":"checkbox",name:"row-select",checked:r.contains(e,i),onChange:()=>n({selected_rows:"single"===u?[e]:r.ifElse(r.contains(e),r.without([e]),r.append(e))(i)})})):null}rowDeleteCell(e){var t=this.props;const n=t.setProps;return t.row_deletable?o.default.createElement("td",{key:"delete",className:"dash-delete-cell",onClick:()=>n(u.deleteRow(e,this.props)),style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},"×"):null}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,u=e.column_conditional_dropdowns,s=e.column_conditional_styles,a=e.column_static_dropdown,l=e.column_static_style,c=e.dropdown_properties,p=e.editable,d=e.id,f=e.is_focused,h=e.selected_cell,v=e.viewport;return v.dataframe.map((e,g)=>{const y=v.indices[g],b=this.rowDeleteCell(y),m=this.rowSelectCell(y),x=n.map((v,b)=>{let m=(c&&c[v.id]&&(c[v.id].length>y?c[v.id][y]:null)||v||{}).options;const x=n.indexOf(v),E=[`column-${x}`];let w=u.find(e=>e.id===v.id),O=a.find(e=>e.id===v.id);w=w&&w.dropdowns,O=m||O&&O.dropdown;let _=s.find(e=>e.id===v.id),S=l.find(e=>e.id===v.id);return _=_&&_.styles,S=S&&S.style,o.default.createElement(i.default,{key:`${v.id}-${b}`,active:t[0]===g&&t[1]===x,classes:E,clearable:v.clearable,conditionalDropdowns:w,conditionalStyles:_,datum:e,editable:p,focused:!!f,onClick:this.getEventHandler(this.handleClick,g,x),onDoubleClick:this.getEventHandler(this.handleDoubleClick,g,x),onPaste:this.handlePaste,onChange:this.getEventHandler(this.handleChange,y,x),property:v.id,selected:r.contains([g,x],h),staticDropdown:O,staticStyle:S,tableId:d,type:v.type,value:e[v.id]})});return m&&x.unshift(m),b&&x.unshift(b),x})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=f(o),u=f(n(39)),s=n(11),a=n(4),l=f(n(40)),c=f(n(17)),p=n(14),d=f(n(19));function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.getDropdown=(0,a.memoizeOne)((...e)=>e.length?e.slice(-1)[0]:void 0),this.getStyle=(0,a.memoizeOne)((...e)=>e.length?r.mergeAll(e):void 0),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode===p.KEY_CODES.ENTER&&this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,d.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}get classes(){var e=this.propsWithDefaults;let t=e.active,n=e.classes,r=e.editable,o=e.selected,i=e.type;return["dash-cell",...t?["focused"]:[],...r?[]:["cell--uneditable"],...o?["cell--selected"]:[],..."dropdown"===i?["dropdown"]:[],...n]}renderDropdown(){var e=this.propsWithDefaults;const t=e.clearable,n=e.onChange,r=e.value,o=this.dropdown;return o?i.default.createElement(u.default,{ref:"dropdown",clearable:t,onChange:e=>{n(e?e.value:e)},onOpen:this.handleOpenDropdown,options:o,placeholder:"",value:r}):this.renderValue()}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.focused,r=e.onClick,o=e.onDoubleClick,u=e.onPaste,s={className:[...t?["input-active"]:[],...n?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:r,onDoubleClick:o};return t||this.state.value!==this.props.value?i.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:u},s)):this.renderValue(s)}renderValue(e={}){const t=this.propsWithDefaults.value;return i.default.createElement("div",Object.assign({},e),t)}renderInner(){switch(this.props.type){case"text":case"numeric":return this.renderInput();case"dropdown":return this.renderDropdown();default:return this.renderValue()}}get dropdown(){var e=this.propsWithDefaults;let t=e.conditionalDropdowns,n=e.datum,o=e.property,i=e.staticDropdown,u=e.tableId;const s=[...i?[i]:[],...r.map(([e])=>e.dropdown,r.filter(([e,t])=>h.dropdownAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getDropdown(...s)}get style(){var e=this.propsWithDefaults;let t=e.conditionalStyles,n=e.datum,o=e.property,i=e.staticStyle,u=e.tableId;const s=[i,...r.map(([e])=>e.style,r.filter(([e,t])=>h.styleAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getStyle(...s)}render(){const e=this.props.property;return i.default.createElement("td",{ref:"td",tabIndex:-1,className:this.classes.join(" "),style:this.style,"data-dash-column":e},this.renderInner())}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){const e=this.propsWithDefaults.active,t=this.refs.textInput;e&&t&&document.activeElement!==t&&(t.focus(),t.setSelectionRange(0,t.value?t.value.length:0)),e&&this.refs.dropdown&&this.refs.td.focus()}shouldComponentUpdate(e,t){const n=this.props,r=this.state;return!(0,s.isEqual)(n,e,!0)||!(0,s.isEqual)(r,t,!0)}}t.default=h,h.dropdownAstCache=(0,l.default)(e=>new c.default(e)),h.styleAstCache=(0,l.default)(e=>new c.default(e)),h.defaultProps={classes:[],conditionalDropdowns:[],conditionalStyles:[],staticStyle:{},type:"text"}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return V}),n.d(t,"AsyncCreatable",function(){return Y}),n.d(t,"Creatable",function(){return L}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return k}),n.d(t,"defaultMenuRenderer",function(){return b}),n.d(t,"defaultArrowRenderer",function(){return d}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(21),o=n.n(r),i=n(5),u=n.n(i),s=n(0),a=n.n(s),l=n(1),c=n.n(l),p=n(6),d=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:a.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],v=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],u=g(o),s=g(i);if(!u&&!s)return!1;var a=u?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(a&&"label"!==r.matchProp&&(a=v(a)),l&&"value"!==r.matchProp&&(l=v(l))),r.ignoreCase&&(a&&"label"!==r.matchProp&&(a=a.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?a&&"label"!==r.matchProp&&a.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:a&&"label"!==r.matchProp&&a.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},b=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,a=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionRenderer,f=e.options,h=e.removeValue,v=e.selectValue,g=e.valueArray,y=e.valueKey,b=p;return f.map(function(e,p){var f=g&&g.some(function(t){return t[y]===e[y]}),m=e===t,x=u()(l,{"Select-option":!0,"is-selected":f,"is-focused":m,"is-disabled":e.disabled});return c.a.createElement(b,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:m,isSelected:f,key:"option-"+p+"-"+e[y],onFocus:i,onSelect:a,option:e,optionIndex:p,ref:function(e){s(e,m)},removeValue:h,selectValue:v},d(e,p,r))})};b.propTypes={focusOption:a.a.func,focusedOption:a.a.object,inputValue:a.a.string,instancePrefix:a.a.string,onFocus:a.a.func,onOptionRef:a.a.func,onSelect:a.a.func,optionClassName:a.a.string,optionComponent:a.a.func,optionRenderer:a.a.func,options:a.a.array,removeValue:a.a.func,selectValue:a.a.func,valueArray:a.a.array,valueKey:a.a.string};var m=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),s=u.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(u.done?"return":"normal",u.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,u){var s={key:e,arg:t,resolve:i,reject:u,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},k=function(e){function t(e){E(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return S(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:m,onClick:m},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);k.propTypes={children:a.a.node,className:a.a.string,instancePrefix:a.a.string.isRequired,isDisabled:a.a.bool,isFocused:a.a.bool,isSelected:a.a.bool,onFocus:a.a.func,onSelect:a.a.func,onUnfocus:a.a.func,option:a.a.object.isRequired,optionIndex:a.a.number};var F=function(e){function t(e){E(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return S(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:a.a.node,disabled:a.a.bool,id:a.a.string,onClick:a.a.func,onRemove:a.a.func,value:a.a.object.isRequired}; +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;tvoid 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i>u)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i=0&&a.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=s++;n=u||(u=h(t)),r=b.bind(null,n,a,!1),o=b.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var u=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(u),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,u)=>{const s=t[u];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.colIsEditable=function(e,t){return e&&(!r.has("editable",t)||t.editable)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==u.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],u=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deleteRow=function(e,t){const n=t.active_cell,o=t.dataframe,i=t.end_cell,u=t.selected_cell,s=t.selected_rows,a=t.start_cell,l={dataframe:r.remove(e,1,o)};r.is(Array,n)&&n[0]===e&&(l.active_cell=[]);r.is(Array,i)&&i[0]===e&&(l.end_cell=[]);r.is(Array,u)&&u[0]===e&&(l.selected_cell=[]);r.is(Array,a)&&a[0]===e&&(l.start_cell=[0,0]);r.is(Array,s)&&r.contains(e,s)&&(l.selected_rows=r.without([e],s));return l},t.deleteColumn=function(e,t,n){const i=n.columns,u=n.dataframe;var s=o(e,t,n);const a=s.groupIndexFirst,l=s.groupIndexLast,c=r.slice(a,l+1,r.pluck("id",i));return{columns:r.remove(a,1+l-a,i),dataframe:r.map(r.omit(c),u),active_cell:[],end_cell:[],selected_cell:[],start_cell:[0]}},t.editColumnName=function(e,t,n){const i=n.columns;var u=o(e,t,n);const s=u.groupIndexFirst,a=u.groupIndexLast,l=window.prompt("Enter a new column name");let c=r.clone(i);return r.range(s,a+1).map(e=>{let n;n="Array"===r.type(i[e].name)?[e,"name",t]:[e,"name"],c=r.set(r.lensPath(n),l,c)}),{columns:c}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));function o(e,t,n){const o=n.columns;let i,u;"Null"!==r.type(t)?(i=e.name[t],u=r.pluck(t,r.pluck("name",o))):(i=e.name,u=r.pluck("name",o));const s=r.findIndex(r.propEq("id",e.id),o);let a=s,l=s;for(;u[a-1]===i;)a--;for(;u[l+1]===i;)l++;return{groupIndexFirst:a,groupIndexLast:l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,s=e[Symbol.iterator]();!(r=(u=s.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const u={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},u),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},u)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(3)),o=u(n(10)),i=u(n(18));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const u=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,u);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),u=t.getBoundingClientRect(),s=u.left-o.left+n.scrollLeft,a=u.top-o.top+n.scrollTop+u.height;e.style.width=`${u.width}px`,e.style.top=`${a}px`,e.style.left=`${s}px`,e.style.position="absolute",u.top+u.height/2>i.bottom||u.top-u.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=function(e){return e&&e.__esModule?e:{default:e}}(r);class i extends r.PureComponent{constructor(e){super(e),this.handleChange=(e=>this.setState({value:e.target.value})),this.submit=(()=>this.state.value!==this.props.value&&this.props.submit(this.state.value)),this.state={value:e.value}}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.stopPropagation,n=e.updateOnBlur,r=e.updateOnSubmit;let i={onBlur:n?this.submit:void 0,onKeyDown:t?e=>e.stopPropagation():void 0,onSubmit:r?this.submit:void 0};return o.default.createElement("input",Object.assign({ref:"input",type:"text",value:this.state.value||"",onChange:this.handleChange},i))}}t.default=i,i.defaultProps={stopPropagation:!1,updateOnBlur:!0,updateOnSubmit:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=u(n(23)),o=u(n(3)),i=u(n(25));function u(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),o=function(e){return e&&e.__esModule?e:{default:e}}(n(24));const i="dash_debug",u="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(u)||o.default.get(u);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let u=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=u}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=n(1),o=a(r),i=a(n(0)),u=a(n(28));n(56);var s=a(n(3));function a(e){return e&&e.__esModule?e:{default:e}}class l extends r.Component{render(){var e=this.props;const t=e.filtering,n=e.sorting,r=e.pagination_mode;function i(e){return-1!==["be",!1].indexOf(e)}return function(e){return-1!==["fe",!0,!1].indexOf(e)}(r)||i(t)&&i(n)?o.default.createElement(u.default,this.props):(s.default.error("Invalid combination of filtering / sorting / pagination",t,n,r),o.default.createElement("div",null,"Invalid props combination"))}}t.default=l;const c=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_dataframe:[],derived_viewport_indices:[],derived_virtual_dataframe:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],column_conditional_styles:[],column_static_style:[],row_conditional_styles:[],row_static_style:{},dataframe:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,table_style:[]},p=t.propTypes={active_cell:i.default.array,columns:i.default.arrayOf(i.default.object),dataframe:i.default.arrayOf(i.default.object),dataframe_previous:i.default.arrayOf(i.default.object),dataframe_timestamp:i.default.any,editable:i.default.bool,end_cell:i.default.arrayOf(i.default.number),id:i.default.string.isRequired,is_focused:i.default.bool,merge_duplicate_headers:i.default.bool,n_fixed_columns:i.default.number,n_fixed_rows:i.default.number,row_deletable:i.default.bool,row_selectable:i.default.oneOf(["single","multi",!1]),selected_cell:i.default.arrayOf(i.default.arrayOf(i.default.number)),selected_rows:i.default.arrayOf(i.default.number),setProps:i.default.any,start_cell:i.default.arrayOf(i.default.number),style_as_list_view:i.default.bool,table_style:i.default.arrayOf(i.default.shape({selector:i.default.string,rule:i.default.string})),pagination_mode:i.default.oneOf(["fe","be",!0,!1]),pagination_settings:i.default.shape({displayed_pages:i.default.number,current_page:i.default.number,page_size:i.default.number}),navigation:i.default.string,column_conditional_dropdowns:i.default.arrayOf(i.default.shape({id:i.default.string,dropdowns:i.default.arrayOf(i.default.shape({condition:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))}))})),column_static_dropdown:i.default.arrayOf(i.default.shape({id:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))})),column_conditional_style:i.default.arrayOf(i.default.shape({id:i.default.string,styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object}))})),column_static_style:i.default.arrayOf(i.default.shape({id:i.default.string,style:i.default.object})),row_conditional_styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object})),row_static_style:i.default.object,filtering:i.default.oneOf(["fe","be",!0,!1]),filtering_settings:i.default.string,filtering_type:i.default.oneOf(["basic"]),filtering_types:i.default.arrayOf(i.default.oneOf(["basic"])),sorting:i.default.oneOf(["fe","be",!0,!1]),sorting_type:i.default.oneOf(["single","multi"]),sorting_settings:i.default.arrayOf(i.default.shape({columnId:i.default.oneOfType([i.default.string,i.default.number]),direction:i.default.oneOf(["asc","desc"])})),sorting_treat_empty_string_as_none:i.default.bool,derived_viewport_dataframe:i.default.arrayOf(i.default.object),derived_viewport_indices:i.default.arrayOf(i.default.number),derived_virtual_dataframe:i.default.arrayOf(i.default.object),derived_virtual_indices:i.default.arrayOf(i.default.number),dropdown_properties:i.default.any};l.defaultProps=c,l.propTypes=p},function(e,t,n){"use strict";var r=n(27);function o(){}e.exports=function(){function e(e,t,n,o,i,u){if(u!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=d(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=n(4),s=d(n(29)),a=d(n(45)),l=d(n(46)),c=d(n(47)),p=d(n(48));function d(e){return e&&e.__esModule?e:{default:e}}n(49),n(52),n(54);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,u.memoizeOne)(e=>e?t=>{if(i.has("dataframe",t)){const e=this.props.dataframe;t.dataframe_timestamp=Date.now(),t.dataframe_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,a.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,p.default)(),this.filterCache=(0,u.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,u.memoizeOneWithFlag)(e=>e),this.sortCache=(0,u.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,u.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,u.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.dataframe,o=e.filtering,u=e.filtering_settings,s=e.pagination_mode,a=e.pagination_settings,l=e.sorting,c=e.sorting_settings,p=e.sorting_treat_empty_string_as_none,d=this.virtual(r,o,u,l,c,p),f=this.viewport(s,a,d.dataframe,d.indices),h=this.paginator(s,a,t,d.dataframe),v=this.visibleColumns(n);return i.mergeAll([e,{columns:v,paginator:h,setProps:t,viewport:f,virtual:d}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,u=e.sorting_settings,s=e.viewport,a=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(a).cached,p=this.filterCache(n),d=this.paginationCache(o),f=this.sortCache(u),h=!p.cached&&!p.first&&"be"===t||!d.cached&&!d.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const v=this.setProps;let g={};c||(g.derived_virtual_dataframe=a.dataframe,g.derived_virtual_indices=a.indices),l||(g.derived_viewport_dataframe=s.dataframe,g.derived_viewport_indices=s.indices),h&&(g.active_cell=void 0,g.selected_cell=void 0,g.selected_rows=void 0),setTimeout(()=>v(g),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=m(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=m(n(12)),s=n(13),a=n(14),l=n(30),c=n(31),p=m(c),d=m(n(3)),f=n(4),h=m(n(10)),v=m(n(34)),g=m(n(37)),y=m(n(19)),b=m(n(41));function m(e){return e&&e.__esModule?e:{default:e}}const x=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.getLexerResult=(0,f.memoizeOne)(h.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.handleResize=(()=>{var e=this.refs;const t=e.r0c0,n=e.r0c1,r=e.r1c0,o=e.r1c1;let i=n.querySelectorAll("tr");t.querySelectorAll("tr").forEach((e,t)=>{const n=i[t];e.style.height=getComputedStyle(n).height});let u=o.querySelectorAll("tr > th:first-of-type");r.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=u[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const s=o.querySelector("tr > td:first-of-type");if(s){const e=s.parentElement;this.stylesheet.setRule(".cell-1-0 tr",`height: ${getComputedStyle(e).height}`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,u=t.editable;if(d.default.trace(`handleKeyDown: ${e.key}`),(0,a.isCtrlMetaKey)(e.keyCode))return;const l=(0,a.isCtrlDown)(e);l&&e.keyCode===a.KEY_CODES.V||e.keyCode===a.KEY_CODES.C&&l&&!i||(e.keyCode!==a.KEY_CODES.ESCAPE?e.keyCode!==a.KEY_CODES.ENTER||i||!(0,s.colIsEditable)(u,r[n[1]])?i&&e.keyCode!==a.KEY_CODES.TAB&&e.keyCode!==a.KEY_CODES.ENTER||((0,a.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===a.KEY_CODES.BACKSPACE||e.keyCode===a.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,s.colIsEditable)(u,r[n[1]])||(0,a.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,u=n.selected_cell,s=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=u.length>1,p=t.keyCode===a.KEY_CODES.ENTER||t.keyCode===a.KEY_CODES.TAB;if(c&&p)return void s({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void s({is_focused:!1,selected_cell:[e],active_cell:e})}let d=[],f=[];const h=x(i.uniq(i.pluck(0,u))),v=x(i.uniq(i.pluck(1,u))),g=h[0],y=v[0],b=h[h.length-1],m=v[v.length-1],E=t.keyCode===a.KEY_CODES.ARROW_DOWN||t.keyCode===a.KEY_CODES.ENTER,w=t.keyCode===a.KEY_CODES.ARROW_UP,O=t.keyCode===a.KEY_CODES.ARROW_RIGHT||t.keyCode===a.KEY_CODES.TAB,_=t.keyCode===a.KEY_CODES.ARROW_LEFT;E&&r[0]>g?f=v.map(e=>[g,e]):E&&b!==l.dataframe.length-1?d=v.map(e=>[b+1,e]):w&&r[0][b,e]):w&&g>0?d=v.map(e=>[g-1,e]):_&&r[1][e,m]):_&&y>0?d=h.map(e=>[e,y-1]):O&&r[1]>y?f=h.map(e=>[e,y]):O&&m+1<=o.length-1&&(d=h.map(e=>[e,m+1])),s({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(d,u)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.dataframe,o=t.editable,u=t.selected_cell,a=t.setProps,l=t.viewport;e.preventDefault();let c=r;i.map(e=>[l.indices[e[0]],e[1]],u).forEach(e=>{(0,s.colIsEditable)(o,n[e[1]])&&(c=i.set(i.lensPath([e[0],n[e[1]].id]),"",c))}),a({dataframe:c})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,u=r.selected_cell,s=r.viewport,c=e;switch(c.keyCode){case a.KEY_CODES.ARROW_LEFT:return t?(0,l.selectionCycle)([n[0],n[1]-1],u):[n[0],i.max(0,n[1]-1)];case a.KEY_CODES.ARROW_RIGHT:case a.KEY_CODES.TAB:return t?(0,l.selectionCycle)([n[0],n[1]+1],u):[n[0],i.min(o.length-1,n[1]+1)];case a.KEY_CODES.ARROW_UP:return t?(0,l.selectionCycle)([n[0]-1,n[1]],u):[i.max(0,n[0]-1),n[1]];case a.KEY_CODES.ARROW_DOWN:case a.KEY_CODES.ENTER:return t?(0,l.selectionCycle)([n[0]+1,n[1]],u):[i.min(s.dataframe.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;v.default.toClipboard(e,r,n,o.dataframe),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.dataframe,i=t.editable,u=t.filtering_settings,s=t.setProps,a=t.sorting_settings,l=t.viewport;if(!i)return;const c=v.default.fromClipboard(e,n,l.indices,r,o,!0,!a.length||!u.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=((e,t,n)=>{t&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),i.addIndex(i.forEach)((e,t)=>{const n=u.default.unit(e.width||c.DEFAULT_CELL_WIDTH,"px");this.stylesheet.setRule(`.dash-spreadsheet-inner td.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`),this.stylesheet.setRule(`.dash-spreadsheet-inner th.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`)},e)}),this.renderFragment=(e=>e?o.default.createElement("table",{tabIndex:-1},o.default.createElement("tbody",null,e.map((e,t)=>o.default.createElement("tr",{key:`row-${t}`},e)))):null),this.handleSetFilter=(e=>this.props.setProps({filtering_settings:e})),this.getCells=(()=>[...this.headerFactory.createHeaders(),...this.filterFactory.createFilters(),...this.cellFactory.createCells()]),this.getFragments=((e,t,n)=>{const r=t?i.map(e=>e.splice(0,i.reduceWhile(e=>e.count(e.cells++,e.count+=t.props.colSpan||1,e),{cells:0,count:0},e).cells),e):null,o=n?e.splice(0,n):null,u=n&&r?r.splice(0,n):null;return[[this.renderFragment(u),this.renderFragment(o)],[this.renderFragment(r),this.renderFragment(e)]]}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,y.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;d.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.cellFactory=new g.default(()=>this.props),this.filterFactory=new b.default(()=>{var e=this.props;const t=e.row_deletable,n=e.row_selectable,r=(t?1:0)+(n?1:0);return{columns:this.props.columns,fillerColumns:r,filtering:this.props.filtering,filtering_settings:this.props.filtering_settings,filtering_type:this.props.filtering_type,id:this.props.id,setFilter:this.handleSetFilter}}),this.headerFactory=new p.default(()=>this.props),this.stylesheet=new u.default(`#${e.id}`),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.table_style;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),window.addEventListener("resize",this.handleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.dataframe,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,s=e[Symbol.iterator]();!(r=(u=s.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),u=n[0],s=i[0],a=n[n.length-1],l=i[i.length-1];var c=r(e,2);const p=c[0],d=c[1],f=[p,d];p>a&&(f[0]=u,f[1]=d+1>l?s:d+1);pl&&(f[1]=s,f[0]=p+1>a?u:p+1);dArray.isArray(e.name)?e.name.length:1,h=(e,t)=>Array.isArray(e.name)?e.name[t]:"";t.default=class{constructor(e){this.propsFn=e}get props(){return this.propsFn()}getSorting(e,t){const n=o.find(t=>t.columnId===e,t);return n?n.direction:u.SortDirection.None}doSort(e,t){return()=>{const n=t.sorting_settings,r=t.sorting_type;let o;switch(this.getSorting(e,n)){case u.SortDirection.Descending:o=u.SortDirection.Ascending;break;case u.SortDirection.Ascending:o=u.SortDirection.None;break;case u.SortDirection.None:default:o=u.SortDirection.Descending}const i="single"===r?a.default:s.default;t.setProps({sorting_settings:i(n,{columnId:e,direction:o})})}}getSortingIcon(e,t){const n=t.sorting_settings;switch(this.getSorting(e,n)){case u.SortDirection.Descending:return"↑";case u.SortDirection.Ascending:return"↓";case u.SortDirection.None:default:return"↕"}}createHeaderCells(e){const t=e.columns,n=e.columnRowIndex,u=e.labels,s=e.mergeCells,a=e.n_fixed_columns,c=e.pagination_mode,p=e.rowSorting;let f=[];if(s){f=[0];let e=0;u.forEach((t,n)=>{t!==u[e]&&(f.push(n),e=n)})}else f=o.range(0,t.length);return o.filter(e=>!!e,f.map((h,v)=>{const g=t[h],y=t.indexOf(g);let b;b=s?h===o.last(f)?u.length-h:f[v+1]-h:1;const m=t.indexOf(g),x=`calc(${t.filter((e,t)=>t>=m&&ti.default.unit(e.width||d,"px")).join(" + ")})`;return r.default.createElement("th",{key:`header-cell-${h}`,"data-dash-column":g.id,colSpan:b,className:"dash-header "+`column-${h} `+(h===t.length-1||h===o.last(f)?"cell--right-last ":""),style:y{(0,n.setProps)(l.editColumnName(e,t,n))}}(g,n,e)},"✎"):"",g.deletable&&"be"!==c&&"Boolean"===o.type(g.deletable)||"Number"===o.type(g.deletable)&&g.deletable===n?r.default.createElement("span",{className:"column-header--delete",onClick:function(e,t,n){return()=>{(0,n.setProps)(l.deleteColumn(e,t,n))}}(g,n,e)},"×"):"",r.default.createElement("span",null,u[h]))}))}createDeletableHeader(e){return e.row_deletable?r.default.createElement("th",{key:"delete",className:"expanded-row--empty-cell dash-delete-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createSelectableHeader(e){return e.row_selectable?r.default.createElement("th",{key:"select",className:"expanded-row--empty-cell dash-select-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createHeaders(){const e=this.props;let t=e.columns,n=e.sorting,r=e.merge_duplicate_headers,i=e.n_fixed_columns,u=e.pagination_mode,s=e.row_deletable,a=e.row_selectable,l=e.setProps,c=e.sorting_settings,p=e.sorting_type;const d=(s?1:0)+(a?1:0);i=Math.max(0,i-d);const v=this.createDeletableHeader(e),g=this.createSelectableHeader(e),y=Math.max.apply(Math,t.map(f));let b;return b=1===y?[[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:0,labels:o.pluck("name",t),n_fixed_columns:i,pagination_mode:u,rowSorting:n,setProps:l,sorting_settings:c,sorting_type:p})]]:o.range(0,y).map(e=>[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:e,labels:t.map(t=>o.isNil(t.name)&&e===y-1?t.id:h(t,e)),n_fixed_columns:i,pagination_mode:u,rowSorting:!!n&&e+1===y,mergeCells:r&&e+1!==y,setProps:l,sorting_settings:c,sorting_type:p})])}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),i=n(7);t.default=((e,t)=>{if(o.default.trace("multi - updateSettings",e,t),e=r.clone(e),t.direction===i.SortDirection.None){const n=r.findIndex(e=>e.columnId===t.columnId,e);-1!==n&&e.splice(n,1)}else{const n=r.find(e=>e.columnId===t.columnId,e);n?n.direction=t.direction:e.push(t)}return e})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),o=n(7);t.default=((e,t)=>(r.default.trace("single - updateSettings",e,t),t.direction===o.SortDirection.None?[]:[t]))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=a(n(35)),i=a(n(36)),u=a(n(3)),s=n(13);function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{static toClipboard(e,t,n,s){const a=r.uniq(r.pluck(0,t).sort((e,t)=>e-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(a),r.last(a)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),p=o.default.prototype.stringify(c);u.default.trace("TableClipboard -- set clipboard data: ",p),i.default.set(e,p)}static fromClipboard(e,t,n,a,l,c=!0,p=!0){const d=i.default.get(e);if(u.default.trace("TableClipboard -- get clipboard data: ",d),!d)return;const f=o.default.prototype.parse(d);let h=l;const v=a;if(c&&f[0].length+t[1]>=a.length)for(let e=a.length;et[`Column ${e}`]="");p&&u.default.debug("Clipboard -- Sorting or filtering active, do not create new rows");const g=n[t[0]];if(p&&f.length+g>=l.length){const e={};a.forEach(t=>e[t.id]=""),h=r.concat(h,r.repeat(e,f.length+g-l.length))}return f.forEach((e,o)=>e.forEach((e,i)=>{const u=t[0]+o;if(n.length<=t[0]+o)return;const a=n[u],l=t[1]+i,c=v[l];c&&(0,s.colIsEditable)(!0,c)&&(h=r.set(r.lensPath([a,c.id]),e,h))})),{dataframe:h,columns:v}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,u,s,a,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(u+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?u+='"'+i.replace(/"/g,'""')+'"':u+=i:u+=null===i||void 0===i?"":i;u+="\n"}return u},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(2)),o=s(n(1)),i=s(n(38)),u=a(n(15));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.isCellSelected=((e,t,n)=>e&&r.contains([t,n],e)),this.getEventHandler=((e,t,n)=>{const r=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),o=r.get(t)||r.set(t,new Map).get(t);return o.get(n)||o.set(n,e.bind(this,t,n)).get(n)}),this.handleClick=((e,t,n)=>{var o=this.props;const i=o.editable,u=o.is_focused,s=o.selected_cell,a=o.setProps,l=this.isCellSelected(s,e,t);if(!i)return;if(u||n.preventDefault(),l)return;n.preventDefault();const c=[e,t],p={is_focused:!1,active_cell:c},d=r.uniq(r.pluck(0,s)).sort((e,t)=>e-t),f=r.uniq(r.pluck(1,s)).sort((e,t)=>e-t),h=d[0],v=f[0];n.shiftKey?p.selected_cell=r.xprod(r.range(r.min(h,c[0]),r.max(h,c[0])+1),r.range(r.min(v,c[1]),r.max(v,c[1])+1)):p.selected_cell=[c],a(p)}),this.handleDoubleClick=((e,t,n)=>{var r=this.props;const o=r.editable,i=r.is_focused,u=r.setProps;if(!o)return;const s=[e,t];i||(n.preventDefault(),u({selected_cell:[s],active_cell:s,is_focused:!0}))}),this.handleChange=((e,t,n)=>{var o=this.props;const i=o.columns,u=o.dataframe,s=o.editable,a=o.setProps,l=i[t];s&&a({dataframe:r.set(r.lensPath([e,l.id]),n,u)})}),this.handlePaste=(e=>{e.preventDefault()})}get props(){return this.propsFn()}rowSelectCell(e){var t=this.props;const n=t.setProps,i=t.selected_rows,u=t.row_selectable;return u?o.default.createElement("td",{key:"select",className:"dash-select-cell",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},o.default.createElement("input",{type:"single"===u?"radio":"checkbox",name:"row-select",checked:r.contains(e,i),onChange:()=>n({selected_rows:"single"===u?[e]:r.ifElse(r.contains(e),r.without([e]),r.append(e))(i)})})):null}rowDeleteCell(e){var t=this.props;const n=t.setProps;return t.row_deletable?o.default.createElement("td",{key:"delete",className:"dash-delete-cell",onClick:()=>n(u.deleteRow(e,this.props)),style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},"×"):null}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,u=e.column_conditional_dropdowns,s=e.column_conditional_styles,a=e.column_static_dropdown,l=e.column_static_style,c=e.dropdown_properties,p=e.editable,d=e.id,f=e.is_focused,h=e.selected_cell,v=e.viewport;return v.dataframe.map((e,g)=>{const y=v.indices[g],b=this.rowDeleteCell(y),m=this.rowSelectCell(y),x=n.map((v,b)=>{let m=(c&&c[v.id]&&(c[v.id].length>y?c[v.id][y]:null)||v||{}).options;const x=n.indexOf(v),E=[`column-${x}`];let w=u.find(e=>e.id===v.id),O=a.find(e=>e.id===v.id);w=w&&w.dropdowns,O=m||O&&O.dropdown;let _=s.find(e=>e.id===v.id),S=l.find(e=>e.id===v.id);return _=_&&_.styles,S=S&&S.style,o.default.createElement(i.default,{key:`${v.id}-${b}`,active:t[0]===g&&t[1]===x,classes:E,clearable:v.clearable,conditionalDropdowns:w,conditionalStyles:_,datum:e,editable:p,focused:!!f,onClick:this.getEventHandler(this.handleClick,g,x),onDoubleClick:this.getEventHandler(this.handleDoubleClick,g,x),onPaste:this.handlePaste,onChange:this.getEventHandler(this.handleChange,y,x),property:v.id,selected:r.contains([g,x],h),staticDropdown:O,staticStyle:S,tableId:d,type:v.type,value:e[v.id]})});return m&&x.unshift(m),b&&x.unshift(b),x})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=f(o),u=f(n(39)),s=n(11),a=n(4),l=f(n(40)),c=f(n(17)),p=n(14),d=f(n(19));function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.getDropdown=(0,a.memoizeOne)((...e)=>e.length?e.slice(-1)[0]:void 0),this.getStyle=(0,a.memoizeOne)((...e)=>e.length?r.mergeAll(e):void 0),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode===p.KEY_CODES.ENTER&&this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,d.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}get classes(){var e=this.propsWithDefaults;let t=e.active,n=e.classes,r=e.editable,o=e.selected,i=e.type;return["dash-cell",...t?["focused"]:[],...r?[]:["cell--uneditable"],...o?["cell--selected"]:[],..."dropdown"===i?["dropdown"]:[],...n]}renderDropdown(){var e=this.propsWithDefaults;const t=e.clearable,n=e.onChange,r=e.value,o=this.dropdown;return o?i.default.createElement(u.default,{ref:"dropdown",clearable:t,onChange:e=>{n(e?e.value:e)},onOpen:this.handleOpenDropdown,options:o,placeholder:"",value:r}):this.renderValue()}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.focused,r=e.onClick,o=e.onDoubleClick,u=e.onPaste,s={className:[...t?["input-active"]:[],...n?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:r,onDoubleClick:o};return t||this.state.value!==this.props.value?i.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:u},s)):this.renderValue(s)}renderValue(e={}){const t=this.propsWithDefaults.value;return i.default.createElement("div",Object.assign({},e),t)}renderInner(){switch(this.props.type){case"text":case"numeric":return this.renderInput();case"dropdown":return this.renderDropdown();default:return this.renderValue()}}get dropdown(){var e=this.propsWithDefaults;let t=e.conditionalDropdowns,n=e.datum,o=e.property,i=e.staticDropdown,u=e.tableId;const s=[...i?[i]:[],...r.map(([e])=>e.dropdown,r.filter(([e,t])=>h.dropdownAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getDropdown(...s)}get style(){var e=this.propsWithDefaults;let t=e.conditionalStyles,n=e.datum,o=e.property,i=e.staticStyle,u=e.tableId;const s=[i,...r.map(([e])=>e.style,r.filter(([e,t])=>h.styleAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getStyle(...s)}render(){const e=this.props.property;return i.default.createElement("td",{ref:"td",tabIndex:-1,className:this.classes.join(" "),style:this.style,"data-dash-column":e},this.renderInner())}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){const e=this.propsWithDefaults.active,t=this.refs.textInput;e&&t&&document.activeElement!==t&&(t.focus(),t.setSelectionRange(0,t.value?t.value.length:0)),e&&this.refs.dropdown&&this.refs.td.focus()}shouldComponentUpdate(e,t){const n=this.props,r=this.state;return!(0,s.isEqual)(n,e,!0)||!(0,s.isEqual)(r,t,!0)}}t.default=h,h.dropdownAstCache=(0,l.default)(e=>new c.default(e)),h.styleAstCache=(0,l.default)(e=>new c.default(e)),h.defaultProps={classes:[],conditionalDropdowns:[],conditionalStyles:[],staticStyle:{},type:"text"}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return V}),n.d(t,"AsyncCreatable",function(){return Y}),n.d(t,"Creatable",function(){return L}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return k}),n.d(t,"defaultMenuRenderer",function(){return b}),n.d(t,"defaultArrowRenderer",function(){return d}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(21),o=n.n(r),i=n(5),u=n.n(i),s=n(0),a=n.n(s),l=n(1),c=n.n(l),p=n(6),d=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:a.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],v=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],u=g(o),s=g(i);if(!u&&!s)return!1;var a=u?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(a&&"label"!==r.matchProp&&(a=v(a)),l&&"value"!==r.matchProp&&(l=v(l))),r.ignoreCase&&(a&&"label"!==r.matchProp&&(a=a.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?a&&"label"!==r.matchProp&&a.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:a&&"label"!==r.matchProp&&a.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},b=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,a=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionRenderer,f=e.options,h=e.removeValue,v=e.selectValue,g=e.valueArray,y=e.valueKey,b=p;return f.map(function(e,p){var f=g&&g.some(function(t){return t[y]===e[y]}),m=e===t,x=u()(l,{"Select-option":!0,"is-selected":f,"is-focused":m,"is-disabled":e.disabled});return c.a.createElement(b,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:m,isSelected:f,key:"option-"+p+"-"+e[y],onFocus:i,onSelect:a,option:e,optionIndex:p,ref:function(e){s(e,m)},removeValue:h,selectValue:v},d(e,p,r))})};b.propTypes={focusOption:a.a.func,focusedOption:a.a.object,inputValue:a.a.string,instancePrefix:a.a.string,onFocus:a.a.func,onOptionRef:a.a.func,onSelect:a.a.func,optionClassName:a.a.string,optionComponent:a.a.func,optionRenderer:a.a.func,options:a.a.array,removeValue:a.a.func,selectValue:a.a.func,valueArray:a.a.array,valueKey:a.a.string};var m=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),s=u.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(u.done?"return":"normal",u.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,u){var s={key:e,arg:t,resolve:i,reject:u,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},k=function(e){function t(e){E(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return S(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:m,onClick:m},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);k.propTypes={children:a.a.node,className:a.a.string,instancePrefix:a.a.string.isRequired,isDisabled:a.a.bool,isFocused:a.a.bool,isSelected:a.a.bool,onFocus:a.a.func,onSelect:a.a.func,onUnfocus:a.a.func,option:a.a.object.isRequired,optionIndex:a.a.number};var F=function(e){function t(e){E(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return S(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:a.a.node,disabled:a.a.bool,id:a.a.string,onClick:a.a.func,onRemove:a.a.func,value:a.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=a.a.oneOfType([a.a.string,a.a.node]),R=a.a.oneOfType([a.a.string,a.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=a.offsetTop+a.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),s=this.state.isOpen,a=u()((O(n={},this._instancePrefix+"-list",s),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=_({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":a,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(O({},this._instancePrefix+"-list",s));return c.a.createElement("div",_({},d,{"aria-expanded":s,"aria-owns":f,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,_({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",_({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],s=n.slice(0,-1),a=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(a.get(u)||a.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),s=d(n(43)),a=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e,u):t.delete(e),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(s.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let r=Math.floor(n.length/e.page_size);e.current_page>=r||(e.current_page++,t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n,r);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=a(i),s=a(n(17));function a(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,a=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new s.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,a,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])}]); \ No newline at end of file +var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=a.a.oneOfType([a.a.string,a.a.node]),R=a.a.oneOfType([a.a.string,a.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=a.offsetTop+a.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),s=this.state.isOpen,a=u()((O(n={},this._instancePrefix+"-list",s),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=_({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":a,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(O({},this._instancePrefix+"-list",s));return c.a.createElement("div",_({},d,{"aria-expanded":s,"aria-owns":f,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,_({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",_({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],s=n.slice(0,-1),a=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(a.get(u)||a.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),s=d(n(43)),a=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(s.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=a(i),s=a(n(17));function a(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,a=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new s.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,a,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])}]); \ No newline at end of file diff --git a/dash_table/demo.js b/dash_table/demo.js index 2ec15c19d..98be0b8ce 100644 --- a/dash_table/demo.js +++ b/dash_table/demo.js @@ -1,4 +1,4 @@ -window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=58)}([function(e,t,n){e.exports=n(26)()},function(e,t){e.exports=window.React},function(e,t,n){"use strict";function r(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function o(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}n.r(t);var i=o(function(e){return function(){return e}}),u=i(!1),a=i(!0),s={"@@functional/placeholder":!0};function l(e){return function t(n,i){switch(arguments.length){case 0:return t;case 1:return r(n)?t:o(function(t){return e(n,t)});default:return r(n)&&r(i)?t:r(n)?o(function(t){return e(t,i)}):r(i)?o(function(t){return e(n,t)}):e(n,i)}}}var c=l(function(e,t){return Number(e)+Number(t)});function p(e,t){var n;e=e||[],t=t||[];var r=e.length,o=t.length,i=[];for(n=0;n=arguments.length)?s=t[a]:(s=arguments[i],i+=1),o[a]=s,r(s)||(u-=1),a+=1}return u<=0?n.apply(this,o):d(u,f(e,o,n))}}var h=l(function(e,t){return 1===e?o(t):d(e,f(e,[],t))}),v=o(function(e){return h(e.length,function(){var t=0,n=arguments[0],r=arguments[arguments.length-1],o=Array.prototype.slice.call(arguments,0);return o[0]=function(){var e=n.apply(this,p(arguments,[t,r]));return t+=1,e},e.apply(this,o)})});function g(e){return function t(n,i,u){switch(arguments.length){case 0:return t;case 1:return r(n)?t:l(function(t,r){return e(n,t,r)});case 2:return r(n)&&r(i)?t:r(n)?l(function(t,n){return e(t,i,n)}):r(i)?l(function(t,r){return e(n,t,r)}):o(function(t){return e(n,i,t)});default:return r(n)&&r(i)&&r(u)?t:r(n)&&r(i)?l(function(t,n){return e(t,n,u)}):r(n)&&r(u)?l(function(t,n){return e(t,i,n)}):r(i)&&r(u)?l(function(t,r){return e(n,t,r)}):r(n)?o(function(t){return e(t,i,u)}):r(i)?o(function(t){return e(n,t,u)}):r(u)?o(function(t){return e(n,i,t)}):e(n,i,u)}}}var y=g(function(e,t,n){if(t>=n.length||t<-n.length)return n;var r=(t<0?n.length:0)+t,o=p(n);return o[r]=e(n[r]),o}),m=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function b(e){return"function"==typeof e["@@transducer/step"]}function x(e,t,n){return function(){if(0===arguments.length)return n();var r=Array.prototype.slice.call(arguments,0),o=r.pop();if(!m(o)){for(var i=0;ie?t:e});function C(e,t){for(var n=0,r=t.length,o=Array(r);n0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))}),F=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function D(e){return new F(e)}var P=l(function(e,t){return d(e.length,function(){return e.apply(t,arguments)})});function R(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function T(e,t,n,r){return e["@@transducer/result"](n[r](P(e["@@transducer/step"],e),t))}var j="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function M(e,t,n){if("function"==typeof e&&(e=D(e)),k(n))return function(e,t,n){for(var r=0,o=n.length;r=0;)z(t=W[n],e)&&!U(r,t)&&(r[r.length]=t),n-=1;return r}:function(e){return Object(e)!==e?[]:Object.keys(e)}),$=l(x(["fantasy-land/map","map"],N,function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return h(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return M(function(n,r){return n[r]=e(t[r]),n},{},q(t));default:return C(e,t)}})),H=l(function(e,t){for(var n=t,r=0;r=0?r:0);no?1:0}),de=g(function(e,t,n){var r={};for(var o in n)r[o]=n[o];return r[e]=t,r}),fe=Number.isInteger||function(e){return e<<0===e},he=o(function(e){return null==e}),ve=g(function e(t,n,r){if(0===t.length)return n;var o=t[0];if(t.length>1){var i=!he(r)&&z(o,r)?r[o]:fe(t[1])?[]:{};n=e(Array.prototype.slice.call(t,1),n,i)}if(fe(o)&&m(r)){var u=[].concat(r);return u[o]=n,u}return de(o,n,r)}),ge=l(function(e,t){switch(e){case 0:return function(){return t.call(this)};case 1:return function(e){return t.call(this,e)};case 2:return function(e,n){return t.call(this,e,n)};case 3:return function(e,n,r){return t.call(this,e,n,r)};case 4:return function(e,n,r,o){return t.call(this,e,n,r,o)};case 5:return function(e,n,r,o,i){return t.call(this,e,n,r,o,i)};case 6:return function(e,n,r,o,i,u){return t.call(this,e,n,r,o,i,u)};case 7:return function(e,n,r,o,i,u,a){return t.call(this,e,n,r,o,i,u,a)};case 8:return function(e,n,r,o,i,u,a,s){return t.call(this,e,n,r,o,i,u,a,s)};case 9:return function(e,n,r,o,i,u,a,s,l){return t.call(this,e,n,r,o,i,u,a,s,l)};case 10:return function(e,n,r,o,i,u,a,s,l,c){return t.call(this,e,n,r,o,i,u,a,s,l,c)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}}),ye=o(function(e){return ge(2,e)});function me(e){return"[object Function]"===Object.prototype.toString.call(e)}var be=l(function(e,t){var n=h(e,t);return h(e,function(){return M(re,$(n,arguments[0]),Array.prototype.slice.call(arguments,1))})}),xe=o(function(e){return be(e.length,e)}),we=l(function(e,t){return me(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:xe(Z)(e,t)}),Ee=o(function(e){return h(e.length,e)}),Oe=Ee(function(e){return e.apply(this,Array.prototype.slice.call(arguments,1))});function _e(e){return function t(n){for(var r,o,i,u=[],a=0,s=n.length;at)throw new Error("min must not be greater than max in clamp(min, max, value)");return nt?t:n});function ke(e){return new RegExp(e.source,(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":""))}var Fe=o(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function De(e,t,n,r){var o=function(o){for(var i=t.length,u=0;u=0;){if(n[i]===e)return r[i]===t;i-=1}switch(o){case"Map":return e.size===t.size&&Ge(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&Ge(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var u=q(e);if(u.length!==q(t).length)return!1;var a=n.concat([e]),s=r.concat([t]);for(i=u.length-1;i>=0;){var l=u[i];if(!z(l,t)||!Je(t[l],e[l],a,s))return!1;i-=1}return!0}var Xe=l(function(e,t){return Je(e,t,[],[])});function Ze(e,t,n){var r,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;n=0}function et(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var tt=function(e){return(e<10?"0":"")+e},nt="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+tt(e.getUTCMonth()+1)+"-"+tt(e.getUTCDate())+"T"+tt(e.getUTCHours())+":"+tt(e.getUTCMinutes())+":"+tt(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};function rt(e){return function(){return!e.apply(this,arguments)}}function ot(e,t){for(var n=0,r=t.length,o=[];n":e(r,o)},o=function(e,t){return C(function(t){return et(t)+": "+r(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+C(r,t).join(", ")+"))";case"[object Array]":return"["+C(r,t).concat(o(t,st(function(e){return/^\d+$/.test(e)},q(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):et(nt(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+r(t.valueOf())+")":et(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var i=t.toString();if("[object Object]"!==i)return i}return"{"+o(t,q(t)).join(", ")+"}"}}(e,[])}),ct=l(function(e,t){if(m(e)){if(m(t))return e.concat(t);throw new TypeError(lt(t)+" is not an array")}if(A(e)){if(A(t))return e+t;throw new TypeError(lt(t)+" is not a string")}if(null!=e&&me(e["fantasy-land/concat"]))return e["fantasy-land/concat"](t);if(null!=e&&me(e.concat))return e.concat(t);throw new TypeError(lt(e)+' does not have a method named "concat" or "fantasy-land/concat"')}),pt=o(function(e){return d(J(S,0,$(function(e){return e[0].length},e)),function(){for(var t=0;t10)throw new Error("Constructor with greater than ten arguments");return 0===e?function(){return new t}:Ee(ge(e,function(e,n,r,o,i,u,a,s,l,c){switch(arguments.length){case 1:return new t(e);case 2:return new t(e,n);case 3:return new t(e,n,r);case 4:return new t(e,n,r,o);case 5:return new t(e,n,r,o,i);case 6:return new t(e,n,r,o,i,u);case 7:return new t(e,n,r,o,i,u,a);case 8:return new t(e,n,r,o,i,u,a,s);case 9:return new t(e,n,r,o,i,u,a,s,l);case 10:return new t(e,n,r,o,i,u,a,s,l,c)}}))}),ft=o(function(e){return dt(e.length,e)}),ht=l(Qe),vt=l(function(e,t){return h(J(S,0,G("length",t)),function(){var n=arguments,r=this;return e.apply(r,C(function(e){return e.apply(r,n)},t))})}),gt=function(){function e(e,t,n,r){this.valueFn=e,this.valueAcc=t,this.keyFn=n,this.xf=r,this.inputs={}}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){var t;for(t in this.inputs)if(z(t,this.inputs)&&(e=this.xf["@@transducer/step"](e,this.inputs[t]))["@@transducer/reduced"]){e=e["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){var n=this.keyFn(t);return this.inputs[n]=this.inputs[n]||[n,this.valueAcc],this.inputs[n][1]=this.valueFn(this.inputs[n][1],t),e},e}(),yt=f(4,[],x([],f(4,[],function(e,t,n,r){return new gt(e,t,n,r)}),function(e,t,n,r){return M(function(r,o){var i=n(o);return r[i]=e(z(i,r)?r[i]:t,o),r},{},r)})),mt=yt(function(e,t){return e+1},0),bt=c(-1),xt=l(function(e,t){return null==t||t!=t?e:t}),wt=g(function(e,t,n){var r=e(t),o=e(n);return r>o?-1:r0?(this.n-=1,e):this.xf["@@transducer/step"](e,t)},e}(),Dt=l(x(["drop"],l(function(e,t){return new Ft(e,t)}),function(e,t){return Ne(Math.max(0,e),1/0,t)})),Pt=function(){function e(e,t){this.xf=t,this.n=e,this.i=0}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){this.i+=1;var n=0===this.n?e:this.xf["@@transducer/step"](e,t);return this.n>=0&&this.i>=this.n?w(n):n},e}(),Rt=l(x(["take"],l(function(e,t){return new Pt(e,t)}),function(e,t){return Ne(0,e<0?1/0:e,t)}));var Tt=function(){function e(e,t){this.xf=t,this.pos=0,this.full=!1,this.acc=new Array(e)}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.acc=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.full&&(e=this.xf["@@transducer/step"](e,this.acc[this.pos])),this.store(t),e},e.prototype.store=function(e){this.acc[this.pos]=e,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},e}(),jt=l(x([],l(function(e,t){return new Tt(e,t)}),function(e,t){return Rt(e=0&&e(t[n]);)n-=1;return Ne(0,n+1,t)})),Nt=function(){function e(e,t){this.xf=t,this.pred=e,this.lastValue=void 0,this.seenFirstValue=!1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){var n=!1;return this.seenFirstValue?this.pred(this.lastValue,t)&&(n=!0):this.seenFirstValue=!0,this.lastValue=t,n?e:this.xf["@@transducer/step"](e,t)},e}(),zt=l(function(e,t){return new Nt(e,t)}),Bt=l(function(e,t){var n=e<0?t.length+e:e;return A(t)?t.charAt(n):t[n]}),Vt=Bt(-1),Lt=l(x([],zt,function(e,t){var n=[],r=1,o=t.length;if(0!==o)for(n[0]=t[0];r=0?t.length-e:0,t)}),Gt=l(function(e,t){return Xe(Yt(e.length,t),e)}),Jt=g(function(e,t,n){return Xe(e(t),e(n))}),Xt=g(function(e,t,n){return Xe(t[e],n[e])}),Zt=l(function e(t,n){var r,o,i,u={};for(o in n)i=typeof(r=t[o]),u[o]="function"===i?r(n[o]):r&&"object"===i?e(r,n[o]):n[o];return u}),Qt=function(){function e(e,t){this.xf=t,this.f=e,this.found=!1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,void 0)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.found=!0,e=w(this.xf["@@transducer/step"](e,t))),e},e}(),en=l(x(["find"],l(function(e,t){return new Qt(e,t)}),function(e,t){for(var n=0,r=t.length;n=0;){if(e(t[n]))return t[n];n-=1}})),un=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),e},e}(),an=l(x([],l(function(e,t){return new un(e,t)}),function(e,t){for(var n=t.length-1;n>=0;){if(e(t[n]))return n;n-=1}return-1})),sn=o(_e(!0)),ln=o(function(e){return h(e.length,function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)})}),cn=l(Ie("forEach",function(e,t){for(var n=t.length,r=0;rt}),gn=l(function(e,t){return e>=t}),yn=l(z),mn=l(function(e,t){return e in t}),bn=Bt(0);function xn(e){return e}var wn=o(xn),En=g(function(e,t,n){return h(Math.max(e.length,t.length,n.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):n.apply(this,arguments)})}),On=c(1),_n=yt(function(e,t){return t},null),Sn=l(function(e,t){return"function"!=typeof t.indexOf||m(t)?Ze(t,e,0):t.indexOf(e)}),Cn=Ne(0,-1),An=g(function(e,t,n){return ot(function(t){return He(e,t,n)},t)}),kn=g(function(e,t,n){e=e=0?e:n.length;var r=Array.prototype.slice.call(n,0);return r.splice(e,0,t),r}),Fn=g(function(e,t,n){return e=e=0?e:n.length,[].concat(Array.prototype.slice.call(n,0,e),t,Array.prototype.slice.call(n,e))});function Dn(e,t,n){var r,o=typeof e;switch(o){case"string":case"number":return 0===e&&1/e==-1/0?!!n._items["-0"]||(t&&(n._items["-0"]=!0),!1):null!==n._nativeSet?t?(r=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===r):n._nativeSet.has(e):o in n._items?e in n._items[o]||(t&&(n._items[o][e]=!0),!1):(t&&(n._items[o]={},n._items[o][e]=!0),!1);case"boolean":if(o in n._items){var i=e?1:0;return!!n._items[o][i]||(t&&(n._items[o][i]=!0),!1)}return t&&(n._items[o]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==n._nativeSet?t?(r=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===r):n._nativeSet.has(e):o in n._items?!!Qe(e,n._items[o])||(t&&n._items[o].push(e),!1):(t&&(n._items[o]=[e]),!1);case"undefined":return!!n._items[o]||(t&&(n._items[o]=!0),!1);case"object":if(null===e)return!!n._items.null||(t&&(n._items.null=!0),!1);default:return(o=Object.prototype.toString.call(e))in n._items?!!Qe(e,n._items[o])||(t&&n._items[o].push(e),!1):(t&&(n._items[o]=[e]),!1)}}var Pn=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!Dn(e,!0,this)},e.prototype.has=function(e){return Dn(e,!1,this)},e}(),Rn=l(function(e,t){for(var n,r,o=new Pn,i=[],u=0;ut.length?(n=e,r=t):(n=t,r=e),Tn(ot(ln(Qe)(n),r))}),Mn=l(Ie("intersperse",function(e,t){for(var n=[],r=0,o=t.length;r=0;){if(Xe(t[n],e))return n;n-=1}return-1}return t.lastIndexOf(e)});function Xn(e){return"[object Number]"===Object.prototype.toString.call(e)}var Zn=o(function(e){return null!=e&&Xn(e.length)?e.length:NaN}),Qn=l(function(e,t){return function(n){return function(r){return $(function(e){return t(e,r)},n(e(r)))}}}),er=o(function(e){return Qn(Bt(e),Ct(e))}),tr=o(function(e){return Qn(H(e),ve(e))}),nr=o(function(e){return Qn(Y(e),de(e))}),rr=l(function(e,t){return e=0;)i=e(n[r],i[0]),o[r]=i[1],r-=1;return[o,i[0]]}),ar=l(function(e,t){return M(function(n,r){return n[r]=e(t[r],r,t),n},{},q(t))}),sr=l(function(e,t){return t.match(e)||[]}),lr=l(function(e,t){return fe(e)?!fe(t)||t<1?NaN:(e%t+t)%t:NaN}),cr=g(function(e,t,n){return e(n)>e(t)?n:t}),pr=J(c,0),dr=o(function(e){return pr(e)/e.length}),fr=o(function(e){var t=e.length;if(0===t)return NaN;var n=2-t%2,r=(t-n)/2;return dr(Array.prototype.slice.call(e,0).sort(function(e,t){return et?1:0}).slice(r,r+n))}),hr=l(function(e,t){var n={};return d(t.length,function(){var r=e.apply(this,arguments);return z(r,n)||(n[r]=t.apply(this,arguments)),n[r]})}),vr=hr(function(){return lt(arguments)}),gr=l(function(e,t){return In({},e,t)}),yr=o(function(e){return In.apply(null,[{}].concat(e))}),mr=g(function(e,t,n){var r,o={};for(r in t)z(r,t)&&(o[r]=z(r,n)?e(r,t[r],n[r]):t[r]);for(r in n)z(r,n)&&!z(r,o)&&(o[r]=n[r]);return o}),br=g(function e(t,n,r){return mr(function(n,r,o){return it(r)&&it(o)?e(t,r,o):t(n,r,o)},n,r)}),xr=l(function(e,t){return br(function(e,t,n){return t},e,t)}),wr=l(function(e,t){return br(function(e,t,n){return n},e,t)}),Er=g(function(e,t,n){return br(function(t,n,r){return e(n,r)},t,n)}),Or=g(function(e,t,n){return mr(function(t,n,r){return e(n,r)},t,n)}),_r=l(function(e,t){return t0&&e(H(t,n))}),qr=l(function(e,t){for(var n={},r=0;r=0;)t=e(n[r],t),r-=1;return t}),uo=f(4,[],function(e,t,n,r){return M(function(n,r){return e(n,r)?t(n,r):w(n)},n,r)}),ao=o(w),so=l(function(e,t){var n,r=Number(t),o=0;if(r<0||isNaN(r))throw new RangeError("n must be a non-negative number");for(n=new Array(r);oo?1:0})}),yo=l(function(e,t){return Array.prototype.slice.call(t,0).sort(function(t,n){for(var r=0,o=0;0===r&&o=0&&e(t[n]);)n-=1;return Ne(n+1,1/0,t)}),Ao=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):w(e)},e}(),ko=l(x(["takeWhile"],l(function(e,t){return new Ao(e,t)}),function(e,t){for(var n=0,r=t.length;n{};let n,a="";switch(e){case o.TRACE:case o.INFO:n=window.console.log,a="color: white; background-color: #3166A2;";break;case r.DEBUG:case o.WARNING:n=window.console.warn,a="color: white; background-color: #E9B606;";break;case o.ERROR:case o.FATAL:n=window.console.error,a="color: white; background-color: #FF0000;"}let s=`${a&&u?"%c":""}[${i[e].toUpperCase()}]`;return a&&u?n.bind(window.console,s,a):n.bind(window.console,s)}u=!1;let c={setDebugLevel(e){s=e},setLogLevel(e){a=e}};Object.defineProperties(c,{trace:{get:()=>l(o.TRACE,a),configurable:!1,enumerable:!1},info:{get:()=>l(o.INFO,a),configurable:!1,enumerable:!1},warning:{get:()=>l(o.WARNING,a),configurable:!1,enumerable:!1},error:{get:()=>l(o.ERROR,a),configurable:!1,enumerable:!1},fatal:{get:()=>l(o.FATAL,a),configurable:!1,enumerable:!1},debug:{get:()=>l(r.DEBUG,s),configurable:!1,enumerable:!1}}),Object.freeze(c),t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.memoizeOne=o,t.memoizeOneFactory=function(e){return()=>o(e)},t.memoizeOneWithFlag=function(e){let t,n=null,o=!0;return(...i)=>{let u=(0,r.isEqualArgs)(n,i)?{cached:!0,first:o,result:t}:{cached:!1,first:o,result:(n=i)&&(t=e(...i))};return o=!1,u}},t.memoizeAll=function(e){const t=[];return(...n)=>{let o=t.find(e=>(0,r.isEqualArgs)(e.args,n));return(o||t[t.push({args:n,result:e(...n)})-1]).result}};var r=n(11);function o(e){let t,n=null;return(...o)=>(0,r.isEqualArgs)(n,o)?t:(n=o)&&(t=e(...o))}},function(e,t,n){var r; +window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=58)}([function(e,t,n){e.exports=n(26)()},function(e,t){e.exports=window.React},function(e,t,n){"use strict";function r(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function o(e){return function t(n){return 0===arguments.length||r(n)?t:e.apply(this,arguments)}}n.r(t);var i=o(function(e){return function(){return e}}),u=i(!1),a=i(!0),s={"@@functional/placeholder":!0};function l(e){return function t(n,i){switch(arguments.length){case 0:return t;case 1:return r(n)?t:o(function(t){return e(n,t)});default:return r(n)&&r(i)?t:r(n)?o(function(t){return e(t,i)}):r(i)?o(function(t){return e(n,t)}):e(n,i)}}}var c=l(function(e,t){return Number(e)+Number(t)});function p(e,t){var n;e=e||[],t=t||[];var r=e.length,o=t.length,i=[];for(n=0;n=arguments.length)?s=t[a]:(s=arguments[i],i+=1),o[a]=s,r(s)||(u-=1),a+=1}return u<=0?n.apply(this,o):d(u,f(e,o,n))}}var h=l(function(e,t){return 1===e?o(t):d(e,f(e,[],t))}),v=o(function(e){return h(e.length,function(){var t=0,n=arguments[0],r=arguments[arguments.length-1],o=Array.prototype.slice.call(arguments,0);return o[0]=function(){var e=n.apply(this,p(arguments,[t,r]));return t+=1,e},e.apply(this,o)})});function g(e){return function t(n,i,u){switch(arguments.length){case 0:return t;case 1:return r(n)?t:l(function(t,r){return e(n,t,r)});case 2:return r(n)&&r(i)?t:r(n)?l(function(t,n){return e(t,i,n)}):r(i)?l(function(t,r){return e(n,t,r)}):o(function(t){return e(n,i,t)});default:return r(n)&&r(i)&&r(u)?t:r(n)&&r(i)?l(function(t,n){return e(t,n,u)}):r(n)&&r(u)?l(function(t,n){return e(t,i,n)}):r(i)&&r(u)?l(function(t,r){return e(n,t,r)}):r(n)?o(function(t){return e(t,i,u)}):r(i)?o(function(t){return e(n,t,u)}):r(u)?o(function(t){return e(n,i,t)}):e(n,i,u)}}}var y=g(function(e,t,n){if(t>=n.length||t<-n.length)return n;var r=(t<0?n.length:0)+t,o=p(n);return o[r]=e(n[r]),o}),m=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function b(e){return"function"==typeof e["@@transducer/step"]}function x(e,t,n){return function(){if(0===arguments.length)return n();var r=Array.prototype.slice.call(arguments,0),o=r.pop();if(!m(o)){for(var i=0;ie?t:e});function C(e,t){for(var n=0,r=t.length,o=Array(r);n0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))}),F=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function D(e){return new F(e)}var P=l(function(e,t){return d(e.length,function(){return e.apply(t,arguments)})});function R(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function T(e,t,n,r){return e["@@transducer/result"](n[r](P(e["@@transducer/step"],e),t))}var j="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function M(e,t,n){if("function"==typeof e&&(e=D(e)),k(n))return function(e,t,n){for(var r=0,o=n.length;r=0;)z(t=W[n],e)&&!U(r,t)&&(r[r.length]=t),n-=1;return r}:function(e){return Object(e)!==e?[]:Object.keys(e)}),$=l(x(["fantasy-land/map","map"],N,function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return h(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return M(function(n,r){return n[r]=e(t[r]),n},{},q(t));default:return C(e,t)}})),H=l(function(e,t){for(var n=t,r=0;r=0?r:0);no?1:0}),de=g(function(e,t,n){var r={};for(var o in n)r[o]=n[o];return r[e]=t,r}),fe=Number.isInteger||function(e){return e<<0===e},he=o(function(e){return null==e}),ve=g(function e(t,n,r){if(0===t.length)return n;var o=t[0];if(t.length>1){var i=!he(r)&&z(o,r)?r[o]:fe(t[1])?[]:{};n=e(Array.prototype.slice.call(t,1),n,i)}if(fe(o)&&m(r)){var u=[].concat(r);return u[o]=n,u}return de(o,n,r)}),ge=l(function(e,t){switch(e){case 0:return function(){return t.call(this)};case 1:return function(e){return t.call(this,e)};case 2:return function(e,n){return t.call(this,e,n)};case 3:return function(e,n,r){return t.call(this,e,n,r)};case 4:return function(e,n,r,o){return t.call(this,e,n,r,o)};case 5:return function(e,n,r,o,i){return t.call(this,e,n,r,o,i)};case 6:return function(e,n,r,o,i,u){return t.call(this,e,n,r,o,i,u)};case 7:return function(e,n,r,o,i,u,a){return t.call(this,e,n,r,o,i,u,a)};case 8:return function(e,n,r,o,i,u,a,s){return t.call(this,e,n,r,o,i,u,a,s)};case 9:return function(e,n,r,o,i,u,a,s,l){return t.call(this,e,n,r,o,i,u,a,s,l)};case 10:return function(e,n,r,o,i,u,a,s,l,c){return t.call(this,e,n,r,o,i,u,a,s,l,c)};default:throw new Error("First argument to nAry must be a non-negative integer no greater than ten")}}),ye=o(function(e){return ge(2,e)});function me(e){return"[object Function]"===Object.prototype.toString.call(e)}var be=l(function(e,t){var n=h(e,t);return h(e,function(){return M(re,$(n,arguments[0]),Array.prototype.slice.call(arguments,1))})}),xe=o(function(e){return be(e.length,e)}),we=l(function(e,t){return me(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:xe(Z)(e,t)}),Ee=o(function(e){return h(e.length,e)}),_e=Ee(function(e){return e.apply(this,Array.prototype.slice.call(arguments,1))});function Oe(e){return function t(n){for(var r,o,i,u=[],a=0,s=n.length;at)throw new Error("min must not be greater than max in clamp(min, max, value)");return nt?t:n});function ke(e){return new RegExp(e.source,(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":""))}var Fe=o(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function De(e,t,n,r){var o=function(o){for(var i=t.length,u=0;u=0;){if(n[i]===e)return r[i]===t;i-=1}switch(o){case"Map":return e.size===t.size&&Ge(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&Ge(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var u=q(e);if(u.length!==q(t).length)return!1;var a=n.concat([e]),s=r.concat([t]);for(i=u.length-1;i>=0;){var l=u[i];if(!z(l,t)||!Je(t[l],e[l],a,s))return!1;i-=1}return!0}var Xe=l(function(e,t){return Je(e,t,[],[])});function Ze(e,t,n){var r,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;n=0}function et(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var tt=function(e){return(e<10?"0":"")+e},nt="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+tt(e.getUTCMonth()+1)+"-"+tt(e.getUTCDate())+"T"+tt(e.getUTCHours())+":"+tt(e.getUTCMinutes())+":"+tt(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};function rt(e){return function(){return!e.apply(this,arguments)}}function ot(e,t){for(var n=0,r=t.length,o=[];n":e(r,o)},o=function(e,t){return C(function(t){return et(t)+": "+r(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+C(r,t).join(", ")+"))";case"[object Array]":return"["+C(r,t).concat(o(t,st(function(e){return/^\d+$/.test(e)},q(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):et(nt(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+r(t.valueOf())+")":et(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var i=t.toString();if("[object Object]"!==i)return i}return"{"+o(t,q(t)).join(", ")+"}"}}(e,[])}),ct=l(function(e,t){if(m(e)){if(m(t))return e.concat(t);throw new TypeError(lt(t)+" is not an array")}if(A(e)){if(A(t))return e+t;throw new TypeError(lt(t)+" is not a string")}if(null!=e&&me(e["fantasy-land/concat"]))return e["fantasy-land/concat"](t);if(null!=e&&me(e.concat))return e.concat(t);throw new TypeError(lt(e)+' does not have a method named "concat" or "fantasy-land/concat"')}),pt=o(function(e){return d(J(S,0,$(function(e){return e[0].length},e)),function(){for(var t=0;t10)throw new Error("Constructor with greater than ten arguments");return 0===e?function(){return new t}:Ee(ge(e,function(e,n,r,o,i,u,a,s,l,c){switch(arguments.length){case 1:return new t(e);case 2:return new t(e,n);case 3:return new t(e,n,r);case 4:return new t(e,n,r,o);case 5:return new t(e,n,r,o,i);case 6:return new t(e,n,r,o,i,u);case 7:return new t(e,n,r,o,i,u,a);case 8:return new t(e,n,r,o,i,u,a,s);case 9:return new t(e,n,r,o,i,u,a,s,l);case 10:return new t(e,n,r,o,i,u,a,s,l,c)}}))}),ft=o(function(e){return dt(e.length,e)}),ht=l(Qe),vt=l(function(e,t){return h(J(S,0,G("length",t)),function(){var n=arguments,r=this;return e.apply(r,C(function(e){return e.apply(r,n)},t))})}),gt=function(){function e(e,t,n,r){this.valueFn=e,this.valueAcc=t,this.keyFn=n,this.xf=r,this.inputs={}}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){var t;for(t in this.inputs)if(z(t,this.inputs)&&(e=this.xf["@@transducer/step"](e,this.inputs[t]))["@@transducer/reduced"]){e=e["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){var n=this.keyFn(t);return this.inputs[n]=this.inputs[n]||[n,this.valueAcc],this.inputs[n][1]=this.valueFn(this.inputs[n][1],t),e},e}(),yt=f(4,[],x([],f(4,[],function(e,t,n,r){return new gt(e,t,n,r)}),function(e,t,n,r){return M(function(r,o){var i=n(o);return r[i]=e(z(i,r)?r[i]:t,o),r},{},r)})),mt=yt(function(e,t){return e+1},0),bt=c(-1),xt=l(function(e,t){return null==t||t!=t?e:t}),wt=g(function(e,t,n){var r=e(t),o=e(n);return r>o?-1:r0?(this.n-=1,e):this.xf["@@transducer/step"](e,t)},e}(),Dt=l(x(["drop"],l(function(e,t){return new Ft(e,t)}),function(e,t){return Ne(Math.max(0,e),1/0,t)})),Pt=function(){function e(e,t){this.xf=t,this.n=e,this.i=0}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){this.i+=1;var n=0===this.n?e:this.xf["@@transducer/step"](e,t);return this.n>=0&&this.i>=this.n?w(n):n},e}(),Rt=l(x(["take"],l(function(e,t){return new Pt(e,t)}),function(e,t){return Ne(0,e<0?1/0:e,t)}));var Tt=function(){function e(e,t){this.xf=t,this.pos=0,this.full=!1,this.acc=new Array(e)}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.acc=null,this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.full&&(e=this.xf["@@transducer/step"](e,this.acc[this.pos])),this.store(t),e},e.prototype.store=function(e){this.acc[this.pos]=e,this.pos+=1,this.pos===this.acc.length&&(this.pos=0,this.full=!0)},e}(),jt=l(x([],l(function(e,t){return new Tt(e,t)}),function(e,t){return Rt(e=0&&e(t[n]);)n-=1;return Ne(0,n+1,t)})),Nt=function(){function e(e,t){this.xf=t,this.pred=e,this.lastValue=void 0,this.seenFirstValue=!1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){var n=!1;return this.seenFirstValue?this.pred(this.lastValue,t)&&(n=!0):this.seenFirstValue=!0,this.lastValue=t,n?e:this.xf["@@transducer/step"](e,t)},e}(),zt=l(function(e,t){return new Nt(e,t)}),Bt=l(function(e,t){var n=e<0?t.length+e:e;return A(t)?t.charAt(n):t[n]}),Vt=Bt(-1),Lt=l(x([],zt,function(e,t){var n=[],r=1,o=t.length;if(0!==o)for(n[0]=t[0];r=0?t.length-e:0,t)}),Gt=l(function(e,t){return Xe(Yt(e.length,t),e)}),Jt=g(function(e,t,n){return Xe(e(t),e(n))}),Xt=g(function(e,t,n){return Xe(t[e],n[e])}),Zt=l(function e(t,n){var r,o,i,u={};for(o in n)i=typeof(r=t[o]),u[o]="function"===i?r(n[o]):r&&"object"===i?e(r,n[o]):n[o];return u}),Qt=function(){function e(e,t){this.xf=t,this.f=e,this.found=!1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,void 0)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.found=!0,e=w(this.xf["@@transducer/step"](e,t))),e},e}(),en=l(x(["find"],l(function(e,t){return new Qt(e,t)}),function(e,t){for(var n=0,r=t.length;n=0;){if(e(t[n]))return t[n];n-=1}})),un=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),e},e}(),an=l(x([],l(function(e,t){return new un(e,t)}),function(e,t){for(var n=t.length-1;n>=0;){if(e(t[n]))return n;n-=1}return-1})),sn=o(Oe(!0)),ln=o(function(e){return h(e.length,function(t,n){var r=Array.prototype.slice.call(arguments,0);return r[0]=n,r[1]=t,e.apply(this,r)})}),cn=l(Ie("forEach",function(e,t){for(var n=t.length,r=0;rt}),gn=l(function(e,t){return e>=t}),yn=l(z),mn=l(function(e,t){return e in t}),bn=Bt(0);function xn(e){return e}var wn=o(xn),En=g(function(e,t,n){return h(Math.max(e.length,t.length,n.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):n.apply(this,arguments)})}),_n=c(1),On=yt(function(e,t){return t},null),Sn=l(function(e,t){return"function"!=typeof t.indexOf||m(t)?Ze(t,e,0):t.indexOf(e)}),Cn=Ne(0,-1),An=g(function(e,t,n){return ot(function(t){return He(e,t,n)},t)}),kn=g(function(e,t,n){e=e=0?e:n.length;var r=Array.prototype.slice.call(n,0);return r.splice(e,0,t),r}),Fn=g(function(e,t,n){return e=e=0?e:n.length,[].concat(Array.prototype.slice.call(n,0,e),t,Array.prototype.slice.call(n,e))});function Dn(e,t,n){var r,o=typeof e;switch(o){case"string":case"number":return 0===e&&1/e==-1/0?!!n._items["-0"]||(t&&(n._items["-0"]=!0),!1):null!==n._nativeSet?t?(r=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===r):n._nativeSet.has(e):o in n._items?e in n._items[o]||(t&&(n._items[o][e]=!0),!1):(t&&(n._items[o]={},n._items[o][e]=!0),!1);case"boolean":if(o in n._items){var i=e?1:0;return!!n._items[o][i]||(t&&(n._items[o][i]=!0),!1)}return t&&(n._items[o]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==n._nativeSet?t?(r=n._nativeSet.size,n._nativeSet.add(e),n._nativeSet.size===r):n._nativeSet.has(e):o in n._items?!!Qe(e,n._items[o])||(t&&n._items[o].push(e),!1):(t&&(n._items[o]=[e]),!1);case"undefined":return!!n._items[o]||(t&&(n._items[o]=!0),!1);case"object":if(null===e)return!!n._items.null||(t&&(n._items.null=!0),!1);default:return(o=Object.prototype.toString.call(e))in n._items?!!Qe(e,n._items[o])||(t&&n._items[o].push(e),!1):(t&&(n._items[o]=[e]),!1)}}var Pn=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!Dn(e,!0,this)},e.prototype.has=function(e){return Dn(e,!1,this)},e}(),Rn=l(function(e,t){for(var n,r,o=new Pn,i=[],u=0;ut.length?(n=e,r=t):(n=t,r=e),Tn(ot(ln(Qe)(n),r))}),Mn=l(Ie("intersperse",function(e,t){for(var n=[],r=0,o=t.length;r=0;){if(Xe(t[n],e))return n;n-=1}return-1}return t.lastIndexOf(e)});function Xn(e){return"[object Number]"===Object.prototype.toString.call(e)}var Zn=o(function(e){return null!=e&&Xn(e.length)?e.length:NaN}),Qn=l(function(e,t){return function(n){return function(r){return $(function(e){return t(e,r)},n(e(r)))}}}),er=o(function(e){return Qn(Bt(e),Ct(e))}),tr=o(function(e){return Qn(H(e),ve(e))}),nr=o(function(e){return Qn(Y(e),de(e))}),rr=l(function(e,t){return e=0;)i=e(n[r],i[0]),o[r]=i[1],r-=1;return[o,i[0]]}),ar=l(function(e,t){return M(function(n,r){return n[r]=e(t[r],r,t),n},{},q(t))}),sr=l(function(e,t){return t.match(e)||[]}),lr=l(function(e,t){return fe(e)?!fe(t)||t<1?NaN:(e%t+t)%t:NaN}),cr=g(function(e,t,n){return e(n)>e(t)?n:t}),pr=J(c,0),dr=o(function(e){return pr(e)/e.length}),fr=o(function(e){var t=e.length;if(0===t)return NaN;var n=2-t%2,r=(t-n)/2;return dr(Array.prototype.slice.call(e,0).sort(function(e,t){return et?1:0}).slice(r,r+n))}),hr=l(function(e,t){var n={};return d(t.length,function(){var r=e.apply(this,arguments);return z(r,n)||(n[r]=t.apply(this,arguments)),n[r]})}),vr=hr(function(){return lt(arguments)}),gr=l(function(e,t){return In({},e,t)}),yr=o(function(e){return In.apply(null,[{}].concat(e))}),mr=g(function(e,t,n){var r,o={};for(r in t)z(r,t)&&(o[r]=z(r,n)?e(r,t[r],n[r]):t[r]);for(r in n)z(r,n)&&!z(r,o)&&(o[r]=n[r]);return o}),br=g(function e(t,n,r){return mr(function(n,r,o){return it(r)&&it(o)?e(t,r,o):t(n,r,o)},n,r)}),xr=l(function(e,t){return br(function(e,t,n){return t},e,t)}),wr=l(function(e,t){return br(function(e,t,n){return n},e,t)}),Er=g(function(e,t,n){return br(function(t,n,r){return e(n,r)},t,n)}),_r=g(function(e,t,n){return mr(function(t,n,r){return e(n,r)},t,n)}),Or=l(function(e,t){return t0&&e(H(t,n))}),qr=l(function(e,t){for(var n={},r=0;r=0;)t=e(n[r],t),r-=1;return t}),uo=f(4,[],function(e,t,n,r){return M(function(n,r){return e(n,r)?t(n,r):w(n)},n,r)}),ao=o(w),so=l(function(e,t){var n,r=Number(t),o=0;if(r<0||isNaN(r))throw new RangeError("n must be a non-negative number");for(n=new Array(r);oo?1:0})}),yo=l(function(e,t){return Array.prototype.slice.call(t,0).sort(function(t,n){for(var r=0,o=0;0===r&&o=0&&e(t[n]);)n-=1;return Ne(n+1,1/0,t)}),Ao=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=E.init,e.prototype["@@transducer/result"]=E.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):w(e)},e}(),ko=l(x(["takeWhile"],l(function(e,t){return new Ao(e,t)}),function(e,t){for(var n=0,r=t.length;n{};let n,a="";switch(e){case o.TRACE:case o.INFO:n=window.console.log,a="color: white; background-color: #3166A2;";break;case r.DEBUG:case o.WARNING:n=window.console.warn,a="color: white; background-color: #E9B606;";break;case o.ERROR:case o.FATAL:n=window.console.error,a="color: white; background-color: #FF0000;"}let s=`${a&&u?"%c":""}[${i[e].toUpperCase()}]`;return a&&u?n.bind(window.console,s,a):n.bind(window.console,s)}u=!1;let c={setDebugLevel(e){s=e},setLogLevel(e){a=e}};Object.defineProperties(c,{trace:{get:()=>l(o.TRACE,a),configurable:!1,enumerable:!1},info:{get:()=>l(o.INFO,a),configurable:!1,enumerable:!1},warning:{get:()=>l(o.WARNING,a),configurable:!1,enumerable:!1},error:{get:()=>l(o.ERROR,a),configurable:!1,enumerable:!1},fatal:{get:()=>l(o.FATAL,a),configurable:!1,enumerable:!1},debug:{get:()=>l(r.DEBUG,s),configurable:!1,enumerable:!1}}),Object.freeze(c),t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.memoizeOne=o,t.memoizeOneFactory=function(e){return()=>o(e)},t.memoizeOneWithFlag=function(e){let t,n=null,o=!0;return(...i)=>{let u=(0,r.isEqualArgs)(n,i)?{cached:!0,first:o,result:t}:{cached:!1,first:o,result:(n=i)&&(t=e(...i))};return o=!1,u}},t.memoizeAll=function(e){const t=[];return(...n)=>{let o=t.find(e=>(0,r.isEqualArgs)(e.args,n));return(o||t[t.push({args:n,result:e(...n)})-1]).result}};var r=n(11);function o(e){let t,n=null;return(...o)=>(0,r.isEqualArgs)(n,o)?t:(n=o)&&(t=e(...o))}},function(e,t,n){var r; /*! Copyright (c) 2017 Jed Watson. Licensed under the MIT License (MIT), see @@ -9,10 +9,10 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;tvoid 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i>u)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i=0&&s.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var s=a++;n=u||(u=h(t)),r=m.bind(null,n,s,!1),o=m.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var u=new Blob([r],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(u),a&&URL.revokeObjectURL(a)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,u)=>{const a=t[u];return e===a||n&&(Array.isArray(e)&&Array.isArray(a)&&i(e,a,n)||r(e)&&r(a)&&o(e,a,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.colIsEditable=function(e,t){return e&&(!r.has("editable",t)||t.editable)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==u.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],u=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deleteRow=function(e,t){const n=t.active_cell,o=t.dataframe,i=t.end_cell,u=t.selected_cell,a=t.selected_rows,s=t.start_cell,l={dataframe:r.remove(e,1,o)};r.is(Array,n)&&n[0]===e&&(l.active_cell=[]);r.is(Array,i)&&i[0]===e&&(l.end_cell=[]);r.is(Array,u)&&u[0]===e&&(l.selected_cell=[]);r.is(Array,s)&&s[0]===e&&(l.start_cell=[0,0]);r.is(Array,a)&&r.contains(e,a)&&(l.selected_rows=r.without([e],a));return l},t.deleteColumn=function(e,t,n){const i=n.columns,u=n.dataframe;var a=o(e,t,n);const s=a.groupIndexFirst,l=a.groupIndexLast,c=r.slice(s,l+1,r.pluck("id",i));return{columns:r.remove(s,1+l-s,i),dataframe:r.map(r.omit(c),u),active_cell:[],end_cell:[],selected_cell:[],start_cell:[0]}},t.editColumnName=function(e,t,n){const i=n.columns;var u=o(e,t,n);const a=u.groupIndexFirst,s=u.groupIndexLast,l=window.prompt("Enter a new column name");let c=r.clone(i);return r.range(a,s+1).map(e=>{let n;n="Array"===r.type(i[e].name)?[e,"name",t]:[e,"name"],c=r.set(r.lensPath(n),l,c)}),{columns:c}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));function o(e,t,n){const o=n.columns;let i,u;"Null"!==r.type(t)?(i=e.name[t],u=r.pluck(t,r.pluck("name",o))):(i=e.name,u=r.pluck("name",o));const a=r.findIndex(r.propEq("id",e.id),o);let s=a,l=a;for(;u[s-1]===i;)s--;for(;u[l+1]===i;)l++;return{groupIndexFirst:s,groupIndexLast:l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const u={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},a=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},u),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},u)];t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(3)),o=u(n(10)),i=u(n(18));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const u=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,u);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),u=t.getBoundingClientRect(),a=u.left-o.left+n.scrollLeft,s=u.top-o.top+n.scrollTop+u.height;e.style.width=`${u.width}px`,e.style.top=`${s}px`,e.style.left=`${a}px`,e.style.position="absolute",u.top+u.height/2>i.bottom||u.top-u.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=function(e){return e&&e.__esModule?e:{default:e}}(r);class i extends r.PureComponent{constructor(e){super(e),this.handleChange=(e=>this.setState({value:e.target.value})),this.submit=(()=>this.state.value!==this.props.value&&this.props.submit(this.state.value)),this.state={value:e.value}}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.stopPropagation,n=e.updateOnBlur,r=e.updateOnSubmit;let i={onBlur:n?this.submit:void 0,onKeyDown:t?e=>e.stopPropagation():void 0,onSubmit:r?this.submit:void 0};return o.default.createElement("input",Object.assign({ref:"input",type:"text",value:this.state.value||"",onChange:this.handleChange},i))}}t.default=i,i.defaultProps={stopPropagation:!1,updateOnBlur:!0,updateOnSubmit:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:a.default.string,defaultValue:a.default.any,extraWidth:a.default.oneOfType([a.default.number,a.default.string]),id:a.default.string,injectStyles:a.default.bool,inputClassName:a.default.string,inputRef:a.default.func,inputStyle:a.default.object,minWidth:a.default.oneOfType([a.default.number,a.default.string]),onAutosize:a.default.func,onChange:a.default.func,placeholder:a.default.string,placeholderIsMinWidth:a.default.bool,style:a.default.object,value:a.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=u(n(23)),o=u(n(3)),i=u(n(25));function u(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),o=function(e){return e&&e.__esModule?e:{default:e}}(n(24));const i="dash_debug",u="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(u)||o.default.get(u);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let u=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=u}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=n(1),o=s(r),i=s(n(0)),u=s(n(28));n(56);var a=s(n(3));function s(e){return e&&e.__esModule?e:{default:e}}class l extends r.Component{render(){var e=this.props;const t=e.filtering,n=e.sorting,r=e.pagination_mode;function i(e){return-1!==["be",!1].indexOf(e)}return function(e){return-1!==["fe",!0,!1].indexOf(e)}(r)||i(t)&&i(n)?o.default.createElement(u.default,this.props):(a.default.error("Invalid combination of filtering / sorting / pagination",t,n,r),o.default.createElement("div",null,"Invalid props combination"))}}t.default=l;const c=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_dataframe:[],derived_viewport_indices:[],derived_virtual_dataframe:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],column_conditional_styles:[],column_static_style:[],row_conditional_styles:[],row_static_style:{},dataframe:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,table_style:[]},p=t.propTypes={active_cell:i.default.array,columns:i.default.arrayOf(i.default.object),dataframe:i.default.arrayOf(i.default.object),dataframe_previous:i.default.arrayOf(i.default.object),dataframe_timestamp:i.default.any,editable:i.default.bool,end_cell:i.default.arrayOf(i.default.number),id:i.default.string.isRequired,is_focused:i.default.bool,merge_duplicate_headers:i.default.bool,n_fixed_columns:i.default.number,n_fixed_rows:i.default.number,row_deletable:i.default.bool,row_selectable:i.default.oneOf(["single","multi",!1]),selected_cell:i.default.arrayOf(i.default.arrayOf(i.default.number)),selected_rows:i.default.arrayOf(i.default.number),setProps:i.default.any,start_cell:i.default.arrayOf(i.default.number),style_as_list_view:i.default.bool,table_style:i.default.arrayOf(i.default.shape({selector:i.default.string,rule:i.default.string})),pagination_mode:i.default.oneOf(["fe","be",!0,!1]),pagination_settings:i.default.shape({displayed_pages:i.default.number,current_page:i.default.number,page_size:i.default.number}),navigation:i.default.string,column_conditional_dropdowns:i.default.arrayOf(i.default.shape({id:i.default.string,dropdowns:i.default.arrayOf(i.default.shape({condition:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))}))})),column_static_dropdown:i.default.arrayOf(i.default.shape({id:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))})),column_conditional_style:i.default.arrayOf(i.default.shape({id:i.default.string,styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object}))})),column_static_style:i.default.arrayOf(i.default.shape({id:i.default.string,style:i.default.object})),row_conditional_styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object})),row_static_style:i.default.object,filtering:i.default.oneOf(["fe","be",!0,!1]),filtering_settings:i.default.string,filtering_type:i.default.oneOf(["basic"]),filtering_types:i.default.arrayOf(i.default.oneOf(["basic"])),sorting:i.default.oneOf(["fe","be",!0,!1]),sorting_type:i.default.oneOf(["single","multi"]),sorting_settings:i.default.arrayOf(i.default.shape({columnId:i.default.oneOfType([i.default.string,i.default.number]),direction:i.default.oneOf(["asc","desc"])})),sorting_treat_empty_string_as_none:i.default.bool,derived_viewport_dataframe:i.default.arrayOf(i.default.object),derived_viewport_indices:i.default.arrayOf(i.default.number),derived_virtual_dataframe:i.default.arrayOf(i.default.object),derived_virtual_indices:i.default.arrayOf(i.default.number),dropdown_properties:i.default.any};l.defaultProps=c,l.propTypes=p},function(e,t,n){"use strict";var r=n(27);function o(){}e.exports=function(){function e(e,t,n,o,i,u){if(u!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=d(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=n(4),a=d(n(29)),s=d(n(45)),l=d(n(46)),c=d(n(47)),p=d(n(48));function d(e){return e&&e.__esModule?e:{default:e}}n(49),n(52),n(54);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,u.memoizeOne)(e=>e?t=>{if(i.has("dataframe",t)){const e=this.props.dataframe;t.dataframe_timestamp=Date.now(),t.dataframe_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,s.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,p.default)(),this.filterCache=(0,u.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,u.memoizeOneWithFlag)(e=>e),this.sortCache=(0,u.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,u.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,u.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props)}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(a.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.dataframe,o=e.filtering,u=e.filtering_settings,a=e.pagination_mode,s=e.pagination_settings,l=e.sorting,c=e.sorting_settings,p=e.sorting_treat_empty_string_as_none,d=this.virtual(r,o,u,l,c,p),f=this.viewport(a,s,d.dataframe,d.indices),h=this.paginator(a,s,t,f.dataframe),v=this.visibleColumns(n);return i.mergeAll([e,{columns:v,paginator:h,setProps:t,viewport:f,virtual:d}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,u=e.sorting_settings,a=e.viewport,s=e.virtual,l=this.viewportCache(a).cached,c=this.virtualCache(s).cached,p=this.filterCache(n),d=this.paginationCache(o),f=this.sortCache(u),h=!p.cached&&!p.first&&"be"===t||!d.cached&&!d.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const v=this.setProps;let g={};c||(g.derived_virtual_dataframe=s.dataframe,g.derived_virtual_indices=s.indices),l||(g.derived_viewport_dataframe=a.dataframe,g.derived_viewport_indices=a.indices),h&&(g.active_cell=void 0,g.selected_cell=void 0,g.selected_rows=void 0),setTimeout(()=>v(g),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=b(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=b(n(12)),a=n(13),s=n(14),l=n(30),c=n(31),p=b(c),d=b(n(3)),f=n(4),h=b(n(10)),v=b(n(34)),g=b(n(37)),y=b(n(19)),m=b(n(41));function b(e){return e&&e.__esModule?e:{default:e}}const x=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.getLexerResult=(0,f.memoizeOne)(h.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.handleResize=(()=>{var e=this.refs;const t=e.r0c0,n=e.r0c1,r=e.r1c0,o=e.r1c1;let i=n.querySelectorAll("tr");t.querySelectorAll("tr").forEach((e,t)=>{const n=i[t];e.style.height=getComputedStyle(n).height});let u=o.querySelectorAll("tr > th:first-of-type");r.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=u[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const a=o.querySelector("tr > td:first-of-type");if(a){const e=a.parentElement;this.stylesheet.setRule(".cell-1-0 tr",`height: ${getComputedStyle(e).height}`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,u=t.editable;if(d.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const l=(0,s.isCtrlDown)(e);l&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&l&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,a.colIsEditable)(u,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,a.colIsEditable)(u,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,u=n.selected_cell,a=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=u.length>1,p=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&p)return void a({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void a({is_focused:!1,selected_cell:[e],active_cell:e})}let d=[],f=[];const h=x(i.uniq(i.pluck(0,u))),v=x(i.uniq(i.pluck(1,u))),g=h[0],y=v[0],m=h[h.length-1],b=v[v.length-1],w=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,E=t.keyCode===s.KEY_CODES.ARROW_UP,O=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,_=t.keyCode===s.KEY_CODES.ARROW_LEFT;w&&r[0]>g?f=v.map(e=>[g,e]):w&&m!==l.dataframe.length-1?d=v.map(e=>[m+1,e]):E&&r[0][m,e]):E&&g>0?d=v.map(e=>[g-1,e]):_&&r[1][e,b]):_&&y>0?d=h.map(e=>[e,y-1]):O&&r[1]>y?f=h.map(e=>[e,y]):O&&b+1<=o.length-1&&(d=h.map(e=>[e,b+1])),a({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(d,u)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.dataframe,o=t.editable,u=t.selected_cell,s=t.setProps,l=t.viewport;e.preventDefault();let c=r;i.map(e=>[l.indices[e[0]],e[1]],u).forEach(e=>{(0,a.colIsEditable)(o,n[e[1]])&&(c=i.set(i.lensPath([e[0],n[e[1]].id]),"",c))}),s({dataframe:c})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,u=r.selected_cell,a=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,l.selectionCycle)([n[0],n[1]-1],u):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,l.selectionCycle)([n[0],n[1]+1],u):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,l.selectionCycle)([n[0]-1,n[1]],u):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,l.selectionCycle)([n[0]+1,n[1]],u):[i.min(a.dataframe.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;v.default.toClipboard(e,r,n,o.dataframe),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.dataframe,i=t.editable,u=t.filtering_settings,a=t.setProps,s=t.sorting_settings,l=t.viewport;if(!i)return;const c=v.default.fromClipboard(e,n,l.indices,r,o,!0,!s.length||!u.length);c&&a(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=((e,t,n)=>{t&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),i.addIndex(i.forEach)((e,t)=>{const n=u.default.unit(e.width||c.DEFAULT_CELL_WIDTH,"px");this.stylesheet.setRule(`.dash-spreadsheet-inner td.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`),this.stylesheet.setRule(`.dash-spreadsheet-inner th.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`)},e)}),this.renderFragment=(e=>e?o.default.createElement("table",{tabIndex:-1},o.default.createElement("tbody",null,e.map((e,t)=>o.default.createElement("tr",{key:`row-${t}`},e)))):null),this.handleSetFilter=(e=>this.props.setProps({filtering_settings:e})),this.getCells=(()=>[...this.headerFactory.createHeaders(),...this.filterFactory.createFilters(),...this.cellFactory.createCells()]),this.getFragments=((e,t,n)=>{const r=t?i.map(e=>e.splice(0,i.reduceWhile(e=>e.count(e.cells++,e.count+=t.props.colSpan||1,e),{cells:0,count:0},e).cells),e):null,o=n?e.splice(0,n):null,u=n&&r?r.splice(0,n):null;return[[this.renderFragment(u),this.renderFragment(o)],[this.renderFragment(r),this.renderFragment(e)]]}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,y.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;d.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.cellFactory=new g.default(()=>this.props),this.filterFactory=new m.default(()=>{var e=this.props;const t=e.row_deletable,n=e.row_selectable,r=(t?1:0)+(n?1:0);return{columns:this.props.columns,fillerColumns:r,filtering:this.props.filtering,filtering_settings:this.props.filtering_settings,filtering_type:this.props.filtering_type,id:this.props.id,setFilter:this.handleSetFilter}}),this.headerFactory=new p.default(()=>this.props),this.stylesheet=new u.default(`#${e.id}`),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.table_style;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),window.addEventListener("resize",this.handleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.dataframe,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),u=n[0],a=i[0],s=n[n.length-1],l=i[i.length-1];var c=r(e,2);const p=c[0],d=c[1],f=[p,d];p>s&&(f[0]=u,f[1]=d+1>l?a:d+1);pl&&(f[1]=a,f[0]=p+1>s?u:p+1);dArray.isArray(e.name)?e.name.length:1,h=(e,t)=>Array.isArray(e.name)?e.name[t]:"";t.default=class{constructor(e){this.propsFn=e}get props(){return this.propsFn()}getSorting(e,t){const n=o.find(t=>t.columnId===e,t);return n?n.direction:u.SortDirection.None}doSort(e,t){return()=>{const n=t.sorting_settings,r=t.sorting_type;let o;switch(this.getSorting(e,n)){case u.SortDirection.Descending:o=u.SortDirection.Ascending;break;case u.SortDirection.Ascending:o=u.SortDirection.None;break;case u.SortDirection.None:default:o=u.SortDirection.Descending}const i="single"===r?s.default:a.default;t.setProps({sorting_settings:i(n,{columnId:e,direction:o})})}}getSortingIcon(e,t){const n=t.sorting_settings;switch(this.getSorting(e,n)){case u.SortDirection.Descending:return"↑";case u.SortDirection.Ascending:return"↓";case u.SortDirection.None:default:return"↕"}}createHeaderCells(e){const t=e.columns,n=e.columnRowIndex,u=e.labels,a=e.mergeCells,s=e.n_fixed_columns,c=e.pagination_mode,p=e.rowSorting;let f=[];if(a){f=[0];let e=0;u.forEach((t,n)=>{t!==u[e]&&(f.push(n),e=n)})}else f=o.range(0,t.length);return o.filter(e=>!!e,f.map((h,v)=>{const g=t[h],y=t.indexOf(g);let m;m=a?h===o.last(f)?u.length-h:f[v+1]-h:1;const b=t.indexOf(g),x=`calc(${t.filter((e,t)=>t>=b&&ti.default.unit(e.width||d,"px")).join(" + ")})`;return r.default.createElement("th",{key:`header-cell-${h}`,"data-dash-column":g.id,colSpan:m,className:"dash-header "+`column-${h} `+(h===t.length-1||h===o.last(f)?"cell--right-last ":""),style:y{(0,n.setProps)(l.editColumnName(e,t,n))}}(g,n,e)},"✎"):"",g.deletable&&"be"!==c&&"Boolean"===o.type(g.deletable)||"Number"===o.type(g.deletable)&&g.deletable===n?r.default.createElement("span",{className:"column-header--delete",onClick:function(e,t,n){return()=>{(0,n.setProps)(l.deleteColumn(e,t,n))}}(g,n,e)},"×"):"",r.default.createElement("span",null,u[h]))}))}createDeletableHeader(e){return e.row_deletable?r.default.createElement("th",{key:"delete",className:"expanded-row--empty-cell dash-delete-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createSelectableHeader(e){return e.row_selectable?r.default.createElement("th",{key:"select",className:"expanded-row--empty-cell dash-select-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createHeaders(){const e=this.props;let t=e.columns,n=e.sorting,r=e.merge_duplicate_headers,i=e.n_fixed_columns,u=e.pagination_mode,a=e.row_deletable,s=e.row_selectable,l=e.setProps,c=e.sorting_settings,p=e.sorting_type;const d=(a?1:0)+(s?1:0);i=Math.max(0,i-d);const v=this.createDeletableHeader(e),g=this.createSelectableHeader(e),y=Math.max.apply(Math,t.map(f));let m;return m=1===y?[[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:0,labels:o.pluck("name",t),n_fixed_columns:i,pagination_mode:u,rowSorting:n,setProps:l,sorting_settings:c,sorting_type:p})]]:o.range(0,y).map(e=>[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:e,labels:t.map(t=>o.isNil(t.name)&&e===y-1?t.id:h(t,e)),n_fixed_columns:i,pagination_mode:u,rowSorting:!!n&&e+1===y,mergeCells:r&&e+1!==y,setProps:l,sorting_settings:c,sorting_type:p})])}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),i=n(7);t.default=((e,t)=>{if(o.default.trace("multi - updateSettings",e,t),e=r.clone(e),t.direction===i.SortDirection.None){const n=r.findIndex(e=>e.columnId===t.columnId,e);-1!==n&&e.splice(n,1)}else{const n=r.find(e=>e.columnId===t.columnId,e);n?n.direction=t.direction:e.push(t)}return e})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),o=n(7);t.default=((e,t)=>(r.default.trace("single - updateSettings",e,t),t.direction===o.SortDirection.None?[]:[t]))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(35)),i=s(n(36)),u=s(n(3)),a=n(13);function s(e){return e&&e.__esModule?e:{default:e}}t.default=class{static toClipboard(e,t,n,a){const s=r.uniq(r.pluck(0,t).sort((e,t)=>e-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(s),r.last(s)+1,a).map(e=>r.props(l,r.props(r.pluck("id",n),e))),p=o.default.prototype.stringify(c);u.default.trace("TableClipboard -- set clipboard data: ",p),i.default.set(e,p)}static fromClipboard(e,t,n,s,l,c=!0,p=!0){const d=i.default.get(e);if(u.default.trace("TableClipboard -- get clipboard data: ",d),!d)return;const f=o.default.prototype.parse(d);let h=l;const v=s;if(c&&f[0].length+t[1]>=s.length)for(let e=s.length;et[`Column ${e}`]="");p&&u.default.debug("Clipboard -- Sorting or filtering active, do not create new rows");const g=n[t[0]];if(p&&f.length+g>=l.length){const e={};s.forEach(t=>e[t.id]=""),h=r.concat(h,r.repeat(e,f.length+g-l.length))}return f.forEach((e,o)=>e.forEach((e,i)=>{const u=t[0]+o;if(n.length<=t[0]+o)return;const s=n[u],l=t[1]+i,c=v[l];c&&(0,a.colIsEditable)(!0,c)&&(h=r.set(r.lensPath([s,c.id]),e,h))})),{dataframe:h,columns:v}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,u,a,s,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(u+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?u+='"'+i.replace(/"/g,'""')+'"':u+=i:u+=null===i||void 0===i?"":i;u+="\n"}return u},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(2)),o=a(n(1)),i=a(n(38)),u=s(n(15));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.isCellSelected=((e,t,n)=>e&&r.contains([t,n],e)),this.getEventHandler=((e,t,n)=>{const r=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),o=r.get(t)||r.set(t,new Map).get(t);return o.get(n)||o.set(n,e.bind(this,t,n)).get(n)}),this.handleClick=((e,t,n)=>{var o=this.props;const i=o.editable,u=o.is_focused,a=o.selected_cell,s=o.setProps,l=this.isCellSelected(a,e,t);if(!i)return;if(u||n.preventDefault(),l)return;n.preventDefault();const c=[e,t],p={is_focused:!1,active_cell:c},d=r.uniq(r.pluck(0,a)).sort((e,t)=>e-t),f=r.uniq(r.pluck(1,a)).sort((e,t)=>e-t),h=d[0],v=f[0];n.shiftKey?p.selected_cell=r.xprod(r.range(r.min(h,c[0]),r.max(h,c[0])+1),r.range(r.min(v,c[1]),r.max(v,c[1])+1)):p.selected_cell=[c],s(p)}),this.handleDoubleClick=((e,t,n)=>{var r=this.props;const o=r.editable,i=r.is_focused,u=r.setProps;if(!o)return;const a=[e,t];i||(n.preventDefault(),u({selected_cell:[a],active_cell:a,is_focused:!0}))}),this.handleChange=((e,t,n)=>{var o=this.props;const i=o.columns,u=o.dataframe,a=o.editable,s=o.setProps,l=i[t];a&&s({dataframe:r.set(r.lensPath([e,l.id]),n,u)})}),this.handlePaste=(e=>{e.preventDefault()})}get props(){return this.propsFn()}rowSelectCell(e){var t=this.props;const n=t.setProps,i=t.selected_rows,u=t.row_selectable;return u?o.default.createElement("td",{key:"select",className:"dash-select-cell",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},o.default.createElement("input",{type:"single"===u?"radio":"checkbox",name:"row-select",checked:r.contains(e,i),onChange:()=>n({selected_rows:"single"===u?[e]:r.ifElse(r.contains(e),r.without([e]),r.append(e))(i)})})):null}rowDeleteCell(e){var t=this.props;const n=t.setProps;return t.row_deletable?o.default.createElement("td",{key:"delete",className:"dash-delete-cell",onClick:()=>n(u.deleteRow(e,this.props)),style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},"×"):null}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,u=e.column_conditional_dropdowns,a=e.column_conditional_styles,s=e.column_static_dropdown,l=e.column_static_style,c=e.dropdown_properties,p=e.editable,d=e.id,f=e.is_focused,h=e.selected_cell,v=e.viewport;return v.dataframe.map((e,g)=>{const y=v.indices[g],m=this.rowDeleteCell(y),b=this.rowSelectCell(y),x=n.map((v,m)=>{let b=(c&&c[v.id]&&(c[v.id].length>y?c[v.id][y]:null)||v||{}).options;const x=n.indexOf(v),w=[`column-${x}`];let E=u.find(e=>e.id===v.id),O=s.find(e=>e.id===v.id);E=E&&E.dropdowns,O=b||O&&O.dropdown;let _=a.find(e=>e.id===v.id),S=l.find(e=>e.id===v.id);return _=_&&_.styles,S=S&&S.style,o.default.createElement(i.default,{key:`${v.id}-${m}`,active:t[0]===g&&t[1]===x,classes:w,clearable:v.clearable,conditionalDropdowns:E,conditionalStyles:_,datum:e,editable:p,focused:!!f,onClick:this.getEventHandler(this.handleClick,g,x),onDoubleClick:this.getEventHandler(this.handleDoubleClick,g,x),onPaste:this.handlePaste,onChange:this.getEventHandler(this.handleChange,y,x),property:v.id,selected:r.contains([g,x],h),staticDropdown:O,staticStyle:S,tableId:d,type:v.type,value:e[v.id]})});return b&&x.unshift(b),m&&x.unshift(m),x})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=f(o),u=f(n(39)),a=n(11),s=n(4),l=f(n(40)),c=f(n(17)),p=n(14),d=f(n(19));function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.getDropdown=(0,s.memoizeOne)((...e)=>e.length?e.slice(-1)[0]:void 0),this.getStyle=(0,s.memoizeOne)((...e)=>e.length?r.mergeAll(e):void 0),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode===p.KEY_CODES.ENTER&&this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,d.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}get classes(){var e=this.propsWithDefaults;let t=e.active,n=e.classes,r=e.editable,o=e.selected,i=e.type;return["dash-cell",...t?["focused"]:[],...r?[]:["cell--uneditable"],...o?["cell--selected"]:[],..."dropdown"===i?["dropdown"]:[],...n]}renderDropdown(){var e=this.propsWithDefaults;const t=e.clearable,n=e.onChange,r=e.value,o=this.dropdown;return o?i.default.createElement(u.default,{ref:"dropdown",clearable:t,onChange:e=>{n(e?e.value:e)},onOpen:this.handleOpenDropdown,options:o,placeholder:"",value:r}):this.renderValue()}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.focused,r=e.onClick,o=e.onDoubleClick,u=e.onPaste,a={className:[...t?["input-active"]:[],...n?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:r,onDoubleClick:o};return t||this.state.value!==this.props.value?i.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:u},a)):this.renderValue(a)}renderValue(e={}){const t=this.propsWithDefaults.value;return i.default.createElement("div",Object.assign({},e),t)}renderInner(){switch(this.props.type){case"text":case"numeric":return this.renderInput();case"dropdown":return this.renderDropdown();default:return this.renderValue()}}get dropdown(){var e=this.propsWithDefaults;let t=e.conditionalDropdowns,n=e.datum,o=e.property,i=e.staticDropdown,u=e.tableId;const a=[...i?[i]:[],...r.map(([e])=>e.dropdown,r.filter(([e,t])=>h.dropdownAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getDropdown(...a)}get style(){var e=this.propsWithDefaults;let t=e.conditionalStyles,n=e.datum,o=e.property,i=e.staticStyle,u=e.tableId;const a=[i,...r.map(([e])=>e.style,r.filter(([e,t])=>h.styleAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getStyle(...a)}render(){const e=this.props.property;return i.default.createElement("td",{ref:"td",tabIndex:-1,className:this.classes.join(" "),style:this.style,"data-dash-column":e},this.renderInner())}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){const e=this.propsWithDefaults.active,t=this.refs.textInput;e&&t&&document.activeElement!==t&&(t.focus(),t.setSelectionRange(0,t.value?t.value.length:0)),e&&this.refs.dropdown&&this.refs.td.focus()}shouldComponentUpdate(e,t){const n=this.props,r=this.state;return!(0,a.isEqual)(n,e,!0)||!(0,a.isEqual)(r,t,!0)}}t.default=h,h.dropdownAstCache=(0,l.default)(e=>new c.default(e)),h.styleAstCache=(0,l.default)(e=>new c.default(e)),h.defaultProps={classes:[],conditionalDropdowns:[],conditionalStyles:[],staticStyle:{},type:"text"}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return V}),n.d(t,"AsyncCreatable",function(){return Y}),n.d(t,"Creatable",function(){return L}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return k}),n.d(t,"defaultMenuRenderer",function(){return m}),n.d(t,"defaultArrowRenderer",function(){return d}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(21),o=n.n(r),i=n(5),u=n.n(i),a=n(0),s=n.n(a),l=n(1),c=n.n(l),p=n(6),d=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:s.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],v=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],u=g(o),a=g(i);if(!u&&!a)return!1;var s=u?String(o):null,l=a?String(i):null;return r.ignoreAccents&&(s&&"label"!==r.matchProp&&(s=v(s)),l&&"value"!==r.matchProp&&(l=v(l))),r.ignoreCase&&(s&&"label"!==r.matchProp&&(s=s.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?s&&"label"!==r.matchProp&&s.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:s&&"label"!==r.matchProp&&s.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},m=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,a=e.onOptionRef,s=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionRenderer,f=e.options,h=e.removeValue,v=e.selectValue,g=e.valueArray,y=e.valueKey,m=p;return f.map(function(e,p){var f=g&&g.some(function(t){return t[y]===e[y]}),b=e===t,x=u()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(m,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+p+"-"+e[y],onFocus:i,onSelect:s,option:e,optionIndex:p,ref:function(e){a(e,b)},removeValue:h,selectValue:v},d(e,p,r))})};m.propTypes={focusOption:s.a.func,focusedOption:s.a.object,inputValue:s.a.string,instancePrefix:s.a.string,onFocus:s.a.func,onOptionRef:s.a.func,onSelect:s.a.func,optionClassName:s.a.string,optionComponent:s.a.func,optionRenderer:s.a.func,options:s.a.array,removeValue:s.a.func,selectValue:s.a.func,valueArray:s.a.array,valueKey:s.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),a=u.value;a instanceof e?Promise.resolve(a.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(u.done?"return":"normal",u.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,u){var a={key:e,arg:t,resolve:i,reject:u,next:null};r?r=r.next=a:(n=r=a,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),E=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},k=function(e){function t(e){w(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return S(t,e),E(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);k.propTypes={children:s.a.node,className:s.a.string,instancePrefix:s.a.string.isRequired,isDisabled:s.a.bool,isFocused:s.a.bool,isSelected:s.a.bool,onFocus:s.a.func,onSelect:s.a.func,onUnfocus:s.a.func,option:s.a.object.isRequired,optionIndex:s.a.number};var F=function(e){function t(e){w(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return S(t,e),E(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:s.a.node,disabled:s.a.bool,id:s.a.string,onClick:s.a.func,onRemove:s.a.func,value:s.a.object.isRequired}; +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;tvoid 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i>u)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],u=r[o];return!n(i)&&(!!n(u)||i=0&&s.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var s=a++;n=u||(u=h(t)),r=m.bind(null,n,s,!1),o=m.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var u=new Blob([r],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(u),a&&URL.revokeObjectURL(a)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,u)=>{const a=t[u];return e===a||n&&(Array.isArray(e)&&Array.isArray(a)&&i(e,a,n)||r(e)&&r(a)&&o(e,a,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.colIsEditable=function(e,t){return e&&(!r.has("editable",t)||t.editable)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==u.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],u=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deleteRow=function(e,t){const n=t.active_cell,o=t.dataframe,i=t.end_cell,u=t.selected_cell,a=t.selected_rows,s=t.start_cell,l={dataframe:r.remove(e,1,o)};r.is(Array,n)&&n[0]===e&&(l.active_cell=[]);r.is(Array,i)&&i[0]===e&&(l.end_cell=[]);r.is(Array,u)&&u[0]===e&&(l.selected_cell=[]);r.is(Array,s)&&s[0]===e&&(l.start_cell=[0,0]);r.is(Array,a)&&r.contains(e,a)&&(l.selected_rows=r.without([e],a));return l},t.deleteColumn=function(e,t,n){const i=n.columns,u=n.dataframe;var a=o(e,t,n);const s=a.groupIndexFirst,l=a.groupIndexLast,c=r.slice(s,l+1,r.pluck("id",i));return{columns:r.remove(s,1+l-s,i),dataframe:r.map(r.omit(c),u),active_cell:[],end_cell:[],selected_cell:[],start_cell:[0]}},t.editColumnName=function(e,t,n){const i=n.columns;var u=o(e,t,n);const a=u.groupIndexFirst,s=u.groupIndexLast,l=window.prompt("Enter a new column name");let c=r.clone(i);return r.range(a,s+1).map(e=>{let n;n="Array"===r.type(i[e].name)?[e,"name",t]:[e,"name"],c=r.set(r.lensPath(n),l,c)}),{columns:c}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));function o(e,t,n){const o=n.columns;let i,u;"Null"!==r.type(t)?(i=e.name[t],u=r.pluck(t,r.pluck("name",o))):(i=e.name,u=r.pluck("name",o));const a=r.findIndex(r.propEq("id",e.id),o);let s=a,l=a;for(;u[s-1]===i;)s--;for(;u[l+1]===i;)l++;return{groupIndexFirst:s,groupIndexLast:l}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const u={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},a=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},u),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},u)];t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(3)),o=u(n(10)),i=u(n(18));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const u=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,u);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),u=t.getBoundingClientRect(),a=u.left-o.left+n.scrollLeft,s=u.top-o.top+n.scrollTop+u.height;e.style.width=`${u.width}px`,e.style.top=`${s}px`,e.style.left=`${a}px`,e.style.position="absolute",u.top+u.height/2>i.bottom||u.top-u.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=function(e){return e&&e.__esModule?e:{default:e}}(r);class i extends r.PureComponent{constructor(e){super(e),this.handleChange=(e=>this.setState({value:e.target.value})),this.submit=(()=>this.state.value!==this.props.value&&this.props.submit(this.state.value)),this.state={value:e.value}}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.stopPropagation,n=e.updateOnBlur,r=e.updateOnSubmit;let i={onBlur:n?this.submit:void 0,onKeyDown:t?e=>e.stopPropagation():void 0,onSubmit:r?this.submit:void 0};return o.default.createElement("input",Object.assign({ref:"input",type:"text",value:this.state.value||"",onChange:this.handleChange},i))}}t.default=i,i.defaultProps={stopPropagation:!1,updateOnBlur:!0,updateOnSubmit:!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,u.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),u.default.createElement("input",r({},o,{ref:this.inputRef})),u.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?u.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:a.default.string,defaultValue:a.default.any,extraWidth:a.default.oneOfType([a.default.number,a.default.string]),id:a.default.string,injectStyles:a.default.bool,inputClassName:a.default.string,inputRef:a.default.func,inputStyle:a.default.object,minWidth:a.default.oneOfType([a.default.number,a.default.string]),onAutosize:a.default.func,onChange:a.default.func,placeholder:a.default.string,placeholderIsMinWidth:a.default.bool,style:a.default.object,value:a.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=u(n(23)),o=u(n(3)),i=u(n(25));function u(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(3),o=function(e){return e&&e.__esModule?e:{default:e}}(n(24));const i="dash_debug",u="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(u)||o.default.get(u);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let u=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=u}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=n(1),o=s(r),i=s(n(0)),u=s(n(28));n(56);var a=s(n(3));function s(e){return e&&e.__esModule?e:{default:e}}class l extends r.Component{render(){var e=this.props;const t=e.filtering,n=e.sorting,r=e.pagination_mode;function i(e){return-1!==["be",!1].indexOf(e)}return function(e){return-1!==["fe",!0,!1].indexOf(e)}(r)||i(t)&&i(n)?o.default.createElement(u.default,this.props):(a.default.error("Invalid combination of filtering / sorting / pagination",t,n,r),o.default.createElement("div",null,"Invalid props combination"))}}t.default=l;const c=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_dataframe:[],derived_viewport_indices:[],derived_virtual_dataframe:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],column_conditional_styles:[],column_static_style:[],row_conditional_styles:[],row_static_style:{},dataframe:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,table_style:[]},p=t.propTypes={active_cell:i.default.array,columns:i.default.arrayOf(i.default.object),dataframe:i.default.arrayOf(i.default.object),dataframe_previous:i.default.arrayOf(i.default.object),dataframe_timestamp:i.default.any,editable:i.default.bool,end_cell:i.default.arrayOf(i.default.number),id:i.default.string.isRequired,is_focused:i.default.bool,merge_duplicate_headers:i.default.bool,n_fixed_columns:i.default.number,n_fixed_rows:i.default.number,row_deletable:i.default.bool,row_selectable:i.default.oneOf(["single","multi",!1]),selected_cell:i.default.arrayOf(i.default.arrayOf(i.default.number)),selected_rows:i.default.arrayOf(i.default.number),setProps:i.default.any,start_cell:i.default.arrayOf(i.default.number),style_as_list_view:i.default.bool,table_style:i.default.arrayOf(i.default.shape({selector:i.default.string,rule:i.default.string})),pagination_mode:i.default.oneOf(["fe","be",!0,!1]),pagination_settings:i.default.shape({displayed_pages:i.default.number,current_page:i.default.number,page_size:i.default.number}),navigation:i.default.string,column_conditional_dropdowns:i.default.arrayOf(i.default.shape({id:i.default.string,dropdowns:i.default.arrayOf(i.default.shape({condition:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))}))})),column_static_dropdown:i.default.arrayOf(i.default.shape({id:i.default.string,dropdown:i.default.arrayOf(i.default.shape({label:i.default.string,value:i.default.any}))})),column_conditional_style:i.default.arrayOf(i.default.shape({id:i.default.string,styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object}))})),column_static_style:i.default.arrayOf(i.default.shape({id:i.default.string,style:i.default.object})),row_conditional_styles:i.default.arrayOf(i.default.shape({condition:i.default.string,style:i.default.object})),row_static_style:i.default.object,filtering:i.default.oneOf(["fe","be",!0,!1]),filtering_settings:i.default.string,filtering_type:i.default.oneOf(["basic"]),filtering_types:i.default.arrayOf(i.default.oneOf(["basic"])),sorting:i.default.oneOf(["fe","be",!0,!1]),sorting_type:i.default.oneOf(["single","multi"]),sorting_settings:i.default.arrayOf(i.default.shape({columnId:i.default.oneOfType([i.default.string,i.default.number]),direction:i.default.oneOf(["asc","desc"])})),sorting_treat_empty_string_as_none:i.default.bool,derived_viewport_dataframe:i.default.arrayOf(i.default.object),derived_viewport_indices:i.default.arrayOf(i.default.number),derived_virtual_dataframe:i.default.arrayOf(i.default.object),derived_virtual_indices:i.default.arrayOf(i.default.number),dropdown_properties:i.default.any};l.defaultProps=c,l.propTypes=p},function(e,t,n){"use strict";var r=n(27);function o(){}e.exports=function(){function e(e,t,n,o,i,u){if(u!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=d(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=n(4),a=d(n(29)),s=d(n(45)),l=d(n(46)),c=d(n(47)),p=d(n(48));function d(e){return e&&e.__esModule?e:{default:e}}n(49),n(52),n(54);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,u.memoizeOne)(e=>e?t=>{if(i.has("dataframe",t)){const e=this.props.dataframe;t.dataframe_timestamp=Date.now(),t.dataframe_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,s.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,p.default)(),this.filterCache=(0,u.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,u.memoizeOneWithFlag)(e=>e),this.sortCache=(0,u.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,u.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,u.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(a.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.dataframe,o=e.filtering,u=e.filtering_settings,a=e.pagination_mode,s=e.pagination_settings,l=e.sorting,c=e.sorting_settings,p=e.sorting_treat_empty_string_as_none,d=this.virtual(r,o,u,l,c,p),f=this.viewport(a,s,d.dataframe,d.indices),h=this.paginator(a,s,t,d.dataframe),v=this.visibleColumns(n);return i.mergeAll([e,{columns:v,paginator:h,setProps:t,viewport:f,virtual:d}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,u=e.sorting_settings,a=e.viewport,s=e.virtual,l=this.viewportCache(a).cached,c=this.virtualCache(s).cached,p=this.filterCache(n),d=this.paginationCache(o),f=this.sortCache(u),h=!p.cached&&!p.first&&"be"===t||!d.cached&&!d.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const v=this.setProps;let g={};c||(g.derived_virtual_dataframe=s.dataframe,g.derived_virtual_indices=s.indices),l||(g.derived_viewport_dataframe=a.dataframe,g.derived_viewport_indices=a.indices),h&&(g.active_cell=void 0,g.selected_cell=void 0,g.selected_rows=void 0),setTimeout(()=>v(g),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=b(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),u=b(n(12)),a=n(13),s=n(14),l=n(30),c=n(31),p=b(c),d=b(n(3)),f=n(4),h=b(n(10)),v=b(n(34)),g=b(n(37)),y=b(n(19)),m=b(n(41));function b(e){return e&&e.__esModule?e:{default:e}}const x=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.getLexerResult=(0,f.memoizeOne)(h.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.handleResize=(()=>{var e=this.refs;const t=e.r0c0,n=e.r0c1,r=e.r1c0,o=e.r1c1;let i=n.querySelectorAll("tr");t.querySelectorAll("tr").forEach((e,t)=>{const n=i[t];e.style.height=getComputedStyle(n).height});let u=o.querySelectorAll("tr > th:first-of-type");r.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=u[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const a=o.querySelector("tr > td:first-of-type");if(a){const e=a.parentElement;this.stylesheet.setRule(".cell-1-0 tr",`height: ${getComputedStyle(e).height}`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,u=t.editable;if(d.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const l=(0,s.isCtrlDown)(e);l&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&l&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,a.colIsEditable)(u,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,a.colIsEditable)(u,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,u=n.selected_cell,a=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=u.length>1,p=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&p)return void a({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void a({is_focused:!1,selected_cell:[e],active_cell:e})}let d=[],f=[];const h=x(i.uniq(i.pluck(0,u))),v=x(i.uniq(i.pluck(1,u))),g=h[0],y=v[0],m=h[h.length-1],b=v[v.length-1],w=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,E=t.keyCode===s.KEY_CODES.ARROW_UP,_=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,O=t.keyCode===s.KEY_CODES.ARROW_LEFT;w&&r[0]>g?f=v.map(e=>[g,e]):w&&m!==l.dataframe.length-1?d=v.map(e=>[m+1,e]):E&&r[0][m,e]):E&&g>0?d=v.map(e=>[g-1,e]):O&&r[1][e,b]):O&&y>0?d=h.map(e=>[e,y-1]):_&&r[1]>y?f=h.map(e=>[e,y]):_&&b+1<=o.length-1&&(d=h.map(e=>[e,b+1])),a({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(d,u)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.dataframe,o=t.editable,u=t.selected_cell,s=t.setProps,l=t.viewport;e.preventDefault();let c=r;i.map(e=>[l.indices[e[0]],e[1]],u).forEach(e=>{(0,a.colIsEditable)(o,n[e[1]])&&(c=i.set(i.lensPath([e[0],n[e[1]].id]),"",c))}),s({dataframe:c})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,u=r.selected_cell,a=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,l.selectionCycle)([n[0],n[1]-1],u):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,l.selectionCycle)([n[0],n[1]+1],u):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,l.selectionCycle)([n[0]-1,n[1]],u):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,l.selectionCycle)([n[0]+1,n[1]],u):[i.min(a.dataframe.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;v.default.toClipboard(e,r,n,o.dataframe),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.dataframe,i=t.editable,u=t.filtering_settings,a=t.setProps,s=t.sorting_settings,l=t.viewport;if(!i)return;const c=v.default.fromClipboard(e,n,l.indices,r,o,!0,!s.length||!u.length);c&&a(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=((e,t,n)=>{t&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),i.addIndex(i.forEach)((e,t)=>{const n=u.default.unit(e.width||c.DEFAULT_CELL_WIDTH,"px");this.stylesheet.setRule(`.dash-spreadsheet-inner td.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`),this.stylesheet.setRule(`.dash-spreadsheet-inner th.column-${t}`,`width: ${n}; max-width: ${n}; min-width: ${n};`)},e)}),this.renderFragment=(e=>e?o.default.createElement("table",{tabIndex:-1},o.default.createElement("tbody",null,e.map((e,t)=>o.default.createElement("tr",{key:`row-${t}`},e)))):null),this.handleSetFilter=(e=>this.props.setProps({filtering_settings:e})),this.getCells=(()=>[...this.headerFactory.createHeaders(),...this.filterFactory.createFilters(),...this.cellFactory.createCells()]),this.getFragments=((e,t,n)=>{const r=t?i.map(e=>e.splice(0,i.reduceWhile(e=>e.count(e.cells++,e.count+=t.props.colSpan||1,e),{cells:0,count:0},e).cells),e):null,o=n?e.splice(0,n):null,u=n&&r?r.splice(0,n):null;return[[this.renderFragment(u),this.renderFragment(o)],[this.renderFragment(r),this.renderFragment(e)]]}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,y.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;d.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.cellFactory=new g.default(()=>this.props),this.filterFactory=new m.default(()=>{var e=this.props;const t=e.row_deletable,n=e.row_selectable,r=(t?1:0)+(n?1:0);return{columns:this.props.columns,fillerColumns:r,filtering:this.props.filtering,filtering_settings:this.props.filtering_settings,filtering_type:this.props.filtering_type,id:this.props.id,setFilter:this.handleSetFilter}}),this.headerFactory=new p.default(()=>this.props),this.stylesheet=new u.default(`#${e.id}`),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.table_style;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),window.addEventListener("resize",this.handleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.dataframe,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),u=n[0],a=i[0],s=n[n.length-1],l=i[i.length-1];var c=r(e,2);const p=c[0],d=c[1],f=[p,d];p>s&&(f[0]=u,f[1]=d+1>l?a:d+1);pl&&(f[1]=a,f[0]=p+1>s?u:p+1);dArray.isArray(e.name)?e.name.length:1,h=(e,t)=>Array.isArray(e.name)?e.name[t]:"";t.default=class{constructor(e){this.propsFn=e}get props(){return this.propsFn()}getSorting(e,t){const n=o.find(t=>t.columnId===e,t);return n?n.direction:u.SortDirection.None}doSort(e,t){return()=>{const n=t.sorting_settings,r=t.sorting_type;let o;switch(this.getSorting(e,n)){case u.SortDirection.Descending:o=u.SortDirection.Ascending;break;case u.SortDirection.Ascending:o=u.SortDirection.None;break;case u.SortDirection.None:default:o=u.SortDirection.Descending}const i="single"===r?s.default:a.default;t.setProps({sorting_settings:i(n,{columnId:e,direction:o})})}}getSortingIcon(e,t){const n=t.sorting_settings;switch(this.getSorting(e,n)){case u.SortDirection.Descending:return"↑";case u.SortDirection.Ascending:return"↓";case u.SortDirection.None:default:return"↕"}}createHeaderCells(e){const t=e.columns,n=e.columnRowIndex,u=e.labels,a=e.mergeCells,s=e.n_fixed_columns,c=e.pagination_mode,p=e.rowSorting;let f=[];if(a){f=[0];let e=0;u.forEach((t,n)=>{t!==u[e]&&(f.push(n),e=n)})}else f=o.range(0,t.length);return o.filter(e=>!!e,f.map((h,v)=>{const g=t[h],y=t.indexOf(g);let m;m=a?h===o.last(f)?u.length-h:f[v+1]-h:1;const b=t.indexOf(g),x=`calc(${t.filter((e,t)=>t>=b&&ti.default.unit(e.width||d,"px")).join(" + ")})`;return r.default.createElement("th",{key:`header-cell-${h}`,"data-dash-column":g.id,colSpan:m,className:"dash-header "+`column-${h} `+(h===t.length-1||h===o.last(f)?"cell--right-last ":""),style:y{(0,n.setProps)(l.editColumnName(e,t,n))}}(g,n,e)},"✎"):"",g.deletable&&"be"!==c&&"Boolean"===o.type(g.deletable)||"Number"===o.type(g.deletable)&&g.deletable===n?r.default.createElement("span",{className:"column-header--delete",onClick:function(e,t,n){return()=>{(0,n.setProps)(l.deleteColumn(e,t,n))}}(g,n,e)},"×"):"",r.default.createElement("span",null,u[h]))}))}createDeletableHeader(e){return e.row_deletable?r.default.createElement("th",{key:"delete",className:"expanded-row--empty-cell dash-delete-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createSelectableHeader(e){return e.row_selectable?r.default.createElement("th",{key:"select",className:"expanded-row--empty-cell dash-select-header",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}}):null}createHeaders(){const e=this.props;let t=e.columns,n=e.sorting,r=e.merge_duplicate_headers,i=e.n_fixed_columns,u=e.pagination_mode,a=e.row_deletable,s=e.row_selectable,l=e.setProps,c=e.sorting_settings,p=e.sorting_type;const d=(a?1:0)+(s?1:0);i=Math.max(0,i-d);const v=this.createDeletableHeader(e),g=this.createSelectableHeader(e),y=Math.max.apply(Math,t.map(f));let m;return m=1===y?[[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:0,labels:o.pluck("name",t),n_fixed_columns:i,pagination_mode:u,rowSorting:n,setProps:l,sorting_settings:c,sorting_type:p})]]:o.range(0,y).map(e=>[...v?[v]:[],...g?[g]:[],...this.createHeaderCells({columns:t,columnRowIndex:e,labels:t.map(t=>o.isNil(t.name)&&e===y-1?t.id:h(t,e)),n_fixed_columns:i,pagination_mode:u,rowSorting:!!n&&e+1===y,mergeCells:r&&e+1!==y,setProps:l,sorting_settings:c,sorting_type:p})])}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),i=n(7);t.default=((e,t)=>{if(o.default.trace("multi - updateSettings",e,t),e=r.clone(e),t.direction===i.SortDirection.None){const n=r.findIndex(e=>e.columnId===t.columnId,e);-1!==n&&e.splice(n,1)}else{const n=r.find(e=>e.columnId===t.columnId,e);n?n.direction=t.direction:e.push(t)}return e})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(3)),o=n(7);t.default=((e,t)=>(r.default.trace("single - updateSettings",e,t),t.direction===o.SortDirection.None?[]:[t]))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(35)),i=s(n(36)),u=s(n(3)),a=n(13);function s(e){return e&&e.__esModule?e:{default:e}}t.default=class{static toClipboard(e,t,n,a){const s=r.uniq(r.pluck(0,t).sort((e,t)=>e-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(s),r.last(s)+1,a).map(e=>r.props(l,r.props(r.pluck("id",n),e))),p=o.default.prototype.stringify(c);u.default.trace("TableClipboard -- set clipboard data: ",p),i.default.set(e,p)}static fromClipboard(e,t,n,s,l,c=!0,p=!0){const d=i.default.get(e);if(u.default.trace("TableClipboard -- get clipboard data: ",d),!d)return;const f=o.default.prototype.parse(d);let h=l;const v=s;if(c&&f[0].length+t[1]>=s.length)for(let e=s.length;et[`Column ${e}`]="");p&&u.default.debug("Clipboard -- Sorting or filtering active, do not create new rows");const g=n[t[0]];if(p&&f.length+g>=l.length){const e={};s.forEach(t=>e[t.id]=""),h=r.concat(h,r.repeat(e,f.length+g-l.length))}return f.forEach((e,o)=>e.forEach((e,i)=>{const u=t[0]+o;if(n.length<=t[0]+o)return;const s=n[u],l=t[1]+i,c=v[l];c&&(0,a.colIsEditable)(!0,c)&&(h=r.set(r.lensPath([s,c.id]),e,h))})),{dataframe:h,columns:v}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,u,a,s,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(u+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?u+='"'+i.replace(/"/g,'""')+'"':u+=i:u+=null===i||void 0===i?"":i;u+="\n"}return u},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=s(n(2)),o=a(n(1)),i=a(n(38)),u=s(n(15));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.isCellSelected=((e,t,n)=>e&&r.contains([t,n],e)),this.getEventHandler=((e,t,n)=>{const r=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),o=r.get(t)||r.set(t,new Map).get(t);return o.get(n)||o.set(n,e.bind(this,t,n)).get(n)}),this.handleClick=((e,t,n)=>{var o=this.props;const i=o.editable,u=o.is_focused,a=o.selected_cell,s=o.setProps,l=this.isCellSelected(a,e,t);if(!i)return;if(u||n.preventDefault(),l)return;n.preventDefault();const c=[e,t],p={is_focused:!1,active_cell:c},d=r.uniq(r.pluck(0,a)).sort((e,t)=>e-t),f=r.uniq(r.pluck(1,a)).sort((e,t)=>e-t),h=d[0],v=f[0];n.shiftKey?p.selected_cell=r.xprod(r.range(r.min(h,c[0]),r.max(h,c[0])+1),r.range(r.min(v,c[1]),r.max(v,c[1])+1)):p.selected_cell=[c],s(p)}),this.handleDoubleClick=((e,t,n)=>{var r=this.props;const o=r.editable,i=r.is_focused,u=r.setProps;if(!o)return;const a=[e,t];i||(n.preventDefault(),u({selected_cell:[a],active_cell:a,is_focused:!0}))}),this.handleChange=((e,t,n)=>{var o=this.props;const i=o.columns,u=o.dataframe,a=o.editable,s=o.setProps,l=i[t];a&&s({dataframe:r.set(r.lensPath([e,l.id]),n,u)})}),this.handlePaste=(e=>{e.preventDefault()})}get props(){return this.propsFn()}rowSelectCell(e){var t=this.props;const n=t.setProps,i=t.selected_rows,u=t.row_selectable;return u?o.default.createElement("td",{key:"select",className:"dash-select-cell",style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},o.default.createElement("input",{type:"single"===u?"radio":"checkbox",name:"row-select",checked:r.contains(e,i),onChange:()=>n({selected_rows:"single"===u?[e]:r.ifElse(r.contains(e),r.without([e]),r.append(e))(i)})})):null}rowDeleteCell(e){var t=this.props;const n=t.setProps;return t.row_deletable?o.default.createElement("td",{key:"delete",className:"dash-delete-cell",onClick:()=>n(u.deleteRow(e,this.props)),style:{width:"30px",maxWidth:"30px",minWidth:"30px"}},"×"):null}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,u=e.column_conditional_dropdowns,a=e.column_conditional_styles,s=e.column_static_dropdown,l=e.column_static_style,c=e.dropdown_properties,p=e.editable,d=e.id,f=e.is_focused,h=e.selected_cell,v=e.viewport;return v.dataframe.map((e,g)=>{const y=v.indices[g],m=this.rowDeleteCell(y),b=this.rowSelectCell(y),x=n.map((v,m)=>{let b=(c&&c[v.id]&&(c[v.id].length>y?c[v.id][y]:null)||v||{}).options;const x=n.indexOf(v),w=[`column-${x}`];let E=u.find(e=>e.id===v.id),_=s.find(e=>e.id===v.id);E=E&&E.dropdowns,_=b||_&&_.dropdown;let O=a.find(e=>e.id===v.id),S=l.find(e=>e.id===v.id);return O=O&&O.styles,S=S&&S.style,o.default.createElement(i.default,{key:`${v.id}-${m}`,active:t[0]===g&&t[1]===x,classes:w,clearable:v.clearable,conditionalDropdowns:E,conditionalStyles:O,datum:e,editable:p,focused:!!f,onClick:this.getEventHandler(this.handleClick,g,x),onDoubleClick:this.getEventHandler(this.handleDoubleClick,g,x),onPaste:this.handlePaste,onChange:this.getEventHandler(this.handleChange,y,x),property:v.id,selected:r.contains([g,x],h),staticDropdown:_,staticStyle:S,tableId:d,type:v.type,value:e[v.id]})});return b&&x.unshift(b),m&&x.unshift(m),x})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=f(o),u=f(n(39)),a=n(11),s=n(4),l=f(n(40)),c=f(n(17)),p=n(14),d=f(n(19));function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.getDropdown=(0,s.memoizeOne)((...e)=>e.length?e.slice(-1)[0]:void 0),this.getStyle=(0,s.memoizeOne)((...e)=>e.length?r.mergeAll(e):void 0),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode===p.KEY_CODES.ENTER&&this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,d.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}get classes(){var e=this.propsWithDefaults;let t=e.active,n=e.classes,r=e.editable,o=e.selected,i=e.type;return["dash-cell",...t?["focused"]:[],...r?[]:["cell--uneditable"],...o?["cell--selected"]:[],..."dropdown"===i?["dropdown"]:[],...n]}renderDropdown(){var e=this.propsWithDefaults;const t=e.clearable,n=e.onChange,r=e.value,o=this.dropdown;return o?i.default.createElement(u.default,{ref:"dropdown",clearable:t,onChange:e=>{n(e?e.value:e)},onOpen:this.handleOpenDropdown,options:o,placeholder:"",value:r}):this.renderValue()}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.focused,r=e.onClick,o=e.onDoubleClick,u=e.onPaste,a={className:[...t?["input-active"]:[],...n?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:r,onDoubleClick:o};return t||this.state.value!==this.props.value?i.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:u},a)):this.renderValue(a)}renderValue(e={}){const t=this.propsWithDefaults.value;return i.default.createElement("div",Object.assign({},e),t)}renderInner(){switch(this.props.type){case"text":case"numeric":return this.renderInput();case"dropdown":return this.renderDropdown();default:return this.renderValue()}}get dropdown(){var e=this.propsWithDefaults;let t=e.conditionalDropdowns,n=e.datum,o=e.property,i=e.staticDropdown,u=e.tableId;const a=[...i?[i]:[],...r.map(([e])=>e.dropdown,r.filter(([e,t])=>h.dropdownAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getDropdown(...a)}get style(){var e=this.propsWithDefaults;let t=e.conditionalStyles,n=e.datum,o=e.property,i=e.staticStyle,u=e.tableId;const a=[i,...r.map(([e])=>e.style,r.filter(([e,t])=>h.styleAstCache([u,o,t],[e.condition]).evaluate(n),r.addIndex(r.map)((e,t)=>[e,t],t)))];return this.getStyle(...a)}render(){const e=this.props.property;return i.default.createElement("td",{ref:"td",tabIndex:-1,className:this.classes.join(" "),style:this.style,"data-dash-column":e},this.renderInner())}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){const e=this.propsWithDefaults.active,t=this.refs.textInput;e&&t&&document.activeElement!==t&&(t.focus(),t.setSelectionRange(0,t.value?t.value.length:0)),e&&this.refs.dropdown&&this.refs.td.focus()}shouldComponentUpdate(e,t){const n=this.props,r=this.state;return!(0,a.isEqual)(n,e,!0)||!(0,a.isEqual)(r,t,!0)}}t.default=h,h.dropdownAstCache=(0,l.default)(e=>new c.default(e)),h.styleAstCache=(0,l.default)(e=>new c.default(e)),h.defaultProps={classes:[],conditionalDropdowns:[],conditionalStyles:[],staticStyle:{},type:"text"}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return V}),n.d(t,"AsyncCreatable",function(){return Y}),n.d(t,"Creatable",function(){return L}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return k}),n.d(t,"defaultMenuRenderer",function(){return m}),n.d(t,"defaultArrowRenderer",function(){return d}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(21),o=n.n(r),i=n(5),u=n.n(i),a=n(0),s=n.n(a),l=n(1),c=n.n(l),p=n(6),d=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:s.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],v=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],u=g(o),a=g(i);if(!u&&!a)return!1;var s=u?String(o):null,l=a?String(i):null;return r.ignoreAccents&&(s&&"label"!==r.matchProp&&(s=v(s)),l&&"value"!==r.matchProp&&(l=v(l))),r.ignoreCase&&(s&&"label"!==r.matchProp&&(s=s.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?s&&"label"!==r.matchProp&&s.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:s&&"label"!==r.matchProp&&s.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},m=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,a=e.onOptionRef,s=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionRenderer,f=e.options,h=e.removeValue,v=e.selectValue,g=e.valueArray,y=e.valueKey,m=p;return f.map(function(e,p){var f=g&&g.some(function(t){return t[y]===e[y]}),b=e===t,x=u()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(m,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+p+"-"+e[y],onFocus:i,onSelect:s,option:e,optionIndex:p,ref:function(e){a(e,b)},removeValue:h,selectValue:v},d(e,p,r))})};m.propTypes={focusOption:s.a.func,focusedOption:s.a.object,inputValue:s.a.string,instancePrefix:s.a.string,onFocus:s.a.func,onOptionRef:s.a.func,onSelect:s.a.func,optionClassName:s.a.string,optionComponent:s.a.func,optionRenderer:s.a.func,options:s.a.array,removeValue:s.a.func,selectValue:s.a.func,valueArray:s.a.array,valueKey:s.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var u=t[n](r),a=u.value;a instanceof e?Promise.resolve(a.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(u.done?"return":"normal",u.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,u){var a={key:e,arg:t,resolve:i,reject:u,next:null};r?r=r.next=a:(n=r=a,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),E=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},A=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},k=function(e){function t(e){w(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return S(t,e),E(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=u()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);k.propTypes={children:s.a.node,className:s.a.string,instancePrefix:s.a.string.isRequired,isDisabled:s.a.bool,isFocused:s.a.bool,isSelected:s.a.bool,onFocus:s.a.func,onSelect:s.a.func,onUnfocus:s.a.func,option:s.a.object.isRequired,optionIndex:s.a.number};var F=function(e){function t(e){w(this,t);var n=A(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return S(t,e),E(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:u()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:s.a.node,disabled:s.a.bool,id:s.a.string,onClick:s.a.func,onRemove:s.a.func,value:s.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=s.a.oneOfType([s.a.string,s.a.node]),R=s.a.oneOfType([s.a.string,s.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=s.offsetTop+s.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=M(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),a=this.state.isOpen,s=u()((O(n={},this._instancePrefix+"-list",a),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=_({},this.props.inputProps,{"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+a,"aria-haspopup":""+a,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":s,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(O({},this._instancePrefix+"-list",a));return c.a.createElement("div",_({},d,{"aria-expanded":a,"aria-owns":f,"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,_({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",_({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],a=n.slice(0,-1),s=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,a);return(s.get(u)||s.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),a=d(n(43)),s=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e,u):t.delete(e),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(a.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let r=Math.floor(n.length/e.page_size);e.current_page>=r||(e.current_page++,t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n,r);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=s(i),a=s(n(17));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,s=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new a.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,s,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])},function(e,t,n){n(59),e.exports=n(62)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(60)),u=n(3),a=s(u);function s(e){return e&&e.__esModule?e:{default:e}}a.default.setDebugLevel(u.DebugLevel.DEBUG),a.default.setLogLevel(u.LogLevel.WARNING),o.default.render(r.default.createElement(i.default,null),document.getElementById("root"))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tJSON.parse(JSON.stringify(e));class f extends i.Component{constructor(){super();const e=d(l.mockData.dataframe);this.state={filter:"",tableProps:{id:"table",dataframe:e,columns:d(l.mockData.columns).map(e=>o.merge(e,{editable_name:!0,deletable:!0})),editable:!0,sorting:!0,n_fixed_rows:4,n_fixed_columns:2,merge_duplicate_headers:!1,row_deletable:!0,row_selectable:"single",column_static_dropdown:[{id:"bbb",dropdown:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e}))}],table_style:[{selector:".dash-spreadsheet.dash-freeze-left",rule:"width: 1000px; max-width: 1000px;"}]}};const t=(0,c.memoizeOne)(()=>e=>{console.info("---\x3e",e),this.setState(t=>({tableProps:o.merge(t.tableProps,e)}))});Object.defineProperty(this,"setProps",{get:()=>t()})}render(){return u.default.createElement(s.Table,r({setProps:this.setProps},this.state.tableProps,{filtering:"fe"}))}}f.propTypes={value:a.default.any},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.miniData=t.mockDataSimple=t.mockData=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));const o=5e3;t.mockData=i([{id:"rows",type:"numeric",width:40,editable:!1,data:u(e=>e)},{id:"ccc",name:["City","Canada","Toronto"],type:"numeric",width:150,data:u(e=>e)},{id:"ddd",name:["City","Canada","Montréal"],type:"numeric",width:150,data:u(e=>100*e)},{id:"eee",name:["City","America","New York City"],type:"numeric",width:150,data:u(e=>e)},{id:"fff",name:["City","America","Boston"],type:"numeric",width:150,data:u(e=>e+1)},{id:"ggg",name:["City","France","Paris"],type:"numeric",editable:!0,width:150,data:u(e=>10*e)},{id:"bbb",name:["","Weather","Climate"],type:"dropdown",clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])},{id:"aaa",name:["","Weather","Temperature"],type:"numeric",width:150,data:u(e=>e+1)}]),t.mockDataSimple=i([{id:"aaa",name:"Temperature",type:"numeric",width:150,data:u(e=>e+1)},{id:"bbb",name:"Climate",type:"numeric",options:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e})),clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])}]),t.miniData=i([{id:"aaa",name:"cheese",data:[1,2,3]},{id:"bbb",name:"tomato",data:[3,2,1]}]);function i(e){const t={columns:[],dataframe:[]};return e.forEach(e=>{e.data.forEach((n,r)=>{t.dataframe[r]||(t.dataframe[r]={}),t.dataframe[r][e.id]=n}),t.columns.push(r.dissoc("data",e))}),t}function u(e,t=o){return r.range(1,t).map(e)}},function(e,t,n){e.exports=n.p+"index.html"}]); \ No newline at end of file +var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=s.a.oneOfType([s.a.string,s.a.node]),R=s.a.oneOfType([s.a.string,s.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=s.offsetTop+s.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=M(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),a=this.state.isOpen,s=u()((_(n={},this._instancePrefix+"-list",a),_(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=O({},this.props.inputProps,{"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+a,"aria-haspopup":""+a,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":s,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(_({},this._instancePrefix+"-list",a));return c.a.createElement("div",O({},d,{"aria-expanded":a,"aria-owns":f,"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],a=n.slice(0,-1),s=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,a);return(s.get(u)||s.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),a=d(n(43)),s=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(a.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=s(i),a=s(n(17));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,s=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new a.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,s,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])},function(e,t,n){n(59),e.exports=n(62)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(60)),u=n(3),a=s(u);function s(e){return e&&e.__esModule?e:{default:e}}a.default.setDebugLevel(u.DebugLevel.DEBUG),a.default.setLogLevel(u.LogLevel.WARNING),o.default.render(r.default.createElement(i.default,null),document.getElementById("root"))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tJSON.parse(JSON.stringify(e));class f extends i.Component{constructor(){super();const e=d(l.mockData.dataframe);this.state={filter:"",tableProps:{id:"table",dataframe:e,columns:d(l.mockData.columns).map(e=>o.merge(e,{editable_name:!0,deletable:!0})),editable:!0,sorting:!0,n_fixed_rows:4,n_fixed_columns:2,merge_duplicate_headers:!1,row_deletable:!0,row_selectable:"single",column_static_dropdown:[{id:"bbb",dropdown:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e}))}],table_style:[{selector:".dash-spreadsheet.dash-freeze-left",rule:"width: 1000px; max-width: 1000px;"}]}};const t=(0,c.memoizeOne)(()=>e=>{console.info("---\x3e",e),this.setState(t=>({tableProps:o.merge(t.tableProps,e)}))});Object.defineProperty(this,"setProps",{get:()=>t()})}render(){return u.default.createElement(s.Table,r({setProps:this.setProps},this.state.tableProps,{filtering:"fe"}))}}f.propTypes={value:a.default.any},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.miniData=t.mockDataSimple=t.mockData=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));const o=5e3;t.mockData=i([{id:"rows",type:"numeric",width:40,editable:!1,data:u(e=>e)},{id:"ccc",name:["City","Canada","Toronto"],type:"numeric",width:150,data:u(e=>e)},{id:"ddd",name:["City","Canada","Montréal"],type:"numeric",width:150,data:u(e=>100*e)},{id:"eee",name:["City","America","New York City"],type:"numeric",width:150,data:u(e=>e)},{id:"fff",name:["City","America","Boston"],type:"numeric",width:150,data:u(e=>e+1)},{id:"ggg",name:["City","France","Paris"],type:"numeric",editable:!0,width:150,data:u(e=>10*e)},{id:"bbb",name:["","Weather","Climate"],type:"dropdown",clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])},{id:"aaa",name:["","Weather","Temperature"],type:"numeric",width:150,data:u(e=>e+1)}]),t.mockDataSimple=i([{id:"aaa",name:"Temperature",type:"numeric",width:150,data:u(e=>e+1)},{id:"bbb",name:"Climate",type:"numeric",options:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e})),clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])}]),t.miniData=i([{id:"aaa",name:"cheese",data:[1,2,3]},{id:"bbb",name:"tomato",data:[3,2,1]}]);function i(e){const t={columns:[],dataframe:[]};return e.forEach(e=>{e.data.forEach((n,r)=>{t.dataframe[r]||(t.dataframe[r]={}),t.dataframe[r][e.id]=n}),t.columns.push(r.dissoc("data",e))}),t}function u(e,t=o){return r.range(1,t).map(e)}},function(e,t,n){e.exports=n.p+"index.html"}]); \ No newline at end of file diff --git a/src/dash-table/components/FilterFactory.tsx b/src/dash-table/components/FilterFactory.tsx index ad9dc7df6..ae48d2ebd 100644 --- a/src/dash-table/components/FilterFactory.tsx +++ b/src/dash-table/components/FilterFactory.tsx @@ -40,9 +40,9 @@ export default class FilterFactory { const value = ev.target.value.trim(); if (value && value.length) { - ops.set(columnId, value); + ops.set(columnId.toString(), value); } else { - ops.delete(columnId); + ops.delete(columnId.toString()); } setFilter(R.map( diff --git a/src/dash-table/components/Table/index.tsx b/src/dash-table/components/Table/index.tsx index 4e7e50354..e40efd1c2 100644 --- a/src/dash-table/components/Table/index.tsx +++ b/src/dash-table/components/Table/index.tsx @@ -29,6 +29,7 @@ export default class Table extends Component { super(props); this.controlled = this.getControlledProps(this.props); + this.updateDerivedProps(); } componentWillReceiveProps(nextProps: PropsWithDefaultsAndDerived) { @@ -84,7 +85,7 @@ export default class Table extends Component { pagination_mode, pagination_settings, setProps, - viewport.dataframe + virtual.dataframe ); const visibleColumns = this.visibleColumns(columns); diff --git a/src/dash-table/components/Table/props.ts b/src/dash-table/components/Table/props.ts index 324a64d22..03c5fae44 100644 --- a/src/dash-table/components/Table/props.ts +++ b/src/dash-table/components/Table/props.ts @@ -6,6 +6,11 @@ export enum FilteringType { Basic = 'basic' } +export interface IDerivedDataframe { + dataframe: Dataframe; + indices: Indices; +} + export type ActiveCell = CellCoordinates | []; export type CellCoordinates = [number, number]; export type ColumnId = string | number; @@ -142,15 +147,9 @@ export type ControlledTableProps = PropsWithDefaults & { setProps: SetProps; columns: VisibleColumns; - paginator: IPaginator - viewport: { - dataframe: Dataframe, - indices: Indices - }, - virtual: { - dataframe: Dataframe, - indices: Indices - } + paginator: IPaginator; + viewport: IDerivedDataframe; + virtual: IDerivedDataframe; }; export interface ICellFactoryOptions { @@ -173,9 +172,5 @@ export interface ICellFactoryOptions { selected_cell: SelectedCells; selected_rows: number[]; setProps: SetProps; - - viewport: { - dataframe: Dataframe, - indices: Indices - }; + viewport: IDerivedDataframe; } \ No newline at end of file diff --git a/src/dash-table/derived/paginator.ts b/src/dash-table/derived/paginator.ts index e6c4116c4..cc32e5fc5 100644 --- a/src/dash-table/derived/paginator.ts +++ b/src/dash-table/derived/paginator.ts @@ -1,3 +1,5 @@ +import * as R from 'ramda'; + import { memoizeOneFactory } from 'core/memoizer'; import { @@ -35,17 +37,20 @@ function getBackEndPagination( function getFrontEndPagination( pagination_settings: IPaginationSettings, setProps: SetProps, - virtual_dataframe: Dataframe + dataframe: Dataframe ) { return { loadNext: () => { - let maxPageIndex = Math.floor(virtual_dataframe.length / pagination_settings.page_size); + let maxPageIndex = Math.floor(dataframe.length / pagination_settings.page_size); if (pagination_settings.current_page >= maxPageIndex) { return; } - pagination_settings.current_page++; + pagination_settings = R.merge(pagination_settings, { + current_page: pagination_settings.current_page + 1 + }); + setProps({ pagination_settings }); }, loadPrevious: () => { @@ -53,7 +58,10 @@ function getFrontEndPagination( return; } - pagination_settings.current_page--; + pagination_settings = R.merge(pagination_settings, { + current_page: pagination_settings.current_page - 1 + }); + setProps({ pagination_settings }); } }; @@ -70,14 +78,14 @@ const getter = ( pagination_mode: PaginationMode, pagination_settings: IPaginationSettings, setProps: SetProps, - virtual_dataframe: Dataframe + dataframe: Dataframe ): IPaginator => { switch (pagination_mode) { case false: return getNoPagination(); case true: case 'fe': - return getFrontEndPagination(pagination_settings, setProps, virtual_dataframe); + return getFrontEndPagination(pagination_settings, setProps, dataframe); case 'be': return getBackEndPagination(pagination_settings, setProps); default: diff --git a/src/dash-table/derived/viewportDataframe.ts b/src/dash-table/derived/viewportDataframe.ts index 72fd780a4..f3b17ded7 100644 --- a/src/dash-table/derived/viewportDataframe.ts +++ b/src/dash-table/derived/viewportDataframe.ts @@ -4,19 +4,15 @@ import { Dataframe, Indices, IPaginationSettings, - PaginationMode + PaginationMode, + IDerivedDataframe } from 'dash-table/components/Table/props'; -interface IResult { - dataframe: Dataframe; - indices: Indices; -} - -function getNoPagination(dataframe: Dataframe, indices: Indices): IResult { +function getNoPagination(dataframe: Dataframe, indices: Indices): IDerivedDataframe { return { dataframe, indices }; } -function getFrontEndPagination(settings: IPaginationSettings, dataframe: Dataframe, indices: Indices): IResult { +function getFrontEndPagination(settings: IPaginationSettings, dataframe: Dataframe, indices: Indices): IDerivedDataframe { let currentPage = Math.min( settings.current_page, Math.floor(dataframe.length / settings.page_size) @@ -34,7 +30,7 @@ function getFrontEndPagination(settings: IPaginationSettings, dataframe: Datafra }; } -function getBackEndPagination(dataframe: Dataframe, indices: Indices): IResult { +function getBackEndPagination(dataframe: Dataframe, indices: Indices): IDerivedDataframe { return { dataframe, indices }; } @@ -43,7 +39,7 @@ const getter = ( pagination_settings: IPaginationSettings, dataframe: Dataframe, indices: Indices -): IResult => { +): IDerivedDataframe => { switch (pagination_mode) { case false: return getNoPagination(dataframe, indices); diff --git a/src/dash-table/derived/virtualDataframe.ts b/src/dash-table/derived/virtualDataframe.ts index 4242dbaee..18d8521ca 100644 --- a/src/dash-table/derived/virtualDataframe.ts +++ b/src/dash-table/derived/virtualDataframe.ts @@ -6,16 +6,11 @@ import SyntaxTree from 'core/syntax-tree'; import { Dataframe, Datum, - Indices, Filtering, + IDerivedDataframe, Sorting } from 'dash-table/components/Table/props'; -interface IResult { - dataframe: Dataframe; - indices: Indices; -} - const getter = ( dataframe: Dataframe, filtering: Filtering, @@ -23,7 +18,7 @@ const getter = ( sorting: Sorting, sorting_settings: SortSettings = [], sorting_treat_empty_string_as_none: boolean -): IResult => { +): IDerivedDataframe => { const map = new Map(); R.addIndex(R.forEach)((datum, index) => { map.set(datum, index); diff --git a/tests/e2e/cypress/integration/unit/derivedViewport_test.ts b/tests/e2e/cypress/integration/unit/derivedViewport_test.ts new file mode 100644 index 000000000..2071da946 --- /dev/null +++ b/tests/e2e/cypress/integration/unit/derivedViewport_test.ts @@ -0,0 +1,51 @@ +import * as R from 'ramda'; + +import derivedViewportDataframe from 'dash-table/derived/viewportDataframe'; + +describe.only('derived viewport', () => { + const viewportDataframe = derivedViewportDataframe(); + + describe('virtual dataframe <= page size', () => { + describe('with no pagination', () => { + it('returns entire dataframe', () => { + const result = viewportDataframe( + false, + { displayed_pages: 1, current_page: 0, page_size: 250 }, + R.map(() => { }, R.range(0, 5)), + R.range(0, 5) + ); + + expect(result.dataframe.length).to.equal(5); + expect(result.indices.length).to.equal(5); + }); + }); + + describe('with fe pagination', () => { + it('returns entire dataframe', () => { + const result = viewportDataframe( + 'fe', + { displayed_pages: 1, current_page: 0, page_size: 250 }, + R.map(() => { }, R.range(0, 5)), + R.range(0, 5) + ); + + expect(result.dataframe.length).to.equal(5); + expect(result.indices.length).to.equal(5); + }); + }); + + describe('with be pagination', () => { + it('returns entire dataframe', () => { + const result = viewportDataframe( + 'be', + { displayed_pages: 1, current_page: 0, page_size: 250 }, + R.map(() => { }, R.range(0, 5)), + R.range(0, 5) + ); + + expect(result.dataframe.length).to.equal(5); + expect(result.indices.length).to.equal(5); + }); + }); + }); +}); \ No newline at end of file From ac9a1d54d5e678911428a3fa2e5c56b8de45f898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 25 Sep 2018 19:43:31 -0400 Subject: [PATCH 2/8] update changelog --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4428dac0..9391afe76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -266,4 +266,8 @@ Derived properties allow the component to expose complex state that can be usefu * (CLASS) dash-freeze-top * (CLASS) dash-spreadsheet * (CLASS) dash-spreadsheet-container - * (CLASS) dash-spreadsheet-inner \ No newline at end of file + * (CLASS) dash-spreadsheet-inner + +## RC3 - Miscellaneous fixes for pagination, virtual df and viewport df + + Issue: https://github.com/plotly/dash-table/pull/112 \ No newline at end of file From 2aef71cdc8c27b41a20849f2617573c7a5b0c23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 25 Sep 2018 19:44:30 -0400 Subject: [PATCH 3/8] bump version --- dash_table/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dash_table/package.json b/dash_table/package.json index d3ac00a71..37886e191 100644 --- a/dash_table/package.json +++ b/dash_table/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.1.0rc2", + "version": "3.1.0rc3", "description": "Dash table", "main": "build/index.js", "scripts": { diff --git a/package.json b/package.json index d3ac00a71..37886e191 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.1.0rc2", + "version": "3.1.0rc3", "description": "Dash table", "main": "build/index.js", "scripts": { From d96fc006b5baa09909f0938eee1b7a56fc616beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 26 Sep 2018 10:19:49 -0400 Subject: [PATCH 4/8] filter typing --- src/dash-table/components/FilterFactory.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dash-table/components/FilterFactory.tsx b/src/dash-table/components/FilterFactory.tsx index ae48d2ebd..e88b4584d 100644 --- a/src/dash-table/components/FilterFactory.tsx +++ b/src/dash-table/components/FilterFactory.tsx @@ -24,7 +24,7 @@ export interface IFilterOptions { export default class FilterFactory { private readonly handlers = new Map(); - private readonly ops = new Map(); + private readonly ops = new Map(); private get props() { return this.propsFn(); @@ -142,13 +142,13 @@ export default class FilterFactory { } private isFragmentValidOrNull(columnId: ColumnId) { - const op = this.ops.get(columnId); + const op = this.ops.get(columnId.toString()); return !op || !op.trim().length || this.isFragmentValid(columnId); } private isFragmentValid(columnId: ColumnId) { - const op = this.ops.get(columnId); + const op = this.ops.get(columnId.toString()); const lexerResult = lexer(`${columnId} ${op}`); const syntaxerResult = syntaxer(lexerResult); @@ -182,7 +182,7 @@ export default class FilterFactory { isValid={this.isFragmentValidOrNull(column.id)} property={column.id} setFilter={this.getEventHandler(this.onChange, column.id, this.ops, setFilter)} - value={this.ops.get(column.id)} + value={this.ops.get(column.id.toString())} />); }, columns) : [( Date: Wed, 26 Sep 2018 10:34:55 -0400 Subject: [PATCH 5/8] - delete unused usage files - restructure tests folder --- .config/webpack/base.js | 2 +- TODO.md | 95 ------------------- cypress.json | 12 +-- dash_table/bundle.js | 2 +- dash_table/demo.js | 2 +- dash_table/package.json | 4 +- package.json | 4 +- tests/{e2e => }/cypress/@Types/modules.d.ts | 0 tests/{e2e => cypress}/dash/v_be_page.py | 0 tests/{e2e => cypress}/dash/v_copy_paste.py | 0 tests/{e2e => }/cypress/plugins/index.js | 2 +- tests/{e2e => }/cypress/src/DOM.ts | 0 tests/{e2e => }/cypress/src/DashTable.ts | 0 tests/{e2e => }/cypress/src/Key.ts | 0 tests/{e2e => }/cypress/support/commands.js | 0 tests/{e2e => }/cypress/support/index.js | 0 .../tests/server}/copy_paste_test.ts | 0 .../tests/server}/dash_test.ts | 0 .../tests/server}/delete_cells_test.ts | 0 tests/cypress/tests/server/delete_row_test.ts | 18 ++++ .../tests/server}/select_row_test.ts | 24 +---- .../tests/standalone/delete_row_test.ts | 18 ++++ .../tests/standalone}/edit_cell_test.ts | 0 .../tests/standalone}/navigation_test.ts | 0 .../tests/standalone/select_row_test.ts | 25 +++++ .../tests/standalone}/selection_test.ts | 0 .../tests/standalone}/sorting_test.ts | 0 .../tests}/unit/derivedViewport_test.ts | 22 ++++- .../tests}/unit/sorting_test.ts | 0 .../tests}/unit/syntactic_tree_test.ts | 0 tests/{e2e => }/cypress/tsconfig.json | 4 +- .../cypress/integration/delete_row_test.ts | 37 -------- usage.py | 77 --------------- usage_table_changes.py | 59 ------------ v_be_page_usage.py | 81 ---------------- v_fe_page_usage.py | 46 --------- 36 files changed, 99 insertions(+), 435 deletions(-) delete mode 100644 TODO.md rename tests/{e2e => }/cypress/@Types/modules.d.ts (100%) rename tests/{e2e => cypress}/dash/v_be_page.py (100%) rename tests/{e2e => cypress}/dash/v_copy_paste.py (100%) rename tests/{e2e => }/cypress/plugins/index.js (68%) rename tests/{e2e => }/cypress/src/DOM.ts (100%) rename tests/{e2e => }/cypress/src/DashTable.ts (100%) rename tests/{e2e => }/cypress/src/Key.ts (100%) rename tests/{e2e => }/cypress/support/commands.js (100%) rename tests/{e2e => }/cypress/support/index.js (100%) rename tests/{e2e/cypress/integration => cypress/tests/server}/copy_paste_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests/server}/dash_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests/server}/delete_cells_test.ts (100%) create mode 100644 tests/cypress/tests/server/delete_row_test.ts rename tests/{e2e/cypress/integration => cypress/tests/server}/select_row_test.ts (50%) create mode 100644 tests/cypress/tests/standalone/delete_row_test.ts rename tests/{e2e/cypress/integration => cypress/tests/standalone}/edit_cell_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests/standalone}/navigation_test.ts (100%) create mode 100644 tests/cypress/tests/standalone/select_row_test.ts rename tests/{e2e/cypress/integration => cypress/tests/standalone}/selection_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests/standalone}/sorting_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests}/unit/derivedViewport_test.ts (67%) rename tests/{e2e/cypress/integration => cypress/tests}/unit/sorting_test.ts (100%) rename tests/{e2e/cypress/integration => cypress/tests}/unit/syntactic_tree_test.ts (100%) rename tests/{e2e => }/cypress/tsconfig.json (91%) delete mode 100644 tests/e2e/cypress/integration/delete_row_test.ts delete mode 100644 usage.py delete mode 100644 usage_table_changes.py delete mode 100644 v_be_page_usage.py delete mode 100644 v_fe_page_usage.py diff --git a/.config/webpack/base.js b/.config/webpack/base.js index 6b6b88272..2270ffa31 100644 --- a/.config/webpack/base.js +++ b/.config/webpack/base.js @@ -62,7 +62,7 @@ module.exports = (preprocessor = {}, mode = 'development') => { }, resolve: { alias: { - 'cypress': path.resolve('./tests/e2e/cypress/src'), + 'cypress': path.resolve('./tests/cypress/src'), 'dash-table': path.resolve('./src/dash-table'), 'core': path.resolve('./src/core'), 'tests': path.resolve('./tests') diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 5cd5100f9..000000000 --- a/TODO.md +++ /dev/null @@ -1,95 +0,0 @@ -- [x] Header -- [x] Column widths -- [x] Cell selection - - Delete while selected - - Enter turns into edit mode - - Escape, Tab turns off edit mode -- [x] Arrow keys -- [x] Tab to switch cells - -*** - -- [x] Copy and paste - - [x] Creates new columns and rows if necessary - - [x] Doesn't paste contents into the cell if unfocused - - [x] Pastes contents into cell if focused - -- [x] Multiselection - - [x] Shift click - - [x] Shift arrows - - [x] style - outlines - - [x] style - last_cell - - [x] Delete - - [x] Copyable - -*** - -- [x] Performance - - [x] Display subset of rows - - [x] Only rerender certain rows -- [x] Multiline headers -- [x] Hide columns -- [x] Details -- [x] -- [x] Multiselection styles - -*** - -- [x] 1px borders -- [x] Column bottom border -- [x] basic sorting - - multi column sort - -*** - -- [x] dropdowns - -*** - -- [x] Bugs and Stability - - [x] Remove thicker line on row 10 - - [x] Fix selection at the edges - - [x] Show mutli selection background color on dropdown - - [x] Blur input when leaving it - - [x] Sorting text data -- [x] Editable per-column - - [x] Double clicking doesn't focus cell - - [x] Pressing enter doesn't focus cell - - [x] Typing while cell is selected doesn't change cell's value - - [x] Cell is still selectable - - [x] Copying selected cells still works - - [x] Deleting selected cells doesn't remove entries from uneditable columns - - [x] Pasting doesn't update the cell - - [x] Cell's cursor indicates that the cell isn't editable - - [x] Better open/close icon arrows - -*** - -- [x] vertical (and horizontal) panes - -*** - -- multiline header -- scoped css styles -- scoped events -- css api - -*** - -- Reactivity (may be the below are already addressed above) - - Subset of columns / rows reactive - - being able to identify specific cells which are updated -- Add / delete row / col -- Column headers represented by two states viz. name and label; the label is displayed which can be editable and the name is used for all internal working. - - -*** - -- Hidden column edge cases -- Left aligned text values -- Custom styles -- Input styles -- Draggable column size -- Initial sorting -- Pressing enter while on a dropdown cell should open dropdown -- Filtering diff --git a/cypress.json b/cypress.json index d0b294171..eb765870e 100644 --- a/cypress.json +++ b/cypress.json @@ -1,9 +1,9 @@ { "video": false, - "fixturesFolder": "./tests/e2e/cypress/fixtures", - "integrationFolder": "./tests/e2e/cypress/integration", - "pluginsFile": "./tests/e2e/cypress/plugins/index.js", - "screenshotsFolder": "./tests/e2e/cypress/screenshots", - "supportFile": "./tests/e2e/cypress/support/index.js", - "videoFolder": "./tests/e2e/cypress/videos" + "fixturesFolder": "./tests/cypress/fixtures", + "integrationFolder": "./tests/cypress/tests", + "pluginsFile": "./tests/cypress/plugins/index.js", + "screenshotsFolder": "./tests/cypress/screenshots", + "supportFile": "./tests/cypress/support/index.js", + "videoFolder": "./tests/cypress/videos" } \ No newline at end of file diff --git a/dash_table/bundle.js b/dash_table/bundle.js index 89a3c5411..06b471196 100644 --- a/dash_table/bundle.js +++ b/dash_table/bundle.js @@ -15,4 +15,4 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=a.a.oneOfType([a.a.string,a.a.node]),R=a.a.oneOfType([a.a.string,a.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=a.offsetTop+a.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),s=this.state.isOpen,a=u()((O(n={},this._instancePrefix+"-list",s),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=_({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":a,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(O({},this._instancePrefix+"-list",s));return c.a.createElement("div",_({},d,{"aria-expanded":s,"aria-owns":f,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,_({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",_({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],s=n.slice(0,-1),a=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(a.get(u)||a.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),s=d(n(43)),a=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(s.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=a(i),s=a(n(17));function a(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,a=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new s.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,a,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])}]); \ No newline at end of file +var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=a.a.oneOfType([a.a.string,a.a.node]),R=a.a.oneOfType([a.a.string,a.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=a.offsetTop+a.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=I(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),s=this.state.isOpen,a=u()((O(n={},this._instancePrefix+"-list",s),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=_({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":a,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(O({},this._instancePrefix+"-list",s));return c.a.createElement("div",_({},d,{"aria-expanded":s,"aria-owns":f,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,_({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",_({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],s=n.slice(0,-1),a=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(a.get(u)||a.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),s=d(n(43)),a=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e.toString());return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e.toString()),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id.toString())}),t):[o.default.createElement(s.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=a(i),s=a(n(17));function a(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,a=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new s.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,a,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])}]); \ No newline at end of file diff --git a/dash_table/demo.js b/dash_table/demo.js index 98be0b8ce..e43d56cac 100644 --- a/dash_table/demo.js +++ b/dash_table/demo.js @@ -15,4 +15,4 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/react-select */ -var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=s.a.oneOfType([s.a.string,s.a.node]),R=s.a.oneOfType([s.a.string,s.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=s.offsetTop+s.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=M(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),a=this.state.isOpen,s=u()((_(n={},this._instancePrefix+"-list",a),_(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=O({},this.props.inputProps,{"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+a,"aria-haspopup":""+a,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":s,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(_({},this._instancePrefix+"-list",a));return c.a.createElement("div",O({},d,{"aria-expanded":a,"aria-owns":f,"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],a=n.slice(0,-1),s=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,a);return(s.get(u)||s.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),a=d(n(43)),s=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e);return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),t):[o.default.createElement(a.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=s(i),a=s(n(17));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,s=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new a.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,s,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])},function(e,t,n){n(59),e.exports=n(62)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(60)),u=n(3),a=s(u);function s(e){return e&&e.__esModule?e:{default:e}}a.default.setDebugLevel(u.DebugLevel.DEBUG),a.default.setLogLevel(u.LogLevel.WARNING),o.default.render(r.default.createElement(i.default,null),document.getElementById("root"))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tJSON.parse(JSON.stringify(e));class f extends i.Component{constructor(){super();const e=d(l.mockData.dataframe);this.state={filter:"",tableProps:{id:"table",dataframe:e,columns:d(l.mockData.columns).map(e=>o.merge(e,{editable_name:!0,deletable:!0})),editable:!0,sorting:!0,n_fixed_rows:4,n_fixed_columns:2,merge_duplicate_headers:!1,row_deletable:!0,row_selectable:"single",column_static_dropdown:[{id:"bbb",dropdown:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e}))}],table_style:[{selector:".dash-spreadsheet.dash-freeze-left",rule:"width: 1000px; max-width: 1000px;"}]}};const t=(0,c.memoizeOne)(()=>e=>{console.info("---\x3e",e),this.setState(t=>({tableProps:o.merge(t.tableProps,e)}))});Object.defineProperty(this,"setProps",{get:()=>t()})}render(){return u.default.createElement(s.Table,r({setProps:this.setProps},this.state.tableProps,{filtering:"fe"}))}}f.propTypes={value:a.default.any},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.miniData=t.mockDataSimple=t.mockData=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));const o=5e3;t.mockData=i([{id:"rows",type:"numeric",width:40,editable:!1,data:u(e=>e)},{id:"ccc",name:["City","Canada","Toronto"],type:"numeric",width:150,data:u(e=>e)},{id:"ddd",name:["City","Canada","Montréal"],type:"numeric",width:150,data:u(e=>100*e)},{id:"eee",name:["City","America","New York City"],type:"numeric",width:150,data:u(e=>e)},{id:"fff",name:["City","America","Boston"],type:"numeric",width:150,data:u(e=>e+1)},{id:"ggg",name:["City","France","Paris"],type:"numeric",editable:!0,width:150,data:u(e=>10*e)},{id:"bbb",name:["","Weather","Climate"],type:"dropdown",clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])},{id:"aaa",name:["","Weather","Temperature"],type:"numeric",width:150,data:u(e=>e+1)}]),t.mockDataSimple=i([{id:"aaa",name:"Temperature",type:"numeric",width:150,data:u(e=>e+1)},{id:"bbb",name:"Climate",type:"numeric",options:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e})),clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])}]),t.miniData=i([{id:"aaa",name:"cheese",data:[1,2,3]},{id:"bbb",name:"tomato",data:[3,2,1]}]);function i(e){const t={columns:[],dataframe:[]};return e.forEach(e=>{e.data.forEach((n,r)=>{t.dataframe[r]||(t.dataframe[r]={}),t.dataframe[r][e.id]=n}),t.columns.push(r.dissoc("data",e))}),t}function u(e,t=o){return r.range(1,t).map(e)}},function(e,t,n){e.exports=n.p+"index.html"}]); \ No newline at end of file +var D=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=s.a.oneOfType([s.a.string,s.a.node]),R=s.a.oneOfType([s.a.string,s.a.number]),T=1,j=function(e,t){var n=void 0===e?"undefined":x(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var r=t.options,o=t.valueKey;if(r)for(var i=0;iu||id.bottom?l.scrollTop=s.offsetTop+s.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":x(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null===e||void 0===e)return[];e=[e]}return e.map(function(e){return j(e,n)}).filter(function(e){return e})}var r=j(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=M(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map(function(e){return e[t.props.valueKey]}).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},function(){t.getValueArray(t.props.value).some(function(n){return n[t.props.valueKey]===e[t.props.valueKey]})?t.removeValue(e):t.addValue(e)}):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},function(){t.setValue(e)})}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter(function(e){return!e.disabled}),r=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===r?this.focusOption(n[r-1]):n.length>r&&this.focusOption(n[r+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter(function(n){return n[t.props.valueKey]!==e[t.props.valueKey]})),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map(function(e,t){return{option:e,index:t}}).filter(function(e){return!e.option.disabled});if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var r=-1,o=0;o0?r-=1:r=t.length-1;else if("start"===e)r=0;else if("end"===e)r=t.length-1;else if("page_up"===e){var i=r-this.props.pageSize;r=i<0?0:i}else if("page_down"===e){var u=r+this.props.pageSize;r=u>t.length-1?t.length-1:u}-1===r&&(r=0),this.setState({focusedIndex:t[r].index,focusedOption:t[r].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,r=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length)return function(e,t,n){var r=e.inputValue,o=e.isPseudoFocused,i=e.isFocused,u=t.onSelectResetsInput;return!r||!u&&!n&&!o&&!i}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var i=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map(function(e,t){return c.a.createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:i,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},r(e,t),c.a.createElement("span",{className:"Select-aria-only"}," "))}):function(e,t){var n=e.inputValue,r=e.isPseudoFocused,o=e.isFocused,i=t.onSelectResetsInput;return!n||!i&&!(!o&&r||o&&!r)}(this.state,this.props)?(t&&(i=null),c.a.createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:i,placeholder:this.props.placeholder,value:e[0]},r(e[0]))):void 0}},{key:"renderInput",value:function(e,t){var n,r=this,i=u()("Select-input",this.props.inputProps.className),a=this.state.isOpen,s=u()((_(n={},this._instancePrefix+"-list",a),_(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=O({},this.props.inputProps,{"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+a,"aria-haspopup":""+a,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":s,className:i,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=C(this.props.inputProps,[]),f=u()(_({},this._instancePrefix+"-list",a));return c.a.createElement("div",O({},d,{"aria-expanded":a,"aria-owns":f,"aria-activedescendant":a?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:i,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return r.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(o.a,O({id:this.props.id},p,{minWidth:"5"})):c.a.createElement("div",{className:i,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",O({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var r="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return r(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map(function(e){return D(e[t.props.valueKey])}).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map(function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:D(e[t.props.valueKey])})})}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,r=this.state.focusedOption||e;if(r&&!r.disabled){var o=-1;if(t.some(function(e,t){var i=e[n]===r[n];return i&&(o=t),i}),-1!==o)return o}for(var i=0;i{const u=n.slice(-1)[0],a=n.slice(0,-1),s=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,a);return(s.get(u)||s.set(u,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(u))(...i)}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=d(n(1)),i=d(n(3)),u=d(n(42)),a=d(n(43)),s=n(44),l=d(n(10)),c=n(16),p=d(n(18));function d(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.propsFn=e,this.handlers=new Map,this.ops=new Map,this.onChange=((e,t,n,o)=>{i.default.debug("Filter -- onChange",e,o.target.value&&o.target.value.trim());const u=o.target.value.trim();u&&u.length?t.set(e.toString(),u):t.delete(e.toString()),n(r.map(([e,t])=>`${e} ${t}`,r.filter(([e])=>this.isFragmentValid(e),Array.from(t.entries()))).join(" && "))}),this.getEventHandler=((e,t,n,r)=>{const o=this.handlers.get(e)||this.handlers.set(e,new Map).get(e),i=o.get(t)||o.set(t,new Map).get(t);return i.get(r)||i.set(r,e.bind(this,t,n,r)).get(r)})}get props(){return this.propsFn()}respectsBasicSyntax(e,t=!0){const n=[c.LexemeType.BinaryOperator,c.LexemeType.Expression,c.LexemeType.Operand,c.LexemeType.UnaryOperator];if(t&&n.push(c.LexemeType.And),!r.all(e=>r.contains(e.lexeme.name,n),e))return!1;const o=r.map(e=>e.value,r.filter(e=>e.lexeme.name===c.LexemeType.Operand,e)),i=r.uniq(o);return o.length===i.length}isBasicFilter(e,t,n=!0){return e.valid&&t.valid&&this.respectsBasicSyntax(e.lexemes,n)}updateOps(e){const t=(0,l.default)(e),n=(0,p.default)(t);if(!this.isBasicFilter(t,n))return;const r=[n.tree];for(;r.length;){const e=r.pop();e&&(e.lexeme.name===c.LexemeType.UnaryOperator&&e.block?this.ops.set(e.block.value,e.value):e.lexeme.name===c.LexemeType.BinaryOperator&&e.left&&e.right?this.ops.set(e.left.value,`${e.value} ${e.right.value}`):(r.push(e.left),r.push(e.block),r.push(e.right)))}}isFragmentValidOrNull(e){const t=this.ops.get(e.toString());return!t||!t.trim().length||this.isFragmentValid(e)}isFragmentValid(e){const t=this.ops.get(e.toString()),n=(0,l.default)(`${e} ${t}`),r=(0,p.default)(n);return r.valid&&this.isBasicFilter(n,r,!1)}createFilters(){var e=this.props;const t=e.columns,n=e.fillerColumns,i=e.filtering,l=e.filtering_settings,c=e.filtering_type,p=e.setFilter;if(!i)return[];this.updateOps(l);const d=r.range(0,n).map(e=>o.default.createElement("th",{key:`offset-${e}`})),f=c===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t}`,classes:`filter column-${t}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id.toString())}),t):[o.default.createElement(a.default,{key:"column-0",classes:[],colSpan:t.length,value:"",setFilter:()=>void 0})];return[r.concat(d,f)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>{(0,this.props.setFilter)({target:{value:e}})}),this.state={value:e.value}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}render(){var e=this.props;const t=e.classes,n=e.isValid,r=e.value;return o.default.createElement("th",{className:t+(n?"":" invalid")},o.default.createElement(i.default,{value:r,stopPropagation:!0,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(20));function u(e){return e&&e.__esModule?e:{default:e}}t.default=class extends r.PureComponent{constructor(e){super(e),this.submit=(e=>this.props.setFilter(e))}render(){var e=this.props;const t=e.colSpan,n=e.value;return o.default.createElement("th",{colSpan:t},o.default.createElement(i.default,{stopPropagation:!0,value:n,submit:this.submit}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.FilteringType=void 0;!function(e){e.Advanced="advanced",e.Basic="basic"}(r||(t.FilteringType=r={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)((e,t,n,o)=>{switch(e){case!1:return{loadNext:()=>{},loadPrevious:()=>{}};case!0:case"fe":return function(e,t,n){return{loadNext:()=>{let o=Math.floor(n.length/e.page_size);e.current_page>=o||(e=r.merge(e,{current_page:e.current_page+1}),t({pagination_settings:e}))},loadPrevious:()=>{e.current_page<=0||(e=r.merge(e,{current_page:e.current_page-1}),t({pagination_settings:e}))}}}(t,n,o);case"be":return function(e,t){return{loadNext:()=>{e.current_page++,t({pagination_settings:e})},loadPrevious:()=>{e.current_page<=0||(e.current_page--,t({pagination_settings:e}))}}}(t,n);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.default=(0,r.memoizeOneFactory)((e,t,n,r)=>{switch(e){case!1:return function(e,t){return{dataframe:e,indices:t}}(n,r);case!0:case"fe":return function(e,t,n){let r=Math.min(e.current_page,Math.floor(t.length/e.page_size));const o=e.page_size*r,i=Math.min(o+e.displayed_pages*e.page_size,t.length);return{dataframe:t.slice(o,i),indices:n.slice(o,i)}}(t,n,r);case"be":return function(e,t){return{dataframe:e,indices:t}}(n,r);default:throw new Error(`Unknown pagination mode: '${e}'`)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4),i=n(7),u=s(i),a=s(n(17));function s(e){return e&&e.__esModule?e:{default:e}}t.default=(0,o.memoizeOneFactory)((e,t,n,o,s=[],l)=>{const c=new Map;if(r.addIndex(r.forEach)((e,t)=>{c.set(e,t)},e),"fe"===t||!0===t){const t=new a.default(n);e=t.isValid?t.filter(e):e}const p=l?e=>""===e||(0,i.defaultIsNully)(e):void 0;return"fe"!==o&&!0!==o||(e=(0,u.default)(e,s,p)),{dataframe:e,indices:r.map(e=>c.get(e),e)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(4);t.default=(0,o.memoizeOneFactory)(e=>r.filter(e=>!e.hidden,e))},function(e,t,n){var r=n(50);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/**\n * React Select\n * ============\n * Created by Jed Watson and Joss Mackison for KeystoneJS, http://www.keystonejs.com/\n * https://twitter.com/jedwatson https://twitter.com/jossmackison https://twitter.com/keystonejs\n * MIT License: https://github.com/JedWatson/react-select\n*/\n.Select {\n position: relative;\n}\n.Select input::-webkit-contacts-auto-fill-button,\n.Select input::-webkit-credentials-auto-fill-button {\n display: none !important;\n}\n.Select input::-ms-clear {\n display: none !important;\n}\n.Select input::-ms-reveal {\n display: none !important;\n}\n.Select,\n.Select div,\n.Select input,\n.Select span {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.Select.is-disabled .Select-arrow-zone {\n cursor: default;\n pointer-events: none;\n opacity: 0.35;\n}\n.Select.is-disabled > .Select-control {\n background-color: #f9f9f9;\n}\n.Select.is-disabled > .Select-control:hover {\n box-shadow: none;\n}\n.Select.is-open > .Select-control {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background: #fff;\n border-color: #b3b3b3 #ccc #d9d9d9;\n}\n.Select.is-open > .Select-control .Select-arrow {\n top: -2px;\n border-color: transparent transparent #999;\n border-width: 0 5px 5px;\n}\n.Select.is-searchable.is-open > .Select-control {\n cursor: text;\n}\n.Select.is-searchable.is-focused:not(.is-open) > .Select-control {\n cursor: text;\n}\n.Select.is-focused > .Select-control {\n background: #fff;\n}\n.Select.is-focused:not(.is-open) > .Select-control {\n border-color: #007eff;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);\n background: #fff;\n}\n.Select.has-value.is-clearable.Select--single > .Select-control .Select-value {\n padding-right: 42px;\n}\n.Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: #333;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {\n cursor: pointer;\n text-decoration: none;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n color: #007eff;\n outline: none;\n text-decoration: underline;\n}\n.Select.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,\n.Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {\n background: #fff;\n}\n.Select.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select.is-open .Select-arrow,\n.Select .Select-arrow-zone:hover > .Select-arrow {\n border-top-color: #666;\n}\n.Select.Select--rtl {\n direction: rtl;\n text-align: right;\n}\n.Select-control {\n background-color: #fff;\n border-color: #d9d9d9 #ccc #b3b3b3;\n border-radius: 4px;\n border: 1px solid #ccc;\n color: #333;\n cursor: default;\n display: table;\n border-spacing: 0;\n border-collapse: separate;\n height: 36px;\n outline: none;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.Select-control:hover {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n}\n.Select-control .Select-input:focus {\n outline: none;\n background: #fff;\n}\n.Select-placeholder,\n.Select--single > .Select-control .Select-value {\n bottom: 0;\n color: #aaa;\n left: 0;\n line-height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n position: absolute;\n right: 0;\n top: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Select-input {\n height: 34px;\n padding-left: 10px;\n padding-right: 10px;\n vertical-align: middle;\n}\n.Select-input > input {\n width: 100%;\n background: none transparent;\n border: 0 none;\n box-shadow: none;\n cursor: default;\n display: inline-block;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n outline: none;\n line-height: 17px;\n /* For IE 8 compatibility */\n padding: 8px 0 12px;\n /* For IE 8 compatibility */\n -webkit-appearance: none;\n}\n.is-focused .Select-input > input {\n cursor: text;\n}\n.has-value.is-pseudo-focused .Select-input {\n opacity: 0;\n}\n.Select-control:not(.is-searchable) > .Select-input {\n outline: none;\n}\n.Select-loading-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 16px;\n}\n.Select-loading {\n -webkit-animation: Select-animation-spin 400ms infinite linear;\n -o-animation: Select-animation-spin 400ms infinite linear;\n animation: Select-animation-spin 400ms infinite linear;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid #ccc;\n border-right-color: #333;\n display: inline-block;\n position: relative;\n vertical-align: middle;\n}\n.Select-clear-zone {\n -webkit-animation: Select-animation-fadeIn 200ms;\n -o-animation: Select-animation-fadeIn 200ms;\n animation: Select-animation-fadeIn 200ms;\n color: #999;\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 17px;\n}\n.Select-clear-zone:hover {\n color: #D0021B;\n}\n.Select-clear {\n display: inline-block;\n font-size: 18px;\n line-height: 1;\n}\n.Select--multi .Select-clear-zone {\n width: 17px;\n}\n.Select-arrow-zone {\n cursor: pointer;\n display: table-cell;\n position: relative;\n text-align: center;\n vertical-align: middle;\n width: 25px;\n padding-right: 5px;\n}\n.Select--rtl .Select-arrow-zone {\n padding-right: 0;\n padding-left: 5px;\n}\n.Select-arrow {\n border-color: #999 transparent transparent;\n border-style: solid;\n border-width: 5px 5px 2.5px;\n display: inline-block;\n height: 0;\n width: 0;\n position: relative;\n}\n.Select-control > *:last-child {\n padding-right: 5px;\n}\n.Select--multi .Select-multi-value-wrapper {\n display: inline-block;\n}\n.Select .Select-aria-only {\n position: absolute;\n display: inline-block;\n height: 1px;\n width: 1px;\n margin: -1px;\n clip: rect(0, 0, 0, 0);\n overflow: hidden;\n float: left;\n}\n@-webkit-keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes Select-animation-fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.Select-menu-outer {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n background-color: #fff;\n border: 1px solid #ccc;\n border-top-color: #e6e6e6;\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);\n box-sizing: border-box;\n margin-top: -1px;\n max-height: 200px;\n position: absolute;\n left: 0;\n top: 100%;\n width: 100%;\n z-index: 1;\n -webkit-overflow-scrolling: touch;\n}\n.Select-menu {\n max-height: 198px;\n overflow-y: auto;\n}\n.Select-option {\n box-sizing: border-box;\n background-color: #fff;\n color: #666666;\n cursor: pointer;\n display: block;\n padding: 8px 10px;\n}\n.Select-option:last-child {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.Select-option.is-selected {\n background-color: #f5faff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.04);\n color: #333;\n}\n.Select-option.is-focused {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n color: #333;\n}\n.Select-option.is-disabled {\n color: #cccccc;\n cursor: default;\n}\n.Select-noresults {\n box-sizing: border-box;\n color: #999999;\n cursor: default;\n display: block;\n padding: 8px 10px;\n}\n.Select--multi .Select-input {\n vertical-align: middle;\n margin-left: 10px;\n padding: 0;\n}\n.Select--multi.Select--rtl .Select-input {\n margin-left: 0;\n margin-right: 10px;\n}\n.Select--multi.has-value .Select-input {\n margin-left: 5px;\n}\n.Select--multi .Select-value {\n background-color: #ebf5ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.08);\n border-radius: 2px;\n border: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border: 1px solid rgba(0, 126, 255, 0.24);\n color: #007eff;\n display: inline-block;\n font-size: 0.9em;\n line-height: 1.4;\n margin-left: 5px;\n margin-top: 5px;\n vertical-align: top;\n}\n.Select--multi .Select-value-icon,\n.Select--multi .Select-value-label {\n display: inline-block;\n vertical-align: middle;\n}\n.Select--multi .Select-value-label {\n border-bottom-right-radius: 2px;\n border-top-right-radius: 2px;\n cursor: default;\n padding: 2px 5px;\n}\n.Select--multi a.Select-value-label {\n color: #007eff;\n cursor: pointer;\n text-decoration: none;\n}\n.Select--multi a.Select-value-label:hover {\n text-decoration: underline;\n}\n.Select--multi .Select-value-icon {\n cursor: pointer;\n border-bottom-left-radius: 2px;\n border-top-left-radius: 2px;\n border-right: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-right: 1px solid rgba(0, 126, 255, 0.24);\n padding: 1px 5px 3px;\n}\n.Select--multi .Select-value-icon:hover,\n.Select--multi .Select-value-icon:focus {\n background-color: #d8eafd;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 113, 230, 0.08);\n color: #0071e6;\n}\n.Select--multi .Select-value-icon:active {\n background-color: #c2e0ff;\n /* Fallback color for IE 8 */\n background-color: rgba(0, 126, 255, 0.24);\n}\n.Select--multi.Select--rtl .Select-value {\n margin-left: 0;\n margin-right: 5px;\n}\n.Select--multi.Select--rtl .Select-value-icon {\n border-right: none;\n border-left: 1px solid #c2e0ff;\n /* Fallback color for IE 8 */\n border-left: 1px solid rgba(0, 126, 255, 0.24);\n}\n.Select--multi.is-disabled .Select-value {\n background-color: #fcfcfc;\n border: 1px solid #e3e3e3;\n color: #333;\n}\n.Select--multi.is-disabled .Select-value-icon {\n cursor: not-allowed;\n border-right: 1px solid #e3e3e3;\n}\n.Select--multi.is-disabled .Select-value-icon:hover,\n.Select--multi.is-disabled .Select-value-icon:focus,\n.Select--multi.is-disabled .Select-value-icon:active {\n background-color: #fcfcfc;\n}\n@keyframes Select-animation-spin {\n to {\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes Select-animation-spin {\n to {\n -webkit-transform: rotate(1turn);\n }\n}\n",""])},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(o=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:r+i.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}},function(e,t,n){var r=n(53);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet.dash-freeze-left {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-width: 500px;\n}\n.dash-spreadsheet.dash-freeze-top {\n width: auto;\n width: fit-content;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n max-height: 500px;\n}\n.dash-spreadsheet-container {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.dash-spreadsheet-inner {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n.dash-spreadsheet-inner.dash-freeze-left,\n.dash-spreadsheet-inner.dash-freeze-top {\n overflow: hidden !important;\n}\n.dash-spreadsheet-inner *,\n.dash-spreadsheet-inner *:after,\n.dash-spreadsheet-inner *:before {\n box-sizing: inherit;\n}\n.dash-spreadsheet-inner .Select {\n overflow: hidden;\n position: static;\n}\n.dash-spreadsheet-inner .Select,\n.dash-spreadsheet-inner .Select-control {\n background-color: inherit;\n}\n.dash-spreadsheet-inner .Select-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n}\n.dash-spreadsheet-inner .marker-row tr {\n visibility: hidden !important;\n}\n.dash-spreadsheet-inner .marker-row td,\n.dash-spreadsheet-inner .marker-row th {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n}\n.dash-spreadsheet-inner .row-0 {\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n}\n.dash-spreadsheet-inner .row-1 {\n display: flex;\n flex-direction: row;\n overflow: scroll;\n}\n.dash-spreadsheet-inner .cell-0-0,\n.dash-spreadsheet-inner .cell-1-0 {\n flex: 0 0 auto;\n left: 0;\n position: sticky;\n z-index: 400;\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top):not(.dash-freeze-left) .cell-1-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.dash-freeze-top).dash-freeze-left .cell-1-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-0-1 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top:not(.dash-freeze-left) .cell-1-1 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-0 tr:first-of-type th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-0-1 tr:first-of-type th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.dash-freeze-top.dash-freeze-left .cell-1-0 tr th:first-of-type {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell-0-1 {\n z-index: 300;\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell-1-1 {\n flex: 0 0 auto;\n}\n.dash-spreadsheet-inner .cell td,\n.dash-spreadsheet-inner .cell th {\n box-shadow: inset 0px 0px 0px 0px var(--border), inset 0px 0px 0px 0px var(--border), inset -1px 0px 0px var(--border), inset 0px -1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner .cell td:focus,\n.dash-spreadsheet-inner .cell th:focus {\n outline: none;\n}\n.dash-spreadsheet-inner .filter.invalid {\n box-shadow: inset 1px 0px 0px 0px red, inset 0px 1px 0px 0px red, inset -1px 0px 0px red, inset 0px -1px 0px 0px red;\n background-color: pink;\n}\n.dash-spreadsheet-inner .selected-row td,\n.dash-spreadsheet-inner .selected-row th {\n background-color: var(--selected-row);\n}\n.dash-spreadsheet-inner tr {\n background-color: white;\n}\n.dash-spreadsheet-inner td {\n background-color: inherit;\n}\n.dash-spreadsheet-inner td.cell--selected {\n background-color: var(--selected-background);\n}\n.dash-spreadsheet-inner td.focused {\n box-shadow: 1px 0px 0px 0px var(--accent), 0px 1px 0px 0px var(--accent), 0 0px 0px var(--accent), 0px 0 0px 0px var(--accent);\n border: 1px solid var(--accent);\n margin: -1px;\n z-index: 200;\n}\n.dash-spreadsheet-inner td .dash-cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.dash-cell-value {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.dash-spreadsheet-inner td,\n.dash-spreadsheet-inner th {\n padding: 2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 30px;\n text-align: right;\n}\n.dash-spreadsheet-inner th .column-header--edit,\n.dash-spreadsheet-inner th .column-header--delete,\n.dash-spreadsheet-inner th .sort {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n cursor: pointer;\n}\n.dash-spreadsheet-inner textarea {\n white-space: pre;\n}\n.dash-spreadsheet-inner table {\n border-collapse: collapse;\n font-family: monospace;\n --accent: hotpink;\n --border: lightgrey;\n --text-color: #3c3c3c;\n --hover: #fdfdfd;\n --background-color-ellipses: #fdfdfd;\n --faded-text: #fafafa;\n --faded-text-header: #b4b4b4;\n --selected-background: rgba(255, 65, 54, 0.2);\n --faded-dropdown: #f0f0f0;\n --selected-row: #fff0ff;\n --muted: #c8c8c8;\n}\n/* focus happens after copying to clipboard */\n.dash-spreadsheet-inner table:focus {\n outline: none;\n}\n.dash-spreadsheet-inner thead {\n display: table-row-group;\n}\n.elip {\n text-align: center;\n width: 100%;\n background-color: var(--background-color-ellipses);\n}\n.dash-spreadsheet-inner td.dropdown {\n /*\n * To view the dropdown's contents, we need\n * overflow-y: visible.\n * Unfortunately, overflow-x: hidden and overflow-y: visible\n * can't both be set at the same time.\n * So, we have to make both overflow-x: visible and overflow-y: visble\n *\n * See https://stackoverflow.com/questions/6421966/\n *\n * There might be another solution with parent divs, but I haven't\n * tried it.\n */\n overflow-x: visible;\n}\n.dash-spreadsheet-inner th {\n box-shadow: inset 1px 0px 0px 0px var(--border), inset 0px 1px 0px 0px var(--border);\n}\n.dash-spreadsheet-inner :not(.cell--selected) tr:hover,\ntr:hover input :not(.cell--selected) {\n background-color: var(--hover);\n}\n.dash-spreadsheet-inner th {\n background-color: #fafafa;\n}\n.sort {\n cursor: pointer;\n float: left;\n color: var(--faded-text-header);\n font-size: 20px;\n}\nth:hover .sort {\n color: var(--accent);\n}\n.sort:hover {\n text-decoration: underline;\n}\n.expanded-row--empty-cell {\n box-shadow: none;\n background-color: transparent;\n}\n.expanded-row {\n text-align: center;\n}\n.dash-spreadsheet-inner input:not([type=radio]):not([type=checkbox]) {\n padding: 0px;\n margin: 0px;\n height: calc(100% - 1px);\n width: calc(100% - 1px);\n line-height: 30px;\n border: none;\n font-family: inherit;\n text-align: right;\n box-sizing: border-box;\n color: var(--text-color);\n background-color: transparent;\n /* so as to not overlay the box shadow */\n /* browser's default text-shadow is `$color 0px 0px 0px;`\n * for `input`, which makes it look a little bit heavier than dropdowns\n * or bare `td`\n */\n text-shadow: none;\n}\n.dash-spreadsheet-inner input.unfocused {\n color: transparent;\n text-shadow: 0 0 0 var(--text-color);\n cursor: default;\n}\n.dash-spreadsheet-inner input.unfocused:focus {\n outline: none;\n}\n.numeric {\n font-family: monospace;\n}\n.toggle-row {\n border: none;\n box-shadow: none;\n width: 10px;\n padding-left: 10px;\n padding-right: 10px;\n cursor: pointer;\n color: var(--faded-text);\n}\n.toggle-row--expanded {\n color: var(--accent);\n}\n.dash-spreadsheet-inner tr:hover .toggle-row {\n color: var(--accent);\n}\n.cell--uneditable,\n.cell--uneditable input {\n cursor: not-allowed;\n}\n.expanded-row {\n box-shadow: inset 2px 0px 0px 0px var(--accent), inset -1px 0px 0px 0px var(--border);\n /* inset 0px 1px 0px 0px var(--border); */\n}\n.dash-spreadsheet-inner .dash-delete-cell,\n.dash-spreadsheet-inner .dash-delete-header {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n font-size: 1.3rem;\n text-align: center;\n cursor: pointer;\n color: var(--muted);\n}\n.dash-spreadsheet-inner .dash-delete-cell:hover,\n.dash-spreadsheet-inner .dash-delete-header:hover {\n color: var(--accent);\n}\n.dash-spreadsheet-inner .column-header--edit {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--edit {\n color: var(--accent);\n opacity: 1;\n}\n.dash-spreadsheet-inner .column-header--delete {\n float: left;\n opacity: 0.1;\n padding-left: 2px;\n padding-right: 2px;\n cursor: pointer;\n}\n.dash-spreadsheet-inner th:hover .column-header--delete {\n color: var(--accent);\n opacity: 1;\n}\n",""])},function(e,t,n){var r=n(55);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,".dash-spreadsheet .Select,\n.dash-spreadsheet .Select-control {\n border: none;\n cursor: pointer;\n height: 30px; /* matches the td height and line-height */\n border: none;\n}\n\n.dash-spreadsheet .Select-placeholder,\n.dash-spreadsheet .Select--single > .Select-control .Select-value {\n height: 100%;\n line-height: inherit;\n}\n\n.dash-spreadsheet .Select.has-value.Select--single > .Select-control .Select-value .Select-value-label,\n.dash-spreadsheet .Select.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {\n color: var(--text-color);\n}\n\n.dash-spreadsheet .Select:hover,\n.dash-spreadsheet .Select-control:hover {\n border: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n z-index: 100;\n}\n\n.dash-spreadsheet .Select-arrow {\n border-top-color: var(--faded-dropdown);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .Select-control:hover .Select-arrow {\n border-top-color: var(--accent);\n border-left-color: transparent;\n border-right-color: transparent;\n border-bottom-color: transparent;\n}\n\n.dash-spreadsheet .is-open > .Select-control .Select-arrow {\n border-bottom-color: var(--background-color-8-react-select);\n border-left-color: transparent;\n border-right-color: transparent;\n border-top-color: transparent;\n}\n\n.dash-spreadsheet .Select--multi .Select-value,\n.dash-spreadsheet .Select--multi a.Select-value-label {\n color: var(--color-8-react-select);\n}\n\n.dash-spreadsheet .Select {\n border-radius: 0;\n}\n\n.dash-spreadsheet .Select.is-disabled > .Select-control {\n border: none;\n}\n\n.dash-spreadsheet .Select--multi .Select-value-icon:hover,\n.dash-spreadsheet .Select--multi .Select-value-icon:focus {\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select.is-disabled .Select-control {\n cursor: not-allowed;\n}\n\n.dash-spreadsheet .Select-menu-outer {\n background-color: white;\n border: none;\n border-bottom: thin var(--border) solid;\n border-radius: 0;\n border-top: none;\n}\n\n.dash-spreadsheet .Select-option {\n background-color: inherit;\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-option:hover {\n font-weight: bold;\n color: var(--accent);\n background-color: var(--hover);\n}\n\n.dash-spreadsheet .Select.is-focused:not(.is-open) > .Select-control {\n border: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n background: #fff;\n}\n\n.dash-spreadsheet .Select-option.is-focused {\n background-color: white;\n color: var(--accent);\n font-weight: bold;\n}\n\n.dash-spreadsheet .Select-clear {\n color: transparent;\n}\n.Select:hover .Select-clear {\n color: var(--accent);\n}\n\n.dash-spreadsheet .Select-control {\n padding-left: 2px;\n}\n\n.dash-spreadsheet .cell--selected .Select-control {\n background-color: var(--selected-background);\n border-radius: 0;\n}\n",""])},function(e,t,n){var r=n(57);"string"==typeof r&&(r=[[e.i,r,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(9)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(8)(!1)).push([e.i,"/*RESET CSS*/\nhtml {\n color: #000;\n background: #FFF;\n}\nbody,\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\ncode,\nform,\nfieldset,\nlegend,\ninput,\ntextarea,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\nfieldset,\nimg {\n border: 0;\n}\naddress,\ncaption,\ncite,\ncode,\ndfn,\nem,\nstrong,\nth,\nvar {\n font-style: normal;\n font-weight: normal;\n}\nol,\nul {\n list-style: none;\n}\ncaption,\nth {\n text-align: left;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: 100%;\n font-weight: normal;\n}\nq:before,\nq:after {\n content: '';\n}\nabbr,\nacronym {\n border: 0;\n font-variant: normal;\n}\nsup {\n vertical-align: text-top;\n}\nsub {\n vertical-align: text-bottom;\n}\ninput,\ntextarea,\nselect {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n *font-size: 100%;\n}\nlegend {\n color: #000;\n}\n#yui3-css-stamp.cssreset {\n display: none;\n}\ninput[type=\"button\"] {\n border-radius: 0;\n -webkit-appearance: none;\n}\n*:focus {\n outline: none;\n}\n.dash-spreadsheet-container input,\n.dash-spreadsheet-container table {\n font-size: 13px;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n",""])},function(e,t,n){n(59),e.exports=n(62)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(60)),u=n(3),a=s(u);function s(e){return e&&e.__esModule?e:{default:e}}a.default.setDebugLevel(u.DebugLevel.DEBUG),a.default.setLogLevel(u.LogLevel.WARNING),o.default.render(r.default.createElement(i.default,null),document.getElementById("root"))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;tJSON.parse(JSON.stringify(e));class f extends i.Component{constructor(){super();const e=d(l.mockData.dataframe);this.state={filter:"",tableProps:{id:"table",dataframe:e,columns:d(l.mockData.columns).map(e=>o.merge(e,{editable_name:!0,deletable:!0})),editable:!0,sorting:!0,n_fixed_rows:4,n_fixed_columns:2,merge_duplicate_headers:!1,row_deletable:!0,row_selectable:"single",column_static_dropdown:[{id:"bbb",dropdown:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e}))}],table_style:[{selector:".dash-spreadsheet.dash-freeze-left",rule:"width: 1000px; max-width: 1000px;"}]}};const t=(0,c.memoizeOne)(()=>e=>{console.info("---\x3e",e),this.setState(t=>({tableProps:o.merge(t.tableProps,e)}))});Object.defineProperty(this,"setProps",{get:()=>t()})}render(){return u.default.createElement(s.Table,r({setProps:this.setProps},this.state.tableProps,{filtering:"fe"}))}}f.propTypes={value:a.default.any},t.default=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.miniData=t.mockDataSimple=t.mockData=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2));const o=5e3;t.mockData=i([{id:"rows",type:"numeric",width:40,editable:!1,data:u(e=>e)},{id:"ccc",name:["City","Canada","Toronto"],type:"numeric",width:150,data:u(e=>e)},{id:"ddd",name:["City","Canada","Montréal"],type:"numeric",width:150,data:u(e=>100*e)},{id:"eee",name:["City","America","New York City"],type:"numeric",width:150,data:u(e=>e)},{id:"fff",name:["City","America","Boston"],type:"numeric",width:150,data:u(e=>e+1)},{id:"ggg",name:["City","France","Paris"],type:"numeric",editable:!0,width:150,data:u(e=>10*e)},{id:"bbb",name:["","Weather","Climate"],type:"dropdown",clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])},{id:"aaa",name:["","Weather","Temperature"],type:"numeric",width:150,data:u(e=>e+1)}]),t.mockDataSimple=i([{id:"aaa",name:"Temperature",type:"numeric",width:150,data:u(e=>e+1)},{id:"bbb",name:"Climate",type:"numeric",options:["Humid","Wet","Snowy","Tropical Beaches"].map(e=>({label:e,value:e})),clearable:!0,width:200,data:u(e=>["Humid","Wet","Snowy","Tropical Beaches"][e%4])}]),t.miniData=i([{id:"aaa",name:"cheese",data:[1,2,3]},{id:"bbb",name:"tomato",data:[3,2,1]}]);function i(e){const t={columns:[],dataframe:[]};return e.forEach(e=>{e.data.forEach((n,r)=>{t.dataframe[r]||(t.dataframe[r]={}),t.dataframe[r][e.id]=n}),t.columns.push(r.dissoc("data",e))}),t}function u(e,t=o){return r.range(1,t).map(e)}},function(e,t,n){e.exports=n.p+"index.html"}]); \ No newline at end of file diff --git a/dash_table/package.json b/dash_table/package.json index 37886e191..ff0fb9984 100644 --- a/dash_table/package.json +++ b/dash_table/package.json @@ -7,8 +7,8 @@ "preprivate::opentests": "run-s private::wait*", "preprivate::runtests": "run-s private::wait*", "private::build": "webpack --display-reasons --bail", - "private::host_dash8081": "python tests/e2e/dash/v_be_page.py", - "private::host_dash8082": "python tests/e2e/dash/v_copy_paste.py", + "private::host_dash8081": "python tests/cypress/dash/v_be_page.py", + "private::host_dash8082": "python tests/cypress/dash/v_copy_paste.py", "private::host_js": "http-server ./dash_table -c-1 --silent", "private::wait_dash8081": "wait-on http://localhost:8081", "private::wait_dash8082": "wait-on http://localhost:8082", diff --git a/package.json b/package.json index 37886e191..ff0fb9984 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "preprivate::opentests": "run-s private::wait*", "preprivate::runtests": "run-s private::wait*", "private::build": "webpack --display-reasons --bail", - "private::host_dash8081": "python tests/e2e/dash/v_be_page.py", - "private::host_dash8082": "python tests/e2e/dash/v_copy_paste.py", + "private::host_dash8081": "python tests/cypress/dash/v_be_page.py", + "private::host_dash8082": "python tests/cypress/dash/v_copy_paste.py", "private::host_js": "http-server ./dash_table -c-1 --silent", "private::wait_dash8081": "wait-on http://localhost:8081", "private::wait_dash8082": "wait-on http://localhost:8082", diff --git a/tests/e2e/cypress/@Types/modules.d.ts b/tests/cypress/@Types/modules.d.ts similarity index 100% rename from tests/e2e/cypress/@Types/modules.d.ts rename to tests/cypress/@Types/modules.d.ts diff --git a/tests/e2e/dash/v_be_page.py b/tests/cypress/dash/v_be_page.py similarity index 100% rename from tests/e2e/dash/v_be_page.py rename to tests/cypress/dash/v_be_page.py diff --git a/tests/e2e/dash/v_copy_paste.py b/tests/cypress/dash/v_copy_paste.py similarity index 100% rename from tests/e2e/dash/v_copy_paste.py rename to tests/cypress/dash/v_copy_paste.py diff --git a/tests/e2e/cypress/plugins/index.js b/tests/cypress/plugins/index.js similarity index 68% rename from tests/e2e/cypress/plugins/index.js rename to tests/cypress/plugins/index.js index b582bcdfd..a4df28734 100644 --- a/tests/e2e/cypress/plugins/index.js +++ b/tests/cypress/plugins/index.js @@ -2,7 +2,7 @@ const wp = require('@cypress/webpack-preprocessor') module.exports = (on) => { const options = { - webpackOptions: require('../../../../webpack.test.config.js'), + webpackOptions: require('../../../webpack.test.config.js'), } on('file:preprocessor', wp(options)) diff --git a/tests/e2e/cypress/src/DOM.ts b/tests/cypress/src/DOM.ts similarity index 100% rename from tests/e2e/cypress/src/DOM.ts rename to tests/cypress/src/DOM.ts diff --git a/tests/e2e/cypress/src/DashTable.ts b/tests/cypress/src/DashTable.ts similarity index 100% rename from tests/e2e/cypress/src/DashTable.ts rename to tests/cypress/src/DashTable.ts diff --git a/tests/e2e/cypress/src/Key.ts b/tests/cypress/src/Key.ts similarity index 100% rename from tests/e2e/cypress/src/Key.ts rename to tests/cypress/src/Key.ts diff --git a/tests/e2e/cypress/support/commands.js b/tests/cypress/support/commands.js similarity index 100% rename from tests/e2e/cypress/support/commands.js rename to tests/cypress/support/commands.js diff --git a/tests/e2e/cypress/support/index.js b/tests/cypress/support/index.js similarity index 100% rename from tests/e2e/cypress/support/index.js rename to tests/cypress/support/index.js diff --git a/tests/e2e/cypress/integration/copy_paste_test.ts b/tests/cypress/tests/server/copy_paste_test.ts similarity index 100% rename from tests/e2e/cypress/integration/copy_paste_test.ts rename to tests/cypress/tests/server/copy_paste_test.ts diff --git a/tests/e2e/cypress/integration/dash_test.ts b/tests/cypress/tests/server/dash_test.ts similarity index 100% rename from tests/e2e/cypress/integration/dash_test.ts rename to tests/cypress/tests/server/dash_test.ts diff --git a/tests/e2e/cypress/integration/delete_cells_test.ts b/tests/cypress/tests/server/delete_cells_test.ts similarity index 100% rename from tests/e2e/cypress/integration/delete_cells_test.ts rename to tests/cypress/tests/server/delete_cells_test.ts diff --git a/tests/cypress/tests/server/delete_row_test.ts b/tests/cypress/tests/server/delete_row_test.ts new file mode 100644 index 000000000..01625348d --- /dev/null +++ b/tests/cypress/tests/server/delete_row_test.ts @@ -0,0 +1,18 @@ +import DashTable from 'cypress/DashTable'; + +describe('delete', () => { + beforeEach(() => cy.visit('http://localhost:8081')); + + it('can delete row', () => { + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '0')); + DashTable.getDelete(0).click(); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '1')); + }); + + it('can delete row when sorted', () => { + cy.get('tr th.column-0 .sort').click({ force: true }); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '28155')); + DashTable.getDelete(0).click(); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '28154')); + }); +}); \ No newline at end of file diff --git a/tests/e2e/cypress/integration/select_row_test.ts b/tests/cypress/tests/server/select_row_test.ts similarity index 50% rename from tests/e2e/cypress/integration/select_row_test.ts rename to tests/cypress/tests/server/select_row_test.ts index 937ee773a..9833db046 100644 --- a/tests/e2e/cypress/integration/select_row_test.ts +++ b/tests/cypress/tests/server/select_row_test.ts @@ -1,6 +1,6 @@ import DashTable from 'cypress/DashTable'; -describe('delete', () => { +describe('select row', () => { describe('be pagination & sort', () => { beforeEach(() => cy.visit('http://localhost:8081')); @@ -22,26 +22,4 @@ describe('delete', () => { DashTable.getSelect(0).within(() => cy.get('input').should('not.be.checked')); }); }); - - describe('fe pagination & sort', () => { - beforeEach(() => cy.visit('http://localhost:8080')); - - it('can select row', () => { - DashTable.getSelect(0).within(() => cy.get('input').click()); - DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); - }); - - it('can select row when sorted', () => { - cy.get('tr th.column-0 .sort').click({ force: true }); - DashTable.getSelect(0).within(() => cy.get('input').click()); - DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); - }); - - it('select, sort, new row is not selected', () => { - DashTable.getSelect(0).within(() => cy.get('input').click()); - DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); - cy.get('tr th.column-0 .sort').click({ force: true }); - DashTable.getSelect(0).within(() => cy.get('input').should('not.be.checked')); - }); - }); }); \ No newline at end of file diff --git a/tests/cypress/tests/standalone/delete_row_test.ts b/tests/cypress/tests/standalone/delete_row_test.ts new file mode 100644 index 000000000..f9d445a20 --- /dev/null +++ b/tests/cypress/tests/standalone/delete_row_test.ts @@ -0,0 +1,18 @@ +import DashTable from 'cypress/DashTable'; + +describe('delete', () => { + beforeEach(() => cy.visit('http://localhost:8080')); + + it('can delete row', () => { + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '1')); + DashTable.getDelete(0).click(); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '2')); + }); + + it('can delete row when sorted', () => { + cy.get('tr th.column-0 .sort').click({ force: true }); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '4999')); + DashTable.getDelete(0).click(); + DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '4998')); + }); +}); \ No newline at end of file diff --git a/tests/e2e/cypress/integration/edit_cell_test.ts b/tests/cypress/tests/standalone/edit_cell_test.ts similarity index 100% rename from tests/e2e/cypress/integration/edit_cell_test.ts rename to tests/cypress/tests/standalone/edit_cell_test.ts diff --git a/tests/e2e/cypress/integration/navigation_test.ts b/tests/cypress/tests/standalone/navigation_test.ts similarity index 100% rename from tests/e2e/cypress/integration/navigation_test.ts rename to tests/cypress/tests/standalone/navigation_test.ts diff --git a/tests/cypress/tests/standalone/select_row_test.ts b/tests/cypress/tests/standalone/select_row_test.ts new file mode 100644 index 000000000..6af3e3417 --- /dev/null +++ b/tests/cypress/tests/standalone/select_row_test.ts @@ -0,0 +1,25 @@ +import DashTable from 'cypress/DashTable'; + +describe('select row', () => { + describe('fe pagination & sort', () => { + beforeEach(() => cy.visit('http://localhost:8080')); + + it('can select row', () => { + DashTable.getSelect(0).within(() => cy.get('input').click()); + DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); + }); + + it('can select row when sorted', () => { + cy.get('tr th.column-0 .sort').click({ force: true }); + DashTable.getSelect(0).within(() => cy.get('input').click()); + DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); + }); + + it('select, sort, new row is not selected', () => { + DashTable.getSelect(0).within(() => cy.get('input').click()); + DashTable.getSelect(0).within(() => cy.get('input').should('be.checked')); + cy.get('tr th.column-0 .sort').click({ force: true }); + DashTable.getSelect(0).within(() => cy.get('input').should('not.be.checked')); + }); + }); +}); \ No newline at end of file diff --git a/tests/e2e/cypress/integration/selection_test.ts b/tests/cypress/tests/standalone/selection_test.ts similarity index 100% rename from tests/e2e/cypress/integration/selection_test.ts rename to tests/cypress/tests/standalone/selection_test.ts diff --git a/tests/e2e/cypress/integration/sorting_test.ts b/tests/cypress/tests/standalone/sorting_test.ts similarity index 100% rename from tests/e2e/cypress/integration/sorting_test.ts rename to tests/cypress/tests/standalone/sorting_test.ts diff --git a/tests/e2e/cypress/integration/unit/derivedViewport_test.ts b/tests/cypress/tests/unit/derivedViewport_test.ts similarity index 67% rename from tests/e2e/cypress/integration/unit/derivedViewport_test.ts rename to tests/cypress/tests/unit/derivedViewport_test.ts index 2071da946..8a67656da 100644 --- a/tests/e2e/cypress/integration/unit/derivedViewport_test.ts +++ b/tests/cypress/tests/unit/derivedViewport_test.ts @@ -2,7 +2,7 @@ import * as R from 'ramda'; import derivedViewportDataframe from 'dash-table/derived/viewportDataframe'; -describe.only('derived viewport', () => { +describe('derived viewport', () => { const viewportDataframe = derivedViewportDataframe(); describe('virtual dataframe <= page size', () => { @@ -48,4 +48,24 @@ describe.only('derived viewport', () => { }); }); }); + + describe('virtual dataframe > page size', () => { + describe('with fe pagination', () => { + it('returns slice of dataframe', () => { + const result = viewportDataframe( + 'fe', + { displayed_pages: 1, current_page: 0, page_size: 250 }, + R.map(idx => ({ idx }), R.range(0, 500)), + R.range(0, 500) + ); + + expect(result.dataframe.length).to.equal(250); + expect(result.indices.length).to.equal(250); + expect(result.dataframe[0].idx).to.equal(0); + expect(result.dataframe[249].idx).to.equal(249); + expect(result.indices[0]).to.equal(0); + expect(result.indices[249]).to.equal(249); + }); + }); + }); }); \ No newline at end of file diff --git a/tests/e2e/cypress/integration/unit/sorting_test.ts b/tests/cypress/tests/unit/sorting_test.ts similarity index 100% rename from tests/e2e/cypress/integration/unit/sorting_test.ts rename to tests/cypress/tests/unit/sorting_test.ts diff --git a/tests/e2e/cypress/integration/unit/syntactic_tree_test.ts b/tests/cypress/tests/unit/syntactic_tree_test.ts similarity index 100% rename from tests/e2e/cypress/integration/unit/syntactic_tree_test.ts rename to tests/cypress/tests/unit/syntactic_tree_test.ts diff --git a/tests/e2e/cypress/tsconfig.json b/tests/cypress/tsconfig.json similarity index 91% rename from tests/e2e/cypress/tsconfig.json rename to tests/cypress/tsconfig.json index c9c03265f..d9986bf8a 100644 --- a/tests/e2e/cypress/tsconfig.json +++ b/tests/cypress/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "allowJs": true, "allowSyntheticDefaultImports": true, - "baseUrl": "./..", + "baseUrl": ".", "emitDecoratorMetadata": false, "experimentalDecorators": true, "lib": ["esnext", "dom"], @@ -12,7 +12,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "paths": { - "cypress/*": ["cypress/src/*"], + "cypress/*": ["./src/*"], "core/*": ["./../../src/core/*"], "dash-table/*": ["./../../src/dash-table/*"] diff --git a/tests/e2e/cypress/integration/delete_row_test.ts b/tests/e2e/cypress/integration/delete_row_test.ts deleted file mode 100644 index 00dd91c8e..000000000 --- a/tests/e2e/cypress/integration/delete_row_test.ts +++ /dev/null @@ -1,37 +0,0 @@ -import DashTable from 'cypress/DashTable'; - -describe('delete', () => { - describe('be', () => { - beforeEach(() => cy.visit('http://localhost:8081')); - - it('can delete row', () => { - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '0')); - DashTable.getDelete(0).click(); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '1')); - }); - - it('can delete row when sorted', () => { - cy.get('tr th.column-0 .sort').click({ force: true }); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '28155')); - DashTable.getDelete(0).click(); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '28154')); - }); - }); - - describe('fe', () => { - beforeEach(() => cy.visit('http://localhost:8080')); - - it('can delete row', () => { - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '1')); - DashTable.getDelete(0).click(); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '2')); - }); - - it('can delete row when sorted', () => { - cy.get('tr th.column-0 .sort').click({ force: true }); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '4999')); - DashTable.getDelete(0).click(); - DashTable.getCell(0, 0).within(() => cy.get('.dash-cell-value').should('have.html', '4998')); - }); - }); -}); \ No newline at end of file diff --git a/usage.py b/usage.py deleted file mode 100644 index 37b187acc..000000000 --- a/usage.py +++ /dev/null @@ -1,77 +0,0 @@ -import dash -from dash.dependencies import Input, Output -import dash_table -import dash_html_components as html - -app = dash.Dash() - -app.css.config.serve_locally = True -app.scripts.config.serve_locally = True - -dataframe = [ - {'ind': 0, 'temp': 80, 'climate': 'Tropical'}, - {'ind': 1, 'temp': 30, 'climate': 'Snowy'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, -] - -dataframe2 = [ - {'ind': 0, 'temp': 80, 'climate': 'Tropical'}, - {'ind': 1, 'temp': 30, 'climate': 'Snowy'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, -] - -app.layout = html.Div([ - dash_table.Table( - id='table', - dataframe=dataframe, - pagination_mode='be', - pagination_settings={ - 'displayed_pages': 1, - 'current_page': 0, - 'page_size': 100 - }, - navigation='page', - columns=[ - { - 'id': 'ind', - 'name': '' - }, - { - 'id': 'temp', - 'name': 'Temperature' - }, - { - 'id': 'climate', - 'name': 'Climate' - }, - ], - editable=True - ), - html.Div(id='container') -]) - - -@app.callback( - Output('table', 'dataframe'), - [Input('table', 'pagination_mode')] -) -def updateDataframe(): - return dataframe2 - - -@app.callback( - Output('container', 'children'), - [ - Input('table', 'derived_viewport_dataframe'), - Input('table', 'derived_viewport_indices') - ] -) -def updateContainer(): - return html.Pre('
Hello
') - - -if __name__ == '__main__': - app.run_server(debug=True) diff --git a/usage_table_changes.py b/usage_table_changes.py deleted file mode 100644 index 3907f9fa9..000000000 --- a/usage_table_changes.py +++ /dev/null @@ -1,59 +0,0 @@ -import dash -from dash.dependencies import Input, Output, State -import dash_table -import dash_html_components as html -import json - -app = dash.Dash() - -app.css.config.serve_locally = True -app.scripts.config.serve_locally = True - -app.layout = html.Div([ - dash_table.Table( - id='table', - dataframe=[ - {'ind': 0, 'temp': 80, 'climate': 'Tropical'}, - {'ind': 1, 'temp': 30, 'climate': 'Snowy'}, - {'ind': 2, 'temp': 20, 'climate': 'Rain Forests'}, - ], - columns=[ - { - 'id': 'ind', - 'name': '' - }, - { - 'id': 'temp', - 'name': 'Temperature' - }, - { - 'id': 'climate', - 'name': 'Climate' - }, - ], - editable=True - ), - html.Div(id='container') -]) - - -@app.callback( - Output('container', 'children'), - [Input('table', 'dataframe_timestamp')], - [State('table', 'dataframe'), - State('table', 'dataframe_previous')]) -def display_data(timestamp, dataframe, dataframe_previous): - changes = [] - for (i, row) in enumerate(dataframe): - row_prev = dataframe_previous[i] - for col in row: - if row[col] != row_prev[col]: - changes.append(u'rows[{}][{}] = {} ➡ {}'.format( - i, col, row_prev[col], row[col] - )) - - return html.Pre('\n'.join(changes), style={'fontSize': 20}) - - -if __name__ == '__main__': - app.run_server(debug=True) diff --git a/v_be_page_usage.py b/v_be_page_usage.py deleted file mode 100644 index 761975bc5..000000000 --- a/v_be_page_usage.py +++ /dev/null @@ -1,81 +0,0 @@ -import dash -from dash.dependencies import Input, Output, State - -import dash_html_components as html -import dash_table - -import pandas as pd -df = pd.read_csv('https://github.com/plotly/datasets/raw/master/26k-consumer-complaints.csv') -df = df.values - -app = dash.Dash() -app.css.config.serve_locally = True -app.scripts.config.serve_locally = True - -app.layout = html.Div([ - html.Div( - id='container', - children='Hello World' - ), - dash_table.Table( - id='table', - dataframe=[], - pagination_mode='be', - pagination_settings={ - 'displayed_pages': 1, - 'current_page': 0, - 'page_size': 5 - }, - navigation='page', - columns=[ - {'id': 0, 'name': 'Complaint ID'}, - {'id': 1, 'name': 'Product'}, - {'id': 2, 'name': 'Sub-product'}, - {'id': 3, 'name': 'Issue'}, - {'id': 4, 'name': 'Sub-issue'}, - {'id': 5, 'name': 'State'}, - {'id': 6, 'name': 'ZIP'}, - {'id': 7, 'name': 'code'}, - {'id': 8, 'name': 'Date received'}, - {'id': 9, 'name': 'Date sent to company'}, - {'id': 10, 'name': 'Company'}, - {'id': 11, 'name': 'Company response'}, - {'id': 12, 'name': 'Timely response?'}, - {'id': 13, 'name': 'Consumer disputed?'} - ], - editable=True - ) -]) - -@app.callback( - Output('table', 'dataframe'), - [Input('table', 'pagination_settings')] -) -def updateDataframe(pagination_settings): - print(pagination_settings) - - current_page = pagination_settings['current_page'] - displayed_pages = pagination_settings['displayed_pages'] - page_size = pagination_settings['page_size'] - - start_index = current_page * page_size - end_index = start_index + displayed_pages * page_size - print(str(start_index) + ',' + str(end_index)) - - return df[start_index:end_index] - -hidden = False -@app.callback( - Output('container', 'hidden'), - [Input('table', 'derived_viewport_dataframe'), Input('table', 'derived_viewport_indices')] -) -def updateViewportDataframe(derived_viewport_dataframe, derived_viewport_indices): - print(derived_viewport_dataframe) - - global hidden - - hidden = not hidden - return hidden - -if __name__ == '__main__': - app.run_server(debug=True) diff --git a/v_fe_page_usage.py b/v_fe_page_usage.py deleted file mode 100644 index 1e69b700b..000000000 --- a/v_fe_page_usage.py +++ /dev/null @@ -1,46 +0,0 @@ -import dash -from dash.dependencies import Input, Output, State - -import dash_html_components as html -import dash_table - -import pandas as pd -df = pd.read_csv('https://github.com/plotly/datasets/raw/master/26k-consumer-complaints.csv') -df = df.values - -app = dash.Dash() -app.css.config.serve_locally = True -app.scripts.config.serve_locally = True - -app.layout = html.Div([ - dash_table.Table( - id='table', - dataframe=df, - pagination_mode='fe', - pagination_settings={ - 'current_page': 0, - 'displayed_pages': 1, - 'page_size': 500 - }, - columns=[ - {'id': 0, 'name': 'Complaint ID'}, - {'id': 1, 'name': 'Product'}, - {'id': 2, 'name': 'Sub-product'}, - {'id': 3, 'name': 'Issue'}, - {'id': 4, 'name': 'Sub-issue'}, - {'id': 5, 'name': 'State'}, - {'id': 6, 'name': 'ZIP'}, - {'id': 7, 'name': 'code'}, - {'id': 8, 'name': 'Date received'}, - {'id': 9, 'name': 'Date sent to company'}, - {'id': 10, 'name': 'Company'}, - {'id': 11, 'name': 'Company response'}, - {'id': 12, 'name': 'Timely response?'}, - {'id': 13, 'name': 'Consumer disputed?'} - ], - editable=True - ) -]) - -if __name__ == '__main__': - app.run_server(debug=True) From 00173a1399b007ce1c7a231ef8b5051182eac303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 26 Sep 2018 10:43:49 -0400 Subject: [PATCH 6/8] - separate cypress and visual tests into 2 ci jobs --- .circleci/config.yml | 28 +++++++++++++++++++++++++++- dash_table/package.json | 5 ++--- package.json | 5 ++--- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bbae13d8e..2992e9e6e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,11 +49,36 @@ jobs: command: npm run build:py - run: - name: Run hosts + name: Run tests command: | . venv/bin/activate npm run test + + "visual-test": + docker: + - image: circleci/node:8.11.3 + + steps: + - checkout + + - restore_cache: + key: deps1-{{ .Branch }}-{{ checksum "npm-shrinkwrap.json" }}-{{ checksum "package.json" }} + + - run: + name: Install package.json + command: npm i + + - save_cache: + key: deps1-{{ .Branch }}-{{ checksum "npm-shrinkwrap.json" }}-{{ checksum "package.json" }} + paths: + - node_modules + + - run: + name: Run visual tests + command: npm run test.visual + + "node": docker: - image: circleci/node:8.11.3 @@ -143,3 +168,4 @@ workflows: - "python-3.6" - "node" - "test" + - "visual-test" diff --git a/dash_table/package.json b/dash_table/package.json index ff0fb9984..d82a13b44 100644 --- a/dash_table/package.json +++ b/dash_table/package.json @@ -17,15 +17,14 @@ "private::lint.ts": "tslint --project . src/**/*.ts", "private::opentests": "cypress open", "private::runtests": "cypress run --browser chrome", - "private::test-e2e": "run-p --race private::host* private::runtests", - "private::test-visual": "build-storybook && percy-storybook", "build.watch": "webpack-dev-server --content-base dash_table --mode development", "build:js": "run-s \"private::build -- --mode production\"", "build:js-dev": "run-s \"private::build -- --mode development\"", "build:js-test": "webpack --display-reasons --bail --config webpack.test.config.js", "build:py": "./extract-meta src/dash-table/Table.js > dash_table/metadata.json && cp package.json dash_table", "lint": "run-s private::lint.js private::lint.ts", - "test": "run-s private::test-*", + "test": "run-p --race private::host* private::runtests", + "test.visual": "build-storybook && percy-storybook", "test.watch": "run-p --race \"build:js-test -- --watch\" --race private::host* private::opentests" }, "author": "Chris P dash_table/metadata.json && cp package.json dash_table", "lint": "run-s private::lint.js private::lint.ts", - "test": "run-s private::test-*", + "test": "run-p --race private::host* private::runtests", + "test.visual": "build-storybook && percy-storybook", "test.watch": "run-p --race \"build:js-test -- --watch\" --race private::host* private::opentests" }, "author": "Chris P Date: Wed, 26 Sep 2018 10:45:22 -0400 Subject: [PATCH 7/8] - build before tests! --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2992e9e6e..405ecb053 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -74,6 +74,10 @@ jobs: paths: - node_modules + - run: + name: Run build:js + command: npm run build:js + - run: name: Run visual tests command: npm run test.visual From c1a79c51e9cd75cade04ab18bc73b652dd4993bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 26 Sep 2018 13:27:38 -0400 Subject: [PATCH 8/8] add browsers to the node image for visual-test --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 405ecb053..fbcb1d216 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,7 +57,7 @@ jobs: "visual-test": docker: - - image: circleci/node:8.11.3 + - image: circleci/node:8.11.3-browsers steps: - checkout