@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
|
@@ -0,0 +1 @@
|
|
|
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;flex-direction:row;align-items:center;justify-content:space-between;border-radius:4px;border:1px solid #929192;min-width:14rem}.cs-container .cs-dropdown .cs-btn .cs-caret{background-size:10px 6px;background-color:var(--dh-color-foreground);-webkit-mask-image:var(--dh-svg-icon-selector-caret);mask-image:var(--dh-svg-icon-selector-caret);-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:10px 6px;mask-size:10px 6px;background-color:var(--dh-color-selector-fg);width:10px;height:6px;margin-right:4px}.cs-container .cs-dropdown:hover .cs-btn:not(:disabled) .cs-caret{background-color:var(--dh-color-selector-hover-fg)}.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,4 +1,4 @@
|
|
|
1
|
-
import{r as u,L as
|
|
1
|
+
import{r as u,L as ie,K as re,H as w,C as i,F as y,M as I,G as U,a1 as le}from"./vendor-fd5d5838.js";import{t as J,d as V,k as oe,C as K,B as H,ax as ue}from"./usePlugins-7c6014b7.js";import{L as Q,av as de,b2 as ce}from"./index-4705b8ba.js";import{M as ee,D as he,af as pe,n as me,o as fe}from"./IrisGrid-39dc53f7.js";function G(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(s);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(s,a).enumerable})),t.push.apply(t,n)}return t}function ve(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?G(Object(t),!0).forEach(function(n){D(s,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):G(Object(t)).forEach(function(n){Object.defineProperty(s,n,Object.getOwnPropertyDescriptor(t,n))})}return s}function D(s,e,t){return e=ge(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function ge(s){var e=be(s,"string");return typeof e=="symbol"?e:String(e)}function be(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}var Oe=100,$;(function(s){s.UP="UP",s.DOWN="DOWN"})($||($={}));class j extends u.Component{constructor(e){super(e),D(this,"popper",void 0),D(this,"cbContainer",void 0),D(this,"menuContainer",void 0),D(this,"input",void 0),D(this,"getCachedFilteredOptions",ie((n,a)=>n.filter(r=>r.title.toLowerCase().indexOf(a.toLowerCase())>=0)));var{popperOptions:t}=this.props;t=ve({placement:"bottom-end",modifiers:{preventOverflow:{enabled:!1}}},t),this.state={title:"",filteredOptions:[],keyboardOptionIndex:0,menuIsOpen:!1,inputWidth:100,invalid:!1,popperOptions:t},this.handleMenuKeyDown=this.handleMenuKeyDown.bind(this),this.handleMenuBlur=this.handleMenuBlur.bind(this),this.handleInputChange=this.handleInputChange.bind(this),this.handleInputKeyDown=this.handleInputKeyDown.bind(this),this.handleInputBlur=this.handleInputBlur.bind(this),this.handelInputFocus=this.handelInputFocus.bind(this),this.handleInputClick=this.handleInputClick.bind(this),this.updateInputValue=re(this.updateInputValue,Oe),this.handleOptionClick=this.handleOptionClick.bind(this),this.handleMenuOpened=this.handleMenuOpened.bind(this),this.handleMenuExited=this.handleMenuExited.bind(this),this.popper=w.createRef(),this.cbContainer=w.createRef(),this.menuContainer=w.createRef(),this.input=w.createRef()}setInputWidth(){this.cbContainer.current&&this.setState({inputWidth:this.cbContainer.current.getBoundingClientRect().width})}getValueAndValidate(e){if(!e)return this.setState({invalid:!1}),{value:e,isValid:!1};var{options:t}=this.props,n=t.filter(a=>a.title.toLowerCase()===e.toLowerCase());return n.length<1?(this.setState({invalid:!0}),{value:e,isValid:!1}):(this.setState({invalid:!1}),{value:n[0].value,isValid:!0})}updateInputValue(e){var{menuIsOpen:t}=this.state,{value:n,isValid:a}=this.getValueAndValidate(e);t&&this.processFilterChange(e),this.fireOnChange(n,a)}fireOnChange(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,{onChange:n}=this.props;n(e,t)}processFilterChange(e){var t,{options:n}=this.props,{menuIsOpen:a}=this.state,r=e?this.getCachedFilteredOptions(n,e):n,l=r.length===1&&r[0].title===e;if(this.setState({filteredOptions:r,keyboardOptionIndex:0}),l&&a){this.closeMenu();return}(t=this.popper.current)===null||t===void 0||t.scheduleUpdate()}resetValue(){this.setState({title:""}),this.fireOnChange("")}handleResize(){this.setInputWidth()}handleMenuKeyDown(e){var t,{filteredOptions:n,keyboardOptionIndex:a}=this.state,r=n[a];switch(e.key){case"Enter":case"ArrowRight":e.stopPropagation(),e.preventDefault(),r!=null&&(this.setState({title:r.title,invalid:!1}),this.fireOnChange(r.value)),this.closeMenu(),(t=this.input.current)===null||t===void 0||t.focus();break;case"ArrowUp":e.stopPropagation(),e.preventDefault(),this.navigateMenu(j.MENU_NAVIGATION_DIRECTION.UP);break;case"ArrowDown":e.stopPropagation(),e.preventDefault(),this.navigateMenu(j.MENU_NAVIGATION_DIRECTION.DOWN);break;case"Tab":if(e.stopPropagation(),e.preventDefault(),e.shiftKey){this.navigateMenu(j.MENU_NAVIGATION_DIRECTION.UP);break}this.navigateMenu(j.MENU_NAVIGATION_DIRECTION.DOWN);break;case"Escape":e.preventDefault(),e.stopPropagation(),this.closeMenu();break}}navigateMenu(e){var{filteredOptions:t,keyboardOptionIndex:n}=this.state,a=n;e===j.MENU_NAVIGATION_DIRECTION.UP?n>0?(a=(a-1)%t.length,this.setState({keyboardOptionIndex:a})):n===0&&(a=t.length-1,this.setState({keyboardOptionIndex:a})):e===j.MENU_NAVIGATION_DIRECTION.DOWN&&n<t.length&&(a=(a+1)%t.length,this.setState({keyboardOptionIndex:a})),this.scrollOptionIntoView(a)}handleInputKeyDown(e){var{onEnter:t}=this.props,{menuIsOpen:n}=this.state;n?this.handleMenuKeyDown(e):e.key==="Enter"?t():e.key==="Escape"?(this.resetValue(),e.preventDefault(),e.stopPropagation()):e.key==="ArrowRight"||e.key==="ArrowLeft"||e.key==="Tab"||e.key==="Shift"||this.openMenu()}handleInputChange(e){this.setState({title:e.target.value}),this.updateInputValue(e.target.value)}handleOptionClick(e){var t;this.setState({title:e.title,invalid:!1}),this.fireOnChange(e.value),this.closeMenu(),(t=this.input.current)===null||t===void 0||t.focus()}handelInputFocus(){var{menuIsOpen:e}=this.state;e||this.openMenu()}handleInputClick(){var{menuIsOpen:e}=this.state;e||this.openMenu()}handleInputBlur(e){var{menuIsOpen:t}=this.state;t&&e.relatedTarget instanceof Element&&this.popper.current!==null&&this.popper.current.element.contains(e.relatedTarget)||this.closeMenu(!1)}handleMenuBlur(e){e.relatedTarget===this.input.current||e.relatedTarget instanceof Element&&this.popper.current!==null&&this.popper.current.element.contains(e.relatedTarget)||this.closeMenu(!1)}handleMenuOpened(){var e;(e=this.input.current)===null||e===void 0||e.focus()}handleMenuExited(){var{menuIsOpen:e}=this.state;e&&this.setState({menuIsOpen:!1,keyboardOptionIndex:0})}openMenu(){var{title:e}=this.state;this.processFilterChange(e),this.setInputWidth(),this.setState({menuIsOpen:!0}),window.requestAnimationFrame(()=>{var t;(t=this.popper.current)===null||t===void 0||t.show()})}closeMenu(){var e,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(this.setState({menuIsOpen:!1,keyboardOptionIndex:0}),t){var n;(n=this.input.current)===null||n===void 0||n.focus()}(e=this.popper.current)===null||e===void 0||e.hide()}scrollOptionIntoView(e){if(this.menuContainer.current){var t;(t=this.menuContainer.current.children.item(e))===null||t===void 0||t.scrollIntoView({behavior:"smooth",block:"nearest"})}}renderMenuElement(){var{inputWidth:e}=this.state;return i.jsx("div",{className:y("aci-options"),ref:this.menuContainer,role:"presentation",onKeyDown:this.handleMenuKeyDown,style:{width:e},onBlur:this.handleMenuBlur,children:this.renderOptions()})}renderOptions(){var{noMatchText:e}=this.props,{title:t,filteredOptions:n}=this.state;return t&&n.length===0?i.jsx("div",{className:"no-match",children:e}):n.map((a,r)=>this.renderOption(a,r))}renderOption(e,t){var{keyboardOptionIndex:n}=this.state,a="option-".concat(t,"-").concat(e.value);return i.jsx("button",{type:"button",className:y("aci-option-btn",{"keyboard-active":n===t}),onClick:()=>this.handleOptionClick(e),onFocus:()=>this.setState({keyboardOptionIndex:t}),children:e.title},a)}render(){var{options:e,inputPlaceholder:t,disabled:n,className:a,defaultTitle:r,spellCheck:l,"data-testid":o}=this.props,{title:c,menuIsOpen:d,popperOptions:h,invalid:p}=this.state;return i.jsxs("div",{className:"aci-container",ref:this.cbContainer,children:[i.jsx("input",{value:c||r,className:y("form-control",a,"aci-input",{"is-invalid":p&&!d}),ref:this.input,onChange:this.handleInputChange,placeholder:t||e[0].title,disabled:n,onFocus:this.handelInputFocus,onClick:this.handleInputClick,onBlur:this.handleInputBlur,onKeyDown:this.handleInputKeyDown,spellCheck:l,"data-testid":o}),i.jsx(J,{ref:this.popper,options:h,className:y("aci-options-popper interactive"),onEntered:this.handleMenuOpened,onExited:this.handleMenuExited,children:this.renderMenuElement()})]})}}D(j,"propTypes",{options:I.arrayOf(I.shape({title:I.string.isRequired,value:I.string.isRequired})).isRequired,popperOptions:I.shape({}),onChange:I.func,inputPlaceholder:I.string,disabled:I.bool,className:I.string,defaultTitle:I.string,spellCheck:I.bool,onEnter:I.func,noMatchText:I.string,"data-testid":I.string});D(j,"defaultProps",{onChange(){},inputPlaceholder:"",disabled:!1,className:"",defaultTitle:"",popperOptions:null,spellCheck:!0,onEnter(){},noMatchText:"No matching items found","data-testid":void 0});D(j,"MENU_NAVIGATION_DIRECTION",$);const He=j;function te(s){var{className:e="",value:t,onChange:n,spellCheck:a=!1,placeholder:r="",disabled:l=!1,delimiter:o="",id:c="","data-testid":d}=s,[h,p]=u.useState(t),[f,m]=u.useState(!1),g=u.useRef(null);u.useEffect(function(){p(t)},[t]);function x(b){return b.trim().split(o).filter(_=>_).join(`
|
|
2
2
|
`.concat(o.trim()))}function T(b){return b.split(`
|
|
3
|
-
`).map(_=>_.trim()).join(" ")}function E(){if(g.current){g.current.style.height="0";var b=g.current.scrollHeight+(g.current.offsetHeight-g.current.clientHeight);b>0&&(g.current.style.height="".concat(b,"px"))}}function j(b){var _=b.target.value;f&&(o&&(_=x(_)),m(!1)),p(_),n(_)}function O(){g.current&&(o&&(p(x(h)),E()),g.current.scrollLeft=0)}function S(){g.current&&document.activeElement!==g.current&&g.current.focus()}function N(){o&&(p(T(h)),n(T(h)))}function M(){m(!0)}return u.useEffect(function(){E()},[h]),i.jsx("textarea",{ref:g,id:c,className:y(e,"auto-resize-textarea form-control"),placeholder:r,value:h,rows:1,onChange:j,onFocus:O,onMouseDown:S,onBlur:N,onPaste:M,spellCheck:a,disabled:l,"data-testid":d})}ne.propTypes={value:I.string.isRequired,onChange:I.func.isRequired,className:I.string,placeholder:I.string,spellCheck:I.bool,disabled:I.bool,delimiter:I.string,id:I.string,"data-testid":I.string};ne.defaultProps={className:"",id:"",placeholder:"",disabled:!1,spellCheck:!1,delimiter:"","data-testid":void 0};var Ie=Q.module("TimeInput"),xe="([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]",Ne=["00:00:00","12:34:56","23:59:59"],ae=w.forwardRef((s,e)=>{var{allowValueWrapping:t=!0,className:n="",onChange:a=()=>!1,value:r=0,onFocus:l=()=>!1,onBlur:o=()=>!1,onSelect:c=()=>!1,"data-testid":d}=s,[h,p]=u.useState(V.formatTime(r)),[f,m]=u.useState(),g=u.useRef(null);u.useImperativeHandle(e,()=>({focus:()=>{var O;(O=g.current)===null||O===void 0||O.focus()},setSelection:O=>{var S;(S=g.current)===null||S===void 0||S.focus(),m(O)}}),[]),u.useEffect(function(){p(V.formatTime(r))},[r]);function x(O,S,N){var M=O.selectionStart===0?24:60,b=parseInt(N,10)-S;return Number.isNaN(b)?b=0:t?b=(b%M+M)%M:b=Math.min(Math.max(0,b),M-1),"".concat(b).padStart(2,"0")}function T(O,S,N,M,b){return M===0&&b===2&&S===1&&parseInt(N,10)>1?"0".concat(N).concat(O.substring(2)):he(O,S,N)}function E(O){Ie.debug("handleChange",O),p(O),V.isTimeString(O)&&a(V.parseTime(O))}var j=u.useCallback(O=>{m(O),c(O)},[c]);return i.jsx(te,{ref:g,className:n,example:Ne,getNextSegmentValue:x,getPreferredReplacementString:T,onChange:E,onSelect:j,pattern:xe,selection:f,value:h,onFocus:l,onBlur:o,"data-testid":d})});ae.defaultProps={allowValueWrapping:!0,className:"",onChange:()=>!1,onSelect:()=>!1,value:0,onFocus:()=>!1,onBlur:()=>!1,"data-testid":void 0};const B=ae;function z(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(s);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(s,a).enumerable})),t.push.apply(t,n)}return t}function Te(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?z(Object(t),!0).forEach(function(n){A(s,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):z(Object(t)).forEach(function(n){Object.defineProperty(s,n,Object.getOwnPropertyDescriptor(t,n))})}return s}function A(s,e,t){return e=ye(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function ye(s){var e=Ee(s,"string");return typeof e=="symbol"?e:String(e)}function Ee(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}var q=-1,W;(function(s){s.UP="UP",s.DOWN="DOWN"})(W||(W={}));class C extends u.Component{constructor(e){super(e),A(this,"csContainer",void 0),A(this,"menuContainer",void 0),A(this,"button",void 0),A(this,"input",void 0);var{value:t,valueToTime:n}=e;this.toggleMenu=this.toggleMenu.bind(this),this.handleMenuKeyDown=this.handleMenuKeyDown.bind(this),this.closeMenu=this.closeMenu.bind(this),this.handleOptionClick=this.handleOptionClick.bind(this),this.handleOptionFocus=this.handleOptionFocus.bind(this),this.handleMenuOpened=this.handleMenuOpened.bind(this),this.handleMenuExited=this.handleMenuExited.bind(this),this.handleCustomInput=this.handleCustomInput.bind(this),this.csContainer=w.createRef(),this.menuContainer=w.createRef(),this.button=w.createRef(),this.input=w.createRef(),this.state={keyboardOptionIndex:0,menuIsOpen:!1,inputWidth:100,customTime:n(t),inputFocused:!1}}getSelectedText(){var{options:e,value:t,placeholder:n}=this.props,{customTime:a}=this.state;if(t===null)return n;for(var r=0;r<e.length;r+=1){var l=e[r];if(l.value===t)return l.title}return V.formatTime(a)}setInputWidth(){this.csContainer.current&&this.setState({inputWidth:this.csContainer.current.getBoundingClientRect().width})}focus(){var e;(e=this.button.current)===null||e===void 0||e.focus()}updateInputValue(e){var{onChange:t}=this.props;t(e)}handleResize(){this.setInputWidth()}handleMenuKeyDown(e){var t,{keyboardOptionIndex:n,inputFocused:a}=this.state,{options:r}=this.props;switch(e.key){case"Enter":case" ":a?this.updateFromCustom():this.updateInputValue(r[n].value),this.closeMenu(),(t=this.button.current)===null||t===void 0||t.focus(),e.stopPropagation(),e.preventDefault();break;case"Tab":e.shiftKey?this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.UP):this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.DOWN),e.stopPropagation(),e.preventDefault();break;case"ArrowUp":this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.UP),e.stopPropagation(),e.preventDefault();break;case"ArrowDown":this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.DOWN),e.stopPropagation(),e.preventDefault();break;case"Escape":this.closeMenu();break}}handleMenuNavigation(e){var{keyboardOptionIndex:t,inputFocused:n}=this.state,{options:a}=this.props,r=a.length,l=t;switch(e){case C.MENU_NAVIGATION_DIRECTION.UP:if(!n&&t===0){this.focusInput();break}else n&&this.focusOption(t);t>0&&!n?(l=(l-1)%r,this.setState({keyboardOptionIndex:l})):t===0&&(l=r-1,this.setState({keyboardOptionIndex:l})),this.scrollOptionIntoView(l);break;case C.MENU_NAVIGATION_DIRECTION.DOWN:if(!n&&t===r-1){this.focusInput();break}else n&&this.focusOption(t);t<r&&!(n&&t===0)&&(l=(l+1)%r,this.setState({keyboardOptionIndex:l})),this.scrollOptionIntoView(l);break}}handleOptionClick(e){var t=Number(e.currentTarget.value),{options:n,timeToValue:a}=this.props,{customTime:r}=this.state;if(t===q){var l=a(r);this.updateAndClose(l)}else this.updateAndClose(n[t].value)}updateAndClose(e){var t;this.updateInputValue(e),this.closeMenu(),(t=this.button.current)===null||t===void 0||t.focus()}handleOptionFocus(e){this.setState({keyboardOptionIndex:Number(e.target.value)})}handleMenuOpened(){var e,{options:t,value:n}=this.props,{keyboardOptionIndex:a}=this.state;this.scrollOptionIntoView(a);var r=(e=this.menuContainer.current)===null||e===void 0?void 0:e.querySelector(".cs-option-btn.keyboard-active");if(r instanceof HTMLElement&&r.focus(),n!==null){var l=t.map(o=>o.value).indexOf(n);l<0&&this.focusInput()}}focusInput(){var e;(e=this.input.current)===null||e===void 0||e.focus()}focusOption(e){var t,n=(t=this.menuContainer.current)===null||t===void 0?void 0:t.querySelector(".cs-options");if(n&&n.children!=null){var a=n.children.item(e);a instanceof HTMLElement&&a.focus()}}handleMenuExited(){var{menuIsOpen:e}=this.state;e&&this.setState({menuIsOpen:!1,keyboardOptionIndex:0})}handleCustomInput(e){var{timeToValue:t}=this.props,n=t(e);this.updateInputValue(n),this.setState({customTime:e})}updateFromCustom(){var{timeToValue:e}=this.props,{customTime:t}=this.state,n=e(t);this.updateInputValue(n)}toggleMenu(e){var{menuIsOpen:t}=this.state;t?this.closeMenu():this.openMenu(),e.stopPropagation()}openMenu(){this.updateKeyboardIndex(),this.setInputWidth(),this.setState({menuIsOpen:!0})}closeMenu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(this.setState({menuIsOpen:!1}),e){var t;(t=this.button.current)===null||t===void 0||t.focus()}}updateKeyboardIndex(){var{options:e,value:t}=this.props;if(t!==null){var n=e.map(a=>a.value).indexOf(t);n>0&&this.setState({keyboardOptionIndex:n})}}scrollOptionIntoView(e){var t,n=(t=this.menuContainer.current)===null||t===void 0?void 0:t.querySelector(".cs-options");if(n&&n.children!=null){var a=n.children.item(e);a instanceof HTMLElement&&a.offsetTop>C.DROP_DOWN_MENU_HEIGHT?n.scrollTop=a.offsetTop-C.DROP_DOWN_MENU_HEIGHT:(a instanceof HTMLElement&&a.offsetTop<0||e===0)&&(n.scrollTop=0)}}renderMenuElement(){var{inputWidth:e}=this.state;return i.jsx("div",{className:"cs-menu-container",ref:this.menuContainer,role:"presentation",onKeyDown:this.handleMenuKeyDown,onClick:t=>{t.stopPropagation()},style:{width:e},children:i.jsx("div",{className:"cs-options-container",children:i.jsx("div",{className:"cs-options",children:this.renderOptions()})})})}renderOptions(){for(var{options:e,value:t,icon:n,customText:a}=this.props,{keyboardOptionIndex:r,customTime:l,inputFocused:o}=this.state,c=!1,d=[],h=0;h<e.length;h+=1){var p=e[h],f="option-".concat(h,"-").concat(p.value);c=c||p.value===t,d.push(i.jsxs("button",{type:"button",value:h,className:y("cs-option-btn",{"keyboard-active":r===h&&!o}),onClick:this.handleOptionClick,onFocus:this.handleOptionFocus,children:[p.value===t&&i.jsx(L,{icon:n,className:"mr-2"}),p.value!==t&&i.jsx("span",{className:"mr-4"}),p.title]},f))}return d.push(i.jsx("hr",{className:"cs-divider"},"option-divider")),d.push(i.jsxs("button",{type:"button",value:q,className:y("cs-option-btn",{"keyboard-active":o}),onClick:this.handleOptionClick,onFocus:this.handleOptionFocus,children:[!c&&t!==null?i.jsx(L,{icon:n,className:"mr-2"}):i.jsx("span",{className:"mr-4"}),a]},"option-custom-label")),d.push(i.jsxs("div",{className:"cs-custom-container",children:[i.jsx("span",{className:"mr-2"}),i.jsx(B,{ref:this.input,onChange:this.handleCustomInput,value:l,onFocus:()=>this.setState({inputFocused:!0}),onBlur:()=>this.setState({inputFocused:!1})},"option-input"),i.jsx("span",{className:"ml-2"})]},"cs-custom-container")),d.push(i.jsx("hr",{className:"mb-2"},"option-end")),d}render(){var{disabled:e,invalid:t,value:n,"data-testid":a}=this.props,{menuIsOpen:r}=this.state,{popperOptions:l}=this.props;return l=Te({placement:"bottom-end",modifiers:{preventOverflow:{enabled:!1}}},l),i.jsx("div",{className:"input-group cs-container context-menu",ref:this.csContainer,"data-testid":a,children:i.jsx("div",{className:y("input-group-append cs-dropdown",{"cs-dropdown-invalid":t}),children:i.jsxs("button",{type:"button",className:y("btn cs-btn form-control",{"cs-btn-invalid":t}),ref:this.button,onClick:this.toggleMenu,disabled:e,children:[i.jsx("span",{className:y({"text-muted":n===null}),children:this.getSelectedText()}),i.jsx("span",{children:i.jsx(L,{icon:ee,className:"cs-caret"})}),i.jsx(ue,{isShown:r,actions:{menuElement:this.renderMenuElement()},popperOptions:l,popperClassName:"CustomTimeSelect",onMenuOpened:this.handleMenuOpened,onMenuClosed:this.handleMenuExited,menuStyle:{maxWidth:"100rem"}})]})})})}}A(C,"MENU_NAVIGATION_DIRECTION",W);A(C,"DROP_DOWN_MENU_HEIGHT",125);A(C,"defaultProps",{onChange(){},value:null,disabled:!1,popperOptions:{},icon:ce,customText:"Custom",placeholder:"Select a time",valueToTime:s=>s===null?0:Math.round(s/1e3),timeToValue:s=>s*1e3,invalid:!1,"data-testid":void 0});const Ge=C;var Ce=Q.module("DateInput"),ke="[12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])",we=["2000-01-01","2022-12-31"],Se="YYYY-MM-DD",se=w.forwardRef((s,e)=>{var{className:t="",onChange:n=()=>{},defaultValue:a="",onFocus:r=()=>{},onBlur:l=()=>{},"data-testid":o}=s,[c,d]=u.useState(a),[h,p]=u.useState(),f=u.useCallback(m=>{Ce.debug("handleChange",m),d(m),n(m)},[n]);return i.jsx("div",{className:"d-flex flex-row align-items-center",children:i.jsx(te,{ref:e,className:y(t),example:we,getNextSegmentValue:pe,onChange:f,onSelect:p,pattern:ke,placeholder:Se,selection:h,value:c,onFocus:r,onBlur:l,"data-testid":o})})});se.displayName="DateInput";const ze=se;function Me(s,e,t){return e=je(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function je(s){var e=Pe(s,"string");return typeof e=="symbol"?e:String(e)}function Pe(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class R extends u.Component{static isParentSelected(e,t){var n=t.get(e);if(n===void 0)return!1;if(typeof n=="boolean")return n;var a=Array.from(n.values()).includes(!0),r=Array.from(n.values()).includes(!1);return a&&r?null:a}constructor(e){super(e),this.toggleMenu=this.toggleMenu.bind(this),this.toggleValueFor=this.toggleValueFor.bind(this),this.selectAll=this.selectAll.bind(this),this.clear=this.clear.bind(this),this.state={menuIsOpen:!1}}toggleMenu(e){e.stopPropagation(),e.preventDefault(),this.setState(t=>{var{menuIsOpen:n}=t;return{menuIsOpen:!n}})}toggleValueFor(e,t){var{valueMap:n,onUpdateValueMap:a}=this.props,r=new Map(n),l=r.get(e);if(l instanceof Map){var o=new Map(l);if(t!=null)o.set(t,l.get(t)===void 0);else{var c=R.isParentSelected(e,r),d=c==null||!c;l.forEach((f,m)=>o.set(m,d))}r.set(e,o)}else r.set(e,l==null||!l);var h=r.get(e);if(t===void 0&&h!==void 0&&typeof h!="boolean"){var p=R.isParentSelected(e,n);p!=null&&p?h.forEach((f,m)=>h.set(m,!1)):h.forEach((f,m)=>h.set(m,!0))}a(r)}setAllValues(e){var{valueMap:t,onUpdateValueMap:n}=this.props,a=new Map;t.forEach((r,l)=>{if(typeof r=="boolean")a.set(l,e);else{var o=new Map;r.forEach((c,d)=>o.set(d,e)),a.set(l,o)}}),n(a)}selectAll(){this.setAllValues(!0)}clear(){this.setAllValues(!1)}renderMenuElement(){var{valueMap:e,"data-testid":t}=this.props;return i.jsxs("div",{className:"hcm-menu-container",children:[Array.from(e.entries()).map(n=>{var[a,r]=n;return i.jsxs("div",{children:[i.jsx(K,{className:"hcm-parent",checked:R.isParentSelected(a,e),onChange:()=>this.toggleValueFor(a),children:a}),r!==void 0&&typeof r!="boolean"&&Array.from(r.entries()).map(l=>{var[o,c]=l;return i.jsx(K,{className:"hcm-child",checked:c,onChange:()=>this.toggleValueFor(a,o),children:o},o)})]},a)}),i.jsx(H,{kind:"ghost",onClick:this.selectAll,"data-testid":t!==void 0?"".concat(t,"-btn-select-all"):void 0,children:"Select All"}),i.jsx(H,{kind:"ghost",onClick:this.clear,"data-testid":t!==void 0?"".concat(t,"-btn-clear"):void 0,children:"Clear"})]})}render(){var{menuText:e,className:t,icon:n,id:a,"data-testid":r}=this.props,{menuIsOpen:l}=this.state;return i.jsxs("button",{type:"button",className:y("btn hcm-btn",t),onClick:this.toggleMenu,id:a,"data-testid":r,children:[i.jsxs("span",{children:[n&&i.jsx(L,{icon:n,className:"hcm-icon mr-1"}),e]}),i.jsx(L,{icon:ee,className:"hcm-icon ml-1"}),i.jsx(J,{options:{placement:"bottom"},isShown:l,onExited:()=>{this.setState({menuIsOpen:!1})},closeOnBlur:!0,interactive:!0,children:this.renderMenuElement()})]})}}Me(R,"defaultProps",{className:"",icon:null,id:"","data-testid":void 0});const qe=R,De="_track_1ermw_30",_e="_handle_1ermw_13",Ae="_ticks_1ermw_98",ie={"handle-size":"15px","popover-width":"90px","time-slider":"_time-slider_1ermw_3","time-slider-popovers":"_time-slider-popovers_1ermw_8","handle-popper":"_handle-popper_1ermw_13","flex-spacer":"_flex-spacer_1ermw_26",track:De,"track-fills":"_track-fills_1ermw_37","track-fill":"_track-fill_1ermw_37","track-fill-start":"_track-fill-start_1ermw_55","track-fill-middle":"_track-fill-middle_1ermw_56","track-fill-end":"_track-fill-end_1ermw_59","handle-track":"_handle-track_1ermw_62",handle:_e,ticks:Ae,"tick-labels":"_tick-labels_1ermw_116","tick-label":"_tick-label_1ermw_116","tick-label-wrapper":"_tick-label-wrapper_1ermw_132"};var U=parseInt(ie["handle-size"],10),X=parseInt(ie["popover-width"],10),k=24*60*60-1,Y=5*60;function Xe(s){var{startTime:e,endTime:t,onChange:n,isStartModified:a=!1,isEndModified:r=!1,"data-testid":l}=s,[o,c]=u.useState(e),[d,h]=u.useState(t),p=u.useRef(null);u.useEffect(function(){c(e),h(t)},[e,t]);var f=u.useCallback((x,T)=>{var E=x,j=T;E===j&&(j<k?j+=1:E-=1),c(E),h(j),n({startTime:E,endTime:j})},[c,h,n]),m=u.useCallback(x=>{f(x,d)},[f,d]),g=u.useCallback(x=>{f(o,x)},[f,o]);return i.jsxs("div",{className:"time-slider","data-testid":l,children:[i.jsx(Re,{startTime:o,endTime:d,onStartTimeChange:m,onEndTimeChange:g,isStartModified:a,isEndModified:r}),i.jsxs("div",{className:"track",ref:p,children:[i.jsx(Fe,{startTime:o,endTime:d}),i.jsx("div",{className:"ticks",children:Array(24).fill(null).map((x,T)=>i.jsx("div",{className:"tick"},T))}),i.jsx(Z,{track:p,time:o,setTime:m}),i.jsx(Z,{track:p,time:d,setTime:g})]}),i.jsxs("div",{className:"tick-labels",children:[i.jsx("div",{className:"tick-label",children:"0:00"}),i.jsx("div",{className:"tick-label-wrapper",children:Array(24).fill(null).map((x,T)=>i.jsx("div",{className:"tick-label",children:"".concat(T+1,":00")},T))})]})]})}function Re(s){var{startTime:e,endTime:t,onStartTimeChange:n,onEndTimeChange:a,isStartModified:r,isEndModified:l,"data-testid":o}=s,c=e>t,[d,h]=u.useState(c?t:e),[p,f]=u.useState(c?e:t),m=u.useRef(null),g=u.useRef(null),x=u.useRef(null),T=u.useRef(null);u.useEffect(function(){h(e>t?t:e),f(e>t?e:t)},[e,t]),u.useEffect(function(){if(x.current!==null){var M;(M=g.current)===null||M===void 0||M.setSelection(x.current)}if(T.current!==null){var b;(b=m.current)===null||b===void 0||b.setSelection(T.current)}},[c]);function E(N){e<=t?n(N):a(N)}function j(N){e<=t?a(N):n(N)}var O=u.useCallback(N=>{x.current=N,T.current=null},[]),S=u.useCallback(N=>{x.current=null,T.current=N},[]);return i.jsxs("div",{className:"time-slider-popovers",children:[i.jsx("div",{className:"flex",style:{flexBasis:"calc(".concat(d/k*100,"% - ").concat(X/2,"px)")}}),i.jsxs("div",{className:"handle-popper",children:[i.jsx("label",{className:y({modified:c?l:r}),children:c?"End Time":"Start Time"}),i.jsx(B,{ref:m,allowValueWrapping:!1,value:d,onChange:E,onSelect:O,"data-testid":o!==void 0?"".concat(o,"-input-1"):void 0})]}),i.jsx("div",{className:"flex-spacer"}),i.jsxs("div",{className:"handle-popper",children:[i.jsx("label",{className:y({modified:c?r:l}),children:c?"Start Time":"End Time"}),i.jsx(B,{ref:g,allowValueWrapping:!1,value:p,onChange:j,onSelect:S,"data-testid":o!==void 0?"".concat(o,"-input-2"):void 0})]}),i.jsx("div",{className:"flex",style:{flexBasis:"calc(".concat((k-p)/k*100,"% - ").concat(X/2,"px)")}})]})}function Fe(s){var{startTime:e,endTime:t,"data-testid":n}=s;return i.jsxs("div",{className:"track-fills","data-testid":n,children:[e>t&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"track-fill track-fill-start",style:{transform:"scaleX(".concat(t/k,")")}}),i.jsx("div",{className:"track-fill track-fill-end",style:{transform:"scaleX(".concat((k-e)/k,")")}})]}),e<t&&i.jsx("div",{className:"track-fill track-fill-middle",style:{transform:"translateX(".concat(e/k*100,"%) scaleX(").concat((t-e)/k,")")}})]})}function Z(s){var{track:e,time:t,setTime:n,"data-testid":a}=s,r=u.useMemo(()=>{var f=3600,m=U/2;return t<f?m=t/f*(U/2):t>23*f&&(m=U/2+1/(k-23*f)*(t-23*f)*(U/2)),"translateX(calc(".concat(t/k*100,"% - ").concat(m,"px))")},[t]),l=u.useCallback(f=>{if(!e.current)return 0;var m=e.current.getBoundingClientRect(),g=Math.max(f-m.left,0),x=k*Math.min(1,g/m.width),T=Y*Math.round(x/Y),E=Math.min(k,T);return E},[e]),o=u.useCallback(f=>{var{clientX:m}=f;n(l(m))},[n,l]),c=u.useCallback(f=>{var{clientX:m}=f;n(l(m)),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",c),document.documentElement.classList.remove("drag-pointer-events-none")},[n,l,o]),d=u.useCallback(()=>{window.addEventListener("mousemove",o),window.addEventListener("mouseup",c),document.documentElement.classList.add("drag-pointer-events-none")},[o,c]),h=u.useCallback(()=>{window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",c),document.documentElement.classList.remove("drag-pointer-events-none")},[o,c]),p=u.useCallback(()=>{d()},[d]);return u.useEffect(function(){return()=>{h()}},[h]),i.jsx("div",{className:"handle-track",style:{transform:r},children:i.jsx("button",{className:"handle",type:"button","aria-label":"Change time",onMouseDown:p,"data-testid":a})})}function Ye(s){var{children:e,className:t,labelText:n,hintText:a,isModified:r,validationError:l,showValidationError:o=!0,"data-testid":c,id:d}=s,{current:h}=u.useRef(d??oe());return i.jsxs(i.Fragment,{children:[i.jsx("label",{className:y("validate-label",t,{modified:r}),htmlFor:h,"data-testid":c,children:n}),w.Children.toArray(e).map(p=>w.isValidElement(p)?w.cloneElement(p,{className:y(p.props.className,{"is-invalid":l})}):i.jsx("div",{className:y(t),children:p})),a!==void 0&&i.jsx("small",{className:"form-text text-muted",children:a}),l!==void 0&&o&&i.jsx("p",{className:"validate-label-error text-danger",children:l})]})}function F(s,e,t){return e=Ve(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Ve(s){var e=Le(s,"string");return typeof e=="symbol"?e:String(e)}function Le(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class v extends me{static get theme(){return v._theme==null&&(v._theme=de()),v._theme}static makeRandomSeries(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:100,a=[],r=[],l=[],o=[],c=new Date("2018-06-01"),d=0;d<n;d+=1){var h=new Date(c.getFullYear(),c.getMonth(),c.getDate()+d-n);a.push("".concat(h.getFullYear(),"-").concat(h.getMonth()+1,"-").concat(h.getDate()));var p=(Math.sin(d/n*e)*n/3+Math.cos(d*.2)*n/6+Math.sin(d*.5)*n/10+v.random()*n/5+d*v.smoothing)*t;p=Math.round(p*100)/100,r.push(p),o.push(40+d*v.smoothing),l.push(Math.sin(d/n*e)*n/3+v.random()*n/10+d*v.smoothing)}return{x:a,y:r,s:l,l:o}}static makeScatter(e){return{name:"SCTR",x:e.x,y:e.y,type:"scatter",mode:"markers",hoverinfo:"skip",marker:{size:5}}}static makeArea(e){return{name:"AREA",x:e.x,y:e.s,type:"scatter",mode:"line",fill:"tozeroy",hoverinfo:"all",line:{color:v.theme.area_color,width:3}}}static makeTrendline(e){return{name:"Trendline <br>R<sup>2</sup> = 0.91",x:e.x,y:e.l,type:"scatter",mode:"line",hoverinfo:"skip",line:{width:3,dash:"dot",color:v.theme.trend_color}}}static makeErrorBand(e){for(var t=[],n=[],a=0;a<e.y.length;a+=1){var r=e.y[a];t[a]=Math.round((r+18)*100)/100,n[a]=Math.round((r-18)*100)/100}var l=t.concat(n.reverse());return{name:"error",x:e.x.concat(e.x.slice().reverse()),y:l,type:"scatter",mode:"line",hoverinfo:"skip",fill:"toself",fillcolor:v.theme.error_band_fill_color,line:{width:0,color:v.theme.error_band_line_color,shape:"spline"}}}static makeLine(e){return{name:"LINE",x:e.x,y:e.y,type:"scatter",mode:"line",hoverinfo:"x+y+text+name",line:{color:v.theme.line_color,width:3}}}static makeRandomData(){var e=v.makeRandomSeries(6),t=v.makeArea(e),n=v.makeTrendline(e),a=v.makeRandomSeries(2),r=v.makeLine(a),l=v.makeErrorBand(a);return[t,n,r,l]}static makeDefaultLayout(e){var t=new fe(e).makeDefaultLayout(v.theme);return t.title="Chart",t.xaxis&&(t.xaxis.title="Datestamp"),t.yaxis&&(t.yaxis.title="Price"),t}constructor(e){var{data:t=v.makeRandomData(),layout:n=v.makeDefaultLayout(e),filterFields:a=[]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(e),F(this,"data",void 0),F(this,"filterFields",void 0),F(this,"layout",void 0),this.data=t,this.layout=n,this.filterFields=a}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){for(var e=new Map,t=0;t<this.filterFields.length;t+=1){var n=this.filterFields[t],a="java.lang.String";e.set(n,{name:n,type:a})}return e}isFilterRequired(){return this.filterFields.length>0}setFilter(){this.fireUpdate(this.data)}}F(v,"random",Math.random.bind(Math));F(v,"smoothing",1.5);F(v,"_theme",void 0);const Ze=v;var Ue=u.createContext(!1);function Je(s){var{fontClassNames:e=["fira-sans-regular","fira-sans-semibold","fira-mono"],children:t}=s,[n,a]=u.useState(!1);return u.useEffect(function(){document.fonts.ready.then(()=>{a(!0)})},[]),i.jsxs(i.Fragment,{children:[i.jsx(Ue.Provider,{value:n,children:t}),i.jsx("div",{id:"preload-fonts",style:{visibility:"hidden",position:"absolute",top:-1e4},children:e.map(r=>i.jsx("p",{className:r,children:"preload"},r))})]})}export{He as A,Ge as C,ze as D,Ue as F,qe as H,Ze as M,B as T,Ye as V,ne as a,Xe as b,Je as c};
|
|
4
|
-
//# sourceMappingURL=FontBootstrap-
|
|
3
|
+
`).map(_=>_.trim()).join(" ")}function E(){if(g.current){g.current.style.height="0";var b=g.current.scrollHeight+(g.current.offsetHeight-g.current.clientHeight);b>0&&(g.current.style.height="".concat(b,"px"))}}function P(b){var _=b.target.value;f&&(o&&(_=x(_)),m(!1)),p(_),n(_)}function O(){g.current&&(o&&(p(x(h)),E()),g.current.scrollLeft=0)}function S(){g.current&&document.activeElement!==g.current&&g.current.focus()}function N(){o&&(p(T(h)),n(T(h)))}function M(){m(!0)}return u.useEffect(function(){E()},[h]),i.jsx("textarea",{ref:g,id:c,className:y(e,"auto-resize-textarea form-control"),placeholder:r,value:h,rows:1,onChange:P,onFocus:O,onMouseDown:S,onBlur:N,onPaste:M,spellCheck:a,disabled:l,"data-testid":d})}te.propTypes={value:I.string.isRequired,onChange:I.func.isRequired,className:I.string,placeholder:I.string,spellCheck:I.bool,disabled:I.bool,delimiter:I.string,id:I.string,"data-testid":I.string};te.defaultProps={className:"",id:"",placeholder:"",disabled:!1,spellCheck:!1,delimiter:"","data-testid":void 0};var Ie=Q.module("TimeInput"),xe="([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]",Ne=["00:00:00","12:34:56","23:59:59"],ne=w.forwardRef((s,e)=>{var{allowValueWrapping:t=!0,className:n="",onChange:a=()=>!1,value:r=0,onFocus:l=()=>!1,onBlur:o=()=>!1,onSelect:c=()=>!1,"data-testid":d}=s,[h,p]=u.useState(V.formatTime(r)),[f,m]=u.useState(),g=u.useRef(null);u.useImperativeHandle(e,()=>({focus:()=>{var O;(O=g.current)===null||O===void 0||O.focus()},setSelection:O=>{var S;(S=g.current)===null||S===void 0||S.focus(),m(O)}}),[]),u.useEffect(function(){p(V.formatTime(r))},[r]);function x(O,S,N){var M=O.selectionStart===0?24:60,b=parseInt(N,10)-S;return Number.isNaN(b)?b=0:t?b=(b%M+M)%M:b=Math.min(Math.max(0,b),M-1),"".concat(b).padStart(2,"0")}function T(O,S,N,M,b){return M===0&&b===2&&S===1&&parseInt(N,10)>1?"0".concat(N).concat(O.substring(2)):he(O,S,N)}function E(O){Ie.debug("handleChange",O),p(O),V.isTimeString(O)&&a(V.parseTime(O))}var P=u.useCallback(O=>{m(O),c(O)},[c]);return i.jsx(ee,{ref:g,className:n,example:Ne,getNextSegmentValue:x,getPreferredReplacementString:T,onChange:E,onSelect:P,pattern:xe,selection:f,value:h,onFocus:l,onBlur:o,"data-testid":d})});ne.defaultProps={allowValueWrapping:!0,className:"",onChange:()=>!1,onSelect:()=>!1,value:0,onFocus:()=>!1,onBlur:()=>!1,"data-testid":void 0};const B=ne;function z(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(s);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(s,a).enumerable})),t.push.apply(t,n)}return t}function Te(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?z(Object(t),!0).forEach(function(n){A(s,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):z(Object(t)).forEach(function(n){Object.defineProperty(s,n,Object.getOwnPropertyDescriptor(t,n))})}return s}function A(s,e,t){return e=ye(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function ye(s){var e=Ee(s,"string");return typeof e=="symbol"?e:String(e)}function Ee(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}var q=-1,W;(function(s){s.UP="UP",s.DOWN="DOWN"})(W||(W={}));class C extends u.Component{constructor(e){super(e),A(this,"csContainer",void 0),A(this,"menuContainer",void 0),A(this,"button",void 0),A(this,"input",void 0);var{value:t,valueToTime:n}=e;this.toggleMenu=this.toggleMenu.bind(this),this.handleMenuKeyDown=this.handleMenuKeyDown.bind(this),this.closeMenu=this.closeMenu.bind(this),this.handleOptionClick=this.handleOptionClick.bind(this),this.handleOptionFocus=this.handleOptionFocus.bind(this),this.handleMenuOpened=this.handleMenuOpened.bind(this),this.handleMenuExited=this.handleMenuExited.bind(this),this.handleCustomInput=this.handleCustomInput.bind(this),this.csContainer=w.createRef(),this.menuContainer=w.createRef(),this.button=w.createRef(),this.input=w.createRef(),this.state={keyboardOptionIndex:0,menuIsOpen:!1,inputWidth:100,customTime:n(t),inputFocused:!1}}getSelectedText(){var{options:e,value:t,placeholder:n}=this.props,{customTime:a}=this.state;if(t===null)return n;for(var r=0;r<e.length;r+=1){var l=e[r];if(l.value===t)return l.title}return V.formatTime(a)}setInputWidth(){this.csContainer.current&&this.setState({inputWidth:this.csContainer.current.getBoundingClientRect().width})}focus(){var e;(e=this.button.current)===null||e===void 0||e.focus()}updateInputValue(e){var{onChange:t}=this.props;t(e)}handleResize(){this.setInputWidth()}handleMenuKeyDown(e){var t,{keyboardOptionIndex:n,inputFocused:a}=this.state,{options:r}=this.props;switch(e.key){case"Enter":case" ":a?this.updateFromCustom():this.updateInputValue(r[n].value),this.closeMenu(),(t=this.button.current)===null||t===void 0||t.focus(),e.stopPropagation(),e.preventDefault();break;case"Tab":e.shiftKey?this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.UP):this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.DOWN),e.stopPropagation(),e.preventDefault();break;case"ArrowUp":this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.UP),e.stopPropagation(),e.preventDefault();break;case"ArrowDown":this.handleMenuNavigation(C.MENU_NAVIGATION_DIRECTION.DOWN),e.stopPropagation(),e.preventDefault();break;case"Escape":this.closeMenu();break}}handleMenuNavigation(e){var{keyboardOptionIndex:t,inputFocused:n}=this.state,{options:a}=this.props,r=a.length,l=t;switch(e){case C.MENU_NAVIGATION_DIRECTION.UP:if(!n&&t===0){this.focusInput();break}else n&&this.focusOption(t);t>0&&!n?(l=(l-1)%r,this.setState({keyboardOptionIndex:l})):t===0&&(l=r-1,this.setState({keyboardOptionIndex:l})),this.scrollOptionIntoView(l);break;case C.MENU_NAVIGATION_DIRECTION.DOWN:if(!n&&t===r-1){this.focusInput();break}else n&&this.focusOption(t);t<r&&!(n&&t===0)&&(l=(l+1)%r,this.setState({keyboardOptionIndex:l})),this.scrollOptionIntoView(l);break}}handleOptionClick(e){var t=Number(e.currentTarget.value),{options:n,timeToValue:a}=this.props,{customTime:r}=this.state;if(t===q){var l=a(r);this.updateAndClose(l)}else this.updateAndClose(n[t].value)}updateAndClose(e){var t;this.updateInputValue(e),this.closeMenu(),(t=this.button.current)===null||t===void 0||t.focus()}handleOptionFocus(e){this.setState({keyboardOptionIndex:Number(e.target.value)})}handleMenuOpened(){var e,{options:t,value:n}=this.props,{keyboardOptionIndex:a}=this.state;this.scrollOptionIntoView(a);var r=(e=this.menuContainer.current)===null||e===void 0?void 0:e.querySelector(".cs-option-btn.keyboard-active");if(r instanceof HTMLElement&&r.focus(),n!==null){var l=t.map(o=>o.value).indexOf(n);l<0&&this.focusInput()}}focusInput(){var e;(e=this.input.current)===null||e===void 0||e.focus()}focusOption(e){var t,n=(t=this.menuContainer.current)===null||t===void 0?void 0:t.querySelector(".cs-options");if(n&&n.children!=null){var a=n.children.item(e);a instanceof HTMLElement&&a.focus()}}handleMenuExited(){var{menuIsOpen:e}=this.state;e&&this.setState({menuIsOpen:!1,keyboardOptionIndex:0})}handleCustomInput(e){var{timeToValue:t}=this.props,n=t(e);this.updateInputValue(n),this.setState({customTime:e})}updateFromCustom(){var{timeToValue:e}=this.props,{customTime:t}=this.state,n=e(t);this.updateInputValue(n)}toggleMenu(e){var{menuIsOpen:t}=this.state;t?this.closeMenu():this.openMenu(),e.stopPropagation()}openMenu(){this.updateKeyboardIndex(),this.setInputWidth(),this.setState({menuIsOpen:!0})}closeMenu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(this.setState({menuIsOpen:!1}),e){var t;(t=this.button.current)===null||t===void 0||t.focus()}}updateKeyboardIndex(){var{options:e,value:t}=this.props;if(t!==null){var n=e.map(a=>a.value).indexOf(t);n>0&&this.setState({keyboardOptionIndex:n})}}scrollOptionIntoView(e){var t,n=(t=this.menuContainer.current)===null||t===void 0?void 0:t.querySelector(".cs-options");if(n&&n.children!=null){var a=n.children.item(e);a instanceof HTMLElement&&a.offsetTop>C.DROP_DOWN_MENU_HEIGHT?n.scrollTop=a.offsetTop-C.DROP_DOWN_MENU_HEIGHT:(a instanceof HTMLElement&&a.offsetTop<0||e===0)&&(n.scrollTop=0)}}renderMenuElement(){var{inputWidth:e}=this.state;return i.jsx("div",{className:"cs-menu-container",ref:this.menuContainer,role:"presentation",onKeyDown:this.handleMenuKeyDown,onClick:t=>{t.stopPropagation()},style:{width:e},children:i.jsx("div",{className:"cs-options-container",children:i.jsx("div",{className:"cs-options",children:this.renderOptions()})})})}renderOptions(){for(var{options:e,value:t,icon:n,customText:a}=this.props,{keyboardOptionIndex:r,customTime:l,inputFocused:o}=this.state,c=!1,d=[],h=0;h<e.length;h+=1){var p=e[h],f="option-".concat(h,"-").concat(p.value);c=c||p.value===t,d.push(i.jsxs("button",{type:"button",value:h,className:y("cs-option-btn",{"keyboard-active":r===h&&!o}),onClick:this.handleOptionClick,onFocus:this.handleOptionFocus,children:[p.value===t&&i.jsx(U,{icon:n,className:"mr-2"}),p.value!==t&&i.jsx("span",{className:"mr-4"}),p.title]},f))}return d.push(i.jsx("hr",{className:"cs-divider"},"option-divider")),d.push(i.jsxs("button",{type:"button",value:q,className:y("cs-option-btn",{"keyboard-active":o}),onClick:this.handleOptionClick,onFocus:this.handleOptionFocus,children:[!c&&t!==null?i.jsx(U,{icon:n,className:"mr-2"}):i.jsx("span",{className:"mr-4"}),a]},"option-custom-label")),d.push(i.jsxs("div",{className:"cs-custom-container",children:[i.jsx("span",{className:"mr-2"}),i.jsx(B,{ref:this.input,onChange:this.handleCustomInput,value:l,onFocus:()=>this.setState({inputFocused:!0}),onBlur:()=>this.setState({inputFocused:!1})},"option-input"),i.jsx("span",{className:"ml-2"})]},"cs-custom-container")),d.push(i.jsx("hr",{className:"mb-2"},"option-end")),d}render(){var{disabled:e,invalid:t,value:n,"data-testid":a}=this.props,{menuIsOpen:r}=this.state,{popperOptions:l}=this.props;return l=Te({placement:"bottom-end",modifiers:{preventOverflow:{enabled:!1}}},l),i.jsx("div",{className:"input-group cs-container context-menu",ref:this.csContainer,"data-testid":a,children:i.jsx("div",{className:y("input-group-append cs-dropdown",{"cs-dropdown-invalid":t}),children:i.jsxs("button",{type:"button",className:y("btn cs-btn form-control",{"cs-btn-invalid":t}),ref:this.button,onClick:this.toggleMenu,disabled:e,children:[i.jsx("span",{className:y({"text-muted":n===null}),children:this.getSelectedText()}),i.jsx("span",{className:"cs-caret"}),i.jsx(oe,{isShown:r,actions:{menuElement:this.renderMenuElement()},popperOptions:l,popperClassName:"CustomTimeSelect",onMenuOpened:this.handleMenuOpened,onMenuClosed:this.handleMenuExited,menuStyle:{maxWidth:"100rem"}})]})})})}}A(C,"MENU_NAVIGATION_DIRECTION",W);A(C,"DROP_DOWN_MENU_HEIGHT",125);A(C,"defaultProps",{onChange(){},value:null,disabled:!1,popperOptions:{},icon:de,customText:"Custom",placeholder:"Select a time",valueToTime:s=>s===null?0:Math.round(s/1e3),timeToValue:s=>s*1e3,invalid:!1,"data-testid":void 0});const Ge=C;var Ce=Q.module("DateInput"),ke="[12][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])",we=["2000-01-01","2022-12-31"],Se="YYYY-MM-DD",ae=w.forwardRef((s,e)=>{var{className:t="",onChange:n=()=>{},defaultValue:a="",onFocus:r=()=>{},onBlur:l=()=>{},"data-testid":o}=s,[c,d]=u.useState(a),[h,p]=u.useState(),f=u.useCallback(m=>{Ce.debug("handleChange",m),d(m),n(m)},[n]);return i.jsx("div",{className:"d-flex flex-row align-items-center",children:i.jsx(ee,{ref:e,className:y(t),example:we,getNextSegmentValue:pe,onChange:f,onSelect:p,pattern:ke,placeholder:Se,selection:h,value:c,onFocus:r,onBlur:l,"data-testid":o})})});ae.displayName="DateInput";const ze=ae;function Me(s,e,t){return e=Pe(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Pe(s){var e=je(s,"string");return typeof e=="symbol"?e:String(e)}function je(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class R extends u.Component{static isParentSelected(e,t){var n=t.get(e);if(n===void 0)return!1;if(typeof n=="boolean")return n;var a=Array.from(n.values()).includes(!0),r=Array.from(n.values()).includes(!1);return a&&r?null:a}constructor(e){super(e),this.toggleMenu=this.toggleMenu.bind(this),this.toggleValueFor=this.toggleValueFor.bind(this),this.selectAll=this.selectAll.bind(this),this.clear=this.clear.bind(this),this.state={menuIsOpen:!1}}toggleMenu(e){e.stopPropagation(),e.preventDefault(),this.setState(t=>{var{menuIsOpen:n}=t;return{menuIsOpen:!n}})}toggleValueFor(e,t){var{valueMap:n,onUpdateValueMap:a}=this.props,r=new Map(n),l=r.get(e);if(l instanceof Map){var o=new Map(l);if(t!=null)o.set(t,l.get(t)===void 0);else{var c=R.isParentSelected(e,r),d=c==null||!c;l.forEach((f,m)=>o.set(m,d))}r.set(e,o)}else r.set(e,l==null||!l);var h=r.get(e);if(t===void 0&&h!==void 0&&typeof h!="boolean"){var p=R.isParentSelected(e,n);p!=null&&p?h.forEach((f,m)=>h.set(m,!1)):h.forEach((f,m)=>h.set(m,!0))}a(r)}setAllValues(e){var{valueMap:t,onUpdateValueMap:n}=this.props,a=new Map;t.forEach((r,l)=>{if(typeof r=="boolean")a.set(l,e);else{var o=new Map;r.forEach((c,d)=>o.set(d,e)),a.set(l,o)}}),n(a)}selectAll(){this.setAllValues(!0)}clear(){this.setAllValues(!1)}renderMenuElement(){var{valueMap:e,"data-testid":t}=this.props;return i.jsxs("div",{className:"hcm-menu-container",children:[Array.from(e.entries()).map(n=>{var[a,r]=n;return i.jsxs("div",{children:[i.jsx(K,{className:"hcm-parent",checked:R.isParentSelected(a,e),onChange:()=>this.toggleValueFor(a),children:a}),r!==void 0&&typeof r!="boolean"&&Array.from(r.entries()).map(l=>{var[o,c]=l;return i.jsx(K,{className:"hcm-child",checked:c,onChange:()=>this.toggleValueFor(a,o),children:o},o)})]},a)}),i.jsx(H,{kind:"ghost",onClick:this.selectAll,"data-testid":t!==void 0?"".concat(t,"-btn-select-all"):void 0,children:"Select All"}),i.jsx(H,{kind:"ghost",onClick:this.clear,"data-testid":t!==void 0?"".concat(t,"-btn-clear"):void 0,children:"Clear"})]})}render(){var{menuText:e,className:t,icon:n,id:a,"data-testid":r}=this.props,{menuIsOpen:l}=this.state;return i.jsxs("button",{type:"button",className:y("btn hcm-btn",t),onClick:this.toggleMenu,id:a,"data-testid":r,children:[i.jsxs("span",{children:[n&&i.jsx(U,{icon:n,className:"hcm-icon mr-1"}),e]}),i.jsx(U,{icon:ce,className:"hcm-icon ml-1"}),i.jsx(J,{options:{placement:"bottom"},isShown:l,onExited:()=>{this.setState({menuIsOpen:!1})},closeOnBlur:!0,interactive:!0,children:this.renderMenuElement()})]})}}Me(R,"defaultProps",{className:"",icon:null,id:"","data-testid":void 0});const qe=R,De="_track_1ermw_30",_e="_handle_1ermw_13",Ae="_ticks_1ermw_98",se={"handle-size":"15px","popover-width":"90px","time-slider":"_time-slider_1ermw_3","time-slider-popovers":"_time-slider-popovers_1ermw_8","handle-popper":"_handle-popper_1ermw_13","flex-spacer":"_flex-spacer_1ermw_26",track:De,"track-fills":"_track-fills_1ermw_37","track-fill":"_track-fill_1ermw_37","track-fill-start":"_track-fill-start_1ermw_55","track-fill-middle":"_track-fill-middle_1ermw_56","track-fill-end":"_track-fill-end_1ermw_59","handle-track":"_handle-track_1ermw_62",handle:_e,ticks:Ae,"tick-labels":"_tick-labels_1ermw_116","tick-label":"_tick-label_1ermw_116","tick-label-wrapper":"_tick-label-wrapper_1ermw_132"};var L=parseInt(se["handle-size"],10),X=parseInt(se["popover-width"],10),k=24*60*60-1,Y=5*60;function Xe(s){var{startTime:e,endTime:t,onChange:n,isStartModified:a=!1,isEndModified:r=!1,"data-testid":l}=s,[o,c]=u.useState(e),[d,h]=u.useState(t),p=u.useRef(null);u.useEffect(function(){c(e),h(t)},[e,t]);var f=u.useCallback((x,T)=>{var E=x,P=T;E===P&&(P<k?P+=1:E-=1),c(E),h(P),n({startTime:E,endTime:P})},[c,h,n]),m=u.useCallback(x=>{f(x,d)},[f,d]),g=u.useCallback(x=>{f(o,x)},[f,o]);return i.jsxs("div",{className:"time-slider","data-testid":l,children:[i.jsx(Re,{startTime:o,endTime:d,onStartTimeChange:m,onEndTimeChange:g,isStartModified:a,isEndModified:r}),i.jsxs("div",{className:"track",ref:p,children:[i.jsx(Fe,{startTime:o,endTime:d}),i.jsx("div",{className:"ticks",children:Array(24).fill(null).map((x,T)=>i.jsx("div",{className:"tick"},T))}),i.jsx(Z,{track:p,time:o,setTime:m}),i.jsx(Z,{track:p,time:d,setTime:g})]}),i.jsxs("div",{className:"tick-labels",children:[i.jsx("div",{className:"tick-label",children:"0:00"}),i.jsx("div",{className:"tick-label-wrapper",children:Array(24).fill(null).map((x,T)=>i.jsx("div",{className:"tick-label",children:"".concat(T+1,":00")},T))})]})]})}function Re(s){var{startTime:e,endTime:t,onStartTimeChange:n,onEndTimeChange:a,isStartModified:r,isEndModified:l,"data-testid":o}=s,c=e>t,[d,h]=u.useState(c?t:e),[p,f]=u.useState(c?e:t),m=u.useRef(null),g=u.useRef(null),x=u.useRef(null),T=u.useRef(null);u.useEffect(function(){h(e>t?t:e),f(e>t?e:t)},[e,t]),u.useEffect(function(){if(x.current!==null){var M;(M=g.current)===null||M===void 0||M.setSelection(x.current)}if(T.current!==null){var b;(b=m.current)===null||b===void 0||b.setSelection(T.current)}},[c]);function E(N){e<=t?n(N):a(N)}function P(N){e<=t?a(N):n(N)}var O=u.useCallback(N=>{x.current=N,T.current=null},[]),S=u.useCallback(N=>{x.current=null,T.current=N},[]);return i.jsxs("div",{className:"time-slider-popovers",children:[i.jsx("div",{className:"flex",style:{flexBasis:"calc(".concat(d/k*100,"% - ").concat(X/2,"px)")}}),i.jsxs("div",{className:"handle-popper",children:[i.jsx("label",{className:y({modified:c?l:r}),children:c?"End Time":"Start Time"}),i.jsx(B,{ref:m,allowValueWrapping:!1,value:d,onChange:E,onSelect:O,"data-testid":o!==void 0?"".concat(o,"-input-1"):void 0})]}),i.jsx("div",{className:"flex-spacer"}),i.jsxs("div",{className:"handle-popper",children:[i.jsx("label",{className:y({modified:c?r:l}),children:c?"Start Time":"End Time"}),i.jsx(B,{ref:g,allowValueWrapping:!1,value:p,onChange:P,onSelect:S,"data-testid":o!==void 0?"".concat(o,"-input-2"):void 0})]}),i.jsx("div",{className:"flex",style:{flexBasis:"calc(".concat((k-p)/k*100,"% - ").concat(X/2,"px)")}})]})}function Fe(s){var{startTime:e,endTime:t,"data-testid":n}=s;return i.jsxs("div",{className:"track-fills","data-testid":n,children:[e>t&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"track-fill track-fill-start",style:{transform:"scaleX(".concat(t/k,")")}}),i.jsx("div",{className:"track-fill track-fill-end",style:{transform:"scaleX(".concat((k-e)/k,")")}})]}),e<t&&i.jsx("div",{className:"track-fill track-fill-middle",style:{transform:"translateX(".concat(e/k*100,"%) scaleX(").concat((t-e)/k,")")}})]})}function Z(s){var{track:e,time:t,setTime:n,"data-testid":a}=s,r=u.useMemo(()=>{var f=3600,m=L/2;return t<f?m=t/f*(L/2):t>23*f&&(m=L/2+1/(k-23*f)*(t-23*f)*(L/2)),"translateX(calc(".concat(t/k*100,"% - ").concat(m,"px))")},[t]),l=u.useCallback(f=>{if(!e.current)return 0;var m=e.current.getBoundingClientRect(),g=Math.max(f-m.left,0),x=k*Math.min(1,g/m.width),T=Y*Math.round(x/Y),E=Math.min(k,T);return E},[e]),o=u.useCallback(f=>{var{clientX:m}=f;n(l(m))},[n,l]),c=u.useCallback(f=>{var{clientX:m}=f;n(l(m)),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",c),document.documentElement.classList.remove("drag-pointer-events-none")},[n,l,o]),d=u.useCallback(()=>{window.addEventListener("mousemove",o),window.addEventListener("mouseup",c),document.documentElement.classList.add("drag-pointer-events-none")},[o,c]),h=u.useCallback(()=>{window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",c),document.documentElement.classList.remove("drag-pointer-events-none")},[o,c]),p=u.useCallback(()=>{d()},[d]);return u.useEffect(function(){return()=>{h()}},[h]),i.jsx("div",{className:"handle-track",style:{transform:r},children:i.jsx("button",{className:"handle",type:"button","aria-label":"Change time",onMouseDown:p,"data-testid":a})})}function Ye(s){var{children:e,className:t,labelText:n,hintText:a,isModified:r,validationError:l,showValidationError:o=!0,"data-testid":c,id:d}=s,{current:h}=u.useRef(d??le());return i.jsxs(i.Fragment,{children:[i.jsx("label",{className:y("validate-label",t,{modified:r}),htmlFor:h,"data-testid":c,children:n}),w.Children.toArray(e).map(p=>w.isValidElement(p)?w.cloneElement(p,{className:y(p.props.className,{"is-invalid":l})}):i.jsx("div",{className:y(t),children:p})),a!==void 0&&i.jsx("small",{className:"form-text text-muted",children:a}),l!==void 0&&o&&i.jsx("p",{className:"validate-label-error text-danger",children:l})]})}function F(s,e,t){return e=Ve(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}function Ve(s){var e=Le(s,"string");return typeof e=="symbol"?e:String(e)}function Le(s,e){if(typeof s!="object"||s===null)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var n=t.call(s,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(s)}class v extends me{static get theme(){return v._theme==null&&(v._theme=ue()),v._theme}static makeRandomSeries(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:100,a=[],r=[],l=[],o=[],c=new Date("2018-06-01"),d=0;d<n;d+=1){var h=new Date(c.getFullYear(),c.getMonth(),c.getDate()+d-n);a.push("".concat(h.getFullYear(),"-").concat(h.getMonth()+1,"-").concat(h.getDate()));var p=(Math.sin(d/n*e)*n/3+Math.cos(d*.2)*n/6+Math.sin(d*.5)*n/10+v.random()*n/5+d*v.smoothing)*t;p=Math.round(p*100)/100,r.push(p),o.push(40+d*v.smoothing),l.push(Math.sin(d/n*e)*n/3+v.random()*n/10+d*v.smoothing)}return{x:a,y:r,s:l,l:o}}static makeScatter(e){return{name:"SCTR",x:e.x,y:e.y,type:"scatter",mode:"markers",hoverinfo:"skip",marker:{size:5}}}static makeArea(e){return{name:"AREA",x:e.x,y:e.s,type:"scatter",mode:"line",fill:"tozeroy",hoverinfo:"all",line:{color:v.theme.area_color,width:3}}}static makeTrendline(e){return{name:"Trendline <br>R<sup>2</sup> = 0.91",x:e.x,y:e.l,type:"scatter",mode:"line",hoverinfo:"skip",line:{width:3,dash:"dot",color:v.theme.trend_color}}}static makeErrorBand(e){for(var t=[],n=[],a=0;a<e.y.length;a+=1){var r=e.y[a];t[a]=Math.round((r+18)*100)/100,n[a]=Math.round((r-18)*100)/100}var l=t.concat(n.reverse());return{name:"error",x:e.x.concat(e.x.slice().reverse()),y:l,type:"scatter",mode:"line",hoverinfo:"skip",fill:"toself",fillcolor:v.theme.error_band_fill_color,line:{width:0,color:v.theme.error_band_line_color,shape:"spline"}}}static makeLine(e){return{name:"LINE",x:e.x,y:e.y,type:"scatter",mode:"line",hoverinfo:"x+y+text+name",line:{color:v.theme.line_color,width:3}}}static makeRandomData(){var e=v.makeRandomSeries(6),t=v.makeArea(e),n=v.makeTrendline(e),a=v.makeRandomSeries(2),r=v.makeLine(a),l=v.makeErrorBand(a);return[t,n,r,l]}static makeDefaultLayout(e){var t=new fe(e).makeDefaultLayout(v.theme);return t.title="Chart",t.xaxis&&(t.xaxis.title="Datestamp"),t.yaxis&&(t.yaxis.title="Price"),t}constructor(e){var{data:t=v.makeRandomData(),layout:n=v.makeDefaultLayout(e),filterFields:a=[]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(e),F(this,"data",void 0),F(this,"filterFields",void 0),F(this,"layout",void 0),this.data=t,this.layout=n,this.filterFields=a}getData(){return this.data}getLayout(){return this.layout}getFilterColumnMap(){for(var e=new Map,t=0;t<this.filterFields.length;t+=1){var n=this.filterFields[t],a="java.lang.String";e.set(n,{name:n,type:a})}return e}isFilterRequired(){return this.filterFields.length>0}setFilter(){this.fireUpdate(this.data)}}F(v,"random",Math.random.bind(Math));F(v,"smoothing",1.5);F(v,"_theme",void 0);const Ze=v;var Ue=u.createContext(!1);function Je(s){var{fontClassNames:e=["fira-sans-regular","fira-sans-semibold","fira-mono"],children:t}=s,[n,a]=u.useState(!1);return u.useEffect(function(){document.fonts.ready.then(()=>{a(!0)})},[]),i.jsxs(i.Fragment,{children:[i.jsx(Ue.Provider,{value:n,children:t}),i.jsx("div",{id:"preload-fonts",style:{visibility:"hidden",position:"absolute",top:-1e4},children:e.map(r=>i.jsx("p",{className:r,children:"preload"},r))})]})}export{He as A,Ge as C,ze as D,Ue as F,qe as H,Ze as M,B as T,Ye as V,te as a,Xe as b,Je as c};
|
|
4
|
+
//# sourceMappingURL=FontBootstrap-dbbf3151.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FontBootstrap-dbbf3151.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 } 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 className: \"cs-caret\"\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","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","dhSort","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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"}
|