From 1877b6ae907f58762b82da3c7fef0a5585109c41 Mon Sep 17 00:00:00 2001 From: cldougl Date: Fri, 21 Sep 2018 10:14:04 -0400 Subject: [PATCH] fix arrow highlight issue --- CHANGELOG.md | 8 +++++++- dash_table/bundle.js | 2 +- dash_table/demo.js | 2 +- dash_table/package.json | 2 +- package.json | 2 +- src/dash-table/components/Table/Table.less | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6653a5d9e..0a73dc4aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -181,4 +181,10 @@ entire app to re-render. Now, clicking outside the table will update the component more efficiently, prevent excessive application re-renders. - + +## RC22 - Fix regression for user select + + Regression from: https://github.com/plotly/dash-table/pull/93 + Issue: https://github.com/plotly/dash-table/issues/91 + + Sorting arrow will no longer highlight. diff --git a/dash_table/bundle.js b/dash_table/bundle.js index b34e1c0d6..2a092f4bb 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,I=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 I(e,n)}).filter(function(e){return e})}var r=I(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=j(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()((_(n={},this._instancePrefix+"-list",s),_(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":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()(_({},this._instancePrefix+"-list",s));return c.a.createElement("div",O({},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,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],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(5)},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(47)),s=d(n(48)),a=n(49),l=d(n(11)),c=n(17),p=d(n(19));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.filtering,i=e.filtering_settings,l=e.filtering_type,c=e.offset,p=e.setFilter;if(!n)return[];this.updateOps(i);const d=r.filter(e=>!e.hidden,t),f=r.range(0,c).map(e=>o.default.createElement("th",{key:`offset-${e}`})),h=l===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t+c}`,classes:`filter column-${t+c}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),d):[o.default.createElement(s.default,{key:`column-${c}`,classes:[],colSpan:d.length,value:"",setFilter:()=>void 0})];return[r.concat(f,h)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(21));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(21));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(5),i=n(7),u=a(i),s=a(n(18));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.target=e,this.getDataframe=(0,o.memoizeOne)((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)}})}get dataframeAndIndices(){var e=this.target.props;const t=e.dataframe,n=e.filtering,r=e.filtering_settings,o=e.sorting,i=e.sorting_settings,u=e.sorting_treat_empty_string_as_none;return this.getDataframe(t,n,r,o,i,u)}get dataframe(){return this.dataframeAndIndices.dataframe}get indices(){return this.dataframeAndIndices.indices}get settings(){return this.target.props.virtualization_settings}get virtualization(){return this.target.props.virtualization}get viewportDataframe(){return this.target.props.virtual_dataframe}get viewportIndices(){return this.target.props.virtual_dataframe_indices}update(e){const t=this.target.setProps,n=e.settings,o=e.viewportDataframe,i=e.viewportIndices;let u=r.mergeAll([n?{virtualization_settings:n}:{},o?{virtual_dataframe:o}:{},i?{virtual_dataframe_indices:i}:{}]);setTimeout(()=>{t(u)},0)}}},function(e,t,n){var r=n(52);"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(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.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.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.freeze-left,\n.dash-spreadsheet-inner.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(.freeze-top):not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top).freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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.freeze-top:not(.freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top.freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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 .cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.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 .filter {\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 .delete-cell {\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 .delete-cell: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(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,".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(59);"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,I=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 I(e,n)}).filter(function(e){return e})}var r=I(e,n);return r?[r]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=j(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()((_(n={},this._instancePrefix+"-list",s),_(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":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()(_({},this._instancePrefix+"-list",s));return c.a.createElement("div",O({},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,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],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(5)},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(47)),s=d(n(48)),a=n(49),l=d(n(11)),c=n(17),p=d(n(19));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.filtering,i=e.filtering_settings,l=e.filtering_type,c=e.offset,p=e.setFilter;if(!n)return[];this.updateOps(i);const d=r.filter(e=>!e.hidden,t),f=r.range(0,c).map(e=>o.default.createElement("th",{key:`offset-${e}`})),h=l===a.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t+c}`,classes:`filter column-${t+c}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),d):[o.default.createElement(s.default,{key:`column-${c}`,classes:[],colSpan:d.length,value:"",setFilter:()=>void 0})];return[r.concat(f,h)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(21));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(21));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(5),i=n(7),u=a(i),s=a(n(18));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.target=e,this.getDataframe=(0,o.memoizeOne)((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)}})}get dataframeAndIndices(){var e=this.target.props;const t=e.dataframe,n=e.filtering,r=e.filtering_settings,o=e.sorting,i=e.sorting_settings,u=e.sorting_treat_empty_string_as_none;return this.getDataframe(t,n,r,o,i,u)}get dataframe(){return this.dataframeAndIndices.dataframe}get indices(){return this.dataframeAndIndices.indices}get settings(){return this.target.props.virtualization_settings}get virtualization(){return this.target.props.virtualization}get viewportDataframe(){return this.target.props.virtual_dataframe}get viewportIndices(){return this.target.props.virtual_dataframe_indices}update(e){const t=this.target.setProps,n=e.settings,o=e.viewportDataframe,i=e.viewportIndices;let u=r.mergeAll([n?{virtualization_settings:n}:{},o?{virtual_dataframe:o}:{},i?{virtual_dataframe_indices:i}:{}]);setTimeout(()=>{t(u)},0)}}},function(e,t,n){var r=n(52);"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(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.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.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.freeze-left,\n.dash-spreadsheet-inner.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(.freeze-top):not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top).freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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.freeze-top:not(.freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top.freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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 .cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.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 .delete-cell {\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 .delete-cell: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(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,".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(59);"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 e092d2660..8a01085b2 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=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),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(5)},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(47)),a=d(n(48)),s=n(49),l=d(n(11)),c=n(17),p=d(n(19));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.filtering,i=e.filtering_settings,l=e.filtering_type,c=e.offset,p=e.setFilter;if(!n)return[];this.updateOps(i);const d=r.filter(e=>!e.hidden,t),f=r.range(0,c).map(e=>o.default.createElement("th",{key:`offset-${e}`})),h=l===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t+c}`,classes:`filter column-${t+c}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),d):[o.default.createElement(a.default,{key:`column-${c}`,classes:[],colSpan:d.length,value:"",setFilter:()=>void 0})];return[r.concat(f,h)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(21));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(21));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(5),i=n(7),u=s(i),a=s(n(18));function s(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.target=e,this.getDataframe=(0,o.memoizeOne)((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)}})}get dataframeAndIndices(){var e=this.target.props;const t=e.dataframe,n=e.filtering,r=e.filtering_settings,o=e.sorting,i=e.sorting_settings,u=e.sorting_treat_empty_string_as_none;return this.getDataframe(t,n,r,o,i,u)}get dataframe(){return this.dataframeAndIndices.dataframe}get indices(){return this.dataframeAndIndices.indices}get settings(){return this.target.props.virtualization_settings}get virtualization(){return this.target.props.virtualization}get viewportDataframe(){return this.target.props.virtual_dataframe}get viewportIndices(){return this.target.props.virtual_dataframe_indices}update(e){const t=this.target.setProps,n=e.settings,o=e.viewportDataframe,i=e.viewportIndices;let u=r.mergeAll([n?{virtualization_settings:n}:{},o?{virtual_dataframe:o}:{},i?{virtual_dataframe_indices:i}:{}]);setTimeout(()=>{t(u)},0)}}},function(e,t,n){var r=n(52);"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(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.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.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.freeze-left,\n.dash-spreadsheet-inner.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(.freeze-top):not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top).freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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.freeze-top:not(.freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top.freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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 .cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.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 .filter {\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 .delete-cell {\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 .delete-cell: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(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,".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(59);"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(61),e.exports=n(64)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(62)),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.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=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),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(5)},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(47)),a=d(n(48)),s=n(49),l=d(n(11)),c=n(17),p=d(n(19));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.filtering,i=e.filtering_settings,l=e.filtering_type,c=e.offset,p=e.setFilter;if(!n)return[];this.updateOps(i);const d=r.filter(e=>!e.hidden,t),f=r.range(0,c).map(e=>o.default.createElement("th",{key:`offset-${e}`})),h=l===s.FilteringType.Basic?r.addIndex(r.map)((e,t)=>o.default.createElement(u.default,{key:`column-${t+c}`,classes:`filter column-${t+c}`,isValid:this.isFragmentValidOrNull(e.id),property:e.id,setFilter:this.getEventHandler(this.onChange,e.id,this.ops,p),value:this.ops.get(e.id)}),d):[o.default.createElement(a.default,{key:`column-${c}`,classes:[],colSpan:d.length,value:"",setFilter:()=>void 0})];return[r.concat(f,h)]}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=u(r),i=u(n(21));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(21));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(5),i=n(7),u=s(i),a=s(n(18));function s(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.target=e,this.getDataframe=(0,o.memoizeOne)((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)}})}get dataframeAndIndices(){var e=this.target.props;const t=e.dataframe,n=e.filtering,r=e.filtering_settings,o=e.sorting,i=e.sorting_settings,u=e.sorting_treat_empty_string_as_none;return this.getDataframe(t,n,r,o,i,u)}get dataframe(){return this.dataframeAndIndices.dataframe}get indices(){return this.dataframeAndIndices.indices}get settings(){return this.target.props.virtualization_settings}get virtualization(){return this.target.props.virtualization}get viewportDataframe(){return this.target.props.virtual_dataframe}get viewportIndices(){return this.target.props.virtual_dataframe_indices}update(e){const t=this.target.setProps,n=e.settings,o=e.viewportDataframe,i=e.viewportIndices;let u=r.mergeAll([n?{virtualization_settings:n}:{},o?{virtual_dataframe:o}:{},i?{virtual_dataframe_indices:i}:{}]);setTimeout(()=>{t(u)},0)}}},function(e,t,n){var r=n(52);"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(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.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.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.freeze-left,\n.dash-spreadsheet-inner.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(.freeze-top):not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top):not(.freeze-left) .cell-1-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top):not(.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(.freeze-top).freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner:not(.freeze-top).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(.freeze-top).freeze-left .cell-1-1 tr:first-of-type td,\n.dash-spreadsheet-inner:not(.freeze-top).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.freeze-top:not(.freeze-left) .cell-0-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-0-1 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top:not(.freeze-left) .cell-1-1 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top:not(.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.freeze-top.freeze-left .cell-0-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-0 tr:first-of-type td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-0-1 tr:first-of-type td,\n.dash-spreadsheet-inner.freeze-top.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.freeze-top.freeze-left .cell-1-0 tr td:first-of-type,\n.dash-spreadsheet-inner.freeze-top.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 .cell-value {\n height: 100%;\n width: 100%;\n}\n.dash-spreadsheet-inner td div.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 .delete-cell {\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 .delete-cell: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(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,".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(59);"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(61),e.exports=n(64)},function(e,t,n){"use strict";var r=s(n(1)),o=s(n(6)),i=s(n(62)),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.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 3aeca1629..b1880128b 100644 --- a/dash_table/package.json +++ b/dash_table/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.0.0rc21", + "version": "3.0.0rc22", "description": "Dash table", "main": "build/index.js", "scripts": { diff --git a/package.json b/package.json index 3aeca1629..b1880128b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.0.0rc21", + "version": "3.0.0rc22", "description": "Dash table", "main": "build/index.js", "scripts": { diff --git a/src/dash-table/components/Table/Table.less b/src/dash-table/components/Table/Table.less index ffacb9b55..10beb113a 100644 --- a/src/dash-table/components/Table/Table.less +++ b/src/dash-table/components/Table/Table.less @@ -259,7 +259,7 @@ th { .column-header--edit, .column-header--delete, - .filter { + .sort { .not-selectable(); cursor: pointer; }