diff --git a/CHANGELOG.md b/CHANGELOG.md index 89c71cc66..e6a48b736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -396,11 +396,16 @@ Derived properties allow the component to expose complex state that can be usefu - The id prop of the table is now optional. It will generate a random id if it's not set. Issue: https://github.com/plotly/dash-table/issues/143 - + ## RC8 - Improve props typing Issue: https://github.com/plotly/dash-table/issues/143 -## RC9 - Sort ascending on first click +## RC9 - Sort ascending on first click - Sorts ascending when first clicked, [#118](https://github.com/plotly/dash-table/issues/118) - - Flips icons displayed so that they are pointing up on ascending and down on descending. \ No newline at end of file + - Flips icons displayed so that they are pointing up on ascending and down on descending. + Issue: https://github.com/plotly/dash-table/issues/143 + +## RC10 - Improved props docstrings + + Issue: https://github.com/plotly/dash-table/issues/163 diff --git a/dash_table/bundle.js b/dash_table/bundle.js index 408ebb309..deb635abf 100644 --- a/dash_table/bundle.js +++ b/dash_table/bundle.js @@ -9,7 +9,7 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;te&&(void 0===t.editable||t.editable))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.derivedTableStyle=t.derivedRelevantHeaderStyles=t.derivedRelevantFilterStyles=t.derivedRelevantCellStyles=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(15)),i=n(3),a=s(n(53));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){const t=e.if&&(e.if.header_index||e.if.row_index);let n;return{matchesColumn:t=>!e.if||!e.if.column_id||e.if.column_id===t.id,matchesRow:e=>void 0===t||("number"==typeof t?e===t:"odd"===t?e%2==1:e%2==0),matchesFilter:t=>!e.if||void 0===e.if.filter||(n=n||new o.default(e.if.filter)).evaluate(t),style:l(e)}}function l(e){return r.reduce((e,[t,n])=>(a.default.has(t)&&(e[a.default.get(t)]=n),e),{},r.toPairs(e))}t.derivedRelevantCellStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantFilterStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantHeaderStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedTableStyle=(0,i.memoizeOneFactory)(e=>l(e||{}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultIsNully=t.SortDirection=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));var o=t.SortDirection=void 0;!function(e){e.Ascending="asc",e.Descending="desc",e.None="none"}(o||(t.SortDirection=o={}));const i=t.defaultIsNully=(e=>void 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i>a)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i=0&&u.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function m(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var u=s++;n=a||(a=h(t)),r=y.bind(null,n,u,!1),o=y.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=new Map;return(n,...i)=>{const a=n.slice(-1)[0],s=n.slice(0,-1),u=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(u.get(a)||u.set(a,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(a))(...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(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(4)),o=a(n(13)),i=a(n(21));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMap=function(e,t,n){return r.addIndex(r.map)((e,r)=>n(e,t[r],r),e)},t.arrayMap3=function(e,t,n,o){return r.addIndex(r.map)((e,r)=>o(e,t[r],n[r],r),e)},t.arrayMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1);return r.addIndex(r.map)((t,n)=>e(n,[t,...o.map(e=>e[n])]),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==a.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],a=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(4));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const a={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},a),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},a)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),s=a.left-o.left+n.scrollLeft,u=a.top-o.top+n.scrollTop+a.height;e.style.width=`${a.width}px`,e.style.top=`${u}px`,e.style.left=`${s}px`,e.style.position="absolute",a.top+a.height/2>i.bottom||a.top-a.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t,n)=>e[0]===t&&e[1]===n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const a=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,a);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matrixMap=function(e,t,n){const o=r.addIndex(r.map),i=r.addIndex(r.map);return o((e,r)=>i((e,o)=>n(e,t[r][o],r,o),e),e)},t.matrixMap3=function(e,t,n,o){const i=r.addIndex(r.map),a=r.addIndex(r.map);return i((e,r)=>a((e,i)=>o(e,t[r][i],n[r][i],r,i),e),e)},t.matrixMap4=function(e,t,n,o,i){const a=r.addIndex(r.map),s=r.addIndex(r.map);return a((e,r)=>s((e,a)=>i(e,t[r][a],n[r][a],o[r][a],r,a),e),e)},t.matrixMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1),i=r.addIndex(r.map),a=r.addIndex(r.map);return i((t,n)=>a((t,r)=>e(n,r,[t,...o.map(e=>e[n][r])]),t),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=a(n(25)),o=a(n(4)),i=a(n(27));function a(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(n(26));const i="dash_debug",a="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(a)||o.default.get(a);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let a=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=a}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=Object.assign||function(e){for(var t=1;tt=t||(0,l.default)("table-"))}render(){var e=this.props;const t=e.filtering,n=e.sorting,o=e.pagination_mode;return function(e){return-1!==["fe",!0,!1].indexOf(e)}(o)||d(t)&&d(n)?this.props.id?i.default.createElement(s.default,this.props):i.default.createElement(s.default,r({},this.props,{id:this.getId()})):(u.default.error("Invalid combination of filtering / sorting / pagination",t,n,o),i.default.createElement("div",null,"Invalid props combination"))}}t.default=p;const f=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",content_style:"fit",css:[],filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_data:[],derived_viewport_indices:[],derived_virtual_data:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],data:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,style_table:{},style_data_conditional:[],style_cell_conditional:[],style_header_conditional:[]},h=t.propTypes={active_cell:a.default.array,columns:a.default.arrayOf(a.default.shape({clearable:a.default.bool,deletable:a.default.oneOfType([a.default.bool,a.default.number]),editable:a.default.bool,editable_name:a.default.oneOfType([a.default.bool,a.default.number]),hidden:a.default.bool,id:a.default.string.isRequired,name:a.default.string.isRequired,options:a.default.arrayOf(a.default.shape({label:a.default.oneOfType([a.default.number,a.default.string]).isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})),type:a.default.oneOf(["dropdown","numeric","text"])})),content_style:a.default.oneOf(["fit","grow"]),css:a.default.arrayOf(a.default.shape({selector:a.default.string.isRequired,rule:a.default.string.isRequired})),data:a.default.arrayOf(a.default.object),data_previous:a.default.arrayOf(a.default.object),data_timestamp:a.default.number,editable:a.default.bool,end_cell:a.default.arrayOf(a.default.number),id:a.default.string,is_focused:a.default.bool,merge_duplicate_headers:a.default.bool,n_fixed_columns:a.default.number,n_fixed_rows:a.default.number,row_deletable:a.default.bool,row_selectable:a.default.oneOf(["single","multi",!1]),selected_cell:a.default.arrayOf(a.default.arrayOf(a.default.number)),selected_rows:a.default.arrayOf(a.default.number),setProps:a.default.func,start_cell:a.default.arrayOf(a.default.number),style_as_list_view:a.default.bool,pagination_mode:a.default.oneOf(["fe","be",!0,!1]),pagination_settings:a.default.shape({displayed_pages:a.default.number.isRequired,current_page:a.default.number.isRequired,page_size:a.default.number.isRequired}),navigation:a.default.string,column_conditional_dropdowns:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdowns:a.default.arrayOf(a.default.shape({condition:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})).isRequired})),column_static_dropdown:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})),filtering:a.default.oneOf(["fe","be",!0,!1]),filtering_settings:a.default.string,filtering_type:a.default.oneOf(["basic"]),filtering_types:a.default.arrayOf(a.default.oneOf(["basic"])),sorting:a.default.oneOf(["fe","be",!0,!1]),sorting_type:a.default.oneOf(["single","multi"]),sorting_settings:a.default.arrayOf(a.default.shape({columnId:a.default.oneOfType([a.default.string,a.default.number]).isRequired,direction:a.default.oneOf(["asc","desc"]).isRequired})),sorting_treat_empty_string_as_none:a.default.bool,style_table:a.default.object,style_cell:a.default.object,style_data:a.default.object,style_filter:a.default.object,style_header:a.default.object,style_cell_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_data_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),row_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),style_filter_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_header_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),header_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),derived_viewport_data:a.default.arrayOf(a.default.object),derived_viewport_indices:a.default.arrayOf(a.default.number),derived_virtual_data:a.default.arrayOf(a.default.object),derived_virtual_indices:a.default.arrayOf(a.default.number),dropdown_properties:a.default.any};p.defaultProps=f,p.propTypes=h},function(e,t,n){"use strict";var r=n(29);function o(){}e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=p(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=n(3),s=p(n(32)),u=p(n(70)),l=p(n(71)),c=p(n(72)),d=p(n(73));function p(e){return e&&e.__esModule?e:{default:e}}n(74),n(77),n(79);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,a.memoizeOne)(e=>e?t=>{if(i.has("data",t)){const e=this.props.data;t.data_timestamp=Date.now(),t.data_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,u.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,d.default)(),this.filterCache=(0,a.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,a.memoizeOneWithFlag)(e=>e),this.sortCache=(0,a.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,a.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,a.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.data,o=e.filtering,a=e.filtering_settings,s=e.pagination_mode,u=e.pagination_settings,l=e.sorting,c=e.sorting_settings,d=e.sorting_treat_empty_string_as_none,p=this.virtual(r,o,a,l,c,d),f=this.viewport(s,u,p.data,p.indices),h=this.paginator(s,u,t,p.data),g=this.visibleColumns(n);return i.mergeAll([e,{columns:g,paginator:h,setProps:t,viewport:f,virtual:p}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,a=e.sorting_settings,s=e.viewport,u=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(u).cached,d=this.filterCache(n),p=this.paginationCache(o),f=this.sortCache(a),h=!d.cached&&!d.first&&"be"===t||!p.cached&&!p.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const g=this.setProps;let m={};c||(m.derived_virtual_data=u.data,m.derived_virtual_indices=u.indices),l||(m.derived_viewport_data=s.data,m.derived_viewport_indices=s.indices),h&&(m.active_cell=void 0,m.selected_cell=void 0,m.selected_rows=void 0),setTimeout(()=>g(m),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,a)=>{const s=t[a];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=y(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=y(n(33)),s=n(17),u=n(34),l=y(n(4)),c=n(3),d=y(n(13)),p=y(n(35)),f=y(n(19)),h=y(n(38)),g=y(n(69)),m=y(n(8)),v=n(9);function y(e){return e&&e.__esModule?e:{default:e}}const b=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.tableStyle=(0,v.derivedTableStyle)(),this.getLexerResult=(0,c.memoizeOne)(d.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.forceHandleResize=(()=>this.handleResize(!0)),this.handleResize=((e=!1)=>{if(this.state.forcedResizeOnly&&!e)return;e||this.setState({forcedResizeOnly:!0}),this.updateStylesheet();var t=this.refs;const n=t.r0c0,r=t.r0c1,o=t.r1c0,i=t.r1c1;let a=r.querySelectorAll("tr");n.querySelectorAll("tr").forEach((e,t)=>{const n=a[t];e.style.height=`${n.clientHeight}px`});let s=i.querySelectorAll("tr > th:first-of-type");o.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=s[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const u=i.querySelector("tr > td:first-of-type");if(u){const e=u.parentElement;this.stylesheet.setRule(".dash-fixed-column tr",`height: ${getComputedStyle(e).height};`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,a=t.editable;if(l.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const u=(0,s.isCtrlDown)(e);u&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&u&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,m.default)(a,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,m.default)(a,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,a=n.selected_cell,u=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=a.length>1,d=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&d)return void u({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void u({is_focused:!1,selected_cell:[e],active_cell:e})}let p=[],f=[];const h=b(i.uniq(i.pluck(0,a))),g=b(i.uniq(i.pluck(1,a))),m=h[0],v=g[0],y=h[h.length-1],x=g[g.length-1],_=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,w=t.keyCode===s.KEY_CODES.ARROW_UP,O=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,S=t.keyCode===s.KEY_CODES.ARROW_LEFT;_&&r[0]>m?f=g.map(e=>[m,e]):_&&y!==l.data.length-1?p=g.map(e=>[y+1,e]):w&&r[0][y,e]):w&&m>0?p=g.map(e=>[m-1,e]):S&&r[1][e,x]):S&&v>0?p=h.map(e=>[e,v-1]):O&&r[1]>v?f=h.map(e=>[e,v]):O&&x+1<=o.length-1&&(p=h.map(e=>[e,x+1])),u({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(p,a)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.data,o=t.editable,a=t.selected_cell,s=t.setProps,u=t.viewport;e.preventDefault();let l=r;i.map(e=>[u.indices[e[0]],e[1]],a).forEach(e=>{(0,m.default)(o,n[e[1]])&&(l=i.set(i.lensPath([e[0],n[e[1]].id]),"",l))}),s({data:l})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,a=r.selected_cell,l=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,u.selectionCycle)([n[0],n[1]-1],a):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,u.selectionCycle)([n[0],n[1]+1],a):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,u.selectionCycle)([n[0]-1,n[1]],a):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,u.selectionCycle)([n[0]+1,n[1]],a):[i.min(l.data.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;p.default.toClipboard(e,r,n,o.data),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.data,i=t.editable,a=t.filtering_settings,s=t.setProps,u=t.sorting_settings,l=t.viewport;if(!i)return;const c=p.default.fromClipboard(e,n,l.indices,r,o,!0,!u.length||!a.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=(()=>{var e=this.props;const t=e.n_fixed_columns,n=e.n_fixed_rows,r=e.row_deletable,o=e.row_selectable;var i=this.refs;const a=i.r1c0,s=i.r1c1;r&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),o&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&s.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-row:not(.dash-fixed-column) th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)}),t&&n&&a.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-column.dash-fixed-row th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)})}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,f.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;l.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.state={forcedResizeOnly:!1},this.stylesheet=new a.default(`#${e.id}`),this.tableFn=(0,h.default)(()=>this.props),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.css;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),this.applyStyle(),this.handleResize()}componentWillMount(){window.addEventListener("resize",this.forceHandleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.forceHandleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.applyStyle(),this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.data,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n} ${l[t][n]}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),a=n[0],s=i[0],u=n[n.length-1],l=i[i.length-1];var c=r(e,2);const d=c[0],p=c[1],f=[d,p];d>u&&(f[0]=a,f[1]=p+1>l?s:p+1);dl&&(f[1]=s,f[0]=d+1>u?a:d+1);pe-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(u),r.last(u)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),d=o.default.prototype.stringify(c);a.default.trace("TableClipboard -- set clipboard data: ",d),i.default.set(e,d)}static fromClipboard(e,t,n,l,c,d=!0,p=!0){const f=i.default.get(e);if(a.default.trace("TableClipboard -- get clipboard data: ",f),!f)return;p||a.default.debug("Clipboard -- Sorting or filtering active, do not create new rows"),d||a.default.debug("Clipboard -- Do not create new columns");const h=o.default.prototype.parse(f);let g=c;const m=l;if(d&&h[0].length+t[1]>=l.length)for(let e=l.length;et[`Column ${e}`]="");const v=n[t[0]];if(p&&h.length+v>=c.length){const e={};l.forEach(t=>e[t.id]=""),g=r.concat(g,r.repeat(e,h.length+v-c.length))}return h.forEach((e,o)=>e.forEach((e,i)=>{const a=t[0]+o;if(n.length<=t[0]+o)return;const s=n[a],l=t[1]+i,c=m[l];c&&(0,u.default)(!0,c)&&(g=r.set(r.lensPath([s,c.id]),e,g))})),{data:g,columns:m}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,a,s,u,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(a+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?a+='"'+i.replace(/"/g,'""')+'"':a+=i:a+=null===i||void 0===i?"":i;a+="\n"}return a},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(39)),o=a(n(54)),i=a(n(58));function a(e){return e&&e.__esModule?e:{default:e}}const s=(e,t)=>e({filtering_settings:t});t.default=(e=>{const t=new r.default(e),n=new o.default(()=>(function(e){var t=e();const n=t.columns,r=t.filtering,o=t.filtering_settings,i=t.filtering_type,a=t.id,u=t.row_deletable,l=t.row_selectable,c=t.setProps,d=t.style_cell,p=t.style_cell_conditional,f=t.style_filter,h=t.style_filter_conditional;return{columns:n,fillerColumns:(u?1:0)+(l?1:0),filtering:r,filtering_settings:o,filtering_type:i,id:a,setFilter:s.bind(void 0,c),style_cell:d,style_cell_conditional:p,style_filter:f,style_filter_conditional:h}})(e)),a=new i.default(e);return function(e,t,n){const r=[],o=e.createCells(),i=t.createFilters(),a=n.createHeaders();return r.push(...a),r.push(...i),r.push(...o),r}.bind(void 0,t,n,a)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=p(n(1)),o=p(n(40)),i=p(n(43)),a=p(n(50)),s=p(n(51)),u=p(n(52)),l=n(9),c=n(22),d=n(16);function p(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e,t=(0,s.default)(),n=(0,o.default)(e().id),r=(0,l.derivedRelevantCellStyles)()){this.propsFn=e,this.cellStyles=t,this.cellWrappers=n,this.relevantStyles=r,this.cellInputs=(0,i.default)(),this.cellOperations=(0,a.default)(),this.cellDropdowns=(0,u.default)()}get props(){return this.propsFn()}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,o=e.column_conditional_dropdowns,i=e.column_static_dropdown,a=e.data,s=e.dropdown_properties,u=e.editable,l=e.id,p=e.is_focused,f=e.row_deletable,h=e.row_selectable,g=e.selected_cell,m=e.selected_rows,v=e.setProps,y=e.style_cell,b=e.style_cell_conditional,x=e.style_data,_=e.style_data_conditional,w=e.viewport,O=this.cellOperations(t,a,w.data,w.indices,h,f,m,v),S=this.cellWrappers(t,n,w.data,u,g),E=this.relevantStyles(y,x,b,_),C=this.cellStyles(n,E,w.data),k=this.cellDropdowns(l)(n,w.data,w.indices,o,i,s),A=this.cellInputs(t,n,w.data,u,!!p,l,k,this.propsFn),F=(0,c.matrixMap3)(S,C,A,(e,t,n)=>r.default.cloneElement(e,{children:[n],style:t}));return(0,d.arrayMap)(O,F,(e,t)=>Array.prototype.concat(e,t))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=p(n(1)),i=n(3),a=n(7),s=p(n(41)),u=p(n(20)),l=p(n(42)),c=p(n(14)),d=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t,n,o,i,s){return r.addIndex(r.map)((o,c)=>r.addIndex(r.map)((n,r)=>{const o=(0,u.default)(t,c,r),p=(0,l.default)(s,c,r),f="dash-cell"+` column-${r}`+(o?" focused":"")+((0,d.default)(i,n)?"":" cell--uneditable")+(p?" cell--selected":"")+(n.type===a.ColumnType.Dropdown?" dropdown":"");return e([c,r],o,f,r,n.id)},n),o)}t.default=(0,i.memoizeAll)(function(e){const t=(0,c.default)((e,t,n,r)=>o.default.createElement(s.default,{active:e,classes:t,key:`column-${n}`,property:r}));return(0,i.memoizeOne)(f).bind(void 0,t)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(o);const a=/^children$/;t.default=class extends o.Component{constructor(e){super(e)}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.classes,n=e.property,r=e.style;return i.default.createElement("td",{ref:"td",children:this.props.children,tabIndex:-1,className:t,style:r,"data-dash-column":n})}shouldComponentUpdate(e){const t=this.props,n=this.getChildProps(t),o=this.getChildProps(e);return r.any(n=>!a.test(n)&&t[n]!==e[n],r.keysIn(t))||r.any(e=>n[e]!==o[e],r.keysIn(n))}getChildProps(e){return e&&e.children&&e.children[0]&&e.children[0].props}}},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));t.default=((e,t,n)=>r.contains([t,n],e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=c(n(1)),i=n(3),a=c(n(44)),s=c(n(47)),u=c(n(20)),l=c(n(8));function c(e){return e&&e.__esModule?e:{default:e}}const d=r.addIndex(r.map),p=r.addIndex(r.map),f=(0,s.default)();t.default=(0,i.memoizeOneFactory)((e,t,n,r,i,s,c,h)=>d((n,d)=>p((t,p)=>{const g=(0,u.default)(e,d,p),m=c[d][p],v=f(h)(d,p);return o.default.createElement(a.default,Object.assign({key:`column-${p}`,active:g,clearable:t.clearable,datum:n,dropdown:m,editable:(0,l.default)(r,t),focused:i,property:t.id,tableId:s,type:t.type,value:n[t.id]},v))},t),n))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1),o=c(r),i=c(n(45)),a=c(n(46)),s=n(17),u=n(7),l=c(n(19));function c(e){return e&&e.__esModule?e:{default:e}}class d extends r.PureComponent{constructor(e){super(e),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode!==s.KEY_CODES.ENTER&&e.keyCode!==s.KEY_CODES.TAB||this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,l.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}renderDropdown(){var e=this.propsWithDefaults;const t=e.active,n=e.clearable,r=e.dropdown,a=e.editable,s=e.focused,u=e.onChange,l=e.onClick,c=e.onDoubleClick,d=e.value,p={className:[...t?["input-active"]:[],...s?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:l,onDoubleClick:c};return!r||!a?this.renderValue(p):o.default.createElement("div",{className:"dash-dropdown-cell-value-container dash-cell-value-container"},this.renderValue({className:"dropdown-cell-value-shadow cell-value-shadow"},(r.find(e=>e.value===d)||{label:void 0}).label),o.default.createElement(i.default,{ref:"dropdown",clearable:n,onChange:e=>{u(e?e.value:e)},onOpen:this.handleOpenDropdown,options:r,placeholder:"",value:d}))}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.editable,r=e.focused,i=e.onClick,a=e.onDoubleClick,s=e.onPaste,u={className:[...t?["input-active"]:[],...r?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:i,onDoubleClick:a};return!t&&this.state.value===this.props.value||!n?this.renderValue(u):o.default.createElement("div",{className:"dash-input-cell-value-container dash-cell-value-container"},this.renderValue({className:"input-cell-value-shadow cell-value-shadow"}),o.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:s},u)))}renderValue(e={},t){return t=t||this.propsWithDefaults.value,o.default.createElement("div",Object.assign({},e),t)}render(){switch(this.props.type){case u.ColumnType.Text:case u.ColumnType.Numeric:return this.renderInput();case u.ColumnType.Dropdown:return this.renderDropdown();default:return this.renderValue()}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){if(!this.propsWithDefaults.active)return;const e=this.refs.textInput,t=this.refs.dropdown;if(e&&document.activeElement!==e&&(e.focus(),e.setSelectionRange(0,e.value?e.value.length:0)),t&&document.activeElement!==t){const e=a.default.getFirstParentOfType(t.wrapper,"td");e&&e.focus()}}}t.default=d,d.defaultProps={conditionalDropdowns:[],type:u.ColumnType.Text}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return L}),n.d(t,"AsyncCreatable",function(){return G}),n.d(t,"Creatable",function(){return W}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return A}),n.d(t,"defaultMenuRenderer",function(){return y}),n.d(t,"defaultArrowRenderer",function(){return p}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return v});var r=n(23),o=n.n(r),i=n(5),a=n.n(i),s=n(0),u=n.n(s),l=n(1),c=n.n(l),d=n(6),p=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};p.propTypes={onMouseDown:u.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],g=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],a=m(o),s=m(i);if(!a&&!s)return!1;var u=a?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(u&&"label"!==r.matchProp&&(u=g(u)),l&&"value"!==r.matchProp&&(l=g(l))),r.ignoreCase&&(u&&"label"!==r.matchProp&&(u=u.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?u&&"label"!==r.matchProp&&u.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:u&&"label"!==r.matchProp&&u.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,u=e.onSelect,l=e.optionClassName,d=e.optionComponent,p=e.optionRenderer,f=e.options,h=e.removeValue,g=e.selectValue,m=e.valueArray,v=e.valueKey,y=d;return f.map(function(e,d){var f=m&&m.some(function(t){return t[v]===e[v]}),b=e===t,x=a()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+d+"-"+e[v],onFocus:i,onSelect:u,option:e,optionIndex:d,ref:function(e){s(e,b)},removeValue:h,selectValue:g},p(e,d,r))})};y.propTypes={focusOption:u.a.func,focusedOption:u.a.object,inputValue:u.a.string,instancePrefix:u.a.string,onFocus:u.a.func,onOptionRef:u.a.func,onSelect:u.a.func,optionClassName:u.a.string,optionComponent:u.a.func,optionRenderer:u.a.func,options:u.a.array,removeValue:u.a.func,selectValue:u.a.func,valueArray:u.a.array,valueKey:u.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var a=t[n](r),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(a.done?"return":"normal",a.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},k=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},A=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=a()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);A.propTypes={children:u.a.node,className:u.a.string,instancePrefix:u.a.string.isRequired,isDisabled:u.a.bool,isFocused:u.a.bool,isSelected:u.a.bool,onFocus:u.a.func,onSelect:u.a.func,onUnfocus:u.a.func,option:u.a.object.isRequired,optionIndex:u.a.number};var F=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:a()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:u.a.node,disabled:u.a.bool,id:u.a.string,onClick:u.a.func,onRemove:u.a.func,value:u.a.object.isRequired}; +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;te&&(void 0===t.editable||t.editable))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.derivedTableStyle=t.derivedRelevantHeaderStyles=t.derivedRelevantFilterStyles=t.derivedRelevantCellStyles=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(15)),i=n(3),a=s(n(53));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){const t=e.if&&(e.if.header_index||e.if.row_index);let n;return{matchesColumn:t=>!e.if||!e.if.column_id||e.if.column_id===t.id,matchesRow:e=>void 0===t||("number"==typeof t?e===t:"odd"===t?e%2==1:e%2==0),matchesFilter:t=>!e.if||void 0===e.if.filter||(n=n||new o.default(e.if.filter)).evaluate(t),style:l(e)}}function l(e){return r.reduce((e,[t,n])=>(a.default.has(t)&&(e[a.default.get(t)]=n),e),{},r.toPairs(e))}t.derivedRelevantCellStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantFilterStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantHeaderStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedTableStyle=(0,i.memoizeOneFactory)(e=>l(e||{}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultIsNully=t.SortDirection=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));var o=t.SortDirection=void 0;!function(e){e.Ascending="asc",e.Descending="desc",e.None="none"}(o||(t.SortDirection=o={}));const i=t.defaultIsNully=(e=>void 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i>a)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i=0&&u.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function m(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var u=s++;n=a||(a=h(t)),r=y.bind(null,n,u,!1),o=y.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=new Map;return(n,...i)=>{const a=n.slice(-1)[0],s=n.slice(0,-1),u=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(u.get(a)||u.set(a,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(a))(...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(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(4)),o=a(n(13)),i=a(n(21));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMap=function(e,t,n){return r.addIndex(r.map)((e,r)=>n(e,t[r],r),e)},t.arrayMap3=function(e,t,n,o){return r.addIndex(r.map)((e,r)=>o(e,t[r],n[r],r),e)},t.arrayMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1);return r.addIndex(r.map)((t,n)=>e(n,[t,...o.map(e=>e[n])]),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==a.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],a=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(4));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const a={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},a),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},a)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),s=a.left-o.left+n.scrollLeft,u=a.top-o.top+n.scrollTop+a.height;e.style.width=`${a.width}px`,e.style.top=`${u}px`,e.style.left=`${s}px`,e.style.position="absolute",a.top+a.height/2>i.bottom||a.top-a.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t,n)=>e[0]===t&&e[1]===n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const a=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,a);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matrixMap=function(e,t,n){const o=r.addIndex(r.map),i=r.addIndex(r.map);return o((e,r)=>i((e,o)=>n(e,t[r][o],r,o),e),e)},t.matrixMap3=function(e,t,n,o){const i=r.addIndex(r.map),a=r.addIndex(r.map);return i((e,r)=>a((e,i)=>o(e,t[r][i],n[r][i],r,i),e),e)},t.matrixMap4=function(e,t,n,o,i){const a=r.addIndex(r.map),s=r.addIndex(r.map);return a((e,r)=>s((e,a)=>i(e,t[r][a],n[r][a],o[r][a],r,a),e),e)},t.matrixMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1),i=r.addIndex(r.map),a=r.addIndex(r.map);return i((t,n)=>a((t,r)=>e(n,r,[t,...o.map(e=>e[n][r])]),t),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=a(n(25)),o=a(n(4)),i=a(n(27));function a(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(n(26));const i="dash_debug",a="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(a)||o.default.get(a);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let a=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=a}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=Object.assign||function(e){for(var t=1;tt=t||(0,l.default)("table-"))}render(){var e=this.props;const t=e.filtering,n=e.sorting,o=e.pagination_mode;return function(e){return-1!==["fe",!0,!1].indexOf(e)}(o)||d(t)&&d(n)?this.props.id?i.default.createElement(s.default,this.props):i.default.createElement(s.default,r({},this.props,{id:this.getId()})):(u.default.error("Invalid combination of filtering / sorting / pagination",t,n,o),i.default.createElement("div",null,"Invalid props combination"))}}t.default=p;const f=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",content_style:"fit",css:[],filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_data:[],derived_viewport_indices:[],derived_virtual_data:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],data:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,style_table:{},style_data_conditional:[],style_cell_conditional:[],style_header_conditional:[]},h=t.propTypes={active_cell:a.default.array,columns:a.default.arrayOf(a.default.shape({clearable:a.default.bool,deletable:a.default.oneOfType([a.default.bool,a.default.number]),editable:a.default.bool,editable_name:a.default.oneOfType([a.default.bool,a.default.number]),hidden:a.default.bool,id:a.default.string.isRequired,name:a.default.oneOfType([a.default.string,a.default.arrayOf(a.default.string)]).isRequired,options:a.default.arrayOf(a.default.shape({label:a.default.oneOfType([a.default.number,a.default.string]).isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})),type:a.default.oneOf(["dropdown","numeric","text"])})),content_style:a.default.oneOf(["fit","grow"]),css:a.default.arrayOf(a.default.shape({selector:a.default.string.isRequired,rule:a.default.string.isRequired})),data:a.default.arrayOf(a.default.object),data_previous:a.default.arrayOf(a.default.object),data_timestamp:a.default.number,editable:a.default.bool,end_cell:a.default.arrayOf(a.default.number),id:a.default.string,is_focused:a.default.bool,merge_duplicate_headers:a.default.bool,n_fixed_columns:a.default.number,n_fixed_rows:a.default.number,row_deletable:a.default.bool,row_selectable:a.default.oneOf(["single","multi",!1]),selected_cell:a.default.arrayOf(a.default.arrayOf(a.default.number)),selected_rows:a.default.arrayOf(a.default.number),setProps:a.default.func,start_cell:a.default.arrayOf(a.default.number),style_as_list_view:a.default.bool,pagination_mode:a.default.oneOf(["fe","be",!0,!1]),pagination_settings:a.default.shape({displayed_pages:a.default.number.isRequired,current_page:a.default.number.isRequired,page_size:a.default.number.isRequired}),navigation:a.default.string,column_conditional_dropdowns:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdowns:a.default.arrayOf(a.default.shape({condition:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})).isRequired})),column_static_dropdown:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})),filtering:a.default.oneOf(["fe","be",!0,!1]),filtering_settings:a.default.string,filtering_type:a.default.oneOf(["basic"]),filtering_types:a.default.arrayOf(a.default.oneOf(["basic"])),sorting:a.default.oneOf(["fe","be",!0,!1]),sorting_type:a.default.oneOf(["single","multi"]),sorting_settings:a.default.arrayOf(a.default.shape({columnId:a.default.oneOfType([a.default.string,a.default.number]).isRequired,direction:a.default.oneOf(["asc","desc"]).isRequired})),sorting_treat_empty_string_as_none:a.default.bool,style_table:a.default.object,style_cell:a.default.object,style_data:a.default.object,style_filter:a.default.object,style_header:a.default.object,style_cell_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_data_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),row_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),style_filter_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_header_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),header_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),derived_viewport_data:a.default.arrayOf(a.default.object),derived_viewport_indices:a.default.arrayOf(a.default.number),derived_virtual_data:a.default.arrayOf(a.default.object),derived_virtual_indices:a.default.arrayOf(a.default.number),dropdown_properties:a.default.any};p.defaultProps=f,p.propTypes=h},function(e,t,n){"use strict";var r=n(29);function o(){}e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=p(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=n(3),s=p(n(32)),u=p(n(70)),l=p(n(71)),c=p(n(72)),d=p(n(73));function p(e){return e&&e.__esModule?e:{default:e}}n(74),n(77),n(79);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,a.memoizeOne)(e=>e?t=>{if(i.has("data",t)){const e=this.props.data;t.data_timestamp=Date.now(),t.data_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,u.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,d.default)(),this.filterCache=(0,a.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,a.memoizeOneWithFlag)(e=>e),this.sortCache=(0,a.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,a.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,a.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.data,o=e.filtering,a=e.filtering_settings,s=e.pagination_mode,u=e.pagination_settings,l=e.sorting,c=e.sorting_settings,d=e.sorting_treat_empty_string_as_none,p=this.virtual(r,o,a,l,c,d),f=this.viewport(s,u,p.data,p.indices),h=this.paginator(s,u,t,p.data),g=this.visibleColumns(n);return i.mergeAll([e,{columns:g,paginator:h,setProps:t,viewport:f,virtual:p}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,a=e.sorting_settings,s=e.viewport,u=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(u).cached,d=this.filterCache(n),p=this.paginationCache(o),f=this.sortCache(a),h=!d.cached&&!d.first&&"be"===t||!p.cached&&!p.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const g=this.setProps;let m={};c||(m.derived_virtual_data=u.data,m.derived_virtual_indices=u.indices),l||(m.derived_viewport_data=s.data,m.derived_viewport_indices=s.indices),h&&(m.active_cell=void 0,m.selected_cell=void 0,m.selected_rows=void 0),setTimeout(()=>g(m),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,a)=>{const s=t[a];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=y(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=y(n(33)),s=n(17),u=n(34),l=y(n(4)),c=n(3),d=y(n(13)),p=y(n(35)),f=y(n(19)),h=y(n(38)),g=y(n(69)),m=y(n(8)),v=n(9);function y(e){return e&&e.__esModule?e:{default:e}}const b=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.tableStyle=(0,v.derivedTableStyle)(),this.getLexerResult=(0,c.memoizeOne)(d.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.forceHandleResize=(()=>this.handleResize(!0)),this.handleResize=((e=!1)=>{if(this.state.forcedResizeOnly&&!e)return;e||this.setState({forcedResizeOnly:!0}),this.updateStylesheet();var t=this.refs;const n=t.r0c0,r=t.r0c1,o=t.r1c0,i=t.r1c1;let a=r.querySelectorAll("tr");n.querySelectorAll("tr").forEach((e,t)=>{const n=a[t];e.style.height=`${n.clientHeight}px`});let s=i.querySelectorAll("tr > th:first-of-type");o.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=s[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const u=i.querySelector("tr > td:first-of-type");if(u){const e=u.parentElement;this.stylesheet.setRule(".dash-fixed-column tr",`height: ${getComputedStyle(e).height};`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,a=t.editable;if(l.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const u=(0,s.isCtrlDown)(e);u&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&u&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,m.default)(a,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,m.default)(a,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,a=n.selected_cell,u=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=a.length>1,d=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&d)return void u({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void u({is_focused:!1,selected_cell:[e],active_cell:e})}let p=[],f=[];const h=b(i.uniq(i.pluck(0,a))),g=b(i.uniq(i.pluck(1,a))),m=h[0],v=g[0],y=h[h.length-1],x=g[g.length-1],_=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,w=t.keyCode===s.KEY_CODES.ARROW_UP,O=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,S=t.keyCode===s.KEY_CODES.ARROW_LEFT;_&&r[0]>m?f=g.map(e=>[m,e]):_&&y!==l.data.length-1?p=g.map(e=>[y+1,e]):w&&r[0][y,e]):w&&m>0?p=g.map(e=>[m-1,e]):S&&r[1][e,x]):S&&v>0?p=h.map(e=>[e,v-1]):O&&r[1]>v?f=h.map(e=>[e,v]):O&&x+1<=o.length-1&&(p=h.map(e=>[e,x+1])),u({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(p,a)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.data,o=t.editable,a=t.selected_cell,s=t.setProps,u=t.viewport;e.preventDefault();let l=r;i.map(e=>[u.indices[e[0]],e[1]],a).forEach(e=>{(0,m.default)(o,n[e[1]])&&(l=i.set(i.lensPath([e[0],n[e[1]].id]),"",l))}),s({data:l})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,a=r.selected_cell,l=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,u.selectionCycle)([n[0],n[1]-1],a):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,u.selectionCycle)([n[0],n[1]+1],a):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,u.selectionCycle)([n[0]-1,n[1]],a):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,u.selectionCycle)([n[0]+1,n[1]],a):[i.min(l.data.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;p.default.toClipboard(e,r,n,o.data),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.data,i=t.editable,a=t.filtering_settings,s=t.setProps,u=t.sorting_settings,l=t.viewport;if(!i)return;const c=p.default.fromClipboard(e,n,l.indices,r,o,!0,!u.length||!a.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=(()=>{var e=this.props;const t=e.n_fixed_columns,n=e.n_fixed_rows,r=e.row_deletable,o=e.row_selectable;var i=this.refs;const a=i.r1c0,s=i.r1c1;r&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),o&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&s.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-row:not(.dash-fixed-column) th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)}),t&&n&&a.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-column.dash-fixed-row th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)})}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,f.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;l.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.state={forcedResizeOnly:!1},this.stylesheet=new a.default(`#${e.id}`),this.tableFn=(0,h.default)(()=>this.props),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.css;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),this.applyStyle(),this.handleResize()}componentWillMount(){window.addEventListener("resize",this.forceHandleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.forceHandleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.applyStyle(),this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.data,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n} ${l[t][n]}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),a=n[0],s=i[0],u=n[n.length-1],l=i[i.length-1];var c=r(e,2);const d=c[0],p=c[1],f=[d,p];d>u&&(f[0]=a,f[1]=p+1>l?s:p+1);dl&&(f[1]=s,f[0]=d+1>u?a:d+1);pe-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(u),r.last(u)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),d=o.default.prototype.stringify(c);a.default.trace("TableClipboard -- set clipboard data: ",d),i.default.set(e,d)}static fromClipboard(e,t,n,l,c,d=!0,p=!0){const f=i.default.get(e);if(a.default.trace("TableClipboard -- get clipboard data: ",f),!f)return;p||a.default.debug("Clipboard -- Sorting or filtering active, do not create new rows"),d||a.default.debug("Clipboard -- Do not create new columns");const h=o.default.prototype.parse(f);let g=c;const m=l;if(d&&h[0].length+t[1]>=l.length)for(let e=l.length;et[`Column ${e}`]="");const v=n[t[0]];if(p&&h.length+v>=c.length){const e={};l.forEach(t=>e[t.id]=""),g=r.concat(g,r.repeat(e,h.length+v-c.length))}return h.forEach((e,o)=>e.forEach((e,i)=>{const a=t[0]+o;if(n.length<=t[0]+o)return;const s=n[a],l=t[1]+i,c=m[l];c&&(0,u.default)(!0,c)&&(g=r.set(r.lensPath([s,c.id]),e,g))})),{data:g,columns:m}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,a,s,u,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(a+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?a+='"'+i.replace(/"/g,'""')+'"':a+=i:a+=null===i||void 0===i?"":i;a+="\n"}return a},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(39)),o=a(n(54)),i=a(n(58));function a(e){return e&&e.__esModule?e:{default:e}}const s=(e,t)=>e({filtering_settings:t});t.default=(e=>{const t=new r.default(e),n=new o.default(()=>(function(e){var t=e();const n=t.columns,r=t.filtering,o=t.filtering_settings,i=t.filtering_type,a=t.id,u=t.row_deletable,l=t.row_selectable,c=t.setProps,d=t.style_cell,p=t.style_cell_conditional,f=t.style_filter,h=t.style_filter_conditional;return{columns:n,fillerColumns:(u?1:0)+(l?1:0),filtering:r,filtering_settings:o,filtering_type:i,id:a,setFilter:s.bind(void 0,c),style_cell:d,style_cell_conditional:p,style_filter:f,style_filter_conditional:h}})(e)),a=new i.default(e);return function(e,t,n){const r=[],o=e.createCells(),i=t.createFilters(),a=n.createHeaders();return r.push(...a),r.push(...i),r.push(...o),r}.bind(void 0,t,n,a)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=p(n(1)),o=p(n(40)),i=p(n(43)),a=p(n(50)),s=p(n(51)),u=p(n(52)),l=n(9),c=n(22),d=n(16);function p(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e,t=(0,s.default)(),n=(0,o.default)(e().id),r=(0,l.derivedRelevantCellStyles)()){this.propsFn=e,this.cellStyles=t,this.cellWrappers=n,this.relevantStyles=r,this.cellInputs=(0,i.default)(),this.cellOperations=(0,a.default)(),this.cellDropdowns=(0,u.default)()}get props(){return this.propsFn()}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,o=e.column_conditional_dropdowns,i=e.column_static_dropdown,a=e.data,s=e.dropdown_properties,u=e.editable,l=e.id,p=e.is_focused,f=e.row_deletable,h=e.row_selectable,g=e.selected_cell,m=e.selected_rows,v=e.setProps,y=e.style_cell,b=e.style_cell_conditional,x=e.style_data,_=e.style_data_conditional,w=e.viewport,O=this.cellOperations(t,a,w.data,w.indices,h,f,m,v),S=this.cellWrappers(t,n,w.data,u,g),E=this.relevantStyles(y,x,b,_),C=this.cellStyles(n,E,w.data),k=this.cellDropdowns(l)(n,w.data,w.indices,o,i,s),A=this.cellInputs(t,n,w.data,u,!!p,l,k,this.propsFn),F=(0,c.matrixMap3)(S,C,A,(e,t,n)=>r.default.cloneElement(e,{children:[n],style:t}));return(0,d.arrayMap)(O,F,(e,t)=>Array.prototype.concat(e,t))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=p(n(1)),i=n(3),a=n(7),s=p(n(41)),u=p(n(20)),l=p(n(42)),c=p(n(14)),d=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t,n,o,i,s){return r.addIndex(r.map)((o,c)=>r.addIndex(r.map)((n,r)=>{const o=(0,u.default)(t,c,r),p=(0,l.default)(s,c,r),f="dash-cell"+` column-${r}`+(o?" focused":"")+((0,d.default)(i,n)?"":" cell--uneditable")+(p?" cell--selected":"")+(n.type===a.ColumnType.Dropdown?" dropdown":"");return e([c,r],o,f,r,n.id)},n),o)}t.default=(0,i.memoizeAll)(function(e){const t=(0,c.default)((e,t,n,r)=>o.default.createElement(s.default,{active:e,classes:t,key:`column-${n}`,property:r}));return(0,i.memoizeOne)(f).bind(void 0,t)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(o);const a=/^children$/;t.default=class extends o.Component{constructor(e){super(e)}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.classes,n=e.property,r=e.style;return i.default.createElement("td",{ref:"td",children:this.props.children,tabIndex:-1,className:t,style:r,"data-dash-column":n})}shouldComponentUpdate(e){const t=this.props,n=this.getChildProps(t),o=this.getChildProps(e);return r.any(n=>!a.test(n)&&t[n]!==e[n],r.keysIn(t))||r.any(e=>n[e]!==o[e],r.keysIn(n))}getChildProps(e){return e&&e.children&&e.children[0]&&e.children[0].props}}},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));t.default=((e,t,n)=>r.contains([t,n],e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=c(n(1)),i=n(3),a=c(n(44)),s=c(n(47)),u=c(n(20)),l=c(n(8));function c(e){return e&&e.__esModule?e:{default:e}}const d=r.addIndex(r.map),p=r.addIndex(r.map),f=(0,s.default)();t.default=(0,i.memoizeOneFactory)((e,t,n,r,i,s,c,h)=>d((n,d)=>p((t,p)=>{const g=(0,u.default)(e,d,p),m=c[d][p],v=f(h)(d,p);return o.default.createElement(a.default,Object.assign({key:`column-${p}`,active:g,clearable:t.clearable,datum:n,dropdown:m,editable:(0,l.default)(r,t),focused:i,property:t.id,tableId:s,type:t.type,value:n[t.id]},v))},t),n))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1),o=c(r),i=c(n(45)),a=c(n(46)),s=n(17),u=n(7),l=c(n(19));function c(e){return e&&e.__esModule?e:{default:e}}class d extends r.PureComponent{constructor(e){super(e),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode!==s.KEY_CODES.ENTER&&e.keyCode!==s.KEY_CODES.TAB||this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,l.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}renderDropdown(){var e=this.propsWithDefaults;const t=e.active,n=e.clearable,r=e.dropdown,a=e.editable,s=e.focused,u=e.onChange,l=e.onClick,c=e.onDoubleClick,d=e.value,p={className:[...t?["input-active"]:[],...s?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:l,onDoubleClick:c};return!r||!a?this.renderValue(p):o.default.createElement("div",{className:"dash-dropdown-cell-value-container dash-cell-value-container"},this.renderValue({className:"dropdown-cell-value-shadow cell-value-shadow"},(r.find(e=>e.value===d)||{label:void 0}).label),o.default.createElement(i.default,{ref:"dropdown",clearable:n,onChange:e=>{u(e?e.value:e)},onOpen:this.handleOpenDropdown,options:r,placeholder:"",value:d}))}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.editable,r=e.focused,i=e.onClick,a=e.onDoubleClick,s=e.onPaste,u={className:[...t?["input-active"]:[],...r?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:i,onDoubleClick:a};return!t&&this.state.value===this.props.value||!n?this.renderValue(u):o.default.createElement("div",{className:"dash-input-cell-value-container dash-cell-value-container"},this.renderValue({className:"input-cell-value-shadow cell-value-shadow"}),o.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:s},u)))}renderValue(e={},t){return t=t||this.propsWithDefaults.value,o.default.createElement("div",Object.assign({},e),t)}render(){switch(this.props.type){case u.ColumnType.Text:case u.ColumnType.Numeric:return this.renderInput();case u.ColumnType.Dropdown:return this.renderDropdown();default:return this.renderValue()}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){if(!this.propsWithDefaults.active)return;const e=this.refs.textInput,t=this.refs.dropdown;if(e&&document.activeElement!==e&&(e.focus(),e.setSelectionRange(0,e.value?e.value.length:0)),t&&document.activeElement!==t){const e=a.default.getFirstParentOfType(t.wrapper,"td");e&&e.focus()}}}t.default=d,d.defaultProps={conditionalDropdowns:[],type:u.ColumnType.Text}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return L}),n.d(t,"AsyncCreatable",function(){return G}),n.d(t,"Creatable",function(){return W}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return A}),n.d(t,"defaultMenuRenderer",function(){return y}),n.d(t,"defaultArrowRenderer",function(){return p}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return v});var r=n(23),o=n.n(r),i=n(5),a=n.n(i),s=n(0),u=n.n(s),l=n(1),c=n.n(l),d=n(6),p=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};p.propTypes={onMouseDown:u.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],g=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],a=m(o),s=m(i);if(!a&&!s)return!1;var u=a?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(u&&"label"!==r.matchProp&&(u=g(u)),l&&"value"!==r.matchProp&&(l=g(l))),r.ignoreCase&&(u&&"label"!==r.matchProp&&(u=u.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?u&&"label"!==r.matchProp&&u.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:u&&"label"!==r.matchProp&&u.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},y=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,u=e.onSelect,l=e.optionClassName,d=e.optionComponent,p=e.optionRenderer,f=e.options,h=e.removeValue,g=e.selectValue,m=e.valueArray,v=e.valueKey,y=d;return f.map(function(e,d){var f=m&&m.some(function(t){return t[v]===e[v]}),b=e===t,x=a()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(y,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+d+"-"+e[v],onFocus:i,onSelect:u,option:e,optionIndex:d,ref:function(e){s(e,b)},removeValue:h,selectValue:g},p(e,d,r))})};y.propTypes={focusOption:u.a.func,focusedOption:u.a.object,inputValue:u.a.string,instancePrefix:u.a.string,onFocus:u.a.func,onOptionRef:u.a.func,onSelect:u.a.func,optionClassName:u.a.string,optionComponent:u.a.func,optionRenderer:u.a.func,options:u.a.array,removeValue:u.a.func,selectValue:u.a.func,valueArray:u.a.array,valueKey:u.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var a=t[n](r),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(a.done?"return":"normal",a.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},k=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},A=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=a()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);A.propTypes={children:u.a.node,className:u.a.string,instancePrefix:u.a.string.isRequired,isDisabled:u.a.bool,isFocused:u.a.bool,isSelected:u.a.bool,onFocus:u.a.func,onSelect:u.a.func,onUnfocus:u.a.func,option:u.a.object.isRequired,optionIndex:u.a.number};var F=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:a()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:u.a.node,disabled:u.a.bool,id:u.a.string,onClick:u.a.func,onRemove:u.a.func,value:u.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see diff --git a/dash_table/demo.js b/dash_table/demo.js index da2b251a5..29df28658 100644 --- a/dash_table/demo.js +++ b/dash_table/demo.js @@ -9,7 +9,7 @@ window.dash_table=function(e){var t={};function n(r){if(t[r])return t[r].exports Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ -!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;te&&(void 0===t.editable||t.editable))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.derivedTableStyle=t.derivedRelevantHeaderStyles=t.derivedRelevantFilterStyles=t.derivedRelevantCellStyles=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(15)),i=n(3),a=s(n(53));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){const t=e.if&&(e.if.header_index||e.if.row_index);let n;return{matchesColumn:t=>!e.if||!e.if.column_id||e.if.column_id===t.id,matchesRow:e=>void 0===t||("number"==typeof t?e===t:"odd"===t?e%2==1:e%2==0),matchesFilter:t=>!e.if||void 0===e.if.filter||(n=n||new o.default(e.if.filter)).evaluate(t),style:l(e)}}function l(e){return r.reduce((e,[t,n])=>(a.default.has(t)&&(e[a.default.get(t)]=n),e),{},r.toPairs(e))}t.derivedRelevantCellStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantFilterStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantHeaderStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedTableStyle=(0,i.memoizeOneFactory)(e=>l(e||{}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultIsNully=t.SortDirection=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));var o=t.SortDirection=void 0;!function(e){e.Ascending="asc",e.Descending="desc",e.None="none"}(o||(t.SortDirection=o={}));const i=t.defaultIsNully=(e=>void 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i>a)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i=0&&u.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function m(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var u=s++;n=a||(a=h(t)),r=v.bind(null,n,u,!1),o=v.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=new Map;return(n,...i)=>{const a=n.slice(-1)[0],s=n.slice(0,-1),u=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(u.get(a)||u.set(a,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(a))(...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(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(4)),o=a(n(13)),i=a(n(21));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMap=function(e,t,n){return r.addIndex(r.map)((e,r)=>n(e,t[r],r),e)},t.arrayMap3=function(e,t,n,o){return r.addIndex(r.map)((e,r)=>o(e,t[r],n[r],r),e)},t.arrayMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1);return r.addIndex(r.map)((t,n)=>e(n,[t,...o.map(e=>e[n])]),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==a.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],a=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(4));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const a={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},a),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},a)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),s=a.left-o.left+n.scrollLeft,u=a.top-o.top+n.scrollTop+a.height;e.style.width=`${a.width}px`,e.style.top=`${u}px`,e.style.left=`${s}px`,e.style.position="absolute",a.top+a.height/2>i.bottom||a.top-a.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t,n)=>e[0]===t&&e[1]===n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const a=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,a);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matrixMap=function(e,t,n){const o=r.addIndex(r.map),i=r.addIndex(r.map);return o((e,r)=>i((e,o)=>n(e,t[r][o],r,o),e),e)},t.matrixMap3=function(e,t,n,o){const i=r.addIndex(r.map),a=r.addIndex(r.map);return i((e,r)=>a((e,i)=>o(e,t[r][i],n[r][i],r,i),e),e)},t.matrixMap4=function(e,t,n,o,i){const a=r.addIndex(r.map),s=r.addIndex(r.map);return a((e,r)=>s((e,a)=>i(e,t[r][a],n[r][a],o[r][a],r,a),e),e)},t.matrixMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1),i=r.addIndex(r.map),a=r.addIndex(r.map);return i((t,n)=>a((t,r)=>e(n,r,[t,...o.map(e=>e[n][r])]),t),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=a(n(25)),o=a(n(4)),i=a(n(27));function a(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(n(26));const i="dash_debug",a="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(a)||o.default.get(a);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let a=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=a}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=Object.assign||function(e){for(var t=1;tt=t||(0,l.default)("table-"))}render(){var e=this.props;const t=e.filtering,n=e.sorting,o=e.pagination_mode;return function(e){return-1!==["fe",!0,!1].indexOf(e)}(o)||d(t)&&d(n)?this.props.id?i.default.createElement(s.default,this.props):i.default.createElement(s.default,r({},this.props,{id:this.getId()})):(u.default.error("Invalid combination of filtering / sorting / pagination",t,n,o),i.default.createElement("div",null,"Invalid props combination"))}}t.default=p;const f=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",content_style:"fit",css:[],filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_data:[],derived_viewport_indices:[],derived_virtual_data:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],data:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,style_table:{},style_data_conditional:[],style_cell_conditional:[],style_header_conditional:[]},h=t.propTypes={active_cell:a.default.array,columns:a.default.arrayOf(a.default.shape({clearable:a.default.bool,deletable:a.default.oneOfType([a.default.bool,a.default.number]),editable:a.default.bool,editable_name:a.default.oneOfType([a.default.bool,a.default.number]),hidden:a.default.bool,id:a.default.string.isRequired,name:a.default.string.isRequired,options:a.default.arrayOf(a.default.shape({label:a.default.oneOfType([a.default.number,a.default.string]).isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})),type:a.default.oneOf(["dropdown","numeric","text"])})),content_style:a.default.oneOf(["fit","grow"]),css:a.default.arrayOf(a.default.shape({selector:a.default.string.isRequired,rule:a.default.string.isRequired})),data:a.default.arrayOf(a.default.object),data_previous:a.default.arrayOf(a.default.object),data_timestamp:a.default.number,editable:a.default.bool,end_cell:a.default.arrayOf(a.default.number),id:a.default.string,is_focused:a.default.bool,merge_duplicate_headers:a.default.bool,n_fixed_columns:a.default.number,n_fixed_rows:a.default.number,row_deletable:a.default.bool,row_selectable:a.default.oneOf(["single","multi",!1]),selected_cell:a.default.arrayOf(a.default.arrayOf(a.default.number)),selected_rows:a.default.arrayOf(a.default.number),setProps:a.default.func,start_cell:a.default.arrayOf(a.default.number),style_as_list_view:a.default.bool,pagination_mode:a.default.oneOf(["fe","be",!0,!1]),pagination_settings:a.default.shape({displayed_pages:a.default.number.isRequired,current_page:a.default.number.isRequired,page_size:a.default.number.isRequired}),navigation:a.default.string,column_conditional_dropdowns:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdowns:a.default.arrayOf(a.default.shape({condition:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})).isRequired})),column_static_dropdown:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})),filtering:a.default.oneOf(["fe","be",!0,!1]),filtering_settings:a.default.string,filtering_type:a.default.oneOf(["basic"]),filtering_types:a.default.arrayOf(a.default.oneOf(["basic"])),sorting:a.default.oneOf(["fe","be",!0,!1]),sorting_type:a.default.oneOf(["single","multi"]),sorting_settings:a.default.arrayOf(a.default.shape({columnId:a.default.oneOfType([a.default.string,a.default.number]).isRequired,direction:a.default.oneOf(["asc","desc"]).isRequired})),sorting_treat_empty_string_as_none:a.default.bool,style_table:a.default.object,style_cell:a.default.object,style_data:a.default.object,style_filter:a.default.object,style_header:a.default.object,style_cell_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_data_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),row_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),style_filter_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_header_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),header_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),derived_viewport_data:a.default.arrayOf(a.default.object),derived_viewport_indices:a.default.arrayOf(a.default.number),derived_virtual_data:a.default.arrayOf(a.default.object),derived_virtual_indices:a.default.arrayOf(a.default.number),dropdown_properties:a.default.any};p.defaultProps=f,p.propTypes=h},function(e,t,n){"use strict";var r=n(29);function o(){}e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=p(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=n(3),s=p(n(32)),u=p(n(70)),l=p(n(71)),c=p(n(72)),d=p(n(73));function p(e){return e&&e.__esModule?e:{default:e}}n(74),n(77),n(79);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,a.memoizeOne)(e=>e?t=>{if(i.has("data",t)){const e=this.props.data;t.data_timestamp=Date.now(),t.data_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,u.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,d.default)(),this.filterCache=(0,a.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,a.memoizeOneWithFlag)(e=>e),this.sortCache=(0,a.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,a.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,a.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.data,o=e.filtering,a=e.filtering_settings,s=e.pagination_mode,u=e.pagination_settings,l=e.sorting,c=e.sorting_settings,d=e.sorting_treat_empty_string_as_none,p=this.virtual(r,o,a,l,c,d),f=this.viewport(s,u,p.data,p.indices),h=this.paginator(s,u,t,p.data),g=this.visibleColumns(n);return i.mergeAll([e,{columns:g,paginator:h,setProps:t,viewport:f,virtual:p}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,a=e.sorting_settings,s=e.viewport,u=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(u).cached,d=this.filterCache(n),p=this.paginationCache(o),f=this.sortCache(a),h=!d.cached&&!d.first&&"be"===t||!p.cached&&!p.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const g=this.setProps;let m={};c||(m.derived_virtual_data=u.data,m.derived_virtual_indices=u.indices),l||(m.derived_viewport_data=s.data,m.derived_viewport_indices=s.indices),h&&(m.active_cell=void 0,m.selected_cell=void 0,m.selected_rows=void 0),setTimeout(()=>g(m),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,a)=>{const s=t[a];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=v(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=v(n(33)),s=n(17),u=n(34),l=v(n(4)),c=n(3),d=v(n(13)),p=v(n(35)),f=v(n(19)),h=v(n(38)),g=v(n(69)),m=v(n(8)),y=n(9);function v(e){return e&&e.__esModule?e:{default:e}}const b=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.tableStyle=(0,y.derivedTableStyle)(),this.getLexerResult=(0,c.memoizeOne)(d.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.forceHandleResize=(()=>this.handleResize(!0)),this.handleResize=((e=!1)=>{if(this.state.forcedResizeOnly&&!e)return;e||this.setState({forcedResizeOnly:!0}),this.updateStylesheet();var t=this.refs;const n=t.r0c0,r=t.r0c1,o=t.r1c0,i=t.r1c1;let a=r.querySelectorAll("tr");n.querySelectorAll("tr").forEach((e,t)=>{const n=a[t];e.style.height=`${n.clientHeight}px`});let s=i.querySelectorAll("tr > th:first-of-type");o.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=s[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const u=i.querySelector("tr > td:first-of-type");if(u){const e=u.parentElement;this.stylesheet.setRule(".dash-fixed-column tr",`height: ${getComputedStyle(e).height};`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,a=t.editable;if(l.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const u=(0,s.isCtrlDown)(e);u&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&u&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,m.default)(a,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,m.default)(a,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,a=n.selected_cell,u=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=a.length>1,d=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&d)return void u({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void u({is_focused:!1,selected_cell:[e],active_cell:e})}let p=[],f=[];const h=b(i.uniq(i.pluck(0,a))),g=b(i.uniq(i.pluck(1,a))),m=h[0],y=g[0],v=h[h.length-1],x=g[g.length-1],_=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,w=t.keyCode===s.KEY_CODES.ARROW_UP,O=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,S=t.keyCode===s.KEY_CODES.ARROW_LEFT;_&&r[0]>m?f=g.map(e=>[m,e]):_&&v!==l.data.length-1?p=g.map(e=>[v+1,e]):w&&r[0][v,e]):w&&m>0?p=g.map(e=>[m-1,e]):S&&r[1][e,x]):S&&y>0?p=h.map(e=>[e,y-1]):O&&r[1]>y?f=h.map(e=>[e,y]):O&&x+1<=o.length-1&&(p=h.map(e=>[e,x+1])),u({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(p,a)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.data,o=t.editable,a=t.selected_cell,s=t.setProps,u=t.viewport;e.preventDefault();let l=r;i.map(e=>[u.indices[e[0]],e[1]],a).forEach(e=>{(0,m.default)(o,n[e[1]])&&(l=i.set(i.lensPath([e[0],n[e[1]].id]),"",l))}),s({data:l})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,a=r.selected_cell,l=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,u.selectionCycle)([n[0],n[1]-1],a):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,u.selectionCycle)([n[0],n[1]+1],a):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,u.selectionCycle)([n[0]-1,n[1]],a):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,u.selectionCycle)([n[0]+1,n[1]],a):[i.min(l.data.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;p.default.toClipboard(e,r,n,o.data),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.data,i=t.editable,a=t.filtering_settings,s=t.setProps,u=t.sorting_settings,l=t.viewport;if(!i)return;const c=p.default.fromClipboard(e,n,l.indices,r,o,!0,!u.length||!a.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=(()=>{var e=this.props;const t=e.n_fixed_columns,n=e.n_fixed_rows,r=e.row_deletable,o=e.row_selectable;var i=this.refs;const a=i.r1c0,s=i.r1c1;r&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),o&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&s.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-row:not(.dash-fixed-column) th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)}),t&&n&&a.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-column.dash-fixed-row th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)})}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,f.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;l.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.state={forcedResizeOnly:!1},this.stylesheet=new a.default(`#${e.id}`),this.tableFn=(0,h.default)(()=>this.props),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.css;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),this.applyStyle(),this.handleResize()}componentWillMount(){window.addEventListener("resize",this.forceHandleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.forceHandleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.applyStyle(),this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.data,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n} ${l[t][n]}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),a=n[0],s=i[0],u=n[n.length-1],l=i[i.length-1];var c=r(e,2);const d=c[0],p=c[1],f=[d,p];d>u&&(f[0]=a,f[1]=p+1>l?s:p+1);dl&&(f[1]=s,f[0]=d+1>u?a:d+1);pe-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(u),r.last(u)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),d=o.default.prototype.stringify(c);a.default.trace("TableClipboard -- set clipboard data: ",d),i.default.set(e,d)}static fromClipboard(e,t,n,l,c,d=!0,p=!0){const f=i.default.get(e);if(a.default.trace("TableClipboard -- get clipboard data: ",f),!f)return;p||a.default.debug("Clipboard -- Sorting or filtering active, do not create new rows"),d||a.default.debug("Clipboard -- Do not create new columns");const h=o.default.prototype.parse(f);let g=c;const m=l;if(d&&h[0].length+t[1]>=l.length)for(let e=l.length;et[`Column ${e}`]="");const y=n[t[0]];if(p&&h.length+y>=c.length){const e={};l.forEach(t=>e[t.id]=""),g=r.concat(g,r.repeat(e,h.length+y-c.length))}return h.forEach((e,o)=>e.forEach((e,i)=>{const a=t[0]+o;if(n.length<=t[0]+o)return;const s=n[a],l=t[1]+i,c=m[l];c&&(0,u.default)(!0,c)&&(g=r.set(r.lensPath([s,c.id]),e,g))})),{data:g,columns:m}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,a,s,u,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(a+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?a+='"'+i.replace(/"/g,'""')+'"':a+=i:a+=null===i||void 0===i?"":i;a+="\n"}return a},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(39)),o=a(n(54)),i=a(n(58));function a(e){return e&&e.__esModule?e:{default:e}}const s=(e,t)=>e({filtering_settings:t});t.default=(e=>{const t=new r.default(e),n=new o.default(()=>(function(e){var t=e();const n=t.columns,r=t.filtering,o=t.filtering_settings,i=t.filtering_type,a=t.id,u=t.row_deletable,l=t.row_selectable,c=t.setProps,d=t.style_cell,p=t.style_cell_conditional,f=t.style_filter,h=t.style_filter_conditional;return{columns:n,fillerColumns:(u?1:0)+(l?1:0),filtering:r,filtering_settings:o,filtering_type:i,id:a,setFilter:s.bind(void 0,c),style_cell:d,style_cell_conditional:p,style_filter:f,style_filter_conditional:h}})(e)),a=new i.default(e);return function(e,t,n){const r=[],o=e.createCells(),i=t.createFilters(),a=n.createHeaders();return r.push(...a),r.push(...i),r.push(...o),r}.bind(void 0,t,n,a)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=p(n(1)),o=p(n(40)),i=p(n(43)),a=p(n(50)),s=p(n(51)),u=p(n(52)),l=n(9),c=n(22),d=n(16);function p(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e,t=(0,s.default)(),n=(0,o.default)(e().id),r=(0,l.derivedRelevantCellStyles)()){this.propsFn=e,this.cellStyles=t,this.cellWrappers=n,this.relevantStyles=r,this.cellInputs=(0,i.default)(),this.cellOperations=(0,a.default)(),this.cellDropdowns=(0,u.default)()}get props(){return this.propsFn()}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,o=e.column_conditional_dropdowns,i=e.column_static_dropdown,a=e.data,s=e.dropdown_properties,u=e.editable,l=e.id,p=e.is_focused,f=e.row_deletable,h=e.row_selectable,g=e.selected_cell,m=e.selected_rows,y=e.setProps,v=e.style_cell,b=e.style_cell_conditional,x=e.style_data,_=e.style_data_conditional,w=e.viewport,O=this.cellOperations(t,a,w.data,w.indices,h,f,m,y),S=this.cellWrappers(t,n,w.data,u,g),E=this.relevantStyles(v,x,b,_),C=this.cellStyles(n,E,w.data),k=this.cellDropdowns(l)(n,w.data,w.indices,o,i,s),A=this.cellInputs(t,n,w.data,u,!!p,l,k,this.propsFn),F=(0,c.matrixMap3)(S,C,A,(e,t,n)=>r.default.cloneElement(e,{children:[n],style:t}));return(0,d.arrayMap)(O,F,(e,t)=>Array.prototype.concat(e,t))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=p(n(1)),i=n(3),a=n(7),s=p(n(41)),u=p(n(20)),l=p(n(42)),c=p(n(14)),d=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t,n,o,i,s){return r.addIndex(r.map)((o,c)=>r.addIndex(r.map)((n,r)=>{const o=(0,u.default)(t,c,r),p=(0,l.default)(s,c,r),f="dash-cell"+` column-${r}`+(o?" focused":"")+((0,d.default)(i,n)?"":" cell--uneditable")+(p?" cell--selected":"")+(n.type===a.ColumnType.Dropdown?" dropdown":"");return e([c,r],o,f,r,n.id)},n),o)}t.default=(0,i.memoizeAll)(function(e){const t=(0,c.default)((e,t,n,r)=>o.default.createElement(s.default,{active:e,classes:t,key:`column-${n}`,property:r}));return(0,i.memoizeOne)(f).bind(void 0,t)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(o);const a=/^children$/;t.default=class extends o.Component{constructor(e){super(e)}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.classes,n=e.property,r=e.style;return i.default.createElement("td",{ref:"td",children:this.props.children,tabIndex:-1,className:t,style:r,"data-dash-column":n})}shouldComponentUpdate(e){const t=this.props,n=this.getChildProps(t),o=this.getChildProps(e);return r.any(n=>!a.test(n)&&t[n]!==e[n],r.keysIn(t))||r.any(e=>n[e]!==o[e],r.keysIn(n))}getChildProps(e){return e&&e.children&&e.children[0]&&e.children[0].props}}},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));t.default=((e,t,n)=>r.contains([t,n],e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=c(n(1)),i=n(3),a=c(n(44)),s=c(n(47)),u=c(n(20)),l=c(n(8));function c(e){return e&&e.__esModule?e:{default:e}}const d=r.addIndex(r.map),p=r.addIndex(r.map),f=(0,s.default)();t.default=(0,i.memoizeOneFactory)((e,t,n,r,i,s,c,h)=>d((n,d)=>p((t,p)=>{const g=(0,u.default)(e,d,p),m=c[d][p],y=f(h)(d,p);return o.default.createElement(a.default,Object.assign({key:`column-${p}`,active:g,clearable:t.clearable,datum:n,dropdown:m,editable:(0,l.default)(r,t),focused:i,property:t.id,tableId:s,type:t.type,value:n[t.id]},y))},t),n))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1),o=c(r),i=c(n(45)),a=c(n(46)),s=n(17),u=n(7),l=c(n(19));function c(e){return e&&e.__esModule?e:{default:e}}class d extends r.PureComponent{constructor(e){super(e),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode!==s.KEY_CODES.ENTER&&e.keyCode!==s.KEY_CODES.TAB||this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,l.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}renderDropdown(){var e=this.propsWithDefaults;const t=e.active,n=e.clearable,r=e.dropdown,a=e.editable,s=e.focused,u=e.onChange,l=e.onClick,c=e.onDoubleClick,d=e.value,p={className:[...t?["input-active"]:[],...s?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:l,onDoubleClick:c};return!r||!a?this.renderValue(p):o.default.createElement("div",{className:"dash-dropdown-cell-value-container dash-cell-value-container"},this.renderValue({className:"dropdown-cell-value-shadow cell-value-shadow"},(r.find(e=>e.value===d)||{label:void 0}).label),o.default.createElement(i.default,{ref:"dropdown",clearable:n,onChange:e=>{u(e?e.value:e)},onOpen:this.handleOpenDropdown,options:r,placeholder:"",value:d}))}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.editable,r=e.focused,i=e.onClick,a=e.onDoubleClick,s=e.onPaste,u={className:[...t?["input-active"]:[],...r?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:i,onDoubleClick:a};return!t&&this.state.value===this.props.value||!n?this.renderValue(u):o.default.createElement("div",{className:"dash-input-cell-value-container dash-cell-value-container"},this.renderValue({className:"input-cell-value-shadow cell-value-shadow"}),o.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:s},u)))}renderValue(e={},t){return t=t||this.propsWithDefaults.value,o.default.createElement("div",Object.assign({},e),t)}render(){switch(this.props.type){case u.ColumnType.Text:case u.ColumnType.Numeric:return this.renderInput();case u.ColumnType.Dropdown:return this.renderDropdown();default:return this.renderValue()}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){if(!this.propsWithDefaults.active)return;const e=this.refs.textInput,t=this.refs.dropdown;if(e&&document.activeElement!==e&&(e.focus(),e.setSelectionRange(0,e.value?e.value.length:0)),t&&document.activeElement!==t){const e=a.default.getFirstParentOfType(t.wrapper,"td");e&&e.focus()}}}t.default=d,d.defaultProps={conditionalDropdowns:[],type:u.ColumnType.Text}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return L}),n.d(t,"AsyncCreatable",function(){return G}),n.d(t,"Creatable",function(){return W}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return A}),n.d(t,"defaultMenuRenderer",function(){return v}),n.d(t,"defaultArrowRenderer",function(){return p}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(23),o=n.n(r),i=n(5),a=n.n(i),s=n(0),u=n.n(s),l=n(1),c=n.n(l),d=n(6),p=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};p.propTypes={onMouseDown:u.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],g=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],a=m(o),s=m(i);if(!a&&!s)return!1;var u=a?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(u&&"label"!==r.matchProp&&(u=g(u)),l&&"value"!==r.matchProp&&(l=g(l))),r.ignoreCase&&(u&&"label"!==r.matchProp&&(u=u.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?u&&"label"!==r.matchProp&&u.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:u&&"label"!==r.matchProp&&u.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},v=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,u=e.onSelect,l=e.optionClassName,d=e.optionComponent,p=e.optionRenderer,f=e.options,h=e.removeValue,g=e.selectValue,m=e.valueArray,y=e.valueKey,v=d;return f.map(function(e,d){var f=m&&m.some(function(t){return t[y]===e[y]}),b=e===t,x=a()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(v,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+d+"-"+e[y],onFocus:i,onSelect:u,option:e,optionIndex:d,ref:function(e){s(e,b)},removeValue:h,selectValue:g},p(e,d,r))})};v.propTypes={focusOption:u.a.func,focusedOption:u.a.object,inputValue:u.a.string,instancePrefix:u.a.string,onFocus:u.a.func,onOptionRef:u.a.func,onSelect:u.a.func,optionClassName:u.a.string,optionComponent:u.a.func,optionRenderer:u.a.func,options:u.a.array,removeValue:u.a.func,selectValue:u.a.func,valueArray:u.a.array,valueKey:u.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var a=t[n](r),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(a.done?"return":"normal",a.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},k=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},A=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=a()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);A.propTypes={children:u.a.node,className:u.a.string,instancePrefix:u.a.string.isRequired,isDisabled:u.a.bool,isFocused:u.a.bool,isSelected:u.a.bool,onFocus:u.a.func,onSelect:u.a.func,onUnfocus:u.a.func,option:u.a.object.isRequired,optionIndex:u.a.number};var F=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:a()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:u.a.node,disabled:u.a.bool,id:u.a.string,onClick:u.a.func,onRemove:u.a.func,value:u.a.object.isRequired}; +!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;te&&(void 0===t.editable||t.editable))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.derivedTableStyle=t.derivedRelevantHeaderStyles=t.derivedRelevantFilterStyles=t.derivedRelevantCellStyles=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=s(n(15)),i=n(3),a=s(n(53));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){const t=e.if&&(e.if.header_index||e.if.row_index);let n;return{matchesColumn:t=>!e.if||!e.if.column_id||e.if.column_id===t.id,matchesRow:e=>void 0===t||("number"==typeof t?e===t:"odd"===t?e%2==1:e%2==0),matchesFilter:t=>!e.if||void 0===e.if.filter||(n=n||new o.default(e.if.filter)).evaluate(t),style:l(e)}}function l(e){return r.reduce((e,[t,n])=>(a.default.has(t)&&(e[a.default.get(t)]=n),e),{},r.toPairs(e))}t.derivedRelevantCellStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantFilterStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedRelevantHeaderStyles=(0,i.memoizeOneFactory)((e,t,n,o)=>r.concat(r.concat(e?[u(e)]:[],r.map(u,n||[])),r.concat(t?[u(t)]:[],r.map(u,o||[])))),t.derivedTableStyle=(0,i.memoizeOneFactory)(e=>l(e||{}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultIsNully=t.SortDirection=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));var o=t.SortDirection=void 0;!function(e){e.Ascending="asc",e.Descending="desc",e.None="none"}(o||(t.SortDirection=o={}));const i=t.defaultIsNully=(e=>void 0===e||null===e);t.default=((e,t,n=i)=>t.length?r.sortWith(r.map(e=>e.direction===o.Descending?r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i>a)}):r.comparator((t,r)=>{const o=e.columnId,i=t[o],a=r[o];return!n(i)&&(!!n(a)||i=0&&u.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),p(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function m(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var u=s++;n=a||(a=h(t)),r=v.bind(null,n,u,!1),o=v.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),p(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=l(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){f(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return c(n,t),function(e){for(var o=[],i=0;it&&e.when&&-1!==e.when.indexOf(t.name));if(o.length||(o=r.default),!(t=o.find(t=>t.regexp.test(e))||null))return{lexemes:n,valid:!1,error:e};const i=(e.match(t.regexp)||[])[0];n.push({lexeme:t,value:i}),e=e.substring(i.length)}return{lexemes:n,valid:!0}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(18))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=new Map;return(n,...i)=>{const a=n.slice(-1)[0],s=n.slice(0,-1),u=r.reduce((e,t)=>e.get(t)||e.set(t,new Map).get(t),t,s);return(u.get(a)||u.set(a,function(e){return(0,o.memoizeOne)((...t)=>e(...t))}(e)).get(a))(...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(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(4)),o=a(n(13)),i=a(n(21));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e){this.query=e,this.evaluate=(e=>{if(!this.isValid||!this.tree){const e=`unable to evaluate target: syntax tree is invalid for query=${this.query}`;throw r.default.error(e),new Error(e)}const t=this.tree.lexeme.evaluate;return!!t&&t(e,this.tree)}),this.filter=(e=>e.filter(this.evaluate)),this.result=(0,i.default)((0,o.default)(this.query))}get isValid(){return this.result.valid}get tree(){return this.result.tree}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.arrayMap=function(e,t,n){return r.addIndex(r.map)((e,r)=>n(e,t[r],r),e)},t.arrayMap3=function(e,t,n,o){return r.addIndex(r.map)((e,r)=>o(e,t[r],n[r],r),e)},t.arrayMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1);return r.addIndex(r.map)((t,n)=>e(n,[t,...o.map(e=>e[n])]),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPrintableChar=function(e){return 32===e||e>=48&&e<=57||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e>=226||e>=65&&e<=90},t.isMetaKey=function(e){return-1!==o.indexOf(e)},t.isNavKey=function(e){return-1!==a.indexOf(e)},t.isArrowKey=function(e){return-1!==i.indexOf(e)},t.isCtrlKey=function(e){const t=[];window.navigator.platform.includes("Mac")?t.push(r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX):t.push(r.CONTROL);return t.includes(e)},t.isCtrlMetaKey=function(e){return[r.CONTROL,r.COMMAND_LEFT,r.COMMAND_RIGHT,r.COMMAND_FIREFOX].includes(e)};const r=t.KEY_CODES={MOUSE_LEFT:1,MOUSE_RIGHT:3,MOUSE_MIDDLE:2,BACKSPACE:8,COMMA:188,INSERT:45,DELETE:46,END:35,ENTER:13,ESCAPE:27,CONTROL:17,COMMAND_LEFT:91,COMMAND_RIGHT:93,COMMAND_FIREFOX:224,ALT:18,HOME:36,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,SPACE:32,SHIFT:16,CAPS_LOCK:20,TAB:9,ARROW_RIGHT:39,ARROW_LEFT:37,ARROW_UP:38,ARROW_DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,A:65,X:88,C:67,V:86},o=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT,r.HOME,r.END,r.DELETE,r.BACKSPACE,r.F1,r.F2,r.F3,r.F4,r.F5,r.F6,r.F7,r.F8,r.F9,r.F10,r.F11,r.F12,r.TAB,r.PAGE_DOWN,r.PAGE_UP,r.ENTER,r.ESCAPE,r.SHIFT,r.CAPS_LOCK,r.ALT],i=[r.ARROW_DOWN,r.ARROW_UP,r.ARROW_LEFT,r.ARROW_RIGHT],a=[...i,r.TAB,r.ENTER];t.isCtrlDown=(e=>(e.ctrlKey||e.metaKey)&&!e.altKey)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LexemeType=void 0;var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(n(4));var i=t.LexemeType=void 0;!function(e){e.And="and",e.BlockClose="close-block",e.BlockOpen="open-block",e.BinaryOperator="logical-binary-operator",e.Expression="expression",e.Or="or",e.Operand="operand",e.UnaryNot="unary-not",e.UnaryOperator="logical-unary-operator"}(i||(t.LexemeType=i={}));const a={resolve:(e,t)=>{if(o.default.trace("resolve -> exp",e,t),/^('.*')|(".*")$/.test(t.value))return t.value.slice(1,t.value.length-1);if(!/^\w+\(.*\)$/.test(t.value))return e[t.value];{const e=t.value.match(/^(\w+)\((.*)\)$/);if(!e)throw Error();{var n=r(e,3);const t=n[1],o=n[2];switch(t){case"num":return parseInt(o,10);case"str":default:return o}}}},regexp:/^(((num|str)\([^()]*\))|'([^()']|\\')+'|"([^()"]|\\")+"|\w+)/},s=[{evaluate:(e,t)=>{o.default.trace("evalute -> &&",e,t);const n=t,r=n.left.lexeme.evaluate(e,n.left),i=n.right.lexeme.evaluate(e,n.right);return r&&i},name:i.And,priority:2,regexp:/^(and\s|&&)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{evaluate:(e,t)=>{o.default.trace("evalute -> ||",e,t);const n=t;return n.left.lexeme.evaluate(e,n.left)||n.right.lexeme.evaluate(e,n.right)},name:i.Or,priority:3,regexp:/^(or\s|\|\|)/i,syntaxer:(e,t,n)=>Object.assign({left:e.slice(0,n),right:e.slice(n+1)},t)},{name:i.BlockClose,nesting:-1,regexp:/^\)/},{evaluate:(e,t)=>{o.default.trace("evaluate -> ()",e,t);const n=t;return n.block.lexeme.evaluate(e,n.block)},name:i.BlockOpen,nesting:1,priority:1,regexp:/^\(/,syntaxer:e=>Object.assign({block:e.slice(1,e.length-1)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Operand},a),{evaluate:(e,t)=>{o.default.trace("evaluate -> binary",e,t);const n=t,r=n.left.lexeme.resolve(e,n.left),i=n.right.lexeme.resolve(e,n.right);switch(o.default.trace(`opValue: ${r}, expValue: ${i}`),t.value.toLowerCase()){case"eq":case"=":return r===i;case"gt":case">":return r>i;case"ge":case">=":return r>=i;case"lt":case"<":return r=|<=|>|<|!=|=|ge|le|gt|lt|eq|ne)/i,syntaxer:e=>{var t=r(e,3);let n=t[0],o=t[1],i=t[2];return Object.assign({left:n,right:i},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary",e,t);const n=t,r=n.block.lexeme.resolve(e,n.block);switch(t.value.toLowerCase()){case"is even":return"number"==typeof r&&r%2==0;case"is nil":return void 0===r||null===r;case"is bool":return"boolean"==typeof r;case"is odd":return"number"==typeof r&&r%2==1;case"is num":return"number"==typeof r;case"is object":return null!==r&&"object"==typeof r;case"is str":return"string"==typeof r;case"is prime":return"number"==typeof r&&(e=>{if(2===e)return!0;if(e<2||e%2==0)return!1;for(let t=3;t*t<=e;t+=2)if(e%t==0)return!1;return!0})(r);default:throw new Error}},name:i.UnaryOperator,priority:0,regexp:/^((is nil)|(is odd)|(is even)|(is bool)|(is num)|(is object)|(is str)|(is prime))/i,syntaxer:e=>{var t=r(e,2);let n=t[0],o=t[1];return Object.assign({block:n},o)},when:[i.Operand]},{evaluate:(e,t)=>{o.default.trace("evaluate -> unary not",e,t);const n=t;return!n.block.lexeme.evaluate(e,n.block)},name:i.UnaryNot,priority:1.5,regexp:/^!/,syntaxer:e=>Object.assign({block:e.slice(1,e.length)},e[0]),when:[i.UnaryNot]},Object.assign({name:i.Expression,when:[i.BinaryOperator]},a)];t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t=null)=>{if(t=t||(()=>{for(t=e;t&&"td"!==t.nodeName.toLowerCase();)t=t.parentElement;return t})(),!e||!t)return;let n=e;for(;"relative"!==getComputedStyle(n).position&&"sticky"!==getComputedStyle(n).position&&n.parentElement;)n=n.parentElement;let r=e;for(;"relative"!==getComputedStyle(r).position&&r.parentElement;)r=r.parentElement;const o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),s=a.left-o.left+n.scrollLeft,u=a.top-o.top+n.scrollTop+a.height;e.style.width=`${a.width}px`,e.style.top=`${u}px`,e.style.left=`${s}px`,e.style.position="absolute",a.top+a.height/2>i.bottom||a.top-a.height/2i.left+i.width?e.style.display="none":e.style.display="block"})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=((e,t,n)=>e[0]===t&&e[1]===n)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));const o=e=>{let t=0;const n=e.map(e=>{const n=Object.assign({},e,{nesting:t});return t+=e.lexeme.nesting||0,n}),i=n.filter(e=>0===e.nesting&&"number"==typeof e.lexeme.priority).sort((e,t)=>(t.lexeme.priority||-1)-(e.lexeme.priority||-1))[0];r.default.trace("parser -> pivot",i,e);const a=n.indexOf(i);if(i.lexeme.syntaxer){let t=i.lexeme.syntaxer(e,i,a);return Array.isArray(t.left)&&(t.left=o(t.left)),Array.isArray(t.right)&&(t.right=o(t.right)),Array.isArray(t.block)&&(t.block=o(t.block)),t}throw new Error(i.lexeme.name)};t.default=(e=>{const t=e.lexemes;if(!e.valid)return{valid:!1,error:`lexer -- ${e.error}`};try{return{tree:o(t),valid:!0}}catch(e){return{valid:!1,error:e}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.matrixMap=function(e,t,n){const o=r.addIndex(r.map),i=r.addIndex(r.map);return o((e,r)=>i((e,o)=>n(e,t[r][o],r,o),e),e)},t.matrixMap3=function(e,t,n,o){const i=r.addIndex(r.map),a=r.addIndex(r.map);return i((e,r)=>a((e,i)=>o(e,t[r][i],n[r][i],r,i),e),e)},t.matrixMap4=function(e,t,n,o,i){const a=r.addIndex(r.map),s=r.addIndex(r.map);return a((e,r)=>s((e,a)=>i(e,t[r][a],n[r][a],o[r][a],r,a),e),e)},t.matrixMapN=function(e,...t){const n=t.slice(0,1),o=t.slice(1),i=r.addIndex(r.map),a=r.addIndex(r.map);return i((t,n)=>a((t,r)=>e(n,r,[t,...o.map(e=>e[n][r])]),t),n)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach(function(t){return delete e[t]})}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",r({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}();h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;var r=a(n(25)),o=a(n(4)),i=a(n(27));function a(e){return e&&e.__esModule?e:{default:e}}o.default.setDebugLevel(r.default.debugLevel),o.default.setLogLevel(r.default.logLevel),t.Table=i.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=function(e){return e&&e.__esModule?e:{default:e}}(n(26));const i="dash_debug",a="dash_log";t.default=class{static get searchParams(){return new URL(window.location.href).searchParams||{get:()=>null}}static get debugLevel(){const e=this.searchParams.get(i)||o.default.get(i);return e&&r.DebugLevel[e]||r.DebugLevel.NONE}static get logLevel(){const e=this.searchParams.get(a)||o.default.get(a);return e&&r.LogLevel[e]||r.LogLevel.ERROR}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=864e5,o=63072e7;class i{static delete(e,t="",n="/"){let o=new Date((new Date).getTime()-r).toUTCString();document.cookie=`${e}=;expires=${o};domain=${t};path=${n}`}static get(e){if(!e.length)return;return e=e.toLowerCase(),(document.cookie.split(";").map(e=>{let t=e.split("=");return{id:t[0].trim(),value:t[1]}}).find(t=>e===t.id.toLocaleLowerCase())||{}).value}static set(e,t,n="",r="/"){let a=`${e}=${t};expires=${new Date((new Date).getTime()+o).toUTCString()};domain=${n};path=${r}`;i.get(e)&&i.delete(e,n,r),document.cookie=a}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.propTypes=t.defaultProps=void 0;var r=Object.assign||function(e){for(var t=1;tt=t||(0,l.default)("table-"))}render(){var e=this.props;const t=e.filtering,n=e.sorting,o=e.pagination_mode;return function(e){return-1!==["fe",!0,!1].indexOf(e)}(o)||d(t)&&d(n)?this.props.id?i.default.createElement(s.default,this.props):i.default.createElement(s.default,r({},this.props,{id:this.getId()})):(u.default.error("Invalid combination of filtering / sorting / pagination",t,n,o),i.default.createElement("div",null,"Invalid props combination"))}}t.default=p;const f=t.defaultProps={pagination_mode:"fe",pagination_settings:{displayed_pages:1,current_page:0,page_size:250},navigation:"page",content_style:"fit",css:[],filtering:!1,filtering_settings:"",filtering_type:"basic",filtering_types:["basic"],sorting:!1,sorting_type:"single",sorting_settings:[],derived_viewport_data:[],derived_viewport_indices:[],derived_virtual_data:[],derived_virtual_indices:[],column_conditional_dropdowns:[],column_static_dropdown:[],data:[],columns:[],editable:!1,active_cell:[],selected_cell:[[]],selected_rows:[],row_selectable:!1,style_table:{},style_data_conditional:[],style_cell_conditional:[],style_header_conditional:[]},h=t.propTypes={active_cell:a.default.array,columns:a.default.arrayOf(a.default.shape({clearable:a.default.bool,deletable:a.default.oneOfType([a.default.bool,a.default.number]),editable:a.default.bool,editable_name:a.default.oneOfType([a.default.bool,a.default.number]),hidden:a.default.bool,id:a.default.string.isRequired,name:a.default.oneOfType([a.default.string,a.default.arrayOf(a.default.string)]).isRequired,options:a.default.arrayOf(a.default.shape({label:a.default.oneOfType([a.default.number,a.default.string]).isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})),type:a.default.oneOf(["dropdown","numeric","text"])})),content_style:a.default.oneOf(["fit","grow"]),css:a.default.arrayOf(a.default.shape({selector:a.default.string.isRequired,rule:a.default.string.isRequired})),data:a.default.arrayOf(a.default.object),data_previous:a.default.arrayOf(a.default.object),data_timestamp:a.default.number,editable:a.default.bool,end_cell:a.default.arrayOf(a.default.number),id:a.default.string,is_focused:a.default.bool,merge_duplicate_headers:a.default.bool,n_fixed_columns:a.default.number,n_fixed_rows:a.default.number,row_deletable:a.default.bool,row_selectable:a.default.oneOf(["single","multi",!1]),selected_cell:a.default.arrayOf(a.default.arrayOf(a.default.number)),selected_rows:a.default.arrayOf(a.default.number),setProps:a.default.func,start_cell:a.default.arrayOf(a.default.number),style_as_list_view:a.default.bool,pagination_mode:a.default.oneOf(["fe","be",!0,!1]),pagination_settings:a.default.shape({displayed_pages:a.default.number.isRequired,current_page:a.default.number.isRequired,page_size:a.default.number.isRequired}),navigation:a.default.string,column_conditional_dropdowns:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdowns:a.default.arrayOf(a.default.shape({condition:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})).isRequired})),column_static_dropdown:a.default.arrayOf(a.default.shape({id:a.default.string.isRequired,dropdown:a.default.arrayOf(a.default.shape({label:a.default.string.isRequired,value:a.default.oneOfType([a.default.number,a.default.string]).isRequired})).isRequired})),filtering:a.default.oneOf(["fe","be",!0,!1]),filtering_settings:a.default.string,filtering_type:a.default.oneOf(["basic"]),filtering_types:a.default.arrayOf(a.default.oneOf(["basic"])),sorting:a.default.oneOf(["fe","be",!0,!1]),sorting_type:a.default.oneOf(["single","multi"]),sorting_settings:a.default.arrayOf(a.default.shape({columnId:a.default.oneOfType([a.default.string,a.default.number]).isRequired,direction:a.default.oneOf(["asc","desc"]).isRequired})),sorting_treat_empty_string_as_none:a.default.bool,style_table:a.default.object,style_cell:a.default.object,style_data:a.default.object,style_filter:a.default.object,style_header:a.default.object,style_cell_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_data_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),row_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),style_filter_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number])})})),style_header_conditional:a.default.arrayOf(a.default.shape({if:a.default.shape({column_id:a.default.oneOfType([a.default.string,a.default.number]),header_index:a.default.oneOfType([a.default.number,a.default.oneOf(["odd","even"])])})})),derived_viewport_data:a.default.arrayOf(a.default.object),derived_viewport_indices:a.default.arrayOf(a.default.number),derived_virtual_data:a.default.arrayOf(a.default.object),derived_virtual_indices:a.default.arrayOf(a.default.number),dropdown_properties:a.default.any};p.defaultProps=f,p.propTypes=h},function(e,t,n){"use strict";var r=n(29);function o(){}e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=o,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=p(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=n(3),s=p(n(32)),u=p(n(70)),l=p(n(71)),c=p(n(72)),d=p(n(73));function p(e){return e&&e.__esModule?e:{default:e}}n(74),n(77),n(79);const f=/^derived_/;t.default=class extends r.Component{constructor(e){super(e),this.__setProps=(0,a.memoizeOne)(e=>e?t=>{if(i.has("data",t)){const e=this.props.data;t.data_timestamp=Date.now(),t.data_previous=e}e(t)}:e=>this.setState(e)),this.paginator=(0,u.default)(),this.viewport=(0,l.default)(),this.virtual=(0,c.default)(),this.visibleColumns=(0,d.default)(),this.filterCache=(0,a.memoizeOneWithFlag)(e=>e),this.paginationCache=(0,a.memoizeOneWithFlag)(e=>e),this.sortCache=(0,a.memoizeOneWithFlag)(e=>e),this.viewportCache=(0,a.memoizeOneWithFlag)(e=>e),this.virtualCache=(0,a.memoizeOneWithFlag)(e=>e),this.controlled=this.getControlledProps(this.props),this.updateDerivedProps()}componentWillReceiveProps(e){this.controlled=this.getControlledProps(e),this.updateDerivedProps()}shouldComponentUpdate(e){const t=this.props;return i.any(n=>!f.test(n)&&t[n]!==e[n],i.keysIn(t))}render(){return o.default.createElement(s.default,Object.assign({},this.controlled))}getControlledProps(e){const t=this.setProps,n=e.columns,r=e.data,o=e.filtering,a=e.filtering_settings,s=e.pagination_mode,u=e.pagination_settings,l=e.sorting,c=e.sorting_settings,d=e.sorting_treat_empty_string_as_none,p=this.virtual(r,o,a,l,c,d),f=this.viewport(s,u,p.data,p.indices),h=this.paginator(s,u,t,p.data),g=this.visibleColumns(n);return i.mergeAll([e,{columns:g,paginator:h,setProps:t,viewport:f,virtual:p}])}updateDerivedProps(){var e=this.controlled;const t=e.filtering,n=e.filtering_settings,r=e.pagination_mode,o=e.pagination_settings,i=e.sorting,a=e.sorting_settings,s=e.viewport,u=e.virtual,l=this.viewportCache(s).cached,c=this.virtualCache(u).cached,d=this.filterCache(n),p=this.paginationCache(o),f=this.sortCache(a),h=!d.cached&&!d.first&&"be"===t||!p.cached&&!p.first&&"be"===r||!f.cached&&!f.first&&"be"===i;if(c&&l&&!h)return;const g=this.setProps;let m={};c||(m.derived_virtual_data=u.data,m.derived_virtual_indices=u.indices),l||(m.derived_viewport_data=s.data,m.derived_viewport_indices=s.indices),h&&(m.active_cell=void 0,m.selected_cell=void 0,m.selected_rows=void 0),setTimeout(()=>g(m),0)}get setProps(){return this.__setProps(this.props.setProps)}}},function(e,t,n){"use strict";function r(e){return void 0!==e&&null!==e&&"object"==typeof e&&e.constructor===Object}function o(e,t,n=!1){return e===t||i(Object.values(e),Object.values(t),n)}function i(e,t,n=!1){return!!e&&e.length===t.length&&!!e.every((e,a)=>{const s=t[a];return e===s||n&&(Array.isArray(e)&&Array.isArray(s)&&i(e,s,n)||r(e)&&r(s)&&o(e,s,n))})}Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=o,t.isEqualArgs=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),o=v(r),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),a=v(n(33)),s=n(17),u=n(34),l=v(n(4)),c=n(3),d=v(n(13)),p=v(n(35)),f=v(n(19)),h=v(n(38)),g=v(n(69)),m=v(n(8)),y=n(9);function v(e){return e&&e.__esModule?e:{default:e}}const b=i.sort((e,t)=>e-t);t.default=class extends r.PureComponent{constructor(e){super(e),this.tableStyle=(0,y.derivedTableStyle)(),this.getLexerResult=(0,c.memoizeOne)(d.default),this.handleClickOutside=(e=>{const t=this.$el;t&&!t.contains(e.target)&&this.props.is_focused&&this.props.setProps({is_focused:!1})}),this.handlePaste=(e=>{const t=this.$el;t&&t.contains(document.activeElement)&&this.onPaste(e)}),this.forceHandleResize=(()=>this.handleResize(!0)),this.handleResize=((e=!1)=>{if(this.state.forcedResizeOnly&&!e)return;e||this.setState({forcedResizeOnly:!0}),this.updateStylesheet();var t=this.refs;const n=t.r0c0,r=t.r0c1,o=t.r1c0,i=t.r1c1;let a=r.querySelectorAll("tr");n.querySelectorAll("tr").forEach((e,t)=>{const n=a[t];e.style.height=`${n.clientHeight}px`});let s=i.querySelectorAll("tr > th:first-of-type");o.querySelectorAll("tr > th:first-of-type").forEach((e,t)=>{const n=s[t].parentElement;e.parentElement.style.height=getComputedStyle(n).height});const u=i.querySelector("tr > td:first-of-type");if(u){const e=u.parentElement;this.stylesheet.setRule(".dash-fixed-column tr",`height: ${getComputedStyle(e).height};`)}}),this.handleKeyDown=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.setProps,i=t.is_focused,a=t.editable;if(l.default.trace(`handleKeyDown: ${e.key}`),(0,s.isCtrlMetaKey)(e.keyCode))return;const u=(0,s.isCtrlDown)(e);u&&e.keyCode===s.KEY_CODES.V||e.keyCode===s.KEY_CODES.C&&u&&!i||(e.keyCode!==s.KEY_CODES.ESCAPE?e.keyCode!==s.KEY_CODES.ENTER||i||!(0,m.default)(a,r[n[1]])?i&&e.keyCode!==s.KEY_CODES.TAB&&e.keyCode!==s.KEY_CODES.ENTER||((0,s.isNavKey)(e.keyCode)?this.switchCell(e):e.keyCode===s.KEY_CODES.BACKSPACE||e.keyCode===s.KEY_CODES.DELETE?this.deleteCell(e):this.props.is_focused||!(0,m.default)(a,r[n[1]])||(0,s.isMetaKey)(e.keyCode)||o({is_focused:!0})):o({is_focused:!0}):o({is_focused:!1}))}),this.switchCell=(e=>{const t=e;var n=this.props;const r=n.active_cell,o=n.columns,a=n.selected_cell,u=n.setProps,l=n.viewport;e.preventDefault(),this.$el.focus();const c=a.length>1,d=t.keyCode===s.KEY_CODES.ENTER||t.keyCode===s.KEY_CODES.TAB;if(c&&d)return void u({is_focused:!1,active_cell:this.getNextCell(t,{currentCell:r,restrictToSelection:!0})});if(!t.shiftKey){const e=this.getNextCell(t,{currentCell:r,restrictToSelection:!1});return void u({is_focused:!1,selected_cell:[e],active_cell:e})}let p=[],f=[];const h=b(i.uniq(i.pluck(0,a))),g=b(i.uniq(i.pluck(1,a))),m=h[0],y=g[0],v=h[h.length-1],x=g[g.length-1],_=t.keyCode===s.KEY_CODES.ARROW_DOWN||t.keyCode===s.KEY_CODES.ENTER,w=t.keyCode===s.KEY_CODES.ARROW_UP,O=t.keyCode===s.KEY_CODES.ARROW_RIGHT||t.keyCode===s.KEY_CODES.TAB,S=t.keyCode===s.KEY_CODES.ARROW_LEFT;_&&r[0]>m?f=g.map(e=>[m,e]):_&&v!==l.data.length-1?p=g.map(e=>[v+1,e]):w&&r[0][v,e]):w&&m>0?p=g.map(e=>[m-1,e]):S&&r[1][e,x]):S&&y>0?p=h.map(e=>[e,y-1]):O&&r[1]>y?f=h.map(e=>[e,y]):O&&x+1<=o.length-1&&(p=h.map(e=>[e,x+1])),u({is_focused:!1,selected_cell:i.without(f,i.uniq(i.concat(p,a)))})}),this.deleteCell=(e=>{var t=this.props;const n=t.columns,r=t.data,o=t.editable,a=t.selected_cell,s=t.setProps,u=t.viewport;e.preventDefault();let l=r;i.map(e=>[u.indices[e[0]],e[1]],a).forEach(e=>{(0,m.default)(o,n[e[1]])&&(l=i.set(i.lensPath([e[0],n[e[1]].id]),"",l))}),s({data:l})}),this.getNextCell=((e,{restrictToSelection:t,currentCell:n})=>{var r=this.props;const o=r.columns,a=r.selected_cell,l=r.viewport,c=e;switch(c.keyCode){case s.KEY_CODES.ARROW_LEFT:return t?(0,u.selectionCycle)([n[0],n[1]-1],a):[n[0],i.max(0,n[1]-1)];case s.KEY_CODES.ARROW_RIGHT:case s.KEY_CODES.TAB:return t?(0,u.selectionCycle)([n[0],n[1]+1],a):[n[0],i.min(o.length-1,n[1]+1)];case s.KEY_CODES.ARROW_UP:return t?(0,u.selectionCycle)([n[0]-1,n[1]],a):[i.max(0,n[0]-1),n[1]];case s.KEY_CODES.ARROW_DOWN:case s.KEY_CODES.ENTER:return t?(0,u.selectionCycle)([n[0]+1,n[1]],a):[i.min(l.data.length-1,n[0]+1),n[1]];default:throw new Error(`Table.getNextCell: unknown navigation keycode ${c.keyCode}`)}}),this.onCopy=(e=>{var t=this.props;const n=t.columns,r=t.selected_cell,o=t.viewport;p.default.toClipboard(e,r,n,o.data),this.$el.focus()}),this.onPaste=(e=>{var t=this.props;const n=t.active_cell,r=t.columns,o=t.data,i=t.editable,a=t.filtering_settings,s=t.setProps,u=t.sorting_settings,l=t.viewport;if(!i)return;const c=p.default.fromClipboard(e,n,l.indices,r,o,!0,!u.length||!a.length);c&&s(c)}),this.loadNext=(()=>{this.props.paginator.loadNext()}),this.loadPrevious=(()=>{this.props.paginator.loadPrevious()}),this.applyStyle=(()=>{var e=this.props;const t=e.n_fixed_columns,n=e.n_fixed_rows,r=e.row_deletable,o=e.row_selectable;var i=this.refs;const a=i.r1c0,s=i.r1c1;r&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-delete-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-delete-header","width: 30px; max-width: 30px; min-width: 30px;")),o&&(this.stylesheet.setRule(".dash-spreadsheet-inner td.dash-select-cell","width: 30px; max-width: 30px; min-width: 30px;"),this.stylesheet.setRule(".dash-spreadsheet-inner th.dash-select-header","width: 30px; max-width: 30px; min-width: 30px;")),n&&s.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-row:not(.dash-fixed-column) th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)}),t&&n&&a.querySelectorAll("tr:first-of-type td, tr:first-of-type th").forEach((e,t)=>{const n=getComputedStyle(e).width;this.stylesheet.setRule(`.dash-fixed-column.dash-fixed-row th:nth-of-type(${t+1})`,`width: ${n}; min-width: ${n}; max-width: ${n};`)})}),this.handleDropdown=(()=>{const e=this.refs.r1c1;(0,f.default)(e.querySelector(".Select-menu-outer"))}),this.onScroll=(e=>{const t=this.refs.r0c1;l.default.trace(`ControlledTable fragment scrolled to (left,top)=(${e.target.scrollLeft},${e.target.scrollTop})`),t.style.marginLeft=`${-e.target.scrollLeft}px`,this.handleDropdown()}),this.state={forcedResizeOnly:!1},this.stylesheet=new a.default(`#${e.id}`),this.tableFn=(0,h.default)(()=>this.props),this.updateStylesheet()}get lexerResult(){const e=this.props.filtering_settings;return this.getLexerResult(e)}updateStylesheet(){const e=this.props.css;i.forEach(({selector:e,rule:t})=>{this.stylesheet.setRule(e,t)},e)}componentDidMount(){this.props.selected_cell.length&&!i.contains(this.props.active_cell,this.props.selected_cell)&&this.props.setProps({active_cell:this.props.selected_cell[0]}),this.applyStyle(),this.handleResize()}componentWillMount(){window.addEventListener("resize",this.forceHandleResize),document.addEventListener("paste",this.handlePaste),document.addEventListener("mousedown",this.handleClickOutside)}componentWillUnmount(){window.removeEventListener("resize",this.forceHandleResize),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("paste",this.handlePaste)}componentWillUpdate(){this.updateStylesheet()}componentDidUpdate(){this.applyStyle(),this.handleResize(),this.handleDropdown()}get $el(){return document.getElementById(this.props.id)}get displayPagination(){var e=this.props;const t=e.data,n=e.navigation,r=e.pagination_mode,o=e.pagination_settings;return"page"===n&&("fe"===r&&o.page_sizeo.default.createElement("div",{key:`r${t}`,ref:`r${t}`,className:`row row-${t}`,onScroll:this.onScroll},e.map((e,n)=>o.default.createElement("div",{key:n,ref:`r${t}c${n}`,className:`cell cell-${t}-${n} ${l[t][n]}`},e)))))),this.displayPagination?o.default.createElement("div",null,o.default.createElement("button",{className:"previous-page",onClick:this.loadPrevious},"Previous"),o.default.createElement("button",{className:"next-page",onClick:this.loadNext},"Next")):null)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(4));class o{constructor(e){this.name=e}get rules(){const e=this.sheet;return Array.from(e.rules||e.cssRules)}addRule(e,t){this.sheet.addRule?this.sheet.addRule(e,t):this.sheet.insertRule(`${e} { ${t} }`,0)}deleteRule(e){this.sheet.deleteRule(e)}findRule(e){const t=this.rules,n=t.findIndex(t=>t.selectorText===e);return-1===n?null:{rule:t[n],index:n}}get sheet(){return(this.__stylesheet=this.__stylesheet||(()=>{const e=document.createElement("style");return e.type="text/css",e.id=this.name,document.getElementsByTagName("head")[0].appendChild(e),e})()).sheet}}class i{constructor(e){this.prefix=e,this.stylesheet=new o(`${e}-dynamic-inline.css`)}static unit(e,t="px"){return i.hasUnit(e)?e:`${e}${t}`}static hasUnit(e){return"string"==typeof e&&/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)}deleteRule(e){e=`${this.prefix} ${e}`;const t=this.stylesheet.findRule(e);t&&this.stylesheet.deleteRule(t.index)}setRule(e,t){e=`${this.prefix} ${e}`;const n=this.stylesheet.findRule(e);if(n){if(n.rule.cssText===t||n.rule.cssText===`${e} { ${t} }`)return;this.stylesheet.deleteRule(n.index)}this.stylesheet.addRule(e,t),r.default.trace("stylesheet",e,t)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.selectionCycle=function(e,t){const n=o.uniq(o.pluck(0,t)).sort((e,t)=>e-t),i=o.uniq(o.pluck(1,t)).sort((e,t)=>e-t),a=n[0],s=i[0],u=n[n.length-1],l=i[i.length-1];var c=r(e,2);const d=c[0],p=c[1],f=[d,p];d>u&&(f[0]=a,f[1]=p+1>l?s:p+1);dl&&(f[1]=s,f[0]=d+1>u?a:d+1);pe-t)),l=r.uniq(r.pluck(1,t).sort((e,t)=>e-t)),c=r.slice(r.head(u),r.last(u)+1,s).map(e=>r.props(l,r.props(r.pluck("id",n),e))),d=o.default.prototype.stringify(c);a.default.trace("TableClipboard -- set clipboard data: ",d),i.default.set(e,d)}static fromClipboard(e,t,n,l,c,d=!0,p=!0){const f=i.default.get(e);if(a.default.trace("TableClipboard -- get clipboard data: ",f),!f)return;p||a.default.debug("Clipboard -- Sorting or filtering active, do not create new rows"),d||a.default.debug("Clipboard -- Do not create new columns");const h=o.default.prototype.parse(f);let g=c;const m=l;if(d&&h[0].length+t[1]>=l.length)for(let e=l.length;et[`Column ${e}`]="");const y=n[t[0]];if(p&&h.length+y>=c.length){const e={};l.forEach(t=>e[t.id]=""),g=r.concat(g,r.repeat(e,h.length+y-c.length))}return h.forEach((e,o)=>e.forEach((e,i)=>{const a=t[0]+o;if(n.length<=t[0]+o)return;const s=n[a],l=t[1]+i,c=m[l];c&&(0,u.default)(!0,c)&&(g=r.set(r.lensPath([s,c.id]),e,g))})),{data:g,columns:m}}}},function(e,t){!function(t){"use strict";function n(){}function r(e){return e.split('"').length-1}n.prototype=Object.create(Object.prototype,{parse:{value:function(e){var t,n,o,i,a,s,u,l=[],c=0;for((o=e.split("\n")).length>1&&""===o[o.length-1]&&o.pop(),t=0,n=o.length;t0&&(a+="\t"),"string"==typeof(i=e[t][r])?i.indexOf("\n")>-1?a+='"'+i.replace(/"/g,'""')+'"':a+=i:a+=null===i||void 0===i?"":i;a+="\n"}return a},enumerable:!0,configurable:!1,writable:!1}}),void 0!==e&&e.exports?e.exports=n:t.SheetClip=n}(this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{static set(e,t){e.clipboardData.setData("text/plain",t),e.preventDefault()}static get(e){let t;return t=e.clipboardData?e.clipboardData.getData("text/plain"):void 0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=a(n(39)),o=a(n(54)),i=a(n(58));function a(e){return e&&e.__esModule?e:{default:e}}const s=(e,t)=>e({filtering_settings:t});t.default=(e=>{const t=new r.default(e),n=new o.default(()=>(function(e){var t=e();const n=t.columns,r=t.filtering,o=t.filtering_settings,i=t.filtering_type,a=t.id,u=t.row_deletable,l=t.row_selectable,c=t.setProps,d=t.style_cell,p=t.style_cell_conditional,f=t.style_filter,h=t.style_filter_conditional;return{columns:n,fillerColumns:(u?1:0)+(l?1:0),filtering:r,filtering_settings:o,filtering_type:i,id:a,setFilter:s.bind(void 0,c),style_cell:d,style_cell_conditional:p,style_filter:f,style_filter_conditional:h}})(e)),a=new i.default(e);return function(e,t,n){const r=[],o=e.createCells(),i=t.createFilters(),a=n.createHeaders();return r.push(...a),r.push(...i),r.push(...o),r}.bind(void 0,t,n,a)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=p(n(1)),o=p(n(40)),i=p(n(43)),a=p(n(50)),s=p(n(51)),u=p(n(52)),l=n(9),c=n(22),d=n(16);function p(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(e,t=(0,s.default)(),n=(0,o.default)(e().id),r=(0,l.derivedRelevantCellStyles)()){this.propsFn=e,this.cellStyles=t,this.cellWrappers=n,this.relevantStyles=r,this.cellInputs=(0,i.default)(),this.cellOperations=(0,a.default)(),this.cellDropdowns=(0,u.default)()}get props(){return this.propsFn()}createCells(){var e=this.props;const t=e.active_cell,n=e.columns,o=e.column_conditional_dropdowns,i=e.column_static_dropdown,a=e.data,s=e.dropdown_properties,u=e.editable,l=e.id,p=e.is_focused,f=e.row_deletable,h=e.row_selectable,g=e.selected_cell,m=e.selected_rows,y=e.setProps,v=e.style_cell,b=e.style_cell_conditional,x=e.style_data,_=e.style_data_conditional,w=e.viewport,O=this.cellOperations(t,a,w.data,w.indices,h,f,m,y),S=this.cellWrappers(t,n,w.data,u,g),E=this.relevantStyles(v,x,b,_),C=this.cellStyles(n,E,w.data),k=this.cellDropdowns(l)(n,w.data,w.indices,o,i,s),A=this.cellInputs(t,n,w.data,u,!!p,l,k,this.propsFn),F=(0,c.matrixMap3)(S,C,A,(e,t,n)=>r.default.cloneElement(e,{children:[n],style:t}));return(0,d.arrayMap)(O,F,(e,t)=>Array.prototype.concat(e,t))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=p(n(1)),i=n(3),a=n(7),s=p(n(41)),u=p(n(20)),l=p(n(42)),c=p(n(14)),d=p(n(8));function p(e){return e&&e.__esModule?e:{default:e}}function f(e,t,n,o,i,s){return r.addIndex(r.map)((o,c)=>r.addIndex(r.map)((n,r)=>{const o=(0,u.default)(t,c,r),p=(0,l.default)(s,c,r),f="dash-cell"+` column-${r}`+(o?" focused":"")+((0,d.default)(i,n)?"":" cell--uneditable")+(p?" cell--selected":"")+(n.type===a.ColumnType.Dropdown?" dropdown":"");return e([c,r],o,f,r,n.id)},n),o)}t.default=(0,i.memoizeAll)(function(e){const t=(0,c.default)((e,t,n,r)=>o.default.createElement(s.default,{active:e,classes:t,key:`column-${n}`,property:r}));return(0,i.memoizeOne)(f).bind(void 0,t)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(o);const a=/^children$/;t.default=class extends o.Component{constructor(e){super(e)}get propsWithDefaults(){return this.props}render(){var e=this.propsWithDefaults;const t=e.classes,n=e.property,r=e.style;return i.default.createElement("td",{ref:"td",children:this.props.children,tabIndex:-1,className:t,style:r,"data-dash-column":n})}shouldComponentUpdate(e){const t=this.props,n=this.getChildProps(t),o=this.getChildProps(e);return r.any(n=>!a.test(n)&&t[n]!==e[n],r.keysIn(t))||r.any(e=>n[e]!==o[e],r.keysIn(n))}getChildProps(e){return e&&e.children&&e.children[0]&&e.children[0].props}}},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));t.default=((e,t,n)=>r.contains([t,n],e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(2)),o=c(n(1)),i=n(3),a=c(n(44)),s=c(n(47)),u=c(n(20)),l=c(n(8));function c(e){return e&&e.__esModule?e:{default:e}}const d=r.addIndex(r.map),p=r.addIndex(r.map),f=(0,s.default)();t.default=(0,i.memoizeOneFactory)((e,t,n,r,i,s,c,h)=>d((n,d)=>p((t,p)=>{const g=(0,u.default)(e,d,p),m=c[d][p],y=f(h)(d,p);return o.default.createElement(a.default,Object.assign({key:`column-${p}`,active:g,clearable:t.clearable,datum:n,dropdown:m,editable:(0,l.default)(r,t),focused:i,property:t.id,tableId:s,type:t.type,value:n[t.id]},y))},t),n))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1),o=c(r),i=c(n(45)),a=c(n(46)),s=n(17),u=n(7),l=c(n(19));function c(e){return e&&e.__esModule?e:{default:e}}class d extends r.PureComponent{constructor(e){super(e),this.propagateChange=(()=>{if(this.state.value===this.props.value)return;(0,this.props.onChange)(this.state.value)}),this.handleChange=(e=>{this.setState({value:e.target.value})}),this.handleKeyDown=(e=>{e.keyCode!==s.KEY_CODES.ENTER&&e.keyCode!==s.KEY_CODES.TAB||this.propagateChange()}),this.handleOpenDropdown=(()=>{var e=this.refs;const t=e.dropdown,n=e.td;(0,l.default)(t.wrapper.querySelector(".Select-menu-outer"),n)}),this.state={value:e.value}}get propsWithDefaults(){return this.props}renderDropdown(){var e=this.propsWithDefaults;const t=e.active,n=e.clearable,r=e.dropdown,a=e.editable,s=e.focused,u=e.onChange,l=e.onClick,c=e.onDoubleClick,d=e.value,p={className:[...t?["input-active"]:[],...s?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:l,onDoubleClick:c};return!r||!a?this.renderValue(p):o.default.createElement("div",{className:"dash-dropdown-cell-value-container dash-cell-value-container"},this.renderValue({className:"dropdown-cell-value-shadow cell-value-shadow"},(r.find(e=>e.value===d)||{label:void 0}).label),o.default.createElement(i.default,{ref:"dropdown",clearable:n,onChange:e=>{u(e?e.value:e)},onOpen:this.handleOpenDropdown,options:r,placeholder:"",value:d}))}renderInput(){var e=this.propsWithDefaults;const t=e.active,n=e.editable,r=e.focused,i=e.onClick,a=e.onDoubleClick,s=e.onPaste,u={className:[...t?["input-active"]:[],...r?["focused"]:["unfocused"],...["dash-cell-value"]].join(" "),onClick:i,onDoubleClick:a};return!t&&this.state.value===this.props.value||!n?this.renderValue(u):o.default.createElement("div",{className:"dash-input-cell-value-container dash-cell-value-container"},this.renderValue({className:"input-cell-value-shadow cell-value-shadow"}),o.default.createElement("input",Object.assign({ref:"textInput",type:"text",value:this.state.value,onBlur:this.propagateChange,onChange:this.handleChange,onKeyDown:this.handleKeyDown,onPaste:s},u)))}renderValue(e={},t){return t=t||this.propsWithDefaults.value,o.default.createElement("div",Object.assign({},e),t)}render(){switch(this.props.type){case u.ColumnType.Text:case u.ColumnType.Numeric:return this.renderInput();case u.ColumnType.Dropdown:return this.renderDropdown();default:return this.renderValue()}}componentWillReceiveProps(e){const t=e.value;this.state.value!==t&&this.setState({value:t})}componentDidUpdate(){if(!this.propsWithDefaults.active)return;const e=this.refs.textInput,t=this.refs.dropdown;if(e&&document.activeElement!==e&&(e.focus(),e.setSelectionRange(0,e.value?e.value.length:0)),t&&document.activeElement!==t){const e=a.default.getFirstParentOfType(t.wrapper,"td");e&&e.focus()}}}t.default=d,d.defaultProps={conditionalDropdowns:[],type:u.ColumnType.Text}},function(e,t,n){"use strict";n.r(t),n.d(t,"Async",function(){return L}),n.d(t,"AsyncCreatable",function(){return G}),n.d(t,"Creatable",function(){return W}),n.d(t,"Value",function(){return F}),n.d(t,"Option",function(){return A}),n.d(t,"defaultMenuRenderer",function(){return v}),n.d(t,"defaultArrowRenderer",function(){return p}),n.d(t,"defaultClearRenderer",function(){return f}),n.d(t,"defaultFilterOptions",function(){return y});var r=n(23),o=n.n(r),i=n(5),a=n.n(i),s=n(0),u=n.n(s),l=n(1),c=n.n(l),d=n(6),p=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};p.propTypes={onMouseDown:u.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],g=function(e){for(var t=0;t-1)return!1;if(r.filterOption)return r.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[r.valueKey],i=e[r.labelKey],a=m(o),s=m(i);if(!a&&!s)return!1;var u=a?String(o):null,l=s?String(i):null;return r.ignoreAccents&&(u&&"label"!==r.matchProp&&(u=g(u)),l&&"value"!==r.matchProp&&(l=g(l))),r.ignoreCase&&(u&&"label"!==r.matchProp&&(u=u.toLowerCase()),l&&"value"!==r.matchProp&&(l=l.toLowerCase())),"start"===r.matchPos?u&&"label"!==r.matchProp&&u.substr(0,t.length)===t||l&&"value"!==r.matchProp&&l.substr(0,t.length)===t:u&&"label"!==r.matchProp&&u.indexOf(t)>=0||l&&"value"!==r.matchProp&&l.indexOf(t)>=0})},v=function(e){var t=e.focusedOption,n=e.focusOption,r=e.inputValue,o=e.instancePrefix,i=e.onFocus,s=e.onOptionRef,u=e.onSelect,l=e.optionClassName,d=e.optionComponent,p=e.optionRenderer,f=e.options,h=e.removeValue,g=e.selectValue,m=e.valueArray,y=e.valueKey,v=d;return f.map(function(e,d){var f=m&&m.some(function(t){return t[y]===e[y]}),b=e===t,x=a()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(v,{className:x,focusOption:n,inputValue:r,instancePrefix:o,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+d+"-"+e[y],onFocus:i,onSelect:u,option:e,optionIndex:d,ref:function(e){s(e,b)},removeValue:h,selectValue:g},p(e,d,r))})};v.propTypes={focusOption:u.a.func,focusedOption:u.a.object,inputValue:u.a.string,instancePrefix:u.a.string,onFocus:u.a.func,onOptionRef:u.a.func,onSelect:u.a.func,optionClassName:u.a.string,optionComponent:u.a.func,optionRenderer:u.a.func,options:u.a.array,removeValue:u.a.func,selectValue:u.a.func,valueArray:u.a.array,valueKey:u.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_=(function(){function e(e){this.value=e}function t(t){var n,r;function o(n,r){try{var a=t[n](r),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){o("next",e)},function(e){o("throw",e)}):i(a.done?"return":"normal",a.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,a){var s={key:e,arg:t,resolve:i,reject:a,next:null};r?r=r.next=s:(n=r=s,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),w=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},k=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},A=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,r=e.optionIndex,o=a()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:o,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+r,title:t.title},this.props.children)}}]),t}(c.a.Component);A.propTypes={children:u.a.node,className:u.a.string,instancePrefix:u.a.string.isRequired,isDisabled:u.a.bool,isFocused:u.a.bool,isSelected:u.a.bool,onFocus:u.a.func,onSelect:u.a.func,onUnfocus:u.a.func,option:u.a.object.isRequired,optionIndex:u.a.number};var F=function(e){function t(e){_(this,t);var n=k(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return E(t,e),w(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:a()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);F.propTypes={children:u.a.node,disabled:u.a.bool,id:u.a.string,onClick:u.a.func,onRemove:u.a.func,value:u.a.object.isRequired}; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see diff --git a/dash_table/metadata.json b/dash_table/metadata.json index dea414afe..14d7dab48 100644 --- a/dash_table/metadata.json +++ b/dash_table/metadata.json @@ -9,7 +9,7 @@ "name": "array" }, "required": false, - "description": "", + "description": "The [row, column] index of which cell is currently\nactive.", "defaultValue": { "value": "[]", "computed": false @@ -23,6 +23,7 @@ "value": { "clearable": { "name": "bool", + "description": "If the column is rendered as dropdowns, then the\n`clearable` property determines whether or not\nthe dropdown value can be cleared or not.\n\nNOTE - The name of this property may change in the future,\nsubscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168)\nfor more information.", "required": false }, "deletable": { @@ -35,10 +36,12 @@ "name": "number" } ], + "description": "If True, the user can delete the column by clicking on a little `x`\nbutton on the column.\nIf there are merged, multi-header columns then you can choose\nwhich column header row to display the \"x\" in by\nsupplying a column row index.\nFor example, `0` will display the \"x\" on the first row,\n`1` on the second row.\nIf the \"x\" appears on a merged column, then clicking on that button\nwill delete *all* of the merged columns associated with it.", "required": false }, "editable": { "name": "bool", + "description": "There are two `editable` flags in the table.\nThis is the column-level editable flag and there is\nalso the table-level `editable` flag.\n\nThese flags determine whether the contents of the table\nare editable or not.\n\nIn order for this property to apply, the table-level `editable`\nflag must be `True`. That is, if you want to only make a single\ncolumn editable, then you must set the table-level `editable`\nflag to `True`, the particular column `editable` flag to True,\nand all of the column-level editable flags to `False`.\n\nNOTE - This behavior may change in the future.\nSubscribe to [https://github.com/plotly/dash-table/issues/175](https://github.com/plotly/dash-table/issues/175)\nfor more information.", "required": false }, "editable_name": { @@ -51,18 +54,33 @@ "name": "number" } ], + "description": "If True, then the name of this column is editable.\nIf there are multiple column headers (if `name` is a list of strings),\nthen `editable_name` can refer to _which_ column header should be\neditable by setting it to the column header index.\nAlso, updating the name in a merged column header cell will\nupdate the name of each column.", "required": false }, "hidden": { "name": "bool", + "description": "If True, then the column and its data is hidden.\nThis can be useful if you want to transport extra\nmeta data (like a data index) to and from callbacks\nbut you don't necessarily want to display that data.", "required": false }, "id": { "name": "string", + "description": "The `id` of the column.\nThe column `id` is used to match cells in data\nwith particular columns.\nThe `id` is not visible in the table.", "required": true }, "name": { - "name": "string", + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "arrayOf", + "value": { + "name": "string" + } + } + ], + "description": "The `name` of the column,\nas it appears in the column header.\nIf `name` is a list of strings, then the columns\nwill render with multiple headers rows.", "required": true }, "options": { @@ -96,6 +114,7 @@ } } }, + "description": "DEPRECATED\nPlease use `column_static_dropdown` instead.\nNOTE - Dropdown behaviour will likely change in the future,\nsubscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168)\nfor more information.", "required": false }, "type": { @@ -114,13 +133,14 @@ "computed": false } ], + "description": "The data-type of the column's data.\n`numeric` and `text` are currently the same.\n`dropdown` is used to render cells as dropdowns.\nNOTE: This feature has not been fully implemented.\nIn the future, it's data types will impact things like\ntext formatting options in the cell (e.g. display 2 decimals\nfor a number), filtering options and behavior, and editing\nbehavior.\nStay tuned by following [https://github.com/plotly/dash-table/issues/166](https://github.com/plotly/dash-table/issues/166)", "required": false } } } }, "required": false, - "description": "", + "description": "Columns describes various aspects about each individual column.\n`name` and `id` are the only required parameters.", "defaultValue": { "value": "[]", "computed": false @@ -141,7 +161,7 @@ ] }, "required": false, - "description": "", + "description": "`content_style` toggles between a set of CSS styles for\ntwo common behaviors:\n- `fit`: The table container's width be equal to the width of its content.\n- `grow`: The table container's width will grow to be the size of the container.\n\nNOTE - This property will likely change in the future,\nsubscribe to [https://github.com/plotly/dash-table/issues/176](https://github.com/plotly/dash-table/issues/176)\nfor more details.", "defaultValue": { "value": "'fit'", "computed": false @@ -165,7 +185,7 @@ } }, "required": false, - "description": "", + "description": "The `css` property is a way to embed CSS selectors and rules\nonto the page.\nWe recommend starting with the `style_*` properties\nbefore using this `css` property.\n\nExample:\n[\n {\"selector\": \".dash-spreadsheet\", \"rule\": 'font-family: \"monospace\"'}\n]", "defaultValue": { "value": "[]", "computed": false @@ -179,7 +199,7 @@ } }, "required": false, - "description": "", + "description": "The contents of the table.\nThe keys of each item in data should match the column IDs.\nExample:\n\n[\n {'column-1': 4.5, 'column-2': 'montreal', 'column-3': 'canada'},\n {'column-1': 8, 'column-2': 'boston', 'column-3': 'america'}\n]", "defaultValue": { "value": "[]", "computed": false @@ -193,21 +213,21 @@ } }, "required": false, - "description": "" + "description": "The previous state of `data`. `data_previous`\nhas the same structure as `data` and it will be updated\nwhenever `data` changes, either through a callback or\nby editing the table.\nThis is a read-only property: setting this property will not\nhave any impact on the table." }, "data_timestamp": { "type": { "name": "number" }, "required": false, - "description": "" + "description": "The unix timestamp when the data was last edited.\nUse this property with other timestamp properties\n(such as `n_clicks_timestamp` in `dash_html_components`)\nto determine which property has changed within a callback." }, "editable": { "type": { "name": "bool" }, "required": false, - "description": "", + "description": "If True, then the data in all of the cells is editable.\nWhen `editable` is True, particular columns can be made\nuneditable by setting `editable` to `False` inside the `columns`\nproperty.\n\nNOTE - This behavior may change in the future, subscribe to\n[https://github.com/plotly/dash-table/issues/175](https://github.com/plotly/dash-table/issues/175)\nfor more details.", "defaultValue": { "value": "false", "computed": false @@ -221,49 +241,49 @@ } }, "required": false, - "description": "" + "description": "When selecting multiple cells\n(via clicking on a cell and then shift-clicking on another cell),\n`end_cell` represents the [row, column] coordinates of the cell\nin one of the corners of the region.\n`start_cell` represents the coordinates of the other corner." }, "id": { "type": { "name": "string" }, "required": false, - "description": "" + "description": "The ID of the table." }, "is_focused": { "type": { "name": "bool" }, "required": false, - "description": "" + "description": "If True, then the `active_cell` is in a focused state." }, "merge_duplicate_headers": { "type": { "name": "bool" }, "required": false, - "description": "" + "description": "If True, then column headers that have neighbors with duplicate names\nwill be merged into a single cell.\nThis will be applied for single column headers and multi-column\nheaders." }, "n_fixed_columns": { "type": { "name": "number" }, "required": false, - "description": "" + "description": "`n_fixed_columns` will \"fix\" the set of columns so that\nthey remain visible when scrolling horizontally across\nthe unfixed columns. `n_fixed_columns` fixes columns\nfrom left-to-right, so `n_fixed_columns=3` will fix\nthe first 3 columns.\n\nNote that fixing columns introduces some changes to the\nunderlying markup of the table and may impact the\nway that your columns are rendered or sized.\nView the documentation examples to learn more." }, "n_fixed_rows": { "type": { "name": "number" }, "required": false, - "description": "" + "description": "`n_fixed_rows` will \"fix\" the set of rows so that\nthey remain visible when scrolling vertically down\nthe table. `n_fixed_rows` fixes rows\nfrom top-to-bottom, starting from the headers,\nso `n_fixed_rows=1` will fix the header row,\n`n_fixed_rows=2` will fix the header row and the first row,\nor the first two header rows (if there are multiple headers).\n\nNote that fixing rows introduces some changes to the\nunderlying markup of the table and may impact the\nway that your columns are rendered or sized.\nView the documentation examples to learn more." }, "row_deletable": { "type": { "name": "bool" }, "required": false, - "description": "" + "description": "If True, then a `x` will appear next to each `row`\nand the user can delete the row." }, "row_selectable": { "type": { @@ -284,7 +304,7 @@ ] }, "required": false, - "description": "", + "description": "If `single`, then the user can select a single row\nvia a radio button that will appear next to each row.\nIf `multi`, then the user can select multiple rows\nvia a checkbox that will appear next to each row.\nIf `False`, then the user will not be able to select rows\nand no additional UI elements will appear.\n\nWhen a row is selected, its index will be contained\nin `selected_rows`.", "defaultValue": { "value": "false", "computed": false @@ -301,7 +321,7 @@ } }, "required": false, - "description": "", + "description": "`selected_cell` represents the set of cells that are selected.\nThis is similar to `active_cell` except that it contains multiple\ncells. Multiple cells can be selected by holding down shift and\nclicking on a different cell or holding down shift and navigating\nwith the arrow keys.\n\nNOTE - This property may change in the future, subscribe to\n[https://github.com/plotly/dash-table/issues/177](https://github.com/plotly/dash-table/issues/177)\nfor more details.", "defaultValue": { "value": "[[]]", "computed": false @@ -315,7 +335,7 @@ } }, "required": false, - "description": "", + "description": "`selected_rows` contains the indices of the rows that\nare selected via the UI elements that appear when\n`row_selectable` is `'single'` or `'multi'`.", "defaultValue": { "value": "[]", "computed": false @@ -336,14 +356,14 @@ } }, "required": false, - "description": "" + "description": "When selecting multiple cells\n(via clicking on a cell and then shift-clicking on another cell),\n`start_cell` represents the [row, column] coordinates of the cell\nin one of the corners of the region.\n`end_cell` represents the coordinates of the other corner." }, "style_as_list_view": { "type": { "name": "bool" }, "required": false, - "description": "" + "description": "DEPRECATED" }, "pagination_mode": { "type": { @@ -368,7 +388,7 @@ ] }, "required": false, - "description": "", + "description": "\"pagination\" refers to a mode of the table where\nnot all of the rows are displayed at once: only a subset\nare displayed (a \"page\") and the next subset of rows\ncan viewed by clicking \"Next\" or \"Previous\" buttons\nat the bottom of the page.\n\nPagination is used to improve performance: instead of\nrendering all of the rows at once (which can be expensive),\nwe only display a subset of them.\n\nWith pagination, we can either page through data that exists\nin the table (e.g. page through `10,000` rows in `data` `100` rows at a time)\nor we can update the data on-the-fly with callbacks\nwhen the user clicks on the \"Previous\" or \"Next\" buttons.\nThese modes can be toggled with this `pagination_mode` parameter:\n- `'fe'` refers to \"front-end\" paging: passing large data up-front\n- `'be'` refers to \"back-end\" paging: updating the data on the fly via callbacks\n- `False` will disable paging, attempting to render all of the data at once\n- `True` is the same as `fe`\n\nNOTE: The `fe` and `be` names may change in the future.\nTune in to [https://github.com/plotly/dash-table/issues/167](https://github.com/plotly/dash-table/issues/167) for more.", "defaultValue": { "value": "'fe'", "computed": false @@ -393,7 +413,7 @@ } }, "required": false, - "description": "", + "description": "`pagination_settings` controls the pagination settings\n_and_ represents the current state of the pagination UI.\n- `page_size` represents the number of rows that will be\ndisplayed on a particular page.\n- `current_page` represents which page the user is on.\nUse this property to index through data in your callbacks with\nbackend paging.\n- `displayed_pages` is DEPRECATED.", "defaultValue": { "value": "{\n displayed_pages: 1,\n current_page: 0,\n page_size: 250\n}", "computed": false @@ -404,7 +424,7 @@ "name": "string" }, "required": false, - "description": "", + "description": "DEPRECATED", "defaultValue": { "value": "'page'", "computed": false @@ -462,7 +482,7 @@ } }, "required": false, - "description": "", + "description": "`column_conditional_dropdowns` specifies the available options\nfor dropdowns in various columns and cells.\nThis property allows you to specify different dropdowns\ndepending on certain conditions. For example, you may\nrender different \"city\" dropdowns in a row depending on the\ncurrent value in the \"state\" column.\n\nNOTE: The naming and the behavior of this option may change\nin the future.\nTune in to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168)", "defaultValue": { "value": "[]", "computed": false @@ -507,7 +527,7 @@ } }, "required": false, - "description": "", + "description": "`column_static_dropdown` represents the available dropdown\noptions for different columns.\nThe `id` property refers to the column ID.\nThe `dropdown` property refers to the `options` of the\ndropdown.\n\nNOTE: The naming and the behavior of this option may change\nin the future.\nTune in to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168)", "defaultValue": { "value": "[]", "computed": false @@ -536,7 +556,7 @@ ] }, "required": false, - "description": "", + "description": "The `filtering` property controls the behavior of the `filtering` UI.\nIf `False`, then the filtering UI is not displayed\nIf `fe` or True, then the filtering UI is displayed and the filtering\nhappens in the \"front-end\". That is, it is performed on the data\nthat exists in the `data` property.\nIf `be`, then the filtering UI is displayed but it is the\nresponsibility of the developer to program the filtering\nthrough a callback (where `filtering_settings` would be the input\nand `data` would be the output).\n\nNOTE - Several aspects of filtering may change in the future,\nincluding the naming of this property.\nTune in to [https://github.com/plotly/dash-table/issues/167](https://github.com/plotly/dash-table/issues/167)", "defaultValue": { "value": "false", "computed": false @@ -547,7 +567,7 @@ "name": "string" }, "required": false, - "description": "", + "description": "If `filtering` is enabled, then the current filtering\nstring is represented in this `filtering_settings`\nproperty.\nNOTE: The shape and structure of this property will\nlikely change in the future.\nStay tuned in [https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169)", "defaultValue": { "value": "''", "computed": false @@ -564,7 +584,7 @@ ] }, "required": false, - "description": "", + "description": "UNSTABLE\nIn the future, there may be several modes of the\nfiltering UI like `basic`, `advanced`, etc.\nCurrently, we only `basic`.\nNOTE - This will likely change in the future,\nsubscribe to changes here:\n[https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169)", "defaultValue": { "value": "'basic'", "computed": false @@ -584,7 +604,7 @@ } }, "required": false, - "description": "", + "description": "UNSTABLE\nIn the future, there may be several modes of the\nfiltering UI like `basic`, `advanced`, etc\nNOTE - This will likely change in the future,\nsubscribe to changes here:\n[https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169)", "defaultValue": { "value": "['basic']", "computed": false @@ -613,7 +633,7 @@ ] }, "required": false, - "description": "", + "description": "The `sorting` property enables data to be\nsorted on a per-column basis.\nEnabling `sorting` will display a UI element\non each of the columns (up and down arrows).\n\nSorting can be performed in the \"front-end\"\nwith the `fe` (or True) setting or via a callback in your\npython \"back-end\" with the `be` setting.\nClicking on the sort arrows will update the\n`sorting_settings` property.", "defaultValue": { "value": "false", "computed": false @@ -634,7 +654,7 @@ ] }, "required": false, - "description": "", + "description": "Sorting can be performed across multiple columns\n(e.g. sort by country, sort within each country,\n sort by year) or by a single column.\n\nNOTE - With multi-column sort, it's currently\nnot possible to determine the order in which\nthe columns were sorted through the UI.\nSee [https://github.com/plotly/dash-table/issues/170](https://github.com/plotly/dash-table/issues/170)", "defaultValue": { "value": "'single'", "computed": false @@ -676,7 +696,7 @@ } }, "required": false, - "description": "", + "description": "`sorting_settings` describes the current state\nof the sorting UI.\nThat is, if the user clicked on the sort arrow\nof a column, then this property will be updated\nwith the column ID and the direction\n(`asc` or `desc`) of the sort.\nFor multi-column sorting, this will be a list of\nsorting parameters, in the order in which they were\nclicked.\n\nNOTE - We may rename `columnId` to `column_id` in\nthe future.\nSubscribe to [https://github.com/plotly/dash-table/issues/171](https://github.com/plotly/dash-table/issues/171)\nfor details.", "defaultValue": { "value": "[]", "computed": false @@ -687,14 +707,14 @@ "name": "bool" }, "required": false, - "description": "" + "description": "If False, then empty strings (`''`) are considered\nvalid values (they will appear first when sorting ascending).\nIf True, empty strings will be ignored, causing these cells to always\nappear last." }, "style_table": { "type": { "name": "object" }, "required": false, - "description": "", + "description": "CSS styles to be applied to the outer `table` container.\n\nThis is commonly used for setting properties like the\nwidth or the height of the table.", "defaultValue": { "value": "{}", "computed": false @@ -705,28 +725,28 @@ "name": "object" }, "required": false, - "description": "" + "description": "CSS styles to be applied to each individual cell of the table.\n\nThis includes the header cells, the `data` cells, and the filter\ncells." }, "style_data": { "type": { "name": "object" }, "required": false, - "description": "" + "description": "CSS styles to be applied to each individual data cell.\n\nThat is, unlike `style_cell`, it excludes the header and filter cells." }, "style_filter": { "type": { "name": "object" }, "required": false, - "description": "" + "description": "CSS styles to be applied to the filter cells.\n\nNote that this may change in the future as we build out a\nmore complex filtering UI." }, "style_header": { "type": { "name": "object" }, "required": false, - "description": "" + "description": "CSS styles to be applied to each individual header cell.\n\nThat is, unlike `style_cell`, it excludes the `data` and filter cells." }, "style_cell_conditional": { "type": { @@ -756,7 +776,7 @@ } }, "required": false, - "description": "", + "description": "Conditional CSS styles for the cells.\n\nThis can be used to apply styles to cells on a per-column basis.", "defaultValue": { "value": "[]", "computed": false @@ -812,7 +832,7 @@ } }, "required": false, - "description": "", + "description": "Conditional CSS styles for the data cells.\n\nThis can be used to apply styles to data cells on a per-column basis.", "defaultValue": { "value": "[]", "computed": false @@ -846,7 +866,7 @@ } }, "required": false, - "description": "" + "description": "Conditional CSS styles for the filter cells.\n\nThis can be used to apply styles to filter cells on a per-column basis." }, "style_header_conditional": { "type": { @@ -898,7 +918,7 @@ } }, "required": false, - "description": "", + "description": "Conditional CSS styles for the header cells.\n\nThis can be used to apply styles to header cells on a per-column basis.", "defaultValue": { "value": "[]", "computed": false @@ -912,7 +932,7 @@ } }, "required": false, - "description": "", + "description": "This property represents the current state of `data`\non the current page. This property will be updated\non paging, sorting, and filtering.", "defaultValue": { "value": "[]", "computed": false @@ -926,7 +946,7 @@ } }, "required": false, - "description": "", + "description": "`derived_viewport_indices` indicates the order in which the original\nrows appear after being filtered, sorted, and/or paged.\n`derived_viewport_indices` contains indices for the current page,\nwhile `derived_virtual_indices` contains indices for across all pages.", "defaultValue": { "value": "[]", "computed": false @@ -940,7 +960,7 @@ } }, "required": false, - "description": "", + "description": "This property represents the visible state of `data`\nacross all pages after the front-end sorting and filtering\nas been applied.", "defaultValue": { "value": "[]", "computed": false @@ -954,7 +974,7 @@ } }, "required": false, - "description": "", + "description": "`derived_viewport_indices` indicates the order in which the original\nrows appear after being filtered, sorted, and/or paged.\n`derived_viewport_indices` contains indices for the current page,\nwhile `derived_virtual_indices` contains indices for across all pages.", "defaultValue": { "value": "[]", "computed": false @@ -965,7 +985,7 @@ "name": "any" }, "required": false, - "description": "" + "description": "DEPRECATED\nSubscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168)\nfor updates on the dropdown API." } } } diff --git a/dash_table/package.json b/dash_table/package.json index 9b8791466..439b3a91f 100644 --- a/dash_table/package.json +++ b/dash_table/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.1.0rc9", + "version": "3.1.0rc10", "description": "Dash table", "main": "build/index.js", "scripts": { diff --git a/package.json b/package.json index 9b8791466..439b3a91f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "3.1.0rc9", + "version": "3.1.0rc10", "description": "Dash table", "main": "build/index.js", "scripts": { diff --git a/src/dash-table/Table.js b/src/dash-table/Table.js index 1be951830..134f4e6bc 100644 --- a/src/dash-table/Table.js +++ b/src/dash-table/Table.js @@ -85,23 +85,111 @@ export const defaultProps = { }; export const propTypes = { + /** + * The [row, column] index of which cell is currently + * active. + */ active_cell: PropTypes.array, - // .exact + + /** + * Columns describes various aspects about each individual column. + * `name` and `id` are the only required parameters. + */ columns: PropTypes.arrayOf(PropTypes.shape({ + + /** + * If the column is rendered as dropdowns, then the + * `clearable` property determines whether or not + * the dropdown value can be cleared or not. + * + * NOTE - The name of this property may change in the future, + * subscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168) + * for more information. + */ clearable: PropTypes.bool, + + /** + * If True, the user can delete the column by clicking on a little `x` + * button on the column. + * If there are merged, multi-header columns then you can choose + * which column header row to display the "x" in by + * supplying a column row index. + * For example, `0` will display the "x" on the first row, + * `1` on the second row. + * If the "x" appears on a merged column, then clicking on that button + * will delete *all* of the merged columns associated with it. + */ deletable: PropTypes.oneOfType([ PropTypes.bool, PropTypes.number ]), + + /** + * There are two `editable` flags in the table. + * This is the column-level editable flag and there is + * also the table-level `editable` flag. + * + * These flags determine whether the contents of the table + * are editable or not. + * + * In order for this property to apply, the table-level `editable` + * flag must be `True`. That is, if you want to only make a single + * column editable, then you must set the table-level `editable` + * flag to `True`, the particular column `editable` flag to True, + * and all of the column-level editable flags to `False`. + * + * NOTE - This behavior may change in the future. + * Subscribe to [https://github.com/plotly/dash-table/issues/175](https://github.com/plotly/dash-table/issues/175) + * for more information. + */ editable: PropTypes.bool, + + /** + * If True, then the name of this column is editable. + * If there are multiple column headers (if `name` is a list of strings), + * then `editable_name` can refer to _which_ column header should be + * editable by setting it to the column header index. + * Also, updating the name in a merged column header cell will + * update the name of each column. + */ editable_name: PropTypes.oneOfType([ PropTypes.bool, PropTypes.number ]), + + /** + * If True, then the column and its data is hidden. + * This can be useful if you want to transport extra + * meta data (like a data index) to and from callbacks + * but you don't necessarily want to display that data. + */ hidden: PropTypes.bool, + + /** + * The `id` of the column. + * The column `id` is used to match cells in data + * with particular columns. + * The `id` is not visible in the table. + */ id: PropTypes.string.isRequired, - name: PropTypes.string.isRequired, - // .exact + /** + * The `name` of the column, + * as it appears in the column header. + * If `name` is a list of strings, then the columns + * will render with multiple headers rows. + */ + name: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.arrayOf(PropTypes.string) + ]).isRequired, + + /** + * DEPRECATED + * Please use `column_static_dropdown` instead. + * NOTE - Dropdown behaviour will likely change in the future, + * subscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168) + * for more information. + */ options: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.oneOfType([ PropTypes.number, @@ -112,44 +200,264 @@ export const propTypes = { PropTypes.string ]).isRequired })), + + /** + * The data-type of the column's data. + * `numeric` and `text` are currently the same. + * `dropdown` is used to render cells as dropdowns. + * NOTE: This feature has not been fully implemented. + * In the future, it's data types will impact things like + * text formatting options in the cell (e.g. display 2 decimals + * for a number), filtering options and behavior, and editing + * behavior. + * Stay tuned by following [https://github.com/plotly/dash-table/issues/166](https://github.com/plotly/dash-table/issues/166) + */ type: PropTypes.oneOf(['dropdown', 'numeric', 'text']) + })), + + /** + * `content_style` toggles between a set of CSS styles for + * two common behaviors: + * - `fit`: The table container's width be equal to the width of its content. + * - `grow`: The table container's width will grow to be the size of the container. + * + * NOTE - This property will likely change in the future, + * subscribe to [https://github.com/plotly/dash-table/issues/176](https://github.com/plotly/dash-table/issues/176) + * for more details. + */ content_style: PropTypes.oneOf(['fit', 'grow']), - // .exact + /** + * The `css` property is a way to embed CSS selectors and rules + * onto the page. + * We recommend starting with the `style_*` properties + * before using this `css` property. + * + * Example: + * [ + * {"selector": ".dash-spreadsheet", "rule": 'font-family: "monospace"'} + * ] + * + */ css: PropTypes.arrayOf(PropTypes.shape({ selector: PropTypes.string.isRequired, rule: PropTypes.string.isRequired })), + /** + * The contents of the table. + * The keys of each item in data should match the column IDs. + * Example: + * + * [ + * {'column-1': 4.5, 'column-2': 'montreal', 'column-3': 'canada'}, + * {'column-1': 8, 'column-2': 'boston', 'column-3': 'america'} + * ] + * + */ data: PropTypes.arrayOf(PropTypes.object), + + /** + * The previous state of `data`. `data_previous` + * has the same structure as `data` and it will be updated + * whenever `data` changes, either through a callback or + * by editing the table. + * This is a read-only property: setting this property will not + * have any impact on the table. + */ data_previous: PropTypes.arrayOf(PropTypes.object), + + /** + * The unix timestamp when the data was last edited. + * Use this property with other timestamp properties + * (such as `n_clicks_timestamp` in `dash_html_components`) + * to determine which property has changed within a callback. + */ data_timestamp: PropTypes.number, + /** + * If True, then the data in all of the cells is editable. + * When `editable` is True, particular columns can be made + * uneditable by setting `editable` to `False` inside the `columns` + * property. + * + * NOTE - This behavior may change in the future, subscribe to + * [https://github.com/plotly/dash-table/issues/175](https://github.com/plotly/dash-table/issues/175) + * for more details. + */ editable: PropTypes.bool, + + /** + * When selecting multiple cells + * (via clicking on a cell and then shift-clicking on another cell), + * `end_cell` represents the [row, column] coordinates of the cell + * in one of the corners of the region. + * `start_cell` represents the coordinates of the other corner. + */ end_cell: PropTypes.arrayOf(PropTypes.number), + + /** + * The ID of the table. + */ id: PropTypes.string, + + /** + * If True, then the `active_cell` is in a focused state. + */ is_focused: PropTypes.bool, + + /** + * If True, then column headers that have neighbors with duplicate names + * will be merged into a single cell. + * This will be applied for single column headers and multi-column + * headers. + */ merge_duplicate_headers: PropTypes.bool, + + /** + * `n_fixed_columns` will "fix" the set of columns so that + * they remain visible when scrolling horizontally across + * the unfixed columns. `n_fixed_columns` fixes columns + * from left-to-right, so `n_fixed_columns=3` will fix + * the first 3 columns. + * + * Note that fixing columns introduces some changes to the + * underlying markup of the table and may impact the + * way that your columns are rendered or sized. + * View the documentation examples to learn more. + */ n_fixed_columns: PropTypes.number, + + /** + * `n_fixed_rows` will "fix" the set of rows so that + * they remain visible when scrolling vertically down + * the table. `n_fixed_rows` fixes rows + * from top-to-bottom, starting from the headers, + * so `n_fixed_rows=1` will fix the header row, + * `n_fixed_rows=2` will fix the header row and the first row, + * or the first two header rows (if there are multiple headers). + * + * Note that fixing rows introduces some changes to the + * underlying markup of the table and may impact the + * way that your columns are rendered or sized. + * View the documentation examples to learn more. + */ n_fixed_rows: PropTypes.number, + + /** + * If True, then a `x` will appear next to each `row` + * and the user can delete the row. + */ row_deletable: PropTypes.bool, + + /** + * If `single`, then the user can select a single row + * via a radio button that will appear next to each row. + * If `multi`, then the user can select multiple rows + * via a checkbox that will appear next to each row. + * If `False`, then the user will not be able to select rows + * and no additional UI elements will appear. + * + * When a row is selected, its index will be contained + * in `selected_rows`. + */ row_selectable: PropTypes.oneOf(['single', 'multi', false]), + + /** + * `selected_cell` represents the set of cells that are selected. + * This is similar to `active_cell` except that it contains multiple + * cells. Multiple cells can be selected by holding down shift and + * clicking on a different cell or holding down shift and navigating + * with the arrow keys. + * + * NOTE - This property may change in the future, subscribe to + * [https://github.com/plotly/dash-table/issues/177](https://github.com/plotly/dash-table/issues/177) + * for more details. + */ selected_cell: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)), + + /** + * `selected_rows` contains the indices of the rows that + * are selected via the UI elements that appear when + * `row_selectable` is `'single'` or `'multi'`. + */ selected_rows: PropTypes.arrayOf(PropTypes.number), + setProps: PropTypes.func, + + /** + * When selecting multiple cells + * (via clicking on a cell and then shift-clicking on another cell), + * `start_cell` represents the [row, column] coordinates of the cell + * in one of the corners of the region. + * `end_cell` represents the coordinates of the other corner. + */ start_cell: PropTypes.arrayOf(PropTypes.number), + + /** + * DEPRECATED + */ style_as_list_view: PropTypes.bool, + /** + * "pagination" refers to a mode of the table where + * not all of the rows are displayed at once: only a subset + * are displayed (a "page") and the next subset of rows + * can viewed by clicking "Next" or "Previous" buttons + * at the bottom of the page. + * + * Pagination is used to improve performance: instead of + * rendering all of the rows at once (which can be expensive), + * we only display a subset of them. + * + * With pagination, we can either page through data that exists + * in the table (e.g. page through `10,000` rows in `data` `100` rows at a time) + * or we can update the data on-the-fly with callbacks + * when the user clicks on the "Previous" or "Next" buttons. + * These modes can be toggled with this `pagination_mode` parameter: + * - `'fe'` refers to "front-end" paging: passing large data up-front + * - `'be'` refers to "back-end" paging: updating the data on the fly via callbacks + * - `False` will disable paging, attempting to render all of the data at once + * - `True` is the same as `fe` + * + * NOTE: The `fe` and `be` names may change in the future. + * Tune in to [https://github.com/plotly/dash-table/issues/167](https://github.com/plotly/dash-table/issues/167) for more. + */ pagination_mode: PropTypes.oneOf(['fe', 'be', true, false]), - // .exact + + /** + * `pagination_settings` controls the pagination settings + * _and_ represents the current state of the pagination UI. + * - `page_size` represents the number of rows that will be + * displayed on a particular page. + * - `current_page` represents which page the user is on. + * Use this property to index through data in your callbacks with + * backend paging. + * - `displayed_pages` is DEPRECATED. + */ pagination_settings: PropTypes.shape({ displayed_pages: PropTypes.number.isRequired, current_page: PropTypes.number.isRequired, page_size: PropTypes.number.isRequired }), + + /** + * DEPRECATED + */ navigation: PropTypes.string, - // .exact + /** + * `column_conditional_dropdowns` specifies the available options + * for dropdowns in various columns and cells. + * This property allows you to specify different dropdowns + * depending on certain conditions. For example, you may + * render different "city" dropdowns in a row depending on the + * current value in the "state" column. + * + * NOTE: The naming and the behavior of this option may change + * in the future. + * Tune in to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168) + */ column_conditional_dropdowns: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired, // .exact @@ -165,7 +473,17 @@ export const propTypes = { })).isRequired })).isRequired })), - // .exact + /** + * `column_static_dropdown` represents the available dropdown + * options for different columns. + * The `id` property refers to the column ID. + * The `dropdown` property refers to the `options` of the + * dropdown. + * + * NOTE: The naming and the behavior of this option may change + * in the future. + * Tune in to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168) + */ column_static_dropdown: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired, // .exact @@ -178,30 +496,156 @@ export const propTypes = { })).isRequired })), + /** + * The `filtering` property controls the behavior of the `filtering` UI. + * If `False`, then the filtering UI is not displayed + * If `fe` or True, then the filtering UI is displayed and the filtering + * happens in the "front-end". That is, it is performed on the data + * that exists in the `data` property. + * If `be`, then the filtering UI is displayed but it is the + * responsibility of the developer to program the filtering + * through a callback (where `filtering_settings` would be the input + * and `data` would be the output). + * + * NOTE - Several aspects of filtering may change in the future, + * including the naming of this property. + * Tune in to [https://github.com/plotly/dash-table/issues/167](https://github.com/plotly/dash-table/issues/167) + */ filtering: PropTypes.oneOf(['fe', 'be', true, false]), + + /** + * If `filtering` is enabled, then the current filtering + * string is represented in this `filtering_settings` + * property. + * NOTE: The shape and structure of this property will + * likely change in the future. + * Stay tuned in [https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169) + */ filtering_settings: PropTypes.string, + + /** + * UNSTABLE + * In the future, there may be several modes of the + * filtering UI like `basic`, `advanced`, etc. + * Currently, we only `basic`. + * NOTE - This will likely change in the future, + * subscribe to changes here: + * [https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169) + */ filtering_type: PropTypes.oneOf(['basic']), + + /** + * UNSTABLE + * In the future, there may be several modes of the + * filtering UI like `basic`, `advanced`, etc + * NOTE - This will likely change in the future, + * subscribe to changes here: + * [https://github.com/plotly/dash-table/issues/169](https://github.com/plotly/dash-table/issues/169) + */ filtering_types: PropTypes.arrayOf(PropTypes.oneOf([ 'basic' ])), + /** + * The `sorting` property enables data to be + * sorted on a per-column basis. + * Enabling `sorting` will display a UI element + * on each of the columns (up and down arrows). + * + * Sorting can be performed in the "front-end" + * with the `fe` (or True) setting or via a callback in your + * python "back-end" with the `be` setting. + * Clicking on the sort arrows will update the + * `sorting_settings` property. + */ sorting: PropTypes.oneOf(['fe', 'be', true, false]), + + /** + * Sorting can be performed across multiple columns + * (e.g. sort by country, sort within each country, + * sort by year) or by a single column. + * + * NOTE - With multi-column sort, it's currently + * not possible to determine the order in which + * the columns were sorted through the UI. + * See [https://github.com/plotly/dash-table/issues/170](https://github.com/plotly/dash-table/issues/170) + */ sorting_type: PropTypes.oneOf(['single', 'multi']), + + /** + * `sorting_settings` describes the current state + * of the sorting UI. + * That is, if the user clicked on the sort arrow + * of a column, then this property will be updated + * with the column ID and the direction + * (`asc` or `desc`) of the sort. + * For multi-column sorting, this will be a list of + * sorting parameters, in the order in which they were + * clicked. + * + * NOTE - We may rename `columnId` to `column_id` in + * the future. + * Subscribe to [https://github.com/plotly/dash-table/issues/171](https://github.com/plotly/dash-table/issues/171) + * for details. + */ sorting_settings: PropTypes.arrayOf( // .exact PropTypes.shape({ columnId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, direction: PropTypes.oneOf(['asc', 'desc']).isRequired })), + + /** + * If False, then empty strings (`''`) are considered + * valid values (they will appear first when sorting ascending). + * If True, empty strings will be ignored, causing these cells to always + * appear last. + */ sorting_treat_empty_string_as_none: PropTypes.bool, + /** + * CSS styles to be applied to the outer `table` container. + * + * This is commonly used for setting properties like the + * width or the height of the table. + */ style_table: PropTypes.object, + /** + * CSS styles to be applied to each individual cell of the table. + * + * This includes the header cells, the `data` cells, and the filter + * cells. + */ style_cell: PropTypes.object, + + /** + * CSS styles to be applied to each individual data cell. + * + * That is, unlike `style_cell`, it excludes the header and filter cells. + */ style_data: PropTypes.object, + + /** + * CSS styles to be applied to the filter cells. + * + * Note that this may change in the future as we build out a + * more complex filtering UI. + */ style_filter: PropTypes.object, + + /** + * CSS styles to be applied to each individual header cell. + * + * That is, unlike `style_cell`, it excludes the `data` and filter cells. + */ style_header: PropTypes.object, + /** + * Conditional CSS styles for the cells. + * + * This can be used to apply styles to cells on a per-column basis. + */ style_cell_conditional: PropTypes.arrayOf(PropTypes.shape({ // .exact if: PropTypes.shape({ @@ -209,6 +653,11 @@ export const propTypes = { }) })), + /** + * Conditional CSS styles for the data cells. + * + * This can be used to apply styles to data cells on a per-column basis. + */ style_data_conditional: PropTypes.arrayOf(PropTypes.shape({ // .exact if: PropTypes.shape({ @@ -220,6 +669,11 @@ export const propTypes = { }) })), + /** + * Conditional CSS styles for the filter cells. + * + * This can be used to apply styles to filter cells on a per-column basis. + */ style_filter_conditional: PropTypes.arrayOf(PropTypes.shape({ // .exact if: PropTypes.shape({ @@ -227,6 +681,11 @@ export const propTypes = { }) })), + /** + * Conditional CSS styles for the header cells. + * + * This can be used to apply styles to header cells on a per-column basis. + */ style_header_conditional: PropTypes.arrayOf(PropTypes.shape({ // .exact if: PropTypes.shape({ @@ -238,13 +697,43 @@ export const propTypes = { }) })), + /** + * This property represents the current state of `data` + * on the current page. This property will be updated + * on paging, sorting, and filtering. + */ derived_viewport_data: PropTypes.arrayOf(PropTypes.object), + + /** + * `derived_viewport_indices` indicates the order in which the original + * rows appear after being filtered, sorted, and/or paged. + * `derived_viewport_indices` contains indices for the current page, + * while `derived_virtual_indices` contains indices for across all pages. + */ derived_viewport_indices: PropTypes.arrayOf(PropTypes.number), + + /** + * This property represents the visible state of `data` + * across all pages after the front-end sorting and filtering + * as been applied. + */ derived_virtual_data: PropTypes.arrayOf(PropTypes.object), + + /** + * `derived_viewport_indices` indicates the order in which the original + * rows appear after being filtered, sorted, and/or paged. + * `derived_viewport_indices` contains indices for the current page, + * while `derived_virtual_indices` contains indices for across all pages. + */ derived_virtual_indices: PropTypes.arrayOf(PropTypes.number), - dropdown_properties: PropTypes.any, + /** + * DEPRECATED + * Subscribe to [https://github.com/plotly/dash-table/issues/168](https://github.com/plotly/dash-table/issues/168) + * for updates on the dropdown API. + */ + dropdown_properties: PropTypes.any, }; Table.defaultProps = defaultProps; -Table.propTypes = propTypes; \ No newline at end of file +Table.propTypes = propTypes;