@deephaven/code-studio 0.55.1-beta.6 → 0.55.1-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/assets/{AppRoot-c936f34a.js → AppRoot-cf2ce44e.js} +3 -3
- package/build/assets/{AppRoot-c936f34a.js.map → AppRoot-cf2ce44e.js.map} +1 -1
- package/build/assets/ControlType-5773aa8a.js +21 -0
- package/build/assets/ControlType-5773aa8a.js.map +1 -0
- package/build/assets/FontBootstrap-5dc042b0.css +1 -0
- package/build/assets/{FontBootstrap-7903727a.js → FontBootstrap-dbbf3151.js} +3 -3
- package/build/assets/FontBootstrap-dbbf3151.js.map +1 -0
- package/build/assets/{IrisGrid-4705e943.js → IrisGrid-39dc53f7.js} +6 -6
- package/build/assets/IrisGrid-39dc53f7.js.map +1 -0
- package/build/assets/IrisGrid-64f884b6.css +1 -0
- package/build/assets/{IrisGridModelFactory-7d3890fd.js → IrisGridModelFactory-23495009.js} +2 -2
- package/build/assets/{IrisGridModelFactory-7d3890fd.js.map → IrisGridModelFactory-23495009.js.map} +1 -1
- package/build/assets/{StyleGuideRoot-78546d97.css → StyleGuideRoot-104ae414.css} +1 -1
- package/build/assets/StyleGuideRoot-771bba92.js +225 -0
- package/build/assets/StyleGuideRoot-771bba92.js.map +1 -0
- package/build/assets/{index-1deb48a9.css → index-399935a8.css} +1 -1
- package/build/assets/{index-be40eca7.js → index-4535972b.js} +5 -5
- package/build/assets/{index-be40eca7.js.map → index-4535972b.js.map} +1 -1
- package/build/assets/{index-982ca230.js → index-4705b8ba.js} +14 -14
- package/build/assets/index-4705b8ba.js.map +1 -0
- package/build/assets/index-cb67ae4c.js +2 -0
- package/build/assets/{index-f90d8866.js.map → index-cb67ae4c.js.map} +1 -1
- package/build/assets/usePlugins-1cbb179a.css +1 -0
- package/build/assets/usePlugins-7c6014b7.js +3 -0
- package/build/assets/usePlugins-7c6014b7.js.map +1 -0
- package/build/assets/useUser-e62b9fe3.js +2 -0
- package/build/assets/useUser-e62b9fe3.js.map +1 -0
- package/build/index.html +2 -2
- package/package.json +31 -31
- package/build/assets/ControlType-9c526624.js +0 -21
- package/build/assets/ControlType-9c526624.js.map +0 -1
- package/build/assets/FontBootstrap-47bc3788.css +0 -1
- package/build/assets/FontBootstrap-7903727a.js.map +0 -1
- package/build/assets/IrisGrid-454c0412.css +0 -1
- package/build/assets/IrisGrid-4705e943.js.map +0 -1
- package/build/assets/StyleGuideRoot-c09c6bb2.js +0 -225
- package/build/assets/StyleGuideRoot-c09c6bb2.js.map +0 -1
- package/build/assets/index-982ca230.js.map +0 -1
- package/build/assets/index-f90d8866.js +0 -2
- package/build/assets/usePlugins-21c2cbc4.js +0 -3
- package/build/assets/usePlugins-21c2cbc4.js.map +0 -1
- package/build/assets/usePlugins-ddf20abd.css +0 -1
- package/build/assets/useUser-7de804a2.js +0 -2
- package/build/assets/useUser-7de804a2.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.aci-container{flex-grow:1}.aci-options{max-height:200px;border-radius:4px;overflow:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.aci-options .no-match{padding:.375rem .75rem}.aci-options .aci-option-btn{border:none;width:100%;color:#f0f0ee;padding:.375rem .75rem;white-space:nowrap;background:none;text-align:left}.aci-options .aci-option-btn.keyboard-active{background-color:#4878ea80}.aci-options .aci-option-btn:hover{color:#f0f0ee;background-color:#4878ea}.aci-options .aci-option-btn:focus{outline:none}textarea.auto-resize-textarea{min-height:calc(1.5em + .75rem + 2px);white-space:nowrap}textarea.auto-resize-textarea:focus{white-space:pre}.cs-container{flex-wrap:nowrap}.cs-container .cs-dropdown .cs-btn{display:flex;direction:row;justify-content:space-between;border-radius:4px;border:1px solid #929192;min-width:14rem}.cs-container .cs-dropdown .cs-btn .cs-caret{color:#929192}.cs-container .cs-dropdown-invalid .cs-btn-invalid{border-color:#f95d84}.cs-container .cs-btn:focus{border-color:#4878ead9}.cs-menu-container .cs-divider{background-color:#1a171a}.cs-menu-container .cs-custom-container{display:flex;direction:row}.cs-menu-container .custom-label{padding:.375rem .75rem}.cs-menu-container .cs-options{max-height:400px;overflow:auto}.cs-menu-container .cs-option-btn{border:none;width:100%;color:#f0f0ee;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block}.cs-menu-container .cs-option-btn.keyboard-active{background-color:#4878ea80}.cs-menu-container .cs-option-btn:hover{color:#f0f0ee;background-color:#4878ea}.cs-menu-container .cs-option-btn:focus{outline:none}.cs-menu-container .cs-options:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.hcm-btn{display:flex;flex-direction:row;justify-content:space-between;border-radius:4px;border:1px solid #929192;background-color:#555356;padding:.375rem .75rem}.hcm-btn .hcm-icon{margin-top:.25rem;color:#929192}.hcm-btn:focus{border-color:#4878ead9}.hcm-menu-container{padding:.5rem}.hcm-menu-container .hcm-parent{font-weight:700}.hcm-menu-container .hcm-child{margin-left:1rem}._time-slider_1ermw_3{width:100%;padding-bottom:1rem;overflow:hidden}._time-slider_1ermw_3 ._time-slider-popovers_1ermw_8{display:flex;flex-direction:row;margin:0 4px}._time-slider_1ermw_3 ._time-slider-popovers_1ermw_8 ._handle-popper_1ermw_13{padding:.5rem;width:90px;border-radius:4px;background:#403e41;flex-shrink:0;text-align:center;margin:0 1px}._time-slider_1ermw_3 ._time-slider-popovers_1ermw_8 ._handle-popper_1ermw_13 input{padding:.375rem 0;text-align:center}._time-slider_1ermw_3 ._time-slider-popovers_1ermw_8 ._flex-spacer_1ermw_26{margin-left:auto;margin-right:auto}._time-slider_1ermw_3 ._track_1ermw_30{margin:4px;height:15px;background:#5b5a5c;border-radius:7.5px;position:relative}._time-slider_1ermw_3 ._track_1ermw_30 ._track-fills_1ermw_37{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:7.5px;overflow:hidden}._time-slider_1ermw_3 ._track_1ermw_30 ._track-fills_1ermw_37 ._track-fill_1ermw_37{border-radius:7.5px;background:#343e5d;height:100%;width:100%;position:absolute;top:0;left:0}._time-slider_1ermw_3 ._track_1ermw_30 ._track-fills_1ermw_37 ._track-fill-start_1ermw_55,._time-slider_1ermw_3 ._track_1ermw_30 ._track-fills_1ermw_37 ._track-fill-middle_1ermw_56{transform-origin:0 0}._time-slider_1ermw_3 ._track_1ermw_30 ._track-fills_1ermw_37 ._track-fill-end_1ermw_59{transform-origin:100% 0}._time-slider_1ermw_3 ._track_1ermw_30 ._handle-track_1ermw_62{position:absolute;width:100%;height:15px;top:0;left:0;pointer-events:none}._time-slider_1ermw_3 ._track_1ermw_30 ._handle-track_1ermw_62:focus-within{z-index:2}._time-slider_1ermw_3 ._track_1ermw_30 ._handle-track_1ermw_62 ._handle_1ermw_13{display:block;height:15px;width:15px;border-radius:50%;position:absolute;top:0;left:0;padding:0;background:#c0bfbf;border:1px solid transparent;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out;cursor:grab;pointer-events:all}._time-slider_1ermw_3 ._track_1ermw_30 ._handle-track_1ermw_62 ._handle_1ermw_13:hover{background:#fcfcfa}._time-slider_1ermw_3 ._track_1ermw_30 ._handle-track_1ermw_62 ._handle_1ermw_13:focus{background:#fcfcfa;outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59;transform:scale(1.15)}._time-slider_1ermw_3 ._track_1ermw_30 ._ticks_1ermw_98{height:100%;width:100%;position:absolute;top:0;left:0;display:flex;flex-direction:row}._time-slider_1ermw_3 ._track_1ermw_30 ._ticks_1ermw_98 div{display:block;width:4.1666666667%;height:15px;border-right:1px solid #211f22}._time-slider_1ermw_3 ._track_1ermw_30 ._ticks_1ermw_98 div:last-child{border-right:none}._time-slider_1ermw_3 ._tick-labels_1ermw_116{position:relative;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#c0bfbf;display:flex;flex-direction:row;flex-wrap:wrap;height:1.5rem;overflow:hidden}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label_1ermw_116{width:4.1666666667%;text-align:left;font-size:.9rem}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132{width:95.8333333333%;min-width:300px;margin-left:-2.0833333333%;display:flex}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116{text-align:center;visibility:hidden;width:4.347826087%}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:before{content:"";margin-left:-100%}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:after{content:"";margin-right:-100%}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(4),._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(8),._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(12),._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(16),._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(20),._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 ._tick-label_1ermw_116:nth-child(24){visibility:visible}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 div:nth-child(12){position:absolute;top:0;left:47.8260869565%}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 div:nth-child(13){margin-left:4.1666666667%}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 div:nth-child(24){position:absolute;direction:rtl;top:0;right:0;text-align:right}._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 div:nth-child(24):before,._time-slider_1ermw_3 ._tick-labels_1ermw_116 ._tick-label-wrapper_1ermw_132 div:nth-child(24):after{content:unset;margin:unset}.time-slider{width:100%;padding-bottom:1rem;overflow:hidden}.time-slider .time-slider-popovers{display:flex;flex-direction:row;margin:0 4px}.time-slider .time-slider-popovers .handle-popper{padding:.5rem;width:90px;border-radius:4px;background:#403e41;flex-shrink:0;text-align:center;margin:0 1px}.time-slider .time-slider-popovers .handle-popper input{padding:.375rem 0;text-align:center}.time-slider .time-slider-popovers .flex-spacer{margin-left:auto;margin-right:auto}.time-slider .track{margin:4px;height:15px;background:#5b5a5c;border-radius:7.5px;position:relative}.time-slider .track .track-fills{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:7.5px;overflow:hidden}.time-slider .track .track-fills .track-fill{border-radius:7.5px;background:#343e5d;height:100%;width:100%;position:absolute;top:0;left:0}.time-slider .track .track-fills .track-fill-start,.time-slider .track .track-fills .track-fill-middle{transform-origin:0 0}.time-slider .track .track-fills .track-fill-end{transform-origin:100% 0}.time-slider .track .handle-track{position:absolute;width:100%;height:15px;top:0;left:0;pointer-events:none}.time-slider .track .handle-track:focus-within{z-index:2}.time-slider .track .handle-track .handle{display:block;height:15px;width:15px;border-radius:50%;position:absolute;top:0;left:0;padding:0;background:#c0bfbf;border:1px solid transparent;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out;cursor:grab;pointer-events:all}.time-slider .track .handle-track .handle:hover{background:#fcfcfa}.time-slider .track .handle-track .handle:focus{background:#fcfcfa;outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59;transform:scale(1.15)}.time-slider .track .ticks{height:100%;width:100%;position:absolute;top:0;left:0;display:flex;flex-direction:row}.time-slider .track .ticks div{display:block;width:4.1666666667%;height:15px;border-right:1px solid #211f22}.time-slider .track .ticks div:last-child{border-right:none}.time-slider .tick-labels{position:relative;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#c0bfbf;display:flex;flex-direction:row;flex-wrap:wrap;height:1.5rem;overflow:hidden}.time-slider .tick-labels .tick-label{width:4.1666666667%;text-align:left;font-size:.9rem}.time-slider .tick-labels .tick-label-wrapper{width:95.8333333333%;min-width:300px;margin-left:-2.0833333333%;display:flex}.time-slider .tick-labels .tick-label-wrapper .tick-label{text-align:center;visibility:hidden;width:4.347826087%}.time-slider .tick-labels .tick-label-wrapper .tick-label:before{content:"";margin-left:-100%}.time-slider .tick-labels .tick-label-wrapper .tick-label:after{content:"";margin-right:-100%}.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(4),.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(8),.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(12),.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(16),.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(20),.time-slider .tick-labels .tick-label-wrapper .tick-label:nth-child(24){visibility:visible}.time-slider .tick-labels .tick-label-wrapper div:nth-child(12){position:absolute;top:0;left:47.8260869565%}.time-slider .tick-labels .tick-label-wrapper div:nth-child(13){margin-left:4.1666666667%}.time-slider .tick-labels .tick-label-wrapper div:nth-child(24){position:absolute;direction:rtl;top:0;right:0;text-align:right}.time-slider .tick-labels .tick-label-wrapper div:nth-child(24):before,.time-slider .tick-labels .tick-label-wrapper div:nth-child(24):after{content:unset;margin:unset}.validate-label{padding-right:.5rem}.validate-label.modified{color:#fde38d}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FontBootstrap-7903727a.js","sources":["../../../components/dist/AutoCompleteInput.js","../../../components/dist/AutoResizeTextarea.js","../../../components/dist/TimeInput.js","../../../components/dist/CustomTimeSelect.js","../../../components/dist/DateInput.js","../../../components/dist/HierarchicalCheckboxMenu.js","../../../components/dist/TimeSlider.js","../../../components/dist/ValidateLabelInput.js","../../../chart/dist/MockChartModel.js","../../../app-utils/dist/components/FontBootstrap.js"],"sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * An Input component that pops and filters auto complete options as you type.\n *\n * props:\n * @param options :[{\n * title: 'option title for display',\n * value: 'option value' //option value\n * }]\n * @param popperOptions options for the Popper\n * @param onChange called when the value is changed from the pulldown\n * @param inputPlaceholder place holder for the input box\n * @param disabled disable both input & drop down\n * @param className an optional class name applied to the input element\n * @param defaultTitle the default title to display\n * @param spellCheck flag to disable spell checking, defaults to true\n * @param onEnter called when the Enter key is typed in the input element\n *\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport memoize from 'memoizee';\nimport classNames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport { Popper } from \"./popper/index.js\";\nimport \"./AutoCompleteInput.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar DEBOUNCE_DELAY = 100;\nvar MENU_NAVIGATION_DIRECTION;\n(function (MENU_NAVIGATION_DIRECTION) {\n MENU_NAVIGATION_DIRECTION[\"UP\"] = \"UP\";\n MENU_NAVIGATION_DIRECTION[\"DOWN\"] = \"DOWN\";\n})(MENU_NAVIGATION_DIRECTION || (MENU_NAVIGATION_DIRECTION = {}));\nclass AutoCompleteInput extends Component {\n constructor(props) {\n super(props);\n _defineProperty(this, \"popper\", void 0);\n _defineProperty(this, \"cbContainer\", void 0);\n _defineProperty(this, \"menuContainer\", void 0);\n _defineProperty(this, \"input\", void 0);\n _defineProperty(this, \"getCachedFilteredOptions\", memoize((options, input) => options.filter(\n // supports partial match\n option => option.title.toLowerCase().indexOf(input.toLowerCase()) >= 0)));\n var {\n popperOptions\n } = this.props;\n popperOptions = _objectSpread({\n placement: 'bottom-end',\n modifiers: {\n preventOverflow: {\n enabled: false\n }\n }\n }, popperOptions);\n this.state = {\n title: '',\n filteredOptions: [],\n keyboardOptionIndex: 0,\n menuIsOpen: false,\n inputWidth: 100,\n invalid: false,\n popperOptions\n };\n this.handleMenuKeyDown = this.handleMenuKeyDown.bind(this);\n this.handleMenuBlur = this.handleMenuBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n this.handleInputBlur = this.handleInputBlur.bind(this);\n this.handelInputFocus = this.handelInputFocus.bind(this);\n this.handleInputClick = this.handleInputClick.bind(this);\n this.updateInputValue = debounce(this.updateInputValue, DEBOUNCE_DELAY);\n this.handleOptionClick = this.handleOptionClick.bind(this);\n this.handleMenuOpened = this.handleMenuOpened.bind(this);\n this.handleMenuExited = this.handleMenuExited.bind(this);\n this.popper = /*#__PURE__*/React.createRef();\n this.cbContainer = /*#__PURE__*/React.createRef();\n this.menuContainer = /*#__PURE__*/React.createRef();\n this.input = /*#__PURE__*/React.createRef();\n }\n setInputWidth() {\n if (this.cbContainer.current) {\n this.setState({\n inputWidth: this.cbContainer.current.getBoundingClientRect().width\n });\n }\n }\n // validation needs to be an exact case-sensitve match on value\n getValueAndValidate(title) {\n if (!title) {\n this.setState({\n invalid: false\n });\n return {\n value: title,\n isValid: false\n };\n }\n\n // validate\n var {\n options\n } = this.props;\n var result = options.filter(option => option.title.toLowerCase() === title.toLowerCase());\n if (result.length < 1) {\n this.setState({\n invalid: true\n });\n return {\n value: title,\n isValid: false\n };\n }\n this.setState({\n invalid: false\n });\n return {\n value: result[0].value,\n isValid: true\n };\n }\n\n // validate typed entries emit change event using value\n updateInputValue(title) {\n var {\n menuIsOpen\n } = this.state;\n var {\n value,\n isValid\n } = this.getValueAndValidate(title);\n if (menuIsOpen) this.processFilterChange(title);\n this.fireOnChange(value, isValid);\n }\n fireOnChange(value) {\n var isValid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var {\n onChange\n } = this.props;\n onChange(value, isValid);\n }\n processFilterChange(filter) {\n var _this$popper$current;\n var {\n options\n } = this.props;\n var {\n menuIsOpen\n } = this.state;\n var filteredOptions = filter ? this.getCachedFilteredOptions(options, filter) : options;\n var perfectMatch = filteredOptions.length === 1 && filteredOptions[0].title === filter;\n this.setState({\n filteredOptions,\n keyboardOptionIndex: 0\n });\n if (perfectMatch && menuIsOpen) {\n this.closeMenu();\n return;\n }\n (_this$popper$current = this.popper.current) === null || _this$popper$current === void 0 ? void 0 : _this$popper$current.scheduleUpdate(); // filtered options list can change size, may need to be repositioned\n }\n\n resetValue() {\n this.setState({\n title: ''\n });\n this.fireOnChange('');\n }\n handleResize() {\n this.setInputWidth();\n }\n handleMenuKeyDown(event) {\n var _this$input$current;\n var {\n filteredOptions,\n keyboardOptionIndex\n } = this.state;\n var option = filteredOptions[keyboardOptionIndex];\n switch (event.key) {\n case 'Enter':\n case 'ArrowRight':\n event.stopPropagation();\n event.preventDefault();\n if (option != null) {\n this.setState({\n title: option.title,\n invalid: false\n });\n this.fireOnChange(option.value);\n }\n this.closeMenu();\n (_this$input$current = this.input.current) === null || _this$input$current === void 0 ? void 0 : _this$input$current.focus();\n break;\n case 'ArrowUp':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n case 'ArrowDown':\n event.stopPropagation();\n event.preventDefault();\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Tab':\n event.stopPropagation();\n event.preventDefault();\n if (event.shiftKey) {\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP);\n break;\n }\n this.navigateMenu(AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN);\n break;\n case 'Escape':\n event.preventDefault();\n event.stopPropagation();\n this.closeMenu();\n break;\n default:\n break;\n }\n }\n navigateMenu(direction) {\n var {\n filteredOptions,\n keyboardOptionIndex\n } = this.state;\n var newKeyboardOptionIndex = keyboardOptionIndex;\n if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.UP) {\n if (keyboardOptionIndex > 0) {\n newKeyboardOptionIndex = (newKeyboardOptionIndex - 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n } else if (keyboardOptionIndex === 0) {\n newKeyboardOptionIndex = filteredOptions.length - 1;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n }\n } else if (direction === AutoCompleteInput.MENU_NAVIGATION_DIRECTION.DOWN) {\n if (keyboardOptionIndex < filteredOptions.length) {\n newKeyboardOptionIndex = (newKeyboardOptionIndex + 1) % filteredOptions.length;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n }\n }\n this.scrollOptionIntoView(newKeyboardOptionIndex);\n }\n handleInputKeyDown(event) {\n var {\n onEnter\n } = this.props;\n var {\n menuIsOpen\n } = this.state;\n if (menuIsOpen) {\n this.handleMenuKeyDown(event);\n } else if (event.key === 'Enter') {\n onEnter();\n } else if (event.key === 'Escape') {\n this.resetValue();\n event.preventDefault();\n event.stopPropagation();\n } else if (!(event.key === 'ArrowRight' || event.key === 'ArrowLeft' || event.key === 'Tab' || event.key === 'Shift')) {\n this.openMenu();\n }\n }\n handleInputChange(event) {\n this.setState({\n title: event.target.value\n });\n this.updateInputValue(event.target.value);\n }\n handleOptionClick(option) {\n var _this$input$current2;\n this.setState({\n title: option.title,\n invalid: false\n });\n this.fireOnChange(option.value);\n this.closeMenu();\n (_this$input$current2 = this.input.current) === null || _this$input$current2 === void 0 ? void 0 : _this$input$current2.focus();\n }\n handelInputFocus() {\n var {\n menuIsOpen\n } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n handleInputClick() {\n var {\n menuIsOpen\n } = this.state;\n if (!menuIsOpen) {\n this.openMenu();\n }\n }\n handleInputBlur(event) {\n var {\n menuIsOpen\n } = this.state;\n if (menuIsOpen && event.relatedTarget instanceof Element && this.popper.current !== null && this.popper.current.element.contains(event.relatedTarget)) {\n return;\n }\n this.closeMenu(false);\n }\n handleMenuBlur(event) {\n // if blur event is caused by focusing on the input or focus on options don't close menu\n if (event.relatedTarget === this.input.current || event.relatedTarget instanceof Element && this.popper.current !== null && this.popper.current.element.contains(event.relatedTarget)) {\n return;\n }\n this.closeMenu(false);\n }\n handleMenuOpened() {\n var _this$input$current3;\n (_this$input$current3 = this.input.current) === null || _this$input$current3 === void 0 ? void 0 : _this$input$current3.focus();\n }\n handleMenuExited() {\n var {\n menuIsOpen\n } = this.state;\n if (menuIsOpen) {\n this.setState({\n menuIsOpen: false,\n keyboardOptionIndex: 0\n });\n }\n }\n openMenu() {\n var {\n title\n } = this.state;\n this.processFilterChange(title);\n this.setInputWidth();\n this.setState({\n menuIsOpen: true\n });\n\n // https://github.com/reactjs/react-transition-group/issues/382\n window.requestAnimationFrame(() => {\n var _this$popper$current2;\n (_this$popper$current2 = this.popper.current) === null || _this$popper$current2 === void 0 ? void 0 : _this$popper$current2.show();\n });\n }\n closeMenu() {\n var _this$popper$current3;\n var focusInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setState({\n menuIsOpen: false,\n keyboardOptionIndex: 0\n });\n if (focusInput) {\n var _this$input$current4;\n (_this$input$current4 = this.input.current) === null || _this$input$current4 === void 0 ? void 0 : _this$input$current4.focus();\n }\n (_this$popper$current3 = this.popper.current) === null || _this$popper$current3 === void 0 ? void 0 : _this$popper$current3.hide();\n }\n scrollOptionIntoView(index) {\n if (this.menuContainer.current) {\n var _this$menuContainer$c;\n (_this$menuContainer$c = this.menuContainer.current.children.item(index)) === null || _this$menuContainer$c === void 0 ? void 0 : _this$menuContainer$c.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n }\n renderMenuElement() {\n var {\n inputWidth\n } = this.state;\n return /*#__PURE__*/_jsx(\"div\", {\n className: classNames('aci-options'),\n ref: this.menuContainer,\n role: \"presentation\",\n onKeyDown: this.handleMenuKeyDown,\n style: {\n width: inputWidth\n },\n onBlur: this.handleMenuBlur,\n children: this.renderOptions()\n });\n }\n renderOptions() {\n var {\n noMatchText\n } = this.props;\n var {\n title,\n filteredOptions\n } = this.state;\n if (title && filteredOptions.length === 0) {\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"no-match\",\n children: noMatchText\n });\n }\n return filteredOptions.map((option, index) => this.renderOption(option, index));\n }\n renderOption(option, index) {\n var {\n keyboardOptionIndex\n } = this.state;\n var key = \"option-\".concat(index, \"-\").concat(option.value);\n return /*#__PURE__*/_jsx(\"button\", {\n type: \"button\",\n className: classNames('aci-option-btn', {\n 'keyboard-active': keyboardOptionIndex === index\n }),\n onClick: () => this.handleOptionClick(option),\n onFocus: () => this.setState({\n keyboardOptionIndex: index\n }),\n children: option.title\n }, key);\n }\n render() {\n var {\n options,\n inputPlaceholder,\n disabled,\n className,\n defaultTitle,\n spellCheck,\n 'data-testid': dataTestId\n } = this.props;\n var {\n title,\n menuIsOpen,\n popperOptions,\n invalid\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"aci-container\",\n ref: this.cbContainer,\n children: [/*#__PURE__*/_jsx(\"input\", {\n value: title || defaultTitle,\n className: classNames('form-control', className, 'aci-input', {\n 'is-invalid': invalid && !menuIsOpen\n }),\n ref: this.input,\n onChange: this.handleInputChange,\n placeholder: inputPlaceholder || options[0].title,\n disabled: disabled,\n onFocus: this.handelInputFocus,\n onClick: this.handleInputClick,\n onBlur: this.handleInputBlur,\n onKeyDown: this.handleInputKeyDown,\n spellCheck: spellCheck,\n \"data-testid\": dataTestId\n }), /*#__PURE__*/_jsx(Popper, {\n ref: this.popper,\n options: popperOptions,\n className: classNames('aci-options-popper interactive'),\n onEntered: this.handleMenuOpened,\n onExited: this.handleMenuExited,\n children: this.renderMenuElement()\n })]\n });\n }\n}\n_defineProperty(AutoCompleteInput, \"propTypes\", {\n options: PropTypes.arrayOf(PropTypes.shape({\n title: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n })).isRequired,\n popperOptions: PropTypes.shape({}),\n onChange: PropTypes.func,\n inputPlaceholder: PropTypes.string,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n defaultTitle: PropTypes.string,\n spellCheck: PropTypes.bool,\n onEnter: PropTypes.func,\n noMatchText: PropTypes.string,\n 'data-testid': PropTypes.string\n});\n_defineProperty(AutoCompleteInput, \"defaultProps\", {\n onChange() {\n // no-op\n },\n inputPlaceholder: '',\n disabled: false,\n className: '',\n defaultTitle: '',\n popperOptions: null,\n spellCheck: true,\n onEnter() {\n // no-op\n },\n noMatchText: 'No matching items found',\n 'data-testid': undefined\n});\n_defineProperty(AutoCompleteInput, \"MENU_NAVIGATION_DIRECTION\", MENU_NAVIGATION_DIRECTION);\nexport default AutoCompleteInput;\n//# sourceMappingURL=AutoCompleteInput.js.map","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport \"./AutoResizeTextarea.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Makes a textarea that auto resizes based on contents, its height grows with new lines.\n * If a delimeter is set, such as \" -\" or \" \", as used by jvm args or env vars\n * then the field will also \"explode\" the value by the delimiter over new lines\n * on focus, and implode on blur. By default, it doesn't word wrap.\n */\nfunction AutoResizeTextarea(_ref) {\n var {\n className = '',\n value: propsValue,\n onChange,\n spellCheck = false,\n placeholder = '',\n disabled = false,\n delimiter = '',\n id = '',\n 'data-testid': dataTestId\n } = _ref;\n var [value, setValue] = useState(propsValue);\n var [isPastedChange, setIsPastedChange] = useState(false);\n var element = useRef(null);\n useEffect(function syncStateWithProp() {\n // keep state value in sync with prop changes\n setValue(propsValue);\n }, [propsValue]);\n function explode(input) {\n // split by delimiter, commonly \" \" or \" -\"\n // strip empty strings (if delimiter is space, and there are multiple spaces in a row)\n // and join with new line and a trimmed delimeter (get rid of leading spaces)\n return input.trim().split(delimiter).filter(string => string) // remove empty strings\n .join(\"\\n\".concat(delimiter.trim()));\n }\n function implode(input) {\n return input.split('\\n').map(string => string.trim()).join(' ');\n }\n function reCalculateLayout() {\n if (!element.current) {\n return;\n }\n element.current.style.height = '0'; // shrink component to get scrollHeight\n var resizedHeight = element.current.scrollHeight + (element.current.offsetHeight - element.current.clientHeight);\n // accounts for border, padding is captured by scroll height\n if (resizedHeight > 0) element.current.style.height = \"\".concat(resizedHeight, \"px\");\n }\n function handleChange(event) {\n var newValue = event.target.value;\n if (isPastedChange) {\n if (delimiter) newValue = explode(newValue);\n setIsPastedChange(false);\n }\n setValue(newValue);\n onChange(newValue);\n }\n function handleFocus() {\n if (!element.current) {\n return;\n }\n if (delimiter) {\n setValue(explode(value));\n reCalculateLayout();\n }\n element.current.scrollLeft = 0;\n // scroll left as it can be disorienting if you click on a long line\n }\n\n // make it explode when dragging the resize handle\n // by making it trigger focus (which normally doesn't\n // trigger when just resizing).\n function handleMouseDown() {\n if (!element.current) return;\n if (document.activeElement === element.current) return;\n element.current.focus();\n }\n function handleBlur() {\n if (delimiter) {\n setValue(implode(value));\n onChange(implode(value));\n }\n }\n function handlePaste() {\n setIsPastedChange(true);\n }\n useEffect(function reCalculate() {\n reCalculateLayout();\n }, [value]);\n return /*#__PURE__*/_jsx(\"textarea\", {\n ref: element,\n id: id,\n className: classNames(className, 'auto-resize-textarea form-control'),\n placeholder: placeholder,\n value: value,\n rows: 1,\n onChange: handleChange,\n onFocus: handleFocus,\n onMouseDown: handleMouseDown,\n onBlur: handleBlur,\n onPaste: handlePaste,\n spellCheck: spellCheck,\n disabled: disabled,\n \"data-testid\": dataTestId\n });\n}\nAutoResizeTextarea.propTypes = {\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n spellCheck: PropTypes.bool,\n disabled: PropTypes.bool,\n delimiter: PropTypes.string,\n id: PropTypes.string,\n 'data-testid': PropTypes.string\n};\nAutoResizeTextarea.defaultProps = {\n className: '',\n id: '',\n placeholder: '',\n disabled: false,\n spellCheck: false,\n delimiter: '',\n 'data-testid': undefined\n};\nexport default AutoResizeTextarea;\n//# sourceMappingURL=AutoResizeTextarea.js.map","import React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport Log from '@deephaven/log';\nimport { TimeUtils } from '@deephaven/utils';\nimport MaskedInput from \"./MaskedInput.js\";\nimport { DEFAULT_GET_PREFERRED_REPLACEMENT_STRING } from \"./MaskedInputUtils.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar log = Log.module('TimeInput');\nvar TIME_PATTERN = '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]';\nvar EXAMPLES = ['00:00:00', '12:34:56', '23:59:59'];\n// Forward ref causes a false positive for display-name in eslint:\n// https://github.com/yannickcr/eslint-plugin-react/issues/2269\n// eslint-disable-next-line react/display-name\nvar TimeInput = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n allowValueWrapping = true,\n className = '',\n onChange = () => false,\n value: propsValue = 0,\n onFocus = () => false,\n onBlur = () => false,\n onSelect = () => false,\n 'data-testid': dataTestId\n } = props;\n var [value, setValue] = useState(TimeUtils.formatTime(propsValue));\n var [selection, _setSelection] = useState();\n var inputRef = useRef(null);\n useImperativeHandle(ref, () => ({\n focus: () => {\n var _inputRef$current;\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n },\n setSelection: newSelection => {\n var _inputRef$current2;\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();\n _setSelection(newSelection);\n }\n }), []);\n useEffect(function setFormattedTime() {\n setValue(TimeUtils.formatTime(propsValue));\n }, [propsValue]);\n function getNextSegmentValue(range, delta, segmentValue) {\n // Delta is backward because negative Y is up\n var maxValue = range.selectionStart === 0 ? 24 : 60;\n var newSegmentValue = parseInt(segmentValue, 10) - delta;\n if (Number.isNaN(newSegmentValue)) {\n newSegmentValue = 0;\n } else if (allowValueWrapping) {\n // Add max value and re-mod so we don't get negative values after mod\n newSegmentValue = (newSegmentValue % maxValue + maxValue) % maxValue;\n } else {\n newSegmentValue = Math.min(Math.max(0, newSegmentValue), maxValue - 1);\n }\n return \"\".concat(newSegmentValue).padStart(2, '0');\n }\n function getPreferredReplacementString(replaceValue, replaceIndex, newChar, selectionStart, selectionEnd) {\n if (selectionStart === 0 && selectionEnd === 2 && replaceIndex === 1 && parseInt(newChar, 10) > 1) {\n // DH-10082 Special case for when typing `3` when it's already 12\n return \"0\".concat(newChar).concat(replaceValue.substring(2));\n }\n return DEFAULT_GET_PREFERRED_REPLACEMENT_STRING(replaceValue, replaceIndex, newChar);\n }\n function handleChange(newValue) {\n log.debug('handleChange', newValue);\n setValue(newValue);\n\n // Only send a change if the value is actually valid\n if (TimeUtils.isTimeString(newValue)) {\n onChange(TimeUtils.parseTime(newValue));\n }\n }\n var handleSelect = useCallback(newSelection => {\n _setSelection(newSelection);\n onSelect(newSelection);\n }, [onSelect]);\n return /*#__PURE__*/_jsx(MaskedInput, {\n ref: inputRef,\n className: className,\n example: EXAMPLES,\n getNextSegmentValue: getNextSegmentValue,\n getPreferredReplacementString: getPreferredReplacementString,\n onChange: handleChange,\n onSelect: handleSelect,\n pattern: TIME_PATTERN,\n selection: selection,\n value: value,\n onFocus: onFocus,\n onBlur: onBlur,\n \"data-testid\": dataTestId\n });\n});\nTimeInput.defaultProps = {\n allowValueWrapping: true,\n className: '',\n onChange: () => false,\n onSelect: () => false,\n value: 0,\n onFocus: () => false,\n onBlur: () => false,\n 'data-testid': undefined\n};\nexport default TimeInput;\n//# sourceMappingURL=TimeInput.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsCheck, dhSort } from '@deephaven/icons';\nimport { TimeUtils } from '@deephaven/utils';\nimport classNames from 'classnames';\nimport TimeInput from \"./TimeInput.js\";\nimport DropdownMenu from \"./menu-actions/DropdownMenu.js\";\nimport \"./CustomTimeSelect.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nvar CUSTOM_OPTION = -1;\nvar MENU_NAVIGATION_DIRECTION;\n(function (MENU_NAVIGATION_DIRECTION) {\n MENU_NAVIGATION_DIRECTION[\"UP\"] = \"UP\";\n MENU_NAVIGATION_DIRECTION[\"DOWN\"] = \"DOWN\";\n})(MENU_NAVIGATION_DIRECTION || (MENU_NAVIGATION_DIRECTION = {}));\nclass CustomTimeSelect extends Component {\n constructor(props) {\n super(props);\n _defineProperty(this, \"csContainer\", void 0);\n _defineProperty(this, \"menuContainer\", void 0);\n _defineProperty(this, \"button\", void 0);\n _defineProperty(this, \"input\", void 0);\n var {\n value,\n valueToTime\n } = props;\n this.toggleMenu = this.toggleMenu.bind(this);\n this.handleMenuKeyDown = this.handleMenuKeyDown.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n this.handleOptionClick = this.handleOptionClick.bind(this);\n this.handleOptionFocus = this.handleOptionFocus.bind(this);\n this.handleMenuOpened = this.handleMenuOpened.bind(this);\n this.handleMenuExited = this.handleMenuExited.bind(this);\n this.handleCustomInput = this.handleCustomInput.bind(this);\n this.csContainer = /*#__PURE__*/React.createRef();\n this.menuContainer = /*#__PURE__*/React.createRef();\n this.button = /*#__PURE__*/React.createRef();\n this.input = /*#__PURE__*/React.createRef();\n this.state = {\n keyboardOptionIndex: 0,\n menuIsOpen: false,\n inputWidth: 100,\n customTime: valueToTime(value),\n inputFocused: false\n };\n }\n getSelectedText() {\n var {\n options,\n value,\n placeholder\n } = this.props;\n var {\n customTime\n } = this.state;\n if (value === null) {\n return placeholder;\n }\n for (var i = 0; i < options.length; i += 1) {\n var option = options[i];\n if (option.value === value) {\n return option.title;\n }\n }\n return TimeUtils.formatTime(customTime);\n }\n setInputWidth() {\n if (this.csContainer.current) {\n this.setState({\n inputWidth: this.csContainer.current.getBoundingClientRect().width\n });\n }\n }\n focus() {\n var _this$button$current;\n (_this$button$current = this.button.current) === null || _this$button$current === void 0 ? void 0 : _this$button$current.focus();\n }\n updateInputValue(value) {\n var {\n onChange\n } = this.props;\n onChange(value);\n }\n handleResize() {\n this.setInputWidth();\n }\n handleMenuKeyDown(event) {\n var _this$button$current2;\n var {\n keyboardOptionIndex,\n inputFocused\n } = this.state;\n var {\n options\n } = this.props;\n switch (event.key) {\n case 'Enter':\n case ' ':\n // Space Bar\n if (inputFocused) {\n this.updateFromCustom();\n } else {\n this.updateInputValue(options[keyboardOptionIndex].value);\n }\n this.closeMenu();\n (_this$button$current2 = this.button.current) === null || _this$button$current2 === void 0 ? void 0 : _this$button$current2.focus();\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'Tab':\n if (event.shiftKey) {\n this.handleMenuNavigation(CustomTimeSelect.MENU_NAVIGATION_DIRECTION.UP);\n } else {\n this.handleMenuNavigation(CustomTimeSelect.MENU_NAVIGATION_DIRECTION.DOWN);\n }\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'ArrowUp':\n this.handleMenuNavigation(CustomTimeSelect.MENU_NAVIGATION_DIRECTION.UP);\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'ArrowDown':\n this.handleMenuNavigation(CustomTimeSelect.MENU_NAVIGATION_DIRECTION.DOWN);\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'Escape':\n this.closeMenu();\n break;\n default:\n break;\n }\n }\n handleMenuNavigation(direction) {\n var {\n keyboardOptionIndex,\n inputFocused\n } = this.state;\n var {\n options\n } = this.props;\n var menuOptionsLength = options.length;\n var newKeyboardOptionIndex = keyboardOptionIndex;\n switch (direction) {\n case CustomTimeSelect.MENU_NAVIGATION_DIRECTION.UP:\n if (!inputFocused && keyboardOptionIndex === 0) {\n this.focusInput();\n break;\n } else if (inputFocused) {\n this.focusOption(keyboardOptionIndex);\n }\n if (keyboardOptionIndex > 0 && !inputFocused) {\n newKeyboardOptionIndex = (newKeyboardOptionIndex - 1) % menuOptionsLength;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n } else if (keyboardOptionIndex === 0) {\n newKeyboardOptionIndex = menuOptionsLength - 1;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n }\n this.scrollOptionIntoView(newKeyboardOptionIndex);\n break;\n case CustomTimeSelect.MENU_NAVIGATION_DIRECTION.DOWN:\n if (!inputFocused && keyboardOptionIndex === menuOptionsLength - 1) {\n this.focusInput();\n break;\n } else if (inputFocused) {\n this.focusOption(keyboardOptionIndex);\n }\n if (keyboardOptionIndex < menuOptionsLength && !(inputFocused && keyboardOptionIndex === 0)) {\n newKeyboardOptionIndex = (newKeyboardOptionIndex + 1) % menuOptionsLength;\n this.setState({\n keyboardOptionIndex: newKeyboardOptionIndex\n });\n }\n this.scrollOptionIntoView(newKeyboardOptionIndex);\n break;\n default:\n break;\n }\n }\n handleOptionClick(event) {\n var optionIndex = Number(event.currentTarget.value);\n var {\n options,\n timeToValue\n } = this.props;\n var {\n customTime\n } = this.state;\n if (optionIndex === CUSTOM_OPTION) {\n var update = timeToValue(customTime);\n this.updateAndClose(update);\n } else {\n this.updateAndClose(options[optionIndex].value);\n }\n }\n updateAndClose(update) {\n var _this$button$current3;\n this.updateInputValue(update);\n this.closeMenu();\n (_this$button$current3 = this.button.current) === null || _this$button$current3 === void 0 ? void 0 : _this$button$current3.focus();\n }\n handleOptionFocus(event) {\n this.setState({\n keyboardOptionIndex: Number(event.target.value)\n });\n }\n handleMenuOpened() {\n var _this$menuContainer$c;\n var {\n options,\n value\n } = this.props;\n var {\n keyboardOptionIndex\n } = this.state;\n this.scrollOptionIntoView(keyboardOptionIndex);\n var activeOption = (_this$menuContainer$c = this.menuContainer.current) === null || _this$menuContainer$c === void 0 ? void 0 : _this$menuContainer$c.querySelector('.cs-option-btn.keyboard-active');\n if (activeOption instanceof HTMLElement) {\n activeOption.focus();\n }\n if (value === null) {\n return;\n }\n var valueIndex = options.map(option => option.value).indexOf(value);\n if (valueIndex < 0) {\n // The custom option should be selected\n this.focusInput();\n }\n }\n focusInput() {\n var _this$input$current;\n (_this$input$current = this.input.current) === null || _this$input$current === void 0 ? void 0 : _this$input$current.focus();\n }\n focusOption(index) {\n var _this$menuContainer$c2;\n var options = (_this$menuContainer$c2 = this.menuContainer.current) === null || _this$menuContainer$c2 === void 0 ? void 0 : _this$menuContainer$c2.querySelector('.cs-options');\n if (options && options.children != null) {\n var option = options.children.item(index);\n if (option instanceof HTMLElement) {\n option.focus();\n }\n }\n }\n handleMenuExited() {\n var {\n menuIsOpen\n } = this.state;\n if (menuIsOpen) {\n this.setState({\n menuIsOpen: false,\n keyboardOptionIndex: 0\n });\n }\n }\n handleCustomInput(value) {\n var {\n timeToValue\n } = this.props;\n var update = timeToValue(value);\n this.updateInputValue(update);\n this.setState({\n customTime: value\n });\n }\n updateFromCustom() {\n var {\n timeToValue\n } = this.props;\n var {\n customTime\n } = this.state;\n var update = timeToValue(customTime);\n this.updateInputValue(update);\n }\n toggleMenu(event) {\n var {\n menuIsOpen\n } = this.state;\n if (menuIsOpen) {\n this.closeMenu();\n } else {\n this.openMenu();\n }\n event.stopPropagation();\n }\n openMenu() {\n this.updateKeyboardIndex();\n this.setInputWidth();\n this.setState({\n menuIsOpen: true\n });\n }\n closeMenu() {\n var focusButton = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setState({\n menuIsOpen: false\n });\n if (focusButton) {\n var _this$button$current4;\n (_this$button$current4 = this.button.current) === null || _this$button$current4 === void 0 ? void 0 : _this$button$current4.focus();\n }\n }\n updateKeyboardIndex() {\n var {\n options,\n value\n } = this.props;\n if (value === null) {\n return;\n }\n var valueIndex = options.map(option => option.value).indexOf(value);\n if (valueIndex > 0) {\n this.setState({\n keyboardOptionIndex: valueIndex\n });\n }\n }\n scrollOptionIntoView(index) {\n var _this$menuContainer$c3;\n var options = (_this$menuContainer$c3 = this.menuContainer.current) === null || _this$menuContainer$c3 === void 0 ? void 0 : _this$menuContainer$c3.querySelector('.cs-options');\n if (options && options.children != null) {\n var activeOption = options.children.item(index);\n if (activeOption instanceof HTMLElement && activeOption.offsetTop > CustomTimeSelect.DROP_DOWN_MENU_HEIGHT) {\n options.scrollTop = activeOption.offsetTop - CustomTimeSelect.DROP_DOWN_MENU_HEIGHT;\n } else if (activeOption instanceof HTMLElement && activeOption.offsetTop < 0 || index === 0) {\n options.scrollTop = 0;\n }\n }\n }\n renderMenuElement() {\n var {\n inputWidth\n } = this.state;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"cs-menu-container\",\n ref: this.menuContainer,\n role: \"presentation\",\n onKeyDown: this.handleMenuKeyDown,\n onClick: event => {\n event.stopPropagation();\n },\n style: {\n width: inputWidth\n },\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"cs-options-container\",\n children: /*#__PURE__*/_jsx(\"div\", {\n className: \"cs-options\",\n children: this.renderOptions()\n })\n })\n });\n }\n renderOptions() {\n var {\n options,\n value,\n icon,\n customText\n } = this.props;\n var {\n keyboardOptionIndex,\n customTime,\n inputFocused\n } = this.state;\n var matchFound = false;\n var optionArray = [];\n for (var index = 0; index < options.length; index += 1) {\n var option = options[index];\n var key = \"option-\".concat(index, \"-\").concat(option.value);\n matchFound = matchFound || option.value === value;\n optionArray.push( /*#__PURE__*/_jsxs(\"button\", {\n type: \"button\",\n value: index,\n className: classNames('cs-option-btn', {\n 'keyboard-active': keyboardOptionIndex === index && !inputFocused\n }),\n onClick: this.handleOptionClick,\n onFocus: this.handleOptionFocus,\n children: [option.value === value && /*#__PURE__*/_jsx(FontAwesomeIcon, {\n icon: icon,\n className: \"mr-2\"\n }), option.value !== value && /*#__PURE__*/_jsx(\"span\", {\n className: \"mr-4\"\n }), option.title]\n }, key));\n }\n optionArray.push( /*#__PURE__*/_jsx(\"hr\", {\n className: \"cs-divider\"\n }, \"option-divider\"));\n optionArray.push( /*#__PURE__*/_jsxs(\"button\", {\n type: \"button\",\n value: CUSTOM_OPTION,\n className: classNames('cs-option-btn', {\n 'keyboard-active': inputFocused\n }),\n onClick: this.handleOptionClick,\n onFocus: this.handleOptionFocus,\n children: [!matchFound && value !== null ? /*#__PURE__*/_jsx(FontAwesomeIcon, {\n icon: icon,\n className: \"mr-2\"\n }) : /*#__PURE__*/_jsx(\"span\", {\n className: \"mr-4\"\n }), customText]\n }, \"option-custom-label\"));\n optionArray.push( /*#__PURE__*/_jsxs(\"div\", {\n className: \"cs-custom-container\",\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: \"mr-2\"\n }), /*#__PURE__*/_jsx(TimeInput, {\n ref: this.input,\n onChange: this.handleCustomInput,\n value: customTime,\n onFocus: () => this.setState({\n inputFocused: true\n }),\n onBlur: () => this.setState({\n inputFocused: false\n })\n }, \"option-input\"), /*#__PURE__*/_jsx(\"span\", {\n className: \"ml-2\"\n })]\n }, \"cs-custom-container\"));\n optionArray.push( /*#__PURE__*/_jsx(\"hr\", {\n className: \"mb-2\"\n }, \"option-end\"));\n return optionArray;\n }\n render() {\n var {\n disabled,\n invalid,\n value,\n 'data-testid': dataTestId\n } = this.props;\n var {\n menuIsOpen\n } = this.state;\n var {\n popperOptions\n } = this.props;\n popperOptions = _objectSpread({\n placement: 'bottom-end',\n modifiers: {\n preventOverflow: {\n enabled: false\n }\n }\n }, popperOptions);\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"input-group cs-container context-menu\",\n ref: this.csContainer,\n \"data-testid\": dataTestId,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames('input-group-append cs-dropdown', {\n 'cs-dropdown-invalid': invalid\n }),\n children: /*#__PURE__*/_jsxs(\"button\", {\n type: \"button\",\n className: classNames('btn cs-btn form-control', {\n 'cs-btn-invalid': invalid\n }),\n ref: this.button,\n onClick: this.toggleMenu,\n disabled: disabled,\n children: [/*#__PURE__*/_jsx(\"span\", {\n className: classNames({\n 'text-muted': value === null\n }),\n children: this.getSelectedText()\n }), /*#__PURE__*/_jsx(\"span\", {\n children: /*#__PURE__*/_jsx(FontAwesomeIcon, {\n icon: dhSort,\n className: \"cs-caret\"\n })\n }), /*#__PURE__*/_jsx(DropdownMenu, {\n isShown: menuIsOpen,\n actions: {\n menuElement: this.renderMenuElement()\n },\n popperOptions: popperOptions,\n popperClassName: \"CustomTimeSelect\",\n onMenuOpened: this.handleMenuOpened,\n onMenuClosed: this.handleMenuExited,\n menuStyle: {\n maxWidth: '100rem'\n }\n })]\n })\n })\n });\n }\n}\n_defineProperty(CustomTimeSelect, \"MENU_NAVIGATION_DIRECTION\", MENU_NAVIGATION_DIRECTION);\n_defineProperty(CustomTimeSelect, \"DROP_DOWN_MENU_HEIGHT\", 125);\n_defineProperty(CustomTimeSelect, \"defaultProps\", {\n onChange() {\n // no-op\n },\n value: null,\n disabled: false,\n popperOptions: {},\n icon: vsCheck,\n customText: 'Custom',\n placeholder: 'Select a time',\n valueToTime: value => value === null ? 0 : Math.round(value / 1000),\n timeToValue: time => time * 1000,\n invalid: false,\n 'data-testid': undefined\n});\nexport default CustomTimeSelect;\n//# sourceMappingURL=CustomTimeSelect.js.map","import React, { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport MaskedInput from \"./MaskedInput.js\";\nimport { getNextSegmentValue } from \"./DateInputUtils.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar log = Log.module('DateInput');\nvar DATE_PATTERN = '[12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])';\nvar EXAMPLES = ['2000-01-01', '2022-12-31'];\nvar DATE_FORMAT = 'YYYY-MM-DD';\nvar DateInput = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className = '',\n onChange = () => undefined,\n defaultValue = '',\n onFocus = () => undefined,\n onBlur = () => undefined,\n 'data-testid': dataTestId\n } = props;\n var [value, setValue] = useState(defaultValue);\n var [selection, setSelection] = useState();\n var handleChange = useCallback(newValue => {\n log.debug('handleChange', newValue);\n setValue(newValue);\n onChange(newValue);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"d-flex flex-row align-items-center\",\n children: /*#__PURE__*/_jsx(MaskedInput, {\n ref: ref,\n className: classNames(className),\n example: EXAMPLES,\n getNextSegmentValue: getNextSegmentValue,\n onChange: handleChange,\n onSelect: setSelection,\n pattern: DATE_PATTERN,\n placeholder: DATE_FORMAT,\n selection: selection,\n value: value,\n onFocus: onFocus,\n onBlur: onBlur,\n \"data-testid\": dataTestId\n })\n });\n});\nDateInput.displayName = 'DateInput';\nexport default DateInput;\n//# sourceMappingURL=DateInput.js.map","function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { dhSort } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport Checkbox from \"./Checkbox.js\";\nimport Popper from \"./popper/Popper.js\";\nimport \"./HierarchicalCheckboxMenu.css\";\nimport Button from \"./Button.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * A pull down menu that displays a hierarchy of checkboxes.\n *\n * Currently supports only two levels of check boxes. The input should be a Map\n * where the keys are the parent names. The values can a boolean if the parent\n * has no children or another Map where keys are child names and values are booleans.\n *\n * Here is an example:\n * const INITIAL_TYPE_MAP = new Map([\n * ['Queries', new Map([['Live', true], ['Batch', true]])],\n * [\n * 'DBA Queries',\n * new Map([\n * ['Data Merge', true],\n * ['Data Validation', true],\n * ['Imports', true],\n * ['Data Services', true],\n * ]),\n * ],\n * ['Helper Queries', true],\n * ]);\n *\n * When a checkbox is changed, this component will make a deep copy of the Map\n * with the appropriate booleans changed. It will then call onUpdateValueMap\n * with the new Map.\n */\nclass HierarchicalCheckboxMenu extends Component {\n static isParentSelected(parent, valueMap) {\n var children = valueMap.get(parent);\n if (children === undefined) {\n return false;\n }\n if (typeof children === 'boolean') {\n // This parent has no children\n return children;\n }\n var includesTrue = Array.from(children.values()).includes(true);\n var includesFalse = Array.from(children.values()).includes(false);\n if (includesTrue && includesFalse) {\n // Indeterminate\n return null;\n }\n return includesTrue;\n }\n constructor(props) {\n super(props);\n this.toggleMenu = this.toggleMenu.bind(this);\n this.toggleValueFor = this.toggleValueFor.bind(this);\n this.selectAll = this.selectAll.bind(this);\n this.clear = this.clear.bind(this);\n this.state = {\n menuIsOpen: false\n };\n }\n toggleMenu(event) {\n event.stopPropagation();\n event.preventDefault();\n this.setState(state => {\n var {\n menuIsOpen\n } = state;\n return {\n menuIsOpen: !menuIsOpen\n };\n });\n }\n toggleValueFor(parent, child) {\n var {\n valueMap,\n onUpdateValueMap\n } = this.props;\n\n // Make a deep copy of the Map and toggle the boolean for parent / child\n var map = new Map(valueMap);\n var children = map.get(parent);\n if (children instanceof Map) {\n var newChildren = new Map(children);\n if (child != null) {\n newChildren.set(child, children.get(child) === undefined);\n } else {\n var parentSelected = HierarchicalCheckboxMenu.isParentSelected(parent, map);\n var newChildValue = parentSelected == null || !parentSelected;\n children.forEach((_, key) => newChildren.set(key, newChildValue));\n }\n map.set(parent, newChildren);\n } else {\n map.set(parent, children == null || !children);\n }\n\n // The parent was clicked so all children must be toggled\n var currentChildren = map.get(parent);\n if (child === undefined && currentChildren !== undefined && typeof currentChildren !== 'boolean') {\n var _parentSelected = HierarchicalCheckboxMenu.isParentSelected(parent, valueMap);\n if (_parentSelected != null && _parentSelected) {\n currentChildren.forEach((_, key) => currentChildren.set(key, false));\n } else {\n // for parent selection of false or null (indeterminate), select everything\n currentChildren.forEach((_, key) => currentChildren.set(key, true));\n }\n }\n onUpdateValueMap(map);\n }\n setAllValues(value) {\n var {\n valueMap,\n onUpdateValueMap\n } = this.props;\n\n // Make a deep copy of the Map and set everything\n var copy = new Map();\n valueMap.forEach((child, parent) => {\n if (typeof child === 'boolean') {\n copy.set(parent, value);\n } else {\n var children = new Map();\n child.forEach((_, key) => children.set(key, value));\n copy.set(parent, children);\n }\n });\n onUpdateValueMap(copy);\n }\n selectAll() {\n this.setAllValues(true);\n }\n clear() {\n this.setAllValues(false);\n }\n renderMenuElement() {\n var {\n valueMap,\n 'data-testid': dataTestId\n } = this.props;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"hcm-menu-container\",\n children: [Array.from(valueMap.entries()).map(_ref => {\n var [parent, children] = _ref;\n return /*#__PURE__*/_jsxs(\"div\", {\n children: [/*#__PURE__*/_jsx(Checkbox, {\n className: \"hcm-parent\",\n checked: HierarchicalCheckboxMenu.isParentSelected(parent, valueMap),\n onChange: () => this.toggleValueFor(parent),\n children: parent\n }), children !== undefined && typeof children !== 'boolean' && Array.from(children.entries()).map(_ref2 => {\n var [child, value] = _ref2;\n return /*#__PURE__*/_jsx(Checkbox, {\n className: \"hcm-child\",\n checked: value,\n onChange: () => this.toggleValueFor(parent, child),\n children: child\n }, child);\n })]\n }, parent);\n }), /*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n onClick: this.selectAll,\n \"data-testid\": dataTestId !== undefined ? \"\".concat(dataTestId, \"-btn-select-all\") : undefined,\n children: \"Select All\"\n }), /*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n onClick: this.clear,\n \"data-testid\": dataTestId !== undefined ? \"\".concat(dataTestId, \"-btn-clear\") : undefined,\n children: \"Clear\"\n })]\n });\n }\n render() {\n var {\n menuText,\n className,\n icon,\n id,\n 'data-testid': dataTestId\n } = this.props;\n var {\n menuIsOpen\n } = this.state;\n return /*#__PURE__*/_jsxs(\"button\", {\n type: \"button\",\n className: classNames('btn hcm-btn', className),\n onClick: this.toggleMenu,\n id: id,\n \"data-testid\": dataTestId,\n children: [/*#__PURE__*/_jsxs(\"span\", {\n children: [icon && /*#__PURE__*/_jsx(FontAwesomeIcon, {\n icon: icon,\n className: \"hcm-icon mr-1\"\n }), menuText]\n }), /*#__PURE__*/_jsx(FontAwesomeIcon, {\n icon: dhSort,\n className: \"hcm-icon ml-1\"\n }), /*#__PURE__*/_jsx(Popper, {\n options: {\n placement: 'bottom'\n },\n isShown: menuIsOpen,\n onExited: () => {\n this.setState({\n menuIsOpen: false\n });\n },\n closeOnBlur: true,\n interactive: true,\n children: this.renderMenuElement()\n })]\n });\n }\n}\n_defineProperty(HierarchicalCheckboxMenu, \"defaultProps\", {\n className: '',\n icon: null,\n id: '',\n 'data-testid': undefined\n});\nexport default HierarchicalCheckboxMenu;\n//# sourceMappingURL=HierarchicalCheckboxMenu.js.map","/* eslint-disable react/no-array-index-key */\n// array maps being used are static, this is fine.\n\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\nimport classNames from 'classnames';\nimport TimeInput from \"./TimeInput.js\";\nimport StyleExports from \"./TimeSlider.module.css\";\nimport \"./TimeSlider.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nvar HANDLE_SIZE = parseInt(StyleExports['handle-size'], 10);\nvar POPOVER_WIDTH = parseInt(StyleExports['popover-width'], 10);\nvar SECONDS_IN_DAY = 24 * 60 * 60 - 1; // Max is actually 23:59:59\nvar SNAP_NEAREST_MINUTES = 5 * 60; // rounds in 5 minute intervals\n\n/**\n * Creates a time slider for setting a start and end time, that can also run overnight\n * @param props takes times in seconds 0 - 86399 and a callback\n */\nfunction TimeSlider(_ref) {\n var {\n startTime: propStartTime,\n endTime: propEndTime,\n onChange,\n isStartModified = false,\n isEndModified = false,\n 'data-testid': dataTestId\n } = _ref;\n var [startTime, setStartTime] = useState(propStartTime);\n var [endTime, setEndTime] = useState(propEndTime);\n var track = useRef(null); // we need the track width while calulculating time from handle drag\n\n // updates state if props change\n useEffect(function setTimeOnPropTimeChange() {\n setStartTime(propStartTime);\n setEndTime(propEndTime);\n }, [propStartTime, propEndTime]);\n var updateTime = useCallback((newStartTime, newEndTime) => {\n var start = newStartTime;\n var end = newEndTime;\n if (start === end) {\n if (end < SECONDS_IN_DAY) {\n end += 1;\n } else {\n start -= 1;\n }\n }\n setStartTime(start);\n setEndTime(end);\n onChange({\n startTime: start,\n endTime: end\n });\n }, [setStartTime, setEndTime, onChange]);\n var handleStartTimeChange = useCallback(newStartTime => {\n updateTime(newStartTime, endTime);\n }, [updateTime, endTime]);\n var handleEndTimeChange = useCallback(newEndTime => {\n updateTime(startTime, newEndTime);\n }, [updateTime, startTime]);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"time-slider\",\n \"data-testid\": dataTestId,\n children: [/*#__PURE__*/_jsx(PopOvers, {\n startTime: startTime,\n endTime: endTime,\n onStartTimeChange: handleStartTimeChange,\n onEndTimeChange: handleEndTimeChange,\n isStartModified: isStartModified,\n isEndModified: isEndModified\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"track\",\n ref: track,\n children: [/*#__PURE__*/_jsx(TrackFills, {\n startTime: startTime,\n endTime: endTime\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"ticks\",\n children: Array(24).fill(null).map((value, index) => /*#__PURE__*/_jsx(\"div\", {\n className: \"tick\"\n }, index))\n }), /*#__PURE__*/_jsx(Handle, {\n track: track,\n time: startTime,\n setTime: handleStartTimeChange\n }), /*#__PURE__*/_jsx(Handle, {\n track: track,\n time: endTime,\n setTime: handleEndTimeChange\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"tick-labels\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tick-label\",\n children: \"0:00\"\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"tick-label-wrapper\",\n children: Array(24).fill(null).map((value, index) => /*#__PURE__*/_jsx(\"div\", {\n className: \"tick-label\",\n children: \"\".concat(index + 1, \":00\")\n }, index))\n })]\n })]\n });\n}\nfunction PopOvers(props) {\n var {\n startTime,\n endTime,\n onStartTimeChange,\n onEndTimeChange,\n isStartModified,\n isEndModified,\n 'data-testid': dataTestId\n } = props;\n var swapTimes = startTime > endTime;\n var [firstTime, setFirstTime] = useState(swapTimes ? endTime : startTime);\n var [secondTime, setSecondTime] = useState(swapTimes ? startTime : endTime);\n var firstTimeRef = useRef(null);\n var secondTimeRef = useRef(null);\n // Keep track of selection in both time inputs\n var firstTimeSelectionRef = useRef(null);\n var secondTimeSelectionRef = useRef(null);\n useEffect(function setTimeOnPropTimeChange() {\n setFirstTime(startTime > endTime ? endTime : startTime);\n setSecondTime(startTime > endTime ? startTime : endTime);\n }, [startTime, endTime]);\n useEffect(function setFocusOnSwapTimesChange() {\n if (firstTimeSelectionRef.current !== null) {\n var _secondTimeRef$curren;\n (_secondTimeRef$curren = secondTimeRef.current) === null || _secondTimeRef$curren === void 0 ? void 0 : _secondTimeRef$curren.setSelection(firstTimeSelectionRef.current);\n }\n if (secondTimeSelectionRef.current !== null) {\n var _firstTimeRef$current;\n (_firstTimeRef$current = firstTimeRef.current) === null || _firstTimeRef$current === void 0 ? void 0 : _firstTimeRef$current.setSelection(secondTimeSelectionRef.current);\n }\n }, [swapTimes]);\n function onFirstTimeChange(value) {\n if (startTime <= endTime) {\n onStartTimeChange(value);\n } else {\n onEndTimeChange(value);\n }\n }\n function onSecondTimeChange(value) {\n if (startTime <= endTime) {\n onEndTimeChange(value);\n } else {\n onStartTimeChange(value);\n }\n }\n var onFirstTimeSelect = useCallback(selection => {\n firstTimeSelectionRef.current = selection;\n secondTimeSelectionRef.current = null;\n }, []);\n var onSecondTimeSelect = useCallback(selection => {\n firstTimeSelectionRef.current = null;\n secondTimeSelectionRef.current = selection;\n }, []);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"time-slider-popovers\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"flex\",\n style: {\n flexBasis: \"calc(\".concat(firstTime / SECONDS_IN_DAY * 100, \"% - \").concat(POPOVER_WIDTH / 2, \"px)\")\n }\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"handle-popper\",\n children: [/*#__PURE__*/_jsx(\"label\", {\n className: classNames({\n modified: swapTimes ? isEndModified : isStartModified\n }),\n children: swapTimes ? 'End Time' : 'Start Time'\n }), /*#__PURE__*/_jsx(TimeInput, {\n ref: firstTimeRef,\n allowValueWrapping: false,\n value: firstTime,\n onChange: onFirstTimeChange,\n onSelect: onFirstTimeSelect,\n \"data-testid\": dataTestId !== undefined ? \"\".concat(dataTestId, \"-input-1\") : undefined\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"flex-spacer\"\n }), /*#__PURE__*/_jsxs(\"div\", {\n className: \"handle-popper\",\n children: [/*#__PURE__*/_jsx(\"label\", {\n className: classNames({\n modified: swapTimes ? isStartModified : isEndModified\n }),\n children: swapTimes ? 'Start Time' : 'End Time'\n }), /*#__PURE__*/_jsx(TimeInput, {\n ref: secondTimeRef,\n allowValueWrapping: false,\n value: secondTime,\n onChange: onSecondTimeChange,\n onSelect: onSecondTimeSelect,\n \"data-testid\": dataTestId !== undefined ? \"\".concat(dataTestId, \"-input-2\") : undefined\n })]\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"flex\",\n style: {\n flexBasis: \"calc(\".concat((SECONDS_IN_DAY - secondTime) / SECONDS_IN_DAY * 100, \"% - \").concat(POPOVER_WIDTH / 2, \"px)\")\n }\n })]\n });\n}\n/**\n * Shades the area between or outside of handles according to if start or endtime is greater.\n */\nfunction TrackFills(props) {\n var {\n startTime,\n endTime,\n 'data-testid': dataTestId\n } = props;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"track-fills\",\n \"data-testid\": dataTestId,\n children: [startTime > endTime && /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"track-fill track-fill-start\",\n style: {\n transform: \"scaleX(\".concat(endTime / SECONDS_IN_DAY, \")\")\n }\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"track-fill track-fill-end\",\n style: {\n transform: \"scaleX(\".concat((SECONDS_IN_DAY - startTime) / SECONDS_IN_DAY, \")\")\n }\n })]\n }), startTime < endTime && /*#__PURE__*/_jsx(\"div\", {\n className: \"track-fill track-fill-middle\",\n style: {\n transform: \"translateX(\".concat(startTime / SECONDS_IN_DAY * 100, \"%) scaleX(\").concat((endTime - startTime) / SECONDS_IN_DAY, \")\")\n }\n })]\n });\n}\n/**\n * Creates a draggable handle the sets the time\n */\nfunction Handle(props) {\n var {\n track,\n time,\n setTime,\n 'data-testid': dataTestId\n } = props;\n\n /**\n * Takes the time and generate our translation string taking into account handle offset.\n * The handle offset changes for the first and last tick range dynmaically. Normally,\n * the center of the handle (size/2) is the selection origin, but at edges, it becomes either\n * end of the handle, requireing a relative offset range of 0 - 0.5, and 0.5 - 1 of handle size.\n * @param t time in seconds\n */\n var transform = useMemo(() => {\n var ONE_HOUR = 60 * 60;\n var handleOffset = HANDLE_SIZE / 2;\n if (time < ONE_HOUR) {\n handleOffset = time / ONE_HOUR * (HANDLE_SIZE / 2); // 0 - 0.5 Handle size\n } else if (time > 23 * ONE_HOUR) {\n handleOffset = HANDLE_SIZE / 2 + 1 / (SECONDS_IN_DAY - 23 * ONE_HOUR) * (time - 23 * ONE_HOUR) * (HANDLE_SIZE / 2); // 0.5 - 1 Handle size\n }\n\n return \"translateX(calc(\".concat(time / SECONDS_IN_DAY * 100, \"% - \").concat(handleOffset, \"px))\");\n }, [time]);\n var calculatePositionAsTime = useCallback(clientX => {\n if (!track.current) {\n return 0;\n }\n var trackRect = track.current.getBoundingClientRect();\n var leftEdge = Math.max(clientX - trackRect.left, 0);\n // get position as 0-1 on slider and mulitply by seconds in a day to convert to time\n var preciseTime = SECONDS_IN_DAY * Math.min(1, leftEdge / trackRect.width);\n // snap to nearest N(5) minute interval\n var roundedTime = SNAP_NEAREST_MINUTES * Math.round(preciseTime / SNAP_NEAREST_MINUTES);\n // prevent over-rounding to 24:00:00\n var limitMax = Math.min(SECONDS_IN_DAY, roundedTime);\n return limitMax;\n }, [track]);\n var handleMouseMove = useCallback(_ref2 => {\n var {\n clientX\n } = _ref2;\n setTime(calculatePositionAsTime(clientX));\n }, [setTime, calculatePositionAsTime]);\n var handleMouseUp = useCallback(_ref3 => {\n var {\n clientX\n } = _ref3;\n setTime(calculatePositionAsTime(clientX));\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n document.documentElement.classList.remove('drag-pointer-events-none');\n }, [setTime, calculatePositionAsTime, handleMouseMove]);\n var startDragListening = useCallback(() => {\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n document.documentElement.classList.add('drag-pointer-events-none');\n }, [handleMouseMove, handleMouseUp]);\n var stopDragListening = useCallback(() => {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n document.documentElement.classList.remove('drag-pointer-events-none');\n }, [handleMouseMove, handleMouseUp]);\n var handleMouseDown = useCallback(() => {\n startDragListening();\n }, [startDragListening]);\n useEffect(function removeListenersOnUnmount() {\n return () => {\n stopDragListening();\n };\n }, [stopDragListening]);\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"handle-track\",\n style: {\n transform\n },\n children: /*#__PURE__*/_jsx(\"button\", {\n className: \"handle\",\n type: \"button\",\n \"aria-label\": \"Change time\",\n onMouseDown: handleMouseDown,\n \"data-testid\": dataTestId\n })\n });\n}\nexport default TimeSlider;\n//# sourceMappingURL=TimeSlider.js.map","import React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\nimport \"./ValidateLabelInput.css\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n/**\n * Takes a child and add a label and validaton error\n */\nexport function ValidateLabelInput(props) {\n var {\n children,\n className,\n labelText,\n hintText,\n isModified,\n validationError,\n showValidationError = true,\n 'data-testid': dataTestId,\n id: idProp\n } = props;\n var {\n current: id\n } = useRef(idProp !== null && idProp !== void 0 ? idProp : shortid());\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(\"label\", {\n className: classNames('validate-label', className, {\n modified: isModified\n }),\n htmlFor: id,\n \"data-testid\": dataTestId,\n children: labelText\n }), React.Children.toArray(children).map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n // eslint-disable-next-line react/jsx-key\n return /*#__PURE__*/_jsx(\"div\", {\n className: classNames(className),\n children: child\n });\n }\n\n // toArray strips null children\n return /*#__PURE__*/React.cloneElement(child, {\n className: classNames(child.props.className, {\n 'is-invalid': validationError\n })\n });\n }), hintText !== undefined && /*#__PURE__*/_jsx(\"small\", {\n className: \"form-text text-muted\",\n children: hintText\n }), validationError !== undefined && showValidationError && /*#__PURE__*/_jsx(\"p\", {\n className: \"validate-label-error text-danger\",\n children: validationError\n })]\n });\n}\nexport default ValidateLabelInput;\n//# sourceMappingURL=ValidateLabelInput.js.map","function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\nimport ChartModel from \"./ChartModel.js\";\nimport { defaultChartTheme } from \"./ChartTheme.js\";\nimport ChartUtils from \"./ChartUtils.js\";\n/** Displays a basic random chart */\nclass MockChartModel extends ChartModel {\n static get theme() {\n /* eslint-disable no-underscore-dangle */\n if (MockChartModel._theme == null) {\n MockChartModel._theme = defaultChartTheme();\n }\n return MockChartModel._theme;\n /* eslint-enable no-underscore-dangle */\n }\n\n static makeRandomSeries(offset) {\n var scale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var steps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;\n var dates = [];\n var values = [];\n var smooth = [];\n var linear = [];\n\n // Setting to a fixed seed date so that e2e tests can be deterministic.\n var startDate = new Date('2018-06-01');\n for (var i = 0; i < steps; i += 1) {\n var date = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() + i - steps);\n dates.push(\"\".concat(date.getFullYear(), \"-\").concat(date.getMonth() + 1, \"-\").concat(date.getDate()));\n var v = (Math.sin(i / steps * offset) * steps / 3 + Math.cos(i * 0.2) * steps / 6 + Math.sin(i * 0.5) * steps / 10 + MockChartModel.random() * steps / 5 + i * MockChartModel.smoothing) * scale;\n v = Math.round(v * 100) / 100; // 2 decimals only\n // using steps acts as amplititude scaling based on value\n // large sine wave for course shape + small sine waves for bumpiness +\n // general randomness noise + index to be constantly up and to the right + smoothing factor\n values.push(v);\n linear.push(40 + i * MockChartModel.smoothing);\n smooth.push(Math.sin(i / steps * offset) * steps / 3 + MockChartModel.random() * steps / 10 + i * MockChartModel.smoothing); // push a smoother version of the same thing\n }\n\n return {\n x: dates,\n y: values,\n s: smooth,\n l: linear\n };\n }\n static makeScatter(series) {\n return {\n name: 'SCTR',\n x: series.x,\n y: series.y,\n type: 'scatter',\n mode: 'markers',\n hoverinfo: 'skip',\n marker: {\n size: 5\n }\n };\n }\n static makeArea(series) {\n return {\n name: 'AREA',\n x: series.x,\n y: series.s,\n type: 'scatter',\n mode: 'line',\n fill: 'tozeroy',\n hoverinfo: 'all',\n line: {\n color: MockChartModel.theme.area_color,\n width: 3\n // area patten gets applied as hack in post render plot.ly callback + css\n }\n };\n }\n\n static makeTrendline(series) {\n return {\n // we probably want to toss the line formula in legend I guess? either that or render it as text manually on plot\n name: 'Trendline <br>R<sup>2</sup> = 0.91',\n x: series.x,\n y: series.l,\n type: 'scatter',\n mode: 'line',\n hoverinfo: 'skip',\n line: {\n width: 3,\n dash: 'dot',\n // trendlines should follow some sort of color convention + dots/dashed. Remember there can multiple\n color: MockChartModel.theme.trend_color\n // chroma(c.$green).brighten(1.2).hex()\n }\n };\n }\n\n static makeErrorBand(series) {\n // generate continouous error bands values and text\n var erroryforward = [];\n var errorybackward = [];\n for (var i = 0; i < series.y.length; i += 1) {\n var value = series.y[i];\n erroryforward[i] = Math.round((value + 18) * 100) / 100;\n errorybackward[i] = Math.round((value - 18) * 100) / 100;\n }\n\n // makes a closed shape of points winding clockwise for y values\n var errory = erroryforward.concat(errorybackward.reverse());\n return {\n name: 'error',\n x: series.x.concat(series.x.slice().reverse()),\n // winding for x values, that slice just clones so reverse doesn't apply inplace\n y: errory,\n type: 'scatter',\n mode: 'line',\n hoverinfo: 'skip',\n fill: 'toself',\n // there's some ordering bug with scattergl where if the areas traces are ordered after the lines they don't render\n fillcolor: MockChartModel.theme.error_band_fill_color,\n line: {\n width: 0,\n color: MockChartModel.theme.error_band_line_color,\n shape: 'spline'\n }\n };\n }\n static makeLine(series) {\n return {\n name: 'LINE',\n x: series.x,\n y: series.y,\n type: 'scatter',\n mode: 'line',\n hoverinfo: 'x+y+text+name',\n line: {\n color: MockChartModel.theme.line_color,\n width: 3\n }\n };\n }\n static makeRandomData() {\n var series1 = MockChartModel.makeRandomSeries(6);\n var areaPattern = MockChartModel.makeArea(series1);\n var trendLine = MockChartModel.makeTrendline(series1);\n var series2 = MockChartModel.makeRandomSeries(2);\n var line = MockChartModel.makeLine(series2);\n var errorBand = MockChartModel.makeErrorBand(series2);\n return [areaPattern, trendLine, line, errorBand];\n }\n static makeDefaultLayout(dh) {\n var layout = new ChartUtils(dh).makeDefaultLayout(MockChartModel.theme);\n layout.title = 'Chart';\n if (layout.xaxis) {\n layout.xaxis.title = 'Datestamp';\n }\n if (layout.yaxis) {\n layout.yaxis.title = 'Price';\n }\n return layout;\n }\n constructor(dh) {\n var {\n data = MockChartModel.makeRandomData(),\n layout = MockChartModel.makeDefaultLayout(dh),\n filterFields = []\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super(dh);\n _defineProperty(this, \"data\", void 0);\n _defineProperty(this, \"filterFields\", void 0);\n _defineProperty(this, \"layout\", void 0);\n this.data = data;\n this.layout = layout;\n this.filterFields = filterFields;\n }\n getData() {\n return this.data;\n }\n getLayout() {\n return this.layout;\n }\n getFilterColumnMap() {\n var map = new Map();\n for (var i = 0; i < this.filterFields.length; i += 1) {\n var name = this.filterFields[i];\n var type = 'java.lang.String';\n map.set(name, {\n name,\n type\n });\n }\n return map;\n }\n isFilterRequired() {\n return this.filterFields.length > 0;\n }\n setFilter() {\n this.fireUpdate(this.data);\n }\n}\n_defineProperty(MockChartModel, \"random\", Math.random.bind(Math));\n_defineProperty(MockChartModel, \"smoothing\", 1.5);\n_defineProperty(MockChartModel, \"_theme\", void 0);\nexport default MockChartModel;\n//# sourceMappingURL=MockChartModel.js.map","import React, { createContext, useEffect, useState } from 'react';\nimport 'fira';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var FontsLoadedContext = /*#__PURE__*/createContext(false);\n/**\n * FontBootstrap component. Handles preloading fonts.\n */\nexport function FontBootstrap(_ref) {\n var {\n fontClassNames = ['fira-sans-regular', 'fira-sans-semibold', 'fira-mono'],\n children\n } = _ref;\n var [isLoaded, setIsLoaded] = useState(false);\n useEffect(function initFonts() {\n document.fonts.ready.then(() => {\n setIsLoaded(true);\n });\n }, []);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(FontsLoadedContext.Provider, {\n value: isLoaded,\n children: children\n }), /*#__PURE__*/_jsx(\"div\", {\n id: \"preload-fonts\",\n style: {\n visibility: 'hidden',\n position: 'absolute',\n top: -10000\n },\n children: fontClassNames.map(className => /*#__PURE__*/_jsx(\"p\", {\n className: className,\n children: \"preload\"\n }, className))\n })]\n });\n}\nexport default FontBootstrap;\n//# sourceMappingURL=FontBootstrap.js.map"],"names":["ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","DEBOUNCE_DELAY","MENU_NAVIGATION_DIRECTION","AutoCompleteInput","Component","props","memoize","options","option","popperOptions","debounce","React","title","result","menuIsOpen","isValid","onChange","filter","_this$popper$current","filteredOptions","perfectMatch","event","_this$input$current","keyboardOptionIndex","direction","newKeyboardOptionIndex","onEnter","_this$input$current2","_this$input$current3","_this$popper$current2","_this$popper$current3","focusInput","_this$input$current4","index","_this$menuContainer$c","inputWidth","_jsx","classNames","noMatchText","inputPlaceholder","disabled","className","defaultTitle","spellCheck","dataTestId","invalid","_jsxs","Popper","PropTypes","AutoCompleteInput$1","AutoResizeTextarea","_ref","propsValue","placeholder","delimiter","id","setValue","useState","isPastedChange","setIsPastedChange","element","useRef","useEffect","explode","string","implode","reCalculateLayout","resizedHeight","handleChange","newValue","handleFocus","handleMouseDown","handleBlur","handlePaste","log","Log","TIME_PATTERN","EXAMPLES","TimeInput","ref","allowValueWrapping","onFocus","onBlur","onSelect","TimeUtils","selection","_setSelection","inputRef","useImperativeHandle","_inputRef$current","newSelection","_inputRef$current2","getNextSegmentValue","range","delta","segmentValue","maxValue","newSegmentValue","getPreferredReplacementString","replaceValue","replaceIndex","newChar","selectionStart","selectionEnd","DEFAULT_GET_PREFERRED_REPLACEMENT_STRING","handleSelect","useCallback","MaskedInput","TimeInput$1","CUSTOM_OPTION","CustomTimeSelect","valueToTime","customTime","_this$button$current","_this$button$current2","inputFocused","menuOptionsLength","optionIndex","timeToValue","update","_this$button$current3","activeOption","valueIndex","_this$menuContainer$c2","focusButton","_this$button$current4","_this$menuContainer$c3","icon","customText","matchFound","optionArray","FontAwesomeIcon","dhSort","DropdownMenu","vsCheck","time","CustomTimeSelect$1","DATE_PATTERN","DATE_FORMAT","DateInput","defaultValue","setSelection","DateInput$1","HierarchicalCheckboxMenu","parent","valueMap","children","includesTrue","includesFalse","state","child","onUpdateValueMap","map","newChildren","parentSelected","newChildValue","_","currentChildren","_parentSelected","copy","Checkbox","_ref2","Button","menuText","HierarchicalCheckboxMenu$1","HANDLE_SIZE","StyleExports","POPOVER_WIDTH","SECONDS_IN_DAY","SNAP_NEAREST_MINUTES","TimeSlider","propStartTime","propEndTime","isStartModified","isEndModified","startTime","setStartTime","endTime","setEndTime","track","updateTime","newStartTime","newEndTime","start","end","handleStartTimeChange","handleEndTimeChange","PopOvers","TrackFills","Handle","onStartTimeChange","onEndTimeChange","swapTimes","firstTime","setFirstTime","secondTime","setSecondTime","firstTimeRef","secondTimeRef","firstTimeSelectionRef","secondTimeSelectionRef","_secondTimeRef$curren","_firstTimeRef$current","onFirstTimeChange","onSecondTimeChange","onFirstTimeSelect","onSecondTimeSelect","_Fragment","setTime","transform","useMemo","ONE_HOUR","handleOffset","calculatePositionAsTime","clientX","trackRect","leftEdge","preciseTime","roundedTime","limitMax","handleMouseMove","handleMouseUp","_ref3","startDragListening","stopDragListening","ValidateLabelInput","labelText","hintText","isModified","validationError","showValidationError","idProp","shortid","MockChartModel","ChartModel","defaultChartTheme","offset","scale","steps","dates","values","smooth","linear","startDate","date","v","series","erroryforward","errorybackward","errory","series1","areaPattern","trendLine","series2","line","errorBand","dh","layout","ChartUtils","data","filterFields","name","type","MockChartModel$1","FontsLoadedContext","createContext","FontBootstrap","fontClassNames","isLoaded","setIsLoaded"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.cb-container{flex-wrap:nowrap}.cb-container .cb-input.is-invalid+.cb-dropdown .btn{border-color:#f95d84;color:#f95d84}.cb-menu-container .cb-search-input-container{padding:.5rem;width:100%;position:fixed}.cb-menu-container .cb-options-container{padding-top:calc(3.25rem + 2px)}.cb-menu-container .cb-options{max-height:200px;overflow:auto}.cb-menu-container .cb-option-btn{border:none;width:100%;color:#f0f0ee;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block}.cb-menu-container .cb-option-btn.keyboard-active{background-color:#4878ea80}.cb-menu-container .cb-option-btn:hover{color:#f0f0ee;background-color:#4878ea}.cb-menu-container .cb-option-btn:focus{outline:none}.cb-menu-container .cb-options:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.masked-input{font-family:Fira Sans,-apple-system,blinkmacsystemfont,Segoe UI,Roboto,Helvetica Neue,arial,sans-serif;font-variant-numeric:tabular-nums}.draggable-item-list-dragging-item{display:flex;justify-content:space-between;align-items:center;margin:0 .5rem}.draggable-item-list-dragging-item .item-list-item-content{background-color:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;margin:0 0 .25rem;padding:.25rem .5rem;position:relative}.draggable-item-list-dragging-item:focus{outline:0}.draggable-item-list-dragging-item.two-dragged .item-list-item-content:before,.draggable-item-list-dragging-item.multiple-dragged .item-list-item-content:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.draggable-item-list-dragging-item.multiple-dragged .item-list-item-content:after{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:7px;left:4px;opacity:.6;z-index:-2}.draggable-item-list-dragging-item .fa-grip-vertical{color:#929192}.draggable-item-list-dragging-item .title{flex-grow:1}.draggable-item-list-dragging-item .number-badge{padding:0 .5rem;border-radius:1rem;background-color:#f0f0ee40;margin-right:.25rem}.draggable-item-list .item-list-item{padding:0;display:flex}.draggable-item-list .item-list-item .draggable-item-list-item{display:flex;flex-grow:1;flex-direction:row;outline:none}.draggable-item-list .item-list-item .item-list-item-content{border-radius:4px;margin:0 .5rem .25rem;padding:.125rem .25rem 0 .5rem;border:1px solid transparent;line-height:1.5}.draggable-item-list .item-list-item .item-list-item-content:hover{background-color:#5b5a5c}.draggable-item-list .item-list-item.keyboard-active .item-list-item-content{background-color:transparent}.draggable-item-list .item-list-item.keyboard-active .item-list-item-content:hover{background-color:#5b5a5c}.draggable-item-list .item-list-item.active .item-list-item-content{background-color:#4878ea66}.draggable-item-list .item-list-item.active .item-list-item-content:hover{background-color:#4878ea}.draggable-item-list.is-dragging-from-this .item-list-item .draggable-item-list-item:focus .item-list-item-content,.draggable-item-list.is-dragging-over .item-list-item .draggable-item-list-item:focus .item-list-item-content{outline:0;border:1px solid transparent;box-shadow:none}.draggable-item-list.is-dragging-from-this .item-list-item .draggable-item-list-item .item-list-item-content:hover,.draggable-item-list.is-dragging-over .item-list-item .draggable-item-list-item .item-list-item-content:hover{background-color:transparent}.draggable-item-list.is-dragging-from-this .item-list-item.active .draggable-item-list-item .item-list-item-content,.draggable-item-list.is-dragging-over .item-list-item.active .draggable-item-list-item .item-list-item-content{background-color:#4878ea59}.draggable-item-list.is-dragging-over:not(.is-drop-disabled) .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.draggable-item-list-dragging-item-container:focus{outline:0}.btn-navigation-menu-item{display:flex;list-style:none;color:#c0bfbf;border-radius:0;text-align:left;margin:0;padding:.5rem .25rem .5rem 1rem;width:100%;text-decoration:none;border:1px solid transparent}.btn-navigation-menu-item .icon{width:25px}.btn-navigation-menu-item .shortcut{color:#929192;flex-grow:0;margin-left:.5rem;display:inline-block;text-align:right}.btn-navigation-menu-item .accessory{margin-left:auto;margin-right:.5rem}.btn-navigation-menu-item:focus{background:rgba(72,120,234,.12);border:1px solid #4878ea;box-shadow:0 0 0 .2rem #4878ea59;text-decoration:none}.btn-navigation-menu-item:hover{background:#4878ea;color:#f0f0ee;text-decoration:none}.btn-navigation-menu-item:hover .shortcut{color:#baccf7}.btn-navigation-menu-item:hover .btn-switch.active{box-shadow:0 0 0 1px #403e41}.navigation-menu-view{display:flex;flex-direction:column}.navigation-menu-view .navigation-menu-list{padding:.25rem 0;text-align:left;overflow:auto;flex-grow:1}.navigation-page{display:flex;flex-direction:column;height:100%;max-height:100%;font-family:Fira Sans,-apple-system,blinkmacsystemfont,Segoe UI,Roboto,Helvetica Neue,arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}.navigation-page .navigation-title-bar{display:flex}.navigation-page .navigation-title-bar .navigation-title{font-weight:500;flex-grow:1;text-align:center;padding-top:.6em}.navigation-page .navigation-title-bar .btn-back{font-size:.9rem;text-decoration:none;padding:.25rem;margin:.25rem}.navigation-page .navigation-content{background-color:transparent;overflow:hidden;flex-grow:1;position:relative}.navigation-stack{position:relative;width:100%;height:100%;overflow:hidden}.navigation-stack .main-view,.navigation-stack .popping-view,.navigation-stack .pushing-view{width:100%;height:100%;background:#2d2a2e;position:absolute}.navigation-stack .pushing-view,.navigation-stack .popping-view{box-shadow:-4px 0 8px #1a171a73}.navigation-stack .popping-view{left:100%}.select-value-list-scroll-pane{overflow-x:hidden;overflow-y:auto;border:1px solid #929192;border-radius:4px;padding:.375rem 0}.select-value-list-scroll-pane.is-invalid{border-color:#f95d84d9}.select-value-list{position:relative}.select-value-list .select-value-list-content{width:100%;margin:0;list-style-type:none;padding:0}.select-value-list .select-value-list-content li{width:100%}.select-value-list .select-value-list-content .custom-control{margin:0;display:flex}.select-value-list .select-value-list-content .custom-control:hover{background:#5b5a5c}.select-value-list .select-value-list-content .custom-control .custom-control-label{margin-left:.75rem;flex-grow:1;cursor:pointer}.btn-socketed{position:relative;display:inline-block;border:1px solid #929192;padding:.375rem 1.5rem;color:#f0f0ee;background:#555356;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:4px;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out;cursor:pointer}.btn-socketed:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%,50%);background:#2d2a2e;width:18px;height:18px;border-radius:50%;border:1px solid #929192;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out}.btn-socketed:focus{border-color:#4878ead9;box-shadow:0 0 0 .2rem #4878ea59}.btn-socketed:focus:after{border-color:#4878ead9}.btn-socketed:hover{background-color:#235de6;border-color:#235de6}.btn-socketed:hover:after{border-color:#235de6}.btn-socketed:active{border-color:#184ece;background-color:#184ece}.btn-socketed .btn-socketed-icon{display:none}.btn-socketed:disabled,.btn-socketed:disabled:hover{cursor:not-allowed;border-color:#1a171a;background-color:#373438}.btn-socketed:disabled:after,.btn-socketed:disabled:hover:after{border-color:#1a171a}.btn-socketed.btn-socketed-linked:after{border-color:#4878ea;background-color:#4878ea}.btn-socketed.btn-socketed-linked.btn-socketed-linked-source:after{border-color:#aa9af4;background-color:#aa9af4}.btn-socketed.btn-socketed-linked .btn-socketed-icon.linked{display:block;position:absolute;bottom:1px;left:50%;transform:translate(-50%,9px);z-index:1}.btn-socketed.btn-socketed-linked:disabled,.btn-socketed.btn-socketed-linked:disabled:hover{border-color:#1a171a;background-color:#373438}.btn-socketed.btn-socketed-linked:disabled:after,.btn-socketed.btn-socketed-linked:disabled:hover:after{background-color:#343e5d;border-color:#1a171a}.btn-socketed.is-invalid,.btn-socketed.btn-socketed-linked.is-invalid{border-color:#f95d84d9}.btn-socketed.is-invalid:after,.btn-socketed.btn-socketed-linked.is-invalid:after{border-color:#f95d84;background-color:#f95d84}.btn-socketed.is-invalid .btn-socketed-icon.linked,.btn-socketed.btn-socketed-linked.is-invalid .btn-socketed-icon.linked{display:none}.btn-socketed.is-invalid .btn-socketed-icon.is-invalid,.btn-socketed.btn-socketed-linked.is-invalid .btn-socketed-icon.is-invalid{color:#555356;display:block;position:absolute;bottom:1px;left:50%;transform:translate(-50%,9px);z-index:1}.btn-socketed.is-invalid:focus,.btn-socketed.btn-socketed-linked.is-invalid:focus{box-shadow:0 0 0 .2rem #f95d8459}.btn-socketed.is-invalid:disabled,.btn-socketed.is-invalid:disabled:hover,.btn-socketed.btn-socketed-linked.is-invalid:disabled,.btn-socketed.btn-socketed-linked.is-invalid:disabled:hover{border-color:#1a171a;background-color:#373438}.btn-socketed.is-invalid:disabled:after,.btn-socketed.is-invalid:disabled:hover:after,.btn-socketed.btn-socketed-linked.is-invalid:disabled:after,.btn-socketed.btn-socketed-linked.is-invalid:disabled:hover:after{background-color:#373438;border-color:#1a171a}.plotly-notifier{margin-right:15px}.plotly-notifier .notifier-note{color:#f0f0ee!important;border:0!important;border-radius:2px!important;background:#555356!important;overflow-wrap:normal!important;-webkit-hyphens:unset!important;hyphens:unset!important;margin-bottom:.5rem!important;box-shadow:0 .1rem 1rem #1a171a73!important}.plotly-notifier .notifier-close{color:#929192!important;transition:all .2s ease-in-out!important}.plotly-notifier .notifier-close:hover{color:#f0f0ee!important}.chart-wrapper{background:#2d2a2e}.chart-wrapper .plot-container .cartesianlayer text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-wrapper .plot-container .hovertext path,.chart-wrapper .plot-container .axistext path{stroke:none!important}.chart-wrapper .plot-container .axistext path{fill:#555356!important;box-shadow:4px 4px #1a171a}.chart-wrapper .plot-container .zoomlayer .zoombox{fill:#00000080!important}.chart-wrapper .plot-container .zoomlayer .zoombox-corners{fill:#f0f0ee;stroke:#211f22}.chart-wrapper .js-plotly-plot .plotly [data-title]:before{border-color:transparent transparent #403e41;z-index:1002}.chart-wrapper .js-plotly-plot .plotly [data-title]:after{border-radius:4px;background:#403e41;color:#f0f0ee;padding:.25rem .5rem;box-shadow:0 .1rem 1.5rem .1rem #1a171acc;z-index:1001}.chart-wrapper .js-plotly-plot .plotly .modebar{z-index:auto}.chart-wrapper .js-plotly-plot .plotly .modebar .modebar-btn[data-attr=animation-spin] svg{animation:fa-spin 2s infinite linear}.chart-wrapper .js-plotly-plot .plotly .modebar .modebar-btn[data-attr=fill-active] svg path{fill:#ffffffb3!important}.chart-wrapper .js-plotly-plot .plotly .modebar .modebar-btn[data-attr=fill-warning] svg path{fill:#f37e3f!important}.chart-error-popper .popper-content{padding:.25rem}.grid-wrapper{flex:1 1 0;max-width:100%;max-height:100%;min-width:0;min-height:0;position:relative;font-family:sans-serif;font-feature-settings:"tnum"}.grid-canvas{display:block}.grid-canvas:focus{outline:none}.grid-cursor-default{cursor:default}.grid-cursor-move{cursor:grabbing}.grid-cursor-not-allowed{cursor:not-allowed}.grid-cursor-s-resize{cursor:s-resize}.grid-cursor-row-resize{cursor:row-resize}.grid-cursor-e-resize{cursor:e-resize}.grid-cursor-col-resize{cursor:col-resize}.grid-cursor-pointer{cursor:pointer}.grid-block-events{pointer-events:none}.grid-cell-input-field{color:#e5e5e5;background:#393939;border:none;width:100%;height:100%;padding:2px 5px 3px;border-radius:2px;resize:none}.grid-cell-input-field:focus{outline:none;border:none;box-shadow:0 0 0 2px #00f}.grid-cell-input-field.error{color:red}.grid-cell-input-field.error:focus{box-shadow:0 0 0 2px red}.iris-grid-bottom-bar{position:absolute;bottom:-50px;left:0;right:0;height:100px;background-color:#343e5d;color:#f0f0ee;display:flex;flex-direction:row;align-content:center;padding-left:1em;padding-right:1em;padding-bottom:50px}.iris-grid-bottom-bar .status-message,.iris-grid-bottom-bar .error-message{flex-grow:1;flex-shrink:1;font-weight:600;margin-right:1em;overflow:hidden;display:flex;flex-direction:row;align-items:center;margin-top:-4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.iris-grid-bottom-bar .status-message span,.iris-grid-bottom-bar .error-message span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.iris-grid-bottom-bar .status-message .svg-inline--fa,.iris-grid-bottom-bar .error-message .svg-inline--fa{margin-right:.5rem}.iris-grid-bottom-bar .error-message{color:#f95d84}.iris-grid-bottom-bar .buttons-container{flex-grow:0;display:flex;flex-direction:row;align-items:center}.iris-grid-bottom-bar .buttons-container .btn{min-width:10rem}.iris-grid-bottom-bar .buttons-container .btn .svg-inline--fa,.iris-grid-bottom-bar .buttons-container .btn .loading-spinner{margin-right:.5rem}.iris-grid-bottom-bar .buttons-container .btn:not(:last-child){margin-right:.5em}.iris-grid-bottom-bar-slide-up-enter{transform:translate3d(0,100%,0)}.iris-grid-bottom-bar-slide-up-enter-active{transform:initial;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-bottom-bar-slide-up-enter-done{position:relative;bottom:0;padding-bottom:0;height:50px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-bottom-bar-slide-up-exit{transform:initial}.iris-grid-bottom-bar-slide-up-exit-active{transform:translate3d(0,100%,0);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.pending-data-bottom-bar{background-color:#2d2a2e}.pending-data-bottom-bar .buttons-container .btn-outline-primary{color:#fcfcfa;border-color:#fcfcfa}.pending-data-bottom-bar .buttons-container .btn-outline-primary:hover{background-color:#f83666}.iris-grid-copy-handler{position:absolute;bottom:-50px;left:0;right:0;height:100px;background-color:#343e5d;color:#f0f0ee;display:flex;flex-direction:row;align-content:center;padding-left:1em;padding-right:1em;padding-bottom:50px}.iris-grid-copy-handler .status-message{flex-grow:1;font-weight:600;margin-right:1em;text-overflow:ellipsis;display:flex;flex-direction:row;align-items:center;margin-top:-4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.iris-grid-copy-handler .buttons-container{flex-grow:0;display:flex;flex-direction:row;align-items:center}.iris-grid-copy-handler .buttons-container .btn{min-width:10rem}.iris-grid-copy-handler .buttons-container .btn-cancel{color:#fcfcfa;border-color:#fcfcfa;margin-right:.5em}.iris-grid-copy-handler .buttons-container .btn-copy:disabled{opacity:1}.copy-slide-up-enter{transform:translateY(50px)}.copy-slide-up-enter-active{transform:initial;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.copy-slide-up-exit{transform:initial}.copy-slide-up-exit-active{transform:translateY(50px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.iris-grid-input-autosized-wrapper{position:absolute;display:inline-grid;height:100%;align-items:center;z-index:1}.iris-grid-input-autosized-wrapper .advanced-filter-button{position:absolute;top:2px;right:.25rem;height:23px;margin:0}.iris-grid-input-autosized-wrapper:after{content:attr(data-value) " ";width:auto;height:100%;border:1px solid;padding:3px 2px 3px 3px;margin-right:24px;overflow:hidden;visibility:hidden;white-space:nowrap;grid-area:1/1;font:12px fira sans,sans-serif;font-feature-settings:"tnum"}@-moz-document url-prefix(""){.iris-grid-input-autosized-wrapper:after{font-feature-settings:normal}}.iris-grid-input-autosized-wrapper .iris-grid-input-field{position:absolute;color:#f0f0ee;background:#373438;border:1px solid #929192;width:100%;height:100%;padding:3px 2px 3px 3px;border-radius:1px;font:12px fira sans,sans-serif;font-feature-settings:"tnum"}@-moz-document url-prefix(""){.iris-grid-input-autosized-wrapper .iris-grid-input-field{font-feature-settings:normal}}.iris-grid-input-autosized-wrapper .iris-grid-input-field.iris-grid-has-filter{background:#313849}.iris-grid-input-autosized-wrapper .iris-grid-input-field.active{background:#374d80}.iris-grid-input-autosized-wrapper .iris-grid-input-field:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.iris-grid-input-autosized-wrapper .iris-grid-input-field.error{color:#f95d84}.iris-grid-input-autosized-wrapper .iris-grid-input-field.error:focus{box-shadow:inset 0 0 0 2px #f95d84,0 0 0 .2rem #4878ea59}.custom-format-title{margin-bottom:0;border:none;display:flex;width:100%;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-format-title .icon{flex-grow:0;margin-right:.5rem;width:1rem;text-align:center}.custom-format-title .title{flex-grow:1}.iris-grid-filter-menu-item-value{-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#2d2a2e;border-radius:4px 4px 0 0;padding:.375rem 2rem;text-overflow:ellipsis;overflow:hidden}.advanced-filter-button-container{transition:.15s opacity}.advanced-filter-button-container.hidden{opacity:0}.column-statistics{min-width:175px;max-width:350px;color:#f0f0ee;text-align:left;font-size:small;font-weight:300}.column-statistics-title{padding-top:.25rem;font-weight:500;word-break:break-all}.column-statistics-title .column-statistics-copy{margin-left:2px;margin-top:-2px}.column-statistics-type{font-style:italic;color:#929192;font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.column-statistics-status{margin:.25rem 0 .25rem -1px}.column-statistics-grid{display:grid;grid-template-columns:auto auto;row-gap:.25rem;padding-top:.25rem}.column-statistics-grid>div{border-bottom:1px solid #5b5a5c}.column-statistics-grid>div:last-child,.column-statistics-grid>div:nth-last-child(2){border-bottom:none}.column-statistics-grid .column-statistics-unique-value{margin-left:1rem}.column-statistics-grid .column-statistic-operation{flex-grow:0;padding-right:1rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.column-statistics-grid .column-statistic-value{font-feature-settings:"tnum";text-align:right;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.column-statistics .btn-link{text-decoration:underline;padding-top:0;padding-bottom:0}.column-statistics-loading,.column-statistics-loading .loading{padding-bottom:2px;display:inline-block;color:#929192}.column-statistics-loading .loading-spinner{margin-right:5px}:export{grid-bg:var(--dh-color-grid-bg);font:12px Fira Sans,sans-serif;white:var(--dh-color-white);black:var(--dh-color-black);header-bg:var(--dh-color-grid-header-bg);header-color:var(--dh-color-grid-header-text);header-height:30px;header-separator-color:var(--dh-color-grid-header-separator);header-separator-hover-color:var(--dh-color-grid-header-separator-hover);header-hidden-separator-hover-color:var(--dh-color-grid-header-separator-hidden-hover);header-sort-bar-color:var(--dh-color-grid-header-sort-bar);header-reverse-bar-color:var(--dh-color-grid-header-reverse-bar);header-bar-casing-color:var(--dh-color-grid-header-bar-casing);header-font:600 12px Fira Sans,sans-serif;row-height:19px;row-background-colors:var(--dh-color-grid-row-0-bg) var(--dh-color-grid-row-1-bg);selection-color:var(--dh-color-grid-selection);selection-outline-color:var(--dh-color-grid-selection-outline);selection-outline-casing-color:var(--dh-color-grid-selection-outline-casing);row-hover-bg:var(--dh-color-grid-row-hover-bg);selected-row-hover-bg:var(--dh-color-grid-row-hover-bg-selected);scroll-bar-active-selection-tick-color:var(--dh-color-grid-scroll-bar-active-selection-tick);scroll-bar-bg:var(--dh-color-grid-scroll-bar-bg);scroll-bar-hover-bg:var(--dh-color-grid-scroll-bar-hover-bg);scroll-bar-casing-color:var(--dh-color-grid-scroll-bar-casing);scroll-bar-corner-color:var(--dh-color-grid-scroll-bar-corner);scroll-bar-color:var(--dh-color-grid-scroll-bar);scroll-bar-hover-color:var(--dh-color-grid-scroll-bar-hover);scroll-bar-active-color:var(--dh-color-grid-scroll-bar-active);text-color:var(--dh-color-grid-text);hyperlink-color:var(--dh-color-grid-text-hyperlink);positive-number-color:var(--dh-color-grid-number-positive);negative-number-color:var(--dh-color-grid-number-negative);zero-number-color:var(--dh-color-grid-number-zero);date-color:var(--dh-color-grid-date);pending-text-color:var(--dh-color-grid-text-pending);error-text-color:var(--dh-color-grid-text-error);null-string-color:var(--dh-color-grid-string-null);filter-bar-active-bg:var(--dh-color-grid-filter-bar-active-bg);filter-bar-active-color:var(--dh-color-grid-filter-bar-active);filter-bar-expanded-bg:var(--dh-color-grid-filter-bar-expanded-bg);filter-bar-expanded-active-bg:var(--dh-color-grid-filter-bar-expanded-active-bg);filter-bar-expanded-active-cell-bg:var(--dh-color-grid-filter-bar-expanded-active-cell-bg);filter-bar-separator-color:var(--dh-color-grid-filter-bar-separator);filter-bar-error-color:var(--dh-color-grid-filter-bar-error);filter-icon-color:var(--dh-color-grid-filter-icon);scrim-color:var(--dh-color-grid-scrim);context-menu-sort-icon-color:var(--dh-color-grid-context-menu-sort-icon);context-menu-reverse-icon-color:var(--dh-color-grid-context-menu-reverse-icon);linker-column-hover-bg:var(--dh-color-grid-column-linker-hover-bg);tree-line-color:var(--dh-color-grid-tree-line);tree-marker-color:var(--dh-color-grid-tree-marker);tree-marker-hover-color:var(--dh-color-grid-tree-marker-hover);grouped-column-divider-color:var(--dh-color-grid-column-grouped-divider);floating-grid-row-color:var(--dh-color-grid-floating-row);floating-row-background-colors:var(--dh-color-grid-floating-row-bg);floating-divider-inner-color:var(--dh-color-grid-floating-divider-inner);floating-divider-outer-color:var(--dh-color-grid-floating-divider-outer);overflow-button-color:var(--dh-color-grid-overflow-button);overflow-button-hover-color:var(--dh-color-grid-overflow-button-hover);zero-line-color:var(--dh-color-grid-data-bar-zero-line);positive-bar-color:var(--dh-color-grid-data-bar-positive);negative-bar-color:var(--dh-color-grid-data-bar-negative);marker-bar-color:var(--dh-color-grid-data-bar-marker)}.iris-grid{width:100%;height:100%;position:relative;display:flex;flex-direction:row;overflow:hidden}.iris-grid .iris-grid-column{flex:1 1;min-width:0;transition:all .2s;display:flex;flex-direction:column;position:relative}.iris-grid .table-sidebar{height:100%;flex:0 0 320px;width:320px;max-width:320px;background:#403e41;box-shadow:-4px 0 8px #1a171a73;z-index:1;position:absolute;right:0}.iris-grid .table-sidebar .pushing-view,.iris-grid .table-sidebar .popping-view,.iris-grid .table-sidebar .main-view{background:#403e41}.iris-grid .table-sidebar.slide-left-enter-done{position:relative}.iris-grid .table-sidebar .navigation-content{overflow-y:auto}.iris-grid .section-title{padding:1rem 0;font-weight:500;text-align:left}.iris-grid .section-footer{flex-grow:2;display:flex;justify-content:flex-end;margin-bottom:1rem}.iris-grid .grid-wrapper{font:12px fira sans,sans-serif;font-feature-settings:"tnum";transition:all .2s}.iris-grid .grid-wrapper .grid-settings-button{position:absolute;top:0;right:0;height:30px;width:30px;background-color:#2d2a2e;border-bottom:1px solid #211f22;transition:transform .2s ease-out,opacity .2s ease-out}.iris-grid .grid-wrapper .grid-settings-button .btn{height:100%;width:100%}.iris-grid .grid-wrapper .grid-settings-button .btn:after{border-radius:0}.iris-grid .grid-wrapper .grid-settings-button .btn:focus:after{box-shadow:none}.iris-grid .grid-wrapper .grid-settings-button.is-menu-shown{opacity:0}.iris-grid .grid-wrapper .grid-cell-input-field{color:#f0f0ee;background:#373438}.iris-grid .grid-wrapper .grid-cell-input-field:focus{box-shadow:0 0 0 2px #76d9e4,0 0 0 5px #76d9e440}.iris-grid .grid-wrapper .grid-cell-input-field.error{color:#f95d84}.iris-grid .grid-wrapper .grid-cell-input-field.error:focus{box-shadow:0 0 0 2px #f95d84,0 0 0 5px #f95d8440}.iris-grid-loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-content:center}.iris-grid-loading-status{display:flex;position:absolute;bottom:0;left:0;z-index:30;min-width:min(320px,100%)}.iris-grid-loading-status .iris-grid-loading-status-bar{position:relative;padding:5px;background:#2d2a2e;color:#c0bfbf;border-top:1px solid #5b5a5c;border-right:1px solid #5b5a5c;overflow:hidden;word-wrap:break-word;z-index:2;flex-grow:1}.iris-grid-loading-status .iris-grid-loading-status-bar:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;z-index:-1;background:#4878ea;transform-origin:0% 50%;opacity:0}.iris-grid-loading-status .iris-grid-loading-status-bar.show:after{opacity:1;animation:1.5s indeterminateAnimation infinite linear}@keyframes indeterminateAnimation{0%{transform:translate(-50%) scaleX(.5)}50%{transform:translate(0) scaleX(.5)}to{transform:translate(100%) scaleX(.2)}}.iris-grid-loading-status .iris-grid-btn-cancel{z-index:1;opacity:0;border:1px solid #5b5a5c;border-left:0;border-bottom:0;padding:0 7px 2px 4px;background:#2d2a2e;color:#c0bfbf;transform:translate(-100%);transition:all .1s ease-out 0s;white-space:nowrap;outline-offset:-1px;outline:#4878ea}.iris-grid-loading-status .iris-grid-btn-cancel:hover{color:#f0f0ee;background:#f95d84}.iris-grid-loading-status .iris-grid-btn-cancel:focus{outline:1px solid #4878ea}.iris-grid-loading-status .iris-grid-btn-cancel:active{background:#f83666}.iris-grid-loading-status .iris-grid-btn-cancel:active:focus{outline-color:#f95d84}.iris-grid-loading-status .iris-grid-btn-cancel.show{opacity:1;transform:translate(0);transition:all .25s ease-out .1s}.advanced-filter-button-container{background:none}.advanced-filter-button-container .advanced-filter-button{height:23px;margin:0}.advanced-filter-button-container .advanced-filter-button .filter-solid{opacity:0;transition:.15s opacity}.advanced-filter-button-container .advanced-filter-button .filter-light{opacity:1;transition:.15s opacity}.advanced-filter-button-container .advanced-filter-button.filter-set .filter-solid,.advanced-filter-button-container .advanced-filter-button:hover .filter-solid{opacity:1}.advanced-filter-button-container .advanced-filter-button.filter-set .filter-light,.advanced-filter-button-container .advanced-filter-button:hover .filter-light{opacity:0}.advanced-filter-button-container .advanced-filter-button:hover{color:#403e41}.advanced-filter-button-container .advanced-filter-button:hover .filter-solid{color:#4878ea}.advanced-filter-menu-popper{background:#403e41}.advanced-filter-menu-popper .popper-content .advanced-filter-creator{max-height:550px;overflow-y:auto;background:#403e41;width:320px;box-shadow:none}.advanced-filter-menu-popper .popper-content .popper-arrow{border-color:#403e41}.advanced-filter-menu-container{pointer-events:none;visibility:hidden}.iris-grid-bar{overflow:hidden;flex:0 0 auto}.iris-grid-bar.iris-grid-bar-horizontal-enter{max-height:0}.iris-grid-bar.iris-grid-bar-horizontal-enter-active{transition:background-color 1s ease-in,max-height .15s ease-in;max-height:250px}.iris-grid-bar.iris-grid-bar-horizontal-enter-done{max-height:250px}.iris-grid-bar.iris-grid-bar-horizontal-exit{max-height:250px;transition:max-height .15s ease-out}.iris-grid-bar.iris-grid-bar-horizontal-exit-active,.iris-grid-bar.iris-grid-bar-horizontal-exit-done{max-height:0}.iris-grid-bar.iris-grid-bar-vertical-enter{max-width:0}.iris-grid-bar.iris-grid-bar-vertical-enter-active{transition:background-color 1s ease-in,max-width .15s ease-in;max-width:320px}.iris-grid-bar.iris-grid-bar-vertical-enter-done{max-width:320px}.iris-grid-bar.iris-grid-bar-vertical-exit{max-width:320px;transition:max-width .15s ease-out}.iris-grid-bar.iris-grid-bar-vertical-exit-active,.iris-grid-bar.iris-grid-bar-vertical-exit-done{max-width:0}.iris-grid-bar-primary{background-color:#343e5d}.iris-grid-bar-primary.iris-grid-bar-horizontal-enter,.iris-grid-bar-primary.iris-grid-bar-vertical-enter{background-color:#4878ea}.link-hover-tooltip{text-align:left;max-width:500px;overflow-wrap:break-word}.advanced-filter-creator-filter-item input.error{color:#f95d84}.advanced-filter-creator-filter-item input.error:focus{box-shadow:inset 0 0 0 2px #f95d84,0 0 0 .2rem #4878ea59}.advanced-filter-creator-select-value .select-value-list-scroll-pane{min-height:120px;height:120px;max-height:120px;overflow-x:auto}.advanced-filter-creator-select-value .advanced-filter-creator-select-meta-row{display:flex;flex-wrap:wrap;justify-content:space-between;padding-top:.25rem}.advanced-filter-creator-select-value .row-count-info{padding-top:calc(.25rem + 2px);padding-bottom:calc(.25rem + 2px);color:#929192;-webkit-user-select:none;-moz-user-select:none;user-select:none}.advanced-filter-creator-select-value .btn-link{color:#f0f0ee;text-decoration:underline}.advanced-filter-creator-select-value .btn-link:hover{color:#4878ea}.advanced-filter-creator-select-value .select-value-list-wrapper{position:relative;display:flex;background:#555356}.advanced-filter-creator-select-value .select-value-list-wrapper .value-list-item label{white-space:nowrap}.advanced-filter-creator-select-value .select-value-list-wrapper .loading-list{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-content:center}.advanced-filter-creator-select-value .select-value-list-wrapper .loading-list .fa-layers{margin:auto}.advanced-filter-creator{padding:.5rem .75rem}.advanced-filter-creator .btn-link{padding-left:.25rem;padding-right:.25rem}.advanced-filter-creator hr{margin:.5rem -.75rem;background:#373438}.advanced-filter-creator .form-row.justify-content-end{margin-right:0}.advanced-filter-creator .advanced-filter-column-name{padding-bottom:.5rem}.advanced-filter-creator .advanced-filter-column-name .column-type{font-style:italic;color:#929192;font-weight:400;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.advanced-filter-creator .title-bar{display:flex;align-items:baseline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.advanced-filter-creator .title-bar .advanced-filter-title{flex-grow:1}.advanced-filter-creator .advanced-filter-menu-buttons .sort-operator.btn{font-size:14px;color:#929192;text-decoration:none;padding-top:0;padding-bottom:0;margin-left:.5rem}.advanced-filter-creator .advanced-filter-menu-buttons .sort-operator.active{color:#f0f0ee}.advanced-filter-creator .add-filter-item,.advanced-filter-creator .advanced-filter-creator-filter-operator{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-right:25px;padding-top:2px;padding-bottom:2px;margin-top:-1rem;transition:.15s opacity}.advanced-filter-creator .add-filter-item span,.advanced-filter-creator .advanced-filter-creator-filter-operator span{font-size:14px;padding-top:4px;padding-right:.25rem;color:#c0bfbf}.advanced-filter-creator .add-filter-item .btn-link.filter-operator,.advanced-filter-creator .add-filter-item .btn-link.btn-filter-item,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.filter-operator,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.btn-filter-item{font-size:12px;color:#f0f0ee;text-decoration:underline;margin-right:0}.advanced-filter-creator .add-filter-item .btn-link.filter-operator:hover,.advanced-filter-creator .add-filter-item .btn-link.btn-filter-item:hover,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.filter-operator:hover,.advanced-filter-creator .advanced-filter-creator-filter-operator .btn-link.btn-filter-item:hover{color:#4878ea;text-decoration:underline}.advanced-filter-creator .add-filter-item.hidden{transition:none;opacity:0;pointer-events:none}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator:not(.active){color:#929192}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link{text-decoration:none}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link.active{color:#f0f0ee}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link.active:hover{color:#f0f0ee;cursor:default}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link:hover{color:#4878ea}.advanced-filter-creator .advanced-filter-creator-filter-operator .filter-operator.btn-link:focus{text-decoration:underline}.aggregations{height:100%;display:flex;flex-direction:column}.aggregations hr{margin:.5rem;background-color:#211f22}.aggregations .form-inline{padding:.5rem}.aggregations .form-inline .btn-add{margin-left:.25rem}.aggregations .form-inline .custom-radio{margin-right:1rem}.aggregations .form-inline .custom-radio:first-of-type{margin-left:.5rem}.aggregations .draggable-item-list{flex-grow:1}.aggregations .draggable-item-list .item-list-scroll-pane{border:none}.aggregations .draggable-item-list .draggable-item-list-item-content{margin-right:0}.aggregations .draggable-item-list .draggable-item-list-item-content .title span{margin-left:.5rem}.aggregations .draggable-item-list .btn-link-icon{padding:0 .5rem;margin:-1px 0 .25rem .25rem}.aggregations .draggable-item-list .btn-link-icon:last-child{margin-right:.25rem}.aggregation-edit{display:flex;flex-direction:column;height:100%}.aggregation-edit .top-menu{background-color:#373438;padding:0 .5rem}.aggregation-edit .top-menu .form-inline .custom-control{padding-top:.5rem;padding-bottom:.5rem}.aggregation-edit .top-menu .form-inline .custom-control label{justify-content:left}.aggregation-edit .top-menu .form-inline .spacer{flex-grow:1}.aggregation-edit .top-menu .btn-link-icon{color:#929192}.aggregation-edit .top-menu .btn-link-icon.active{color:#f0f0ee}.aggregation-edit .aggregation-edit-item-list{flex-grow:1}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane{border:none}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item{padding-left:.5rem;padding-right:.5rem;display:flex}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item:hover label{background-color:#5b5a5c;color:#f0f0ee}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control{flex-grow:1;display:flex}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control label{padding-top:1px;padding-left:.5rem;padding-right:.5rem;flex-grow:1;border-radius:4px;margin-bottom:.5rem;border:1px solid transparent}.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control:focus-within label,.aggregation-edit .aggregation-edit-item-list .item-list-scroll-pane .item-list-item .custom-control input[type=checkbox]:active+label{background-color:#4878ea66;color:#f0f0ee}.chart-builder{padding-left:1.5em;padding-right:1.5em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-builder label{font-weight:500;padding-right:.5em}.chart-builder .label-left{justify-content:left;padding-left:0}.chart-builder .label-right{justify-content:right;padding-right:0}.chart-builder .chart-builder-link{margin-top:.5em;margin-bottom:-.5em}.chart-builder .chart-builder-link .label-right{color:#929192}.chart-builder .chart-builder-link .label-right svg{margin-right:-1em}.chart-builder .chart-builder-link-info{color:#929192;font-size:.875em;padding-left:0;padding-right:0}.chart-builder hr{margin:.5em -2em;background:#373438}.chart-builder .col-chart-type{padding-left:2px;padding-right:2px}.chart-builder .btn-chart-type{font-size:smaller}.chart-builder .btn-reset{margin-right:.5em}.chart-builder .form-series-item:not(:first-child){margin-top:.5em}.input-editor-wrapper{position:relative;border:1px solid #929192;background:#555356;border-radius:4px}.input-editor-wrapper.focused{border-color:#4878ead9;box-shadow:0 0 0 .2rem #4878ea59}.input-editor-wrapper.invalid{border-color:#f95d84}.input-editor-wrapper .editor-container{min-height:69px}.input-editor-wrapper .editor-container .monaco-editor .margin,.input-editor-wrapper .editor-container .monaco-editor,.input-editor-wrapper .editor-container .monaco-editor-background,.input-editor-wrapper .editor-container .monaco-editor .inputarea.ime-input{background-color:#555356}.input-editor-wrapper .editor-placeholder{position:absolute;left:8px;top:10px;font-size:1rem;color:#f0f0ee;-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-column-builder-container .section-title{padding:1rem}.custom-column-builder-container .droppable-container{padding:1px}.custom-column-builder-container .droppable-container.dragging{background-image:linear-gradient(to right,#403e41 50%,#f0f0ee 50%),linear-gradient(to right,#403e41 50%,#f0f0ee 50%),linear-gradient(to bottom,#403e41 50%,#f0f0ee 50%),linear-gradient(to bottom,#403e41 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.custom-column-builder-container .draggable-container{background:#403e41}.custom-column-builder-container .draggable-container .btn-drag-handle{cursor:grab}.custom-column-builder-container .draggable-container.dragging{background:#343e5d;box-shadow:0 .1rem 1rem #1a171a73}.custom-column-builder-container .custom-column-input-container{padding:1rem}.custom-column-builder-container .error-message{color:#f95d84;word-wrap:break-word;margin-bottom:1.5rem;font-size:1rem}.custom-column-builder-container .error-message p{margin-bottom:.25rem}.custom-column-builder-container .error-message .error-box{padding:.25rem;border-radius:4px;background:rgba(249,93,132,.13)}.custom-column-builder-container .custom-column-builder-footer{margin:1rem;display:flex;flex-direction:column}.custom-column-builder-container .custom-column-builder-footer .btn-apply{min-width:10rem}.custom-column-builder-container hr{background:#373438;margin:0;width:100%}.rollup-rows{display:flex;flex-direction:column;justify-content:flex-start;outline:0;margin:0;padding:0;height:100%}.rollup-rows .section-title{margin:0 .5rem;padding-bottom:0}.rollup-rows .top-menu,.rollup-rows .bottom-menu{display:flex;flex-direction:row;justify-content:space-between;padding:.25rem;z-index:2}.rollup-rows .top-menu .btn-link-icon,.rollup-rows .bottom-menu .btn-link-icon{min-width:1rem;padding:0 .5rem;margin-right:.25rem}.rollup-rows .top-menu .btn-link-icon:first-of-type,.rollup-rows .bottom-menu .btn-link-icon:first-of-type{margin-left:.25rem}.rollup-rows .top-menu .btn-link-icon.active,.rollup-rows .bottom-menu .btn-link-icon.active{color:#f0f0ee}.rollup-rows .top-menu .btn-link-icon:hover,.rollup-rows .bottom-menu .btn-link-icon:hover{color:#4878ea}.rollup-rows .top-menu .label,.rollup-rows .bottom-menu .label{font-weight:500}.rollup-rows .bottom-menu{margin-left:0;padding-left:.5rem;border-top:1px solid #1a171a;padding-top:.5rem}.rollup-rows .bottom-menu .custom-checkbox{font-size:smaller;margin-left:.25rem}.rollup-rows .bottom-menu .custom-checkbox .custom-control-label{padding-top:2px}.rollup-rows .item-list-scroll-pane{border:none;padding-top:0;padding-bottom:0}.rollup-rows .rollup-rows-group-by{display:flex;flex-direction:column;background-color:#373438}.rollup-rows .rollup-rows-group-by .draggable-item-list{flex-grow:1;transition:height .15s}.rollup-rows .rollup-rows-group-by .btn-delete-grouping{margin-right:.5rem;padding:0 .5rem}.rollup-rows .rollup-rows-group-by .placeholder{margin:.5rem;padding:1rem;text-align:center;border:dashed 1px}.rollup-rows .rollup-rows-available-columns{display:flex;flex-direction:column;background-color:#403e41;flex-grow:1}.rollup-rows .rollup-rows-available-columns .draggable-item-list{flex-grow:1}.rollup-rows.is-dragging .rollup-rows-group-by .placeholder{border:dashed 1px transparent;background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.rollup-rows.is-dragging .rollup-rows-group-by .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.rollup-rows.is-dragging .rollup-rows-available-columns .draggable-item-list:not(.is-dragging-from-this) .item-list-scroll-pane{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.table-csv-exporter{padding:0 .5rem}.table-csv-exporter .custom-radio:not(:last-child){margin-bottom:.5rem}.table-csv-exporter .radio-input-row{display:flex;align-items:center}.table-csv-exporter .radio-input-row .form-control{min-width:0}.table-csv-exporter .radio-input-row>*:not(:last-child){margin-right:.25rem}.table-csv-exporter .checkbox-options{margin-bottom:.5rem}.table-csv-exporter .section-footer .error-message{color:#f95d84}.table-csv-exporter .section-footer .download-status{margin-bottom:1rem}.table-csv-exporter .section-footer .btn-downloading{align-self:flex-end;min-width:10rem}.visibility-ordering-builder{display:flex;flex-direction:column;height:100%;max-height:100%;outline:0}.visibility-ordering-builder .top-menu{display:flex;flex-direction:row;justify-content:space-between;align-items:center;background-color:#2d2a2e;padding:.25rem .5rem;z-index:2}.visibility-ordering-builder .top-menu .btn-link-icon{padding-left:.25rem;padding-right:.25rem}.visibility-ordering-builder .toggle-visibility-btn{flex-shrink:0;margin-right:.5rem}.visibility-ordering-builder .visibility-search{flex-grow:1;flex-shrink:1}.visibility-ordering-builder .visibility-ordering-list{overflow-y:auto;flex-grow:1}.visibility-ordering-builder .visibility-ordering-list hr{margin:.5rem 0;background-color:#2d2a2e}.visibility-ordering-builder .visibility-ordering-list-item{padding-left:.25rem}.visibility-ordering-builder .visibility-ordering-list-item.immovable:first-child{padding-top:.25rem}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-item{-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;color:#929192;padding-left:32px}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-item:hover{background:transparent}.visibility-ordering-builder .visibility-ordering-list-item.immovable .column-name{overflow-x:hidden;text-overflow:ellipsis;padding-right:2px}.visibility-ordering-builder .vertical-divider{border-left:1px solid #1a171a;padding-right:.25rem;margin-left:.25rem;height:1rem}.visibility-ordering-builder .tree-container,.visibility-ordering-list .column-group button{padding:.25rem}.visibility-ordering-list .column-group .editing-container{padding:.25rem 0;display:flex;align-items:center;flex-grow:1}.visibility-ordering-list .column-group .editing-container input{flex-grow:1;margin-right:.25rem}.visibility-ordering-list .column-group .group-name-wrapper{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center}.visibility-ordering-list .column-group .group-name-wrapper .column-name{flex-grow:0}.visibility-ordering-list .column-group .group-name-wrapper .right-buttons{margin-left:auto;flex-shrink:0}.visibility-ordering-list .tree-item{position:relative;display:flex;gap:.25rem;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;flex-grow:1;min-width:0;border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:4px;padding:0 .25rem}.visibility-ordering-list .tree-item svg:not(.color-swatch){color:#929192}.visibility-ordering-list .tree-item:hover{background:#5b5a5c;cursor:grab}.visibility-ordering-list .tree-item.isSelected{background-color:#4878ea66}.visibility-ordering-list .tree-item.isSelected:hover{background-color:#4878ea}.visibility-ordering-list .tree-item.isSelected:hover svg:not(.color-swatch){color:#f0f0ee}.visibility-ordering-list .tree-item:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.visibility-ordering-list .tree-item .column-name{flex-grow:1;flex-shrink:1;overflow-x:hidden;text-overflow:ellipsis}.visibility-ordering-list .tree-item .item-count{padding:0 .5rem;border-radius:1rem;background-color:#f0f0ee40;margin-right:.25rem}.visibility-ordering-list .marching-ants{background-image:linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to right,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%),linear-gradient(to bottom,#1a171a 50%,#f0f0ee 50%);background-size:8px 1px,8px 1px,1px 8px,1px 8px;background-position:0 top,0 bottom,left 0,right 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:march .5s;animation-timing-function:linear;animation-iteration-count:infinite}.visibility-ordering-list .item-wrapper{list-style:none;box-sizing:border-box;margin-bottom:1px;width:100%;display:flex;flex-direction:row;flex-wrap:nowrap}.visibility-ordering-list .item-wrapper.clone{pointer-events:none;padding:0}.visibility-ordering-list .item-wrapper.clone .tree-item{opacity:1;background-color:#4878ea;box-shadow:0 .1rem 1rem #1a171a73}.visibility-ordering-list .item-wrapper.clone .tree-item svg:not(.color-swatch){color:#f0f0ee}.visibility-ordering-list .item-wrapper.clone .tree-item.two-dragged:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged:before{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:4px;left:2px;opacity:.8;z-index:-1}.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged:after{content:" ";background:#4878ea;box-shadow:0 .1rem 1rem #1a171a73;border-radius:4px;position:absolute;height:100%;width:100%;top:8px;left:4px;opacity:.6;z-index:-2}.visibility-ordering-list .item-wrapper.ghost{opacity:.5}.visibility-ordering-list .item-wrapper.ghost .tree-item>*{box-shadow:none;background-color:transparent}.visibility-ordering-list .item-wrapper.disableInteraction{pointer-events:none}.visibility-ordering-list .item-wrapper.disableInteraction:not(.ghost) .tree-item.isSelected{opacity:.3}.visibility-ordering-list .item-wrapper .depth-line{margin-left:calc(.5rem + 8.5px);margin-right:.25rem;margin-top:-1px;border-left:1px solid #555356}.cross-column-container{display:flex;flex-direction:row;margin:.25rem;align-items:stretch;flex:0 1 auto}.cross-column-container .cross-column-search{flex:1;margin-right:.25rem}.cross-column-popup{padding:.5rem 1rem .1rem}.cross-column-popup .cross-column-scroll{display:grid;grid-template-columns:max-content auto;grid-column-gap:.5rem;grid-row-gap:0;overflow-y:auto;max-height:15rem;padding:.2rem .5rem;border:1px solid #929192}.cross-column-button-bar{display:flex}.cross-column-button-bar :last-child{margin-left:auto}.iris-grid-partition-selector-search .iris-grid-partition-selector-search-list .item-list-scroll-pane{border:none}.iris-grid-partition-selector-search .iris-grid-partition-selector-search-empty,.iris-grid-partition-selector-search .iris-grid-partition-selector-loading{color:#929192;padding:.375rem .75rem;text-align:center}.iris-grid-partition-selector-search .search-container{padding:.25rem .5rem}.iris-grid-partition-selector-search .search-container .form-control{background-color:#5b5a5c}.iris-grid-partition-selector{display:flex;flex-wrap:wrap;background:transparent;vertical-align:middle}.iris-grid-partition-selector .status-message{text-overflow:ellipsis;display:flex;flex-direction:row;align-items:center;padding:.5em;white-space:nowrap}.iris-grid-partition-selector div{flex-grow:0}.iris-grid-partition-selector .input-group{width:auto;align-items:center}.iris-grid-partition-selector .input-group .form-control{background-color:transparent;border:2px solid #f0f0ee;border-right:none;height:2.25em}.iris-grid-partition-selector .input-group .btn{background-color:transparent;margin:0}.iris-grid-partition-selector .iris-grid-partition-selector-spacer{flex-grow:1}.iris-grid-partition-selector .btn-outline-primary{color:#f0f0ee;border-color:#f0f0ee;margin:.35em .3em;padding:.25em .5em}.iris-grid-partition-selector .btn-close{padding:0 .5em;margin:.25em .25em .25em 0;min-width:0}.select-distinct-builder-container{width:100%;height:100%;padding:0;overflow:auto;display:flex;justify-content:space-between;flex-flow:column}.select-distinct-builder-container .select-distinct-title{padding:1rem;font-weight:500;text-align:left}.select-distinct-builder-container .select-distinct-input-container{padding:1rem}.select-distinct-builder-container .select-distinct-builder-footer{margin:1rem;margin-bottom:auto;display:flex;flex-direction:column;padding-bottom:1rem}.select-distinct-builder-container .select-distinct-builder-hint{color:#929192;font-size:smaller}.select-distinct-builder-container .select-distinct-builder-hint .inline-code-snippet{display:inline;color:#fcd65b;font-family:Fira Mono,menlo,monaco,consolas,Liberation Mono,Courier New,monospace}.select-distinct-builder-container hr{background:#373438;margin:0;width:100%}.conditional-formatting-rules{padding:.25rem}.conditional-formatting-list-item{display:flex;flex-direction:row;margin-bottom:2px;padding:0 .25rem}.conditional-formatting-list-item:first-child{padding-top:.25rem}.conditional-formatting-list-item .formatting-item{border-radius:4px;display:flex;padding:.25rem;flex-grow:1;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .12s ease-in-out,background-color .12s ease-in-out,border-color .12s ease-in-out,box-shadow .12s ease-in-out;border:1px solid transparent;line-height:1.5;cursor:pointer}.conditional-formatting-list-item .formatting-item .btn-drag-handle{cursor:grab}.conditional-formatting-list-item .formatting-item .rule-icon{padding-right:.5rem}.conditional-formatting-list-item .formatting-item .rule-icon-bg{min-width:2rem;height:2rem;display:flex;font-size:x-small;justify-content:center;align-items:center}.conditional-formatting-list-item .formatting-item .rule-title{overflow-x:hidden;text-overflow:ellipsis;padding-right:2px;display:flex;flex-grow:1}.conditional-formatting-list-item .formatting-item:focus{outline:0;border:1px solid rgba(72,120,234,.85);box-shadow:0 0 0 .2rem #4878ea59}.conditional-formatting-list-item .formatting-item:hover{background:#5b5a5c}.style-editor .cs-dropdown{display:flex;text-align:left;padding-left:.5rem;width:100%;justify-content:space-between;border-radius:4px;border:1px solid #929192;min-width:14rem}.style-editor .cs-dropdown:focus{border-color:#4878ead9}.style-editor .cs-dropdown .cs-caret{color:#929192}.style-dropdown-menu{border-radius:4px}.style-dropdown-menu .style-options{max-height:400px;overflow:auto}.style-dropdown-menu .style-option-btn{border:none;border-radius:0;width:100%;padding:.375rem .75rem;white-space:nowrap;text-decoration:none;background-color:transparent;text-align:left;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block}.style-dropdown-menu .style-option-btn:hover{opacity:.8}.style-dropdown-menu .style-option-btn:focus{outline:none;box-shadow:none}.style-dropdown-menu .style-option-btn:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.style-dropdown-menu .style-option-btn:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.conditional-format-editor{padding:1rem}.conditional-format-editor .formatter-list{display:flex;justify-content:flex-start;padding-top:.5rem}.conditional-format-editor .formatter-type{margin:0 1rem 0 0;display:flex}.conditional-format-editor .btn-formatter-type{font-size:smaller;width:100%}.conditional-format-editor .color-select{padding:0 2em 0 .25em}.cell-overflow-modal .modal-title{width:100%;display:flex;align-items:center;gap:.5rem}.cell-overflow-modal .modal-title .overflow-modal-title{margin:0;flex-grow:1}.cell-overflow-modal .modal-body{max-height:80vh;flex-shrink:1}.iris-grid-bottom-bar.goto-row{height:auto}.goto-row{background-color:#2d2a2e;border-top:1px solid #1a171a;display:block}.goto-row .goto-row-row{display:flex;padding:.5rem;justify-content:space-between;align-items:flex-start;gap:.5rem}.goto-row .goto-row-wrapper{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.goto-row .goto-row-text{min-width:10ch;margin:0;font-size:14px}.goto-row .goto-row-close{display:flex}.goto-row input{max-width:calc(1.5rem + 12ch)}.goto-row select{max-width:calc(1.5rem + 25ch)}.goto-row .is-inactive{color:#929192}.goto-row .goto-value-date-time-input{min-width:30ch}
|